[发明专利]车载电子总线静态段通讯扩容方法有效
申请号: | 201010569884.4 | 申请日: | 2010-11-29 |
公开(公告)号: | CN102035706A | 公开(公告)日: | 2011-04-27 |
发明(设计)人: | 顾宗华;李红;李楠;孙征;杨国青 | 申请(专利权)人: | 浙江大学 |
主分类号: | H04L12/40 | 分类号: | H04L12/40 |
代理公司: | 杭州裕阳专利事务所(普通合伙) 33221 | 代理人: | 江助菊 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 车载 电子 总线 静态 通讯 扩容 方法 | ||
1.一种车载电子总线静态段通讯扩容方法,其特征在于包括以下步骤:
步骤一:构建车载总线系统
对于通过现有拓扑总线相连的多个传感器、ECU和执行器构成的拓扑结构系统,确定ECU的任务和消息的属性和发送接收关系、以及每个任务的最坏情况处理时间和每个信号的大小;
步骤二:实现任务到ECU的映射和分配
将仅发送信号的任务分配到传感器上,将仅接收信号的任务分配到执行器上,其余的任务既要接收信号也要发送信号,将他们分配到各个ECU上;
步骤三:完成每个静态槽的归属,信号到静态槽的映射,任务配置和消息配置的依赖关系
将FlexRay总线特征与约束总结为三个方面,即任务与消息配置约束,FlexRay总线配置约束与数据依赖关系约束,将所述约束规则通过约束规划的函数转化成可以求解的公式,每个任务采用一个三元组<P,C,D>来表示,其中P是任务的周期,C是任务的最坏情况处理时间,而D是其截止期,每个信号也用一个二元组<S,D>来表示,其中S是其位大小,D是其截止期,设任务和信号的周期为FlexRay通讯周期的2n(n=0,1,2……)倍,应用周期H定义为所有任务周期的最小公倍数,用SigSenderi和SigReceiveri来分别表示第i个信号的发送和接收任务,对于一个给定的任务映射,可以得到所有需要在总线上发送的信号集合,称之为OutSignal,对于一个信号signali,若其SigSenderi和SigReceiveri是不同的ECU,则signali属于OutSignal信号集;而信号集InSignal则表示ECU内部通讯的信号,这些信号不需要在总线上进行传输,SignalInEcui用于表示发送signali的ECU的ID,具体的约束规划包括:
a.任务和消息配置
在应用周期H中,每个周期性任务都处理固定次数,ai,k表示任务i的第k个实例的调用时间,fi,k则表示其结束时间,假设初始的任务释放补偿是0,因此ai,k可以通过以下公示计算,其中forall函数用来列举遍历一个集合中的所有元素,Ntask表示任务task的个数:
用ri,k来表示ai,k和fi,k之间的时间间隔,这也是任务i在周期k中的响应时间,Ri代表任务i的最坏响应时间,也就是ri,k能取到的最大值,
fi,k=ai,k+ri,k (2)
任务在实时系统中固定优先级配置下的最坏响应时间有以下公式,
在公式(3)中,hp(i)表示比任务i优先级更高的任务集合;
每个静态槽的开始和结束时间必定是静态槽长度的整数倍,用Ssi,k来表示通讯周期k的第i个静态槽的开始时间,
对于信号i,SigLengthi,k表示时间的时间间隔,其长度等于Lslot,如果消息涉及的任务部署在同一个ECU上,传输不通过总线,就认为其通讯时间为0,否则就需要将消息打包并且通过一个静态槽进行传输,消息将在静态槽的开始时间进行传输,开始时间是静态槽长度的整数倍,其中,startOf函数表示某一段数值间隔的起始数值,mod操作符为求余函数,
b.FlexRay总线配置
EtoSMapi,k代表静态槽k是否归属于ECU i,如果静态槽k归属于ECU i,则EtoSMapi,k为1,否则为0,sum函数为求和函数,
forall(k in Nslot),sum(i in Necu)EtoSMapi,k≤1(6)
forall(k in Necu),sum(i in Nslot)EtoSMapk,i≥1(7)
在FlexRay总线的静态槽中传输的消息包含了从一个ECU发送到另一个ECU的信号,因此打包在这个消息中的信号的总的大小不能超过静态槽的大小,StoSMapi,m,n代表了一个消息是否映射到了周期n的第m个静态槽里,如果存在映射关系则为1,否则为0,
forall(m in Nslot,n in Ncycle)
(8)
sum(i in OutSignal)Si×StoSMapi,m,n≤Bslot
如果OutSignal信号集当中的信号i可以在周期n的静态槽m中进行传输,换言之StoSMapi,m,n值为1,那么静态槽m必须是分配属于信号i的发送任务所在的ECU的,
c.数据依赖关系
数据的传输分为两种,对于ECU之间的情况,信号会打包到消息中,通过总线进行传输,而对于ECU内部的,信号可以不通过总线传输,直接从发送者发给接收者,
endOf函数表示某一段数值间隔的终止数值,当一个任务i要发送消息m给同一个ECU上的另一个任务j,则有
当ECU之间通讯,则有,
公式(10)和(11)用于限制周期相同或者不同的发送和接收任务,如果二者周期相同,在每个周期内用以上两个公式,否则,在一个完成的消息传输周期中应用公式;
d.最小化所占用的静态槽
目标函数中的minimize表示最小化约束函数,
minimize sum(i in Necu,j in Nslot)EtoSMapi,j(12)
上述关系式中,BR(Bit Rate),即比特率,有三种选择,2.5MBit/s,5MBit/s和10MBit/s;CC(Cycle Length),即FlexRay周期的长度,这项参数可以配置为一些预订值,例如1000us,5000us,8000us等等;Nchannel是FlexRay总线中物理信道的数量,在本发明中设置为1;Nslot是FlexRay静态段中静态槽的数量,其取值范围是2到1023;Lslot是每个静态槽的长度,其取值可以通过以下计算公式计算得到:Lslot=CC/Nslot;Bslot是一个静态槽中的位大小,它的取值限定了一个静态槽中所能传输的消息的大小;
步骤四:求解
将传感器、ECU和执行器上的任务和总线上的消息数据按照步骤三建立配置系统,并且使用IBM ILOG OPL-CPLEX Analyst Studio Teaching Edition Trial6.3来对约束规划配置进行求解,求出所需的最小静态槽个数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010569884.4/1.html,转载请声明来源钻瓜专利网。