发明名称 一种面向汽车CAN网络报文数优化的车辆信号封装方法
摘要 本发明公开了一种面向汽车CAN网络报文数优化的车辆信号封装方法,旨在提供一种使汽车CAN网络报文数最少,且满足实时性要求的车辆信号封装方法。本发明将车辆信号根据长度大小按递减顺序排序,基于启发式优化方法封装入CAN报文中,按截止期单调方法分配CAN报文优先级,基于最糟糕响应时间分析CAN报文集的可调度性;如果不可调度,则从不可调度CAN报文中找出最糟糕响应时间和截止期差值最小的CAN报文,并将该CAN报文中截止期最严格的车辆信号封装到新CAN报文中,以提高原CAN报文的截止期;直到CAN报文集可调度,或没有CAN报文可被分解为止。本发明的有益效果是:实现了汽车CAN网络报文数优化,保证了系统实时性,为汽车CAN网络应用层协议的设计提供了新方法。
申请公布号 CN103841213B 申请公布日期 2017.01.11
申请号 CN201410113591.3 申请日期 2014.03.25
申请人 武汉理工大学 发明人 胡剑;李刚炎;胥军;牛子孺
分类号 H04L29/08(2006.01)I;H04L12/40(2006.01)I;G05B19/418(2006.01)I 主分类号 H04L29/08(2006.01)I
代理机构 武汉开元知识产权代理有限公司 42104 代理人 潘杰;胡红林
主权项 一种面向汽车CAN网络报文数优化的车辆信号封装方法,其特征在于:首先设定车辆信号特征<img file="FDA0001075730020000011.GIF" wi="358" he="78" />其中:<img file="FDA0001075730020000012.GIF" wi="37" he="71" />是车辆信号产生周期;<img file="FDA0001075730020000013.GIF" wi="46" he="71" />是车辆信号截止期;<img file="FDA0001075730020000014.GIF" wi="36" he="71" />是车辆信号长度,单位为bit,且小于或等于CAN报文的数据域最大长度;CAN报文特征(T,D,L,DL,P),其中:T是CAN报文产生周期;D是CAN报文截止期;L是CAN报文长度,单位为bit;DL是CAN报文已经封装的车辆信号长度,单位为bit;P是CAN报文优先级,P越小,CAN报文优先级越大;然后,按照以下步骤操作:步骤1:在每个ECU上,将车辆信号根据长度大小按递减顺序排序,排序后的车辆信号集为S={s<sub>1</sub>,s<sub>2</sub>,…s<sub>i</sub>…,s<sub>n</sub>};步骤2:向CAN报文中装入车辆信号s<sub>i</sub>:步骤2(a):按顺序观察已经使用过的CAN报文集{f<sub>1</sub>,f<sub>2</sub>,…,f<sub>j</sub>},一旦发现车辆信号s<sub>i</sub>能够装入{f<sub>1</sub>,f<sub>2</sub>,…,f<sub>j</sub>}中的某个CAN报文中,则将s<sub>i</sub>装入该CAN报文中,并更新该CAN报文的周期和截止期;步骤2(b):如果s<sub>i</sub>不能够装入{f<sub>1</sub>,f<sub>2</sub>,…,f<sub>j</sub>}中任何一个CAN报文中,则产生一个新CAN报文f<sub>j+1</sub>,该新CAN报文的时间特征为<img file="FDA0001075730020000015.GIF" wi="168" he="87" />和<img file="FDA0001075730020000016.GIF" wi="234" he="86" />将所述新CAN报文f<sub>j+1</sub>加入到所述已使用过的CAN报文集{f<sub>1</sub>,f<sub>2</sub>,…,f<sub>j</sub>}中构成新的已使用过的CAN报文集,并将新的已使用过的CAN报文集仍用{f<sub>1</sub>,f<sub>2</sub>,…,f<sub>j</sub>}的形式表示;步骤3:如果该ECU仍有车辆信号需要封装,则返回步骤2;如果仍有其他ECU的车辆信号需要封装,则返回步骤1;最终构造的CAN报文集为F={f<sub>1</sub>,f<sub>2</sub>,…,f<sub>m</sub>};步骤4:将最终构造的CAN报文集F={f<sub>1</sub>,f<sub>2</sub>,…,f<sub>m</sub>}中的各报文截止期D<sub>j</sub>按升序排序,按截止期单调方法为各CAN报文配置优先级,D<sub>j</sub>越小,P<sub>j</sub>越小;步骤5:对CAN报文集F={f<sub>1</sub>,f<sub>2</sub>,…,f<sub>m</sub>}进行最糟糕情形下的可调度性分析:步骤5(a):如果F可调度,则封装成功;步骤5(b):如果F不可调度,则在F中找到最糟糕响应时间大于截止期,且至少包含两个车辆信号的CAN报文,并构成不可调度CAN报文集F<sup>*</sup>,在F<sup>*</sup>中找出最糟糕响应时间和截止期差值最小的CAN报文f<sub>relax</sub>,将f<sub>relax</sub>中具有最小截止期的那个车辆信号从f<sub>relax</sub>中移除,并封装到一个新CAN报文f<sub>m+1</sub>中,更新f<sub>relax</sub>和f<sub>m+1</sub>的周期和截止期,返回步骤4,当所有不可调度CAN报文被全部分解而CAN报文集仍不可调度时,则封装失败。
地址 430070 湖北省武汉市洪山区珞狮路122号