CN103841212B - 一种面向汽车can网络带宽消耗优化的车辆信号封装方法 - Google Patents
一种面向汽车can网络带宽消耗优化的车辆信号封装方法 Download PDFInfo
- Publication number
- CN103841212B CN103841212B CN201410113555.7A CN201410113555A CN103841212B CN 103841212 B CN103841212 B CN 103841212B CN 201410113555 A CN201410113555 A CN 201410113555A CN 103841212 B CN103841212 B CN 103841212B
- Authority
- CN
- China
- Prior art keywords
- message
- signals
- vehicles
- bandwidth consumption
- period
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种面向汽车CAN网络带宽消耗优化的车辆信号封装方法,该方法将车辆信号根据带宽消耗大小按递减顺序排序或根据周期大小按递增顺序排序,基于启发式优化方法封装入CAN报文中,按截止期单调方法分配CAN报文优先级,基于最糟糕响应时间分析CAN报文集的可调度性;如果不可调度,则从不可调度CAN报文中找出最糟糕响应时间和截止期差值最小的CAN报文,并将该CAN报文中截止期最严格的车辆信号封装到新CAN报文中,以提高原CAN报文的截止期;直到CAN报文集可调度,或没有CAN报文可被分解为止。本发明的有益效果是:实现了汽车CAN网络带宽消耗优化,保证了系统实时性,为汽车CAN网络应用层协议的设计提供了新方法。
Description
技术领域
本发明涉及汽车ECU中车辆信号数据的处理,尤其是一种面向汽车CAN网络带宽消耗优化的车辆信号封装方法,属于汽车电子领域。
背景技术
随着人们对汽车动力性、安全性和舒适性要求的提高,汽车ECU(电子控制单元)和电子控制装置并不仅仅与负载设备简单地连接在一起,更多的是与外围设备及其它ECU和电子控制装置进行信息交流,并经过复杂的控制决策运算,发出控制指令。为了提高车辆信号的利用率,要求大批车辆信号在不同的汽车ECU之间进行交换和共享,采用车载网络技术可实现汽车各ECU的实时控制。CAN(Controller Area Network,控制器局域网)以其高可靠性和独特设计,适用于现代汽车各ECU间的互联通信。
车辆信号的数据在ECU中被封装成报文并通过CAN总线进行传输,最简单的封装方法是每个CAN报文只装入一个车辆信号。由于CAN报文数和车辆信号数相同,大量CAN报文的传输增加了总线竞争机率和网络带宽消耗。在以市场和技术发展为导向的汽车设计过程中,系统功能的提升会增加新的ECU和车辆信号,意味着会有更多的车辆信号通过CAN网络进行传输。由于CAN网络的带宽是有限的,为了给系统后续扩展提供最大带宽余量,提高网络利用率,必须优化汽车CAN网络带宽消耗,即要求CAN网络带宽消耗达到最小。CAN报文集的构造和优先级的选择又决定了CAN报文的响应时间,进而影响到系统实时特性。
目前汽车CAN网络报文的车辆信号封装大多采用的是SAE J1939协议,由于其对CAN报文的数据域进行了全面定义,导致没有车辆信号被封装时过多地占用了CAN网络带宽。
因此,必须提出面向汽车CAN网络带宽消耗优化的车辆信号封装方法,并满足系统实时性要求。
发明内容
本发明的目的是提供一种面向汽车CAN网络带宽消耗优化的车辆信号封装方法,以减少汽车CAN网络带宽消耗,并满足系统实时性要求。
为了达到上述目的,本发明的技术方案如下:
首先设定车辆信号特征其中:是车辆信号产生周期;是车辆信号截止期;是车辆信号长度,单位为bit,且小于或等于CAN报文的数据域最大长度;是车辆信号的带宽消耗;CAN报文特征(T,D,L,DL,BC,P),其中:T是CAN报文产生周期;D是CAN报文截止期;L是CAN报文长度,单位为bit;DL是CAN报文已经封装的车辆信号长度,单位为bit;BC是CAN报文的带宽消耗;P是CAN报文优先级,P越小,CAN报文优先级越大;然后,按照以下步骤操作:
步骤1:在每个ECU上,将车辆信号根据带宽消耗大小按递减顺序排序,车辆信号si的带宽消耗为排序后的车辆信号集为S={s1,s2,...si...,sn};
步骤2:向CAN报文中装入车辆信号si:
步骤2(a):按顺序观察已经使用过的CAN报文集{f1,f2,…,fj},寻找车辆信号si能够装入{f1,f2,…,fj}中的那些CAN报文;在这些CAN报文中找出将si装入后使得带宽消耗最小的那个CAN报文;将该CAN报文的带宽消耗增量(si装入该CAN报文后的带宽消耗与该CAN报文原带宽消耗的差值)与将si单独装入一个新CAN报文中的带宽消耗进行比较;最后将si装入比较后具有最小带宽消耗的那个CAN报文中,并更新该CAN报文的周期和截止期;
步骤2(b):如果si不能够装入{f1,f2,…,fj}中任何一个CAN报文中,则产生一个新CAN报文fj+1,该CAN报文的时间特征为和并将所述新CAN报文fj+1加入到所述已使用过的CAN报文集{f1,f2,…,fj}中构成新的已使用过的CAN报文集,并将新的已使用过的CAN报文集仍用{f1,f2,…,fj}的形式表示;
步骤3:如果该ECU仍有车辆信号需要封装,则返回步骤2;如果仍有其他ECU的车辆信号需要封装,则返回步骤1;最终构造的CAN报文集为F={f1,f2,…,fm};
步骤4:将最终构造的CAN报文集F={f1,f2,…,fm}中各报文截止期Dj按升序排序,按截止期单调方法为各CAN报文配置优先级,Dj越小,Pj越小;
步骤5:对CAN报文集F={f1,f2,…,fm}进行最糟糕情形下的可调度性分析:
步骤5(a):如果F可调度,则封装成功;
步骤5(b):如果F不可调度,则在F中找到最糟糕响应时间大于截止期,且至少包含两个车辆信号的CAN报文,并构成不可调度CAN报文集F*,在F*中找出最糟糕响应时间和截止期差值最小的CAN报文frelax,将frelax中具有最小截止期的那个车辆信号从frelax中移除,并封装到一个新CAN报文fm+1中,更新frelax和fm+1的周期和截止期,返回步骤4,当所有不可调度CAN报文被全部分解而CAN报文集仍不可调度时,则封装失败。
在上述技术方案中,所述步骤1还可为:在每个ECU上,将车辆信号根据周期大小按递增顺序排序,排序后的车辆信号集为S={s1,s2,...si...,sn},即排序后的车辆信号集满足
在上述技术方案中,所述更新CAN报文的周期和截止期方法为:
设CAN报文mk(k∈Ζ+)传输车辆信号集(n∈Ζ+)的数据, 的周期为 截止期为为车辆信号集中具有最小周期的那个车辆信号,即 mk的周期为Tk(Tk∈Ζ+),截止期为Dk(Dk∈Ζ+),则
由于CAN报文是以字节为单位发送的,因此,CAN报文fi实际传输的数据域长度为:
采用上述方法后,实现了汽车CAN网络带宽消耗优化,保证了系统实时性,为汽车CAN网络应用层协议的设计提供了新方法。
具体实施方式
本发明涉及一种面向汽车CAN网络带宽消耗优化的车辆信号封装方法,该方法包括以下步骤:
首先设定车辆信号特征其中:是车辆信号产生周期;是车辆信号截止期;是车辆信号长度,单位为bit,且小于或等于CAN报文的数据域最大长度;是车辆信号的带宽消耗;CAN报文特征(T,D,L,DL,BC,P),其中:T是CAN报文产生周期;D是CAN报文截止期;L是CAN报文长度,单位为bit;DL是CAN报文已经封装的车辆信号长度,单位为bit;BC是CAN报文的带宽消耗;P是CAN报文优先级,P越小,CAN报文优先级越大;然后,按照以下步骤操作:
步骤1:在每个ECU上,将车辆信号根据带宽消耗大小按递减顺序排序,车辆信号si的带宽消耗为排序后的车辆信号集为S={s1,S2,...si...,sn};或者,在每个ECU上,将车辆信号根据周期大小按递增顺序排序,排序后的车辆信号集为S={s1,S2,...si...,sn},即排序后的车辆信号集满足
步骤2:向CAN报文中装入车辆信号si:
步骤2(a):按顺序观察已经使用过的CAN报文集{f1,f2,…,fj},寻找车辆信号si能够装入{f1,f2,…,fj}中的那些CAN报文;在这些CAN报文中找出将si装入后使得带宽消耗最小的那个CAN报文;将该CAN报文的带宽消耗增量(si装入该CAN报文后的带宽消耗与该CAN报文原带宽消耗的差值)与将si单独装入一个新CAN报文中的带宽消耗进行比较;最后将si装入比较后具有最小带宽消耗的那个CAN报文中,并更新该CAN报文的周期和截止期;
步骤2(b):如果si不能够装入{f1,f2,…,fj}中任何一个CAN报文中,则产生一个新CAN报文fj+1,该CAN报文的时间特征为和并将所述新CAN报文fj+1加入到所述已使用过的CAN报文集{f1,f2,…,fj}中构成新的已使用过的CAN报文集,并将新的已使用过的CAN报文集仍用{f1,f2,…,fj}的形式表示。
步骤3:如果该ECU仍有车辆信号需要封装,则返回步骤2;如果仍有其他ECU的车辆信号需要封装,则返回步骤1;最终构造的CAN报文集为F={f1,f2,…,fm}。
步骤4:将最终构造的CAN报文集F={f1,f2,…,fm}中各报文截止期Dj按升序排序,按截止期单调方法为各CAN报文配置优先级,Dj越小,Pj越小(优先级越高)。
步骤5:对CAN报文集F={f1,f2,…,fm}进行最糟糕情形下的可调度性分析:
步骤5(a):如果F可调度,则封装成功。
步骤5(b):如果F不可调度,则在F中找到最糟糕响应时间大于截止期,且至少包含两个车辆信号的CAN报文,并构成不可调度CAN报文集F*,在F*中找出最糟糕响应时间和截止期差值最小的CAN报文frelax,将frelax中具有最小截止期的那个车辆信号从frelax中移除,并封装到一个新CAN报文fm+1中,更新frelax和fm+1的周期和截止期,返回步骤4,当所有不可调度CAN报文被全部分解而CAN报文集仍不可调度时,则封装失败。
在上述步骤2(a)、5(b)中,CAN报文周期和截止期的更新方法为:设CAN报文mk(k∈Ζ+)传输车辆信号集(n∈Ζ+)的数据, 的周期为 截止期为为车辆信号集中具有最小周期的那个车辆信号,即 mk的周期为Tk(Tk∈Ζ+),截止期为Dk(Dk∈Ζ+),则
由于CAN报文是以字节为单位发送的,因此,CAN报文fi实际传输的数据域长度为:本实施中,CAN网络报文的数据域最大长度是64bit。
本实施例依据以下要求随机产生了250个车辆信号:
(1)汽车CAN网络带宽为500kbps;
(2)ECU个数为10个;
(3)车辆信号长度分别为2bit、4bit、8bit、16bit、24bit和32bit,并加入具有小概率的随机长度;
(4)车辆信号周期分别为10ms、20ms、50ms、100ms、200ms、500ms和1000ms;
(5)车辆信号负载率为10%。
如果按照现有技术采用每个CAN报文只装入一个车辆信号,则汽车CAN网络带宽消耗为547kbps,大于设定的汽车CAN网络带宽500kbps,不能满足系统可调度性要求;采用本发明的面向汽车CAN网络带宽消耗优化的车辆信号封装方法后,则汽车CAN网络带宽消耗仅为380kbps,显然实现了对CAN网络带宽的优化,并利于系统的实时性。
Claims (4)
1.一种面向汽车CAN网络带宽消耗优化的车辆信号封装方法,其特征在于:首先设定车辆信号特征其中:是车辆信号产生周期;是车辆信号截止期;是车辆信号长度,单位为bit,且小于或等于CAN报文的数据域最大长度;是车辆信号的带宽消耗;CAN报文特征(T,D,L,DL,BC,P),其中:T是CAN报文产生周期;D是CAN报文截止期;L是CAN报文长度,单位为bit;DL是CAN报文已经封装的车辆信号长度,单位为bit;BC是CAN报文的带宽消耗;P是CAN报文优先级,P越小,CAN报文优先级越大;然后,按照以下步骤操作:
步骤1:在每个ECU上,将车辆信号根据带宽消耗大小按递减顺序排序,车辆信号si的带宽消耗为排序后的车辆信号集为S={s1,s2,…si…,sn};
步骤2:向CAN报文中装入车辆信号si:
步骤2(a):按顺序观察已经使用过的CAN报文集{f1,f2,…,fj},寻找车辆信号si能够装入{f1,f2,…,fj}中的那些CAN报文;在这些CAN报文中找出将si装入后使得带宽消耗最小的那个CAN报文;将该CAN报文的带宽消耗增量与将si单独装入一个新CAN报文中的带宽消耗进行比较;最后将si装入比较后具有最小带宽消耗的那个CAN报文中,并更新该CAN报文的周期和截止期;
步骤2(b):如果si不能够装入{f1,f2,…,fj}中任何一个CAN报文中,则产生一个新CAN报文fj+1,该CAN报文的时间特征为和并将所述新CAN报文fj+1加入到所述已使用过的CAN报文集{f1,f2,…,fj}中 构成新的已使用过的CAN报文集,并将新的已使用过的CAN报文集仍用{f1,f2,…,fj}的形式表示;
步骤3:如果该ECU仍有车辆信号需要封装,则返回步骤2;如果仍有其他ECU的车辆信号需要封装,则返回步骤1;最终构造的CAN报文集为F={f1,f2,…,fm};
步骤4:将最终构造的CAN报文集F={f1,f2,…,fm}中各报文截止期Dj按升序排序,按截止期单调方法为各CAN报文配置优先级,Dj越小,Pj越小;
步骤5:对CAN报文集F={f1,f2,…,fm}进行最糟糕情形下的可调度性分析;
步骤5(a):如果F可调度,则封装成功;
步骤5(b):如果F不可调度,则在F中找到最糟糕响应时间大于截止期,且至少包含两个车辆信号的CAN报文,并构成不可调度CAN报文集F*,在F*中找出最糟糕响应时间和截止期差值最小的CAN报文frelax,将frelax中具有最小截止期的那个车辆信号从frelax中移除,并封装到一个新CAN报文fm+1中,更新frelax和fm+1的周期和截止期,返回步骤4,当所有不可调度CAN报文被全部分解而CAN报文集仍不可调度时,则封装失败。
2.如权利要求1所述的一种面向汽车CAN网络带宽消耗优化的车辆信号封装方法,其特征在于所述步骤1还可为:在每个ECU上,将车辆信号根据周期大小按递增顺序排序,排序后的车辆信号集为S={s1,s2,…si…,sn},即排序后的车辆信号集满足
3.如权利要求1所述的一种面向汽车CAN网络带宽消耗优化的车辆信号封装方法,其特征在于所述更新CAN报文的周期和截止期方法为:
设CAN报文“mk,k∈Z+”传输车辆信号集“n∈Z+”的数据,“i∈n”的周期为“Ti∈Z+”,截止期为 为车辆信号集中具有最小周期的那个车辆信号,即 mk的周期为“Tk,Tk∈Z+”,截止期为“Dk,Dk∈Z+”,则
4.如权利要求1所述的一种面向汽车CAN网络带宽消耗优化的车辆信号封装方法,其特征在于:由于CAN报文是以字节为单位发送的,因此,CAN报文fi实际传输的数据域长度为:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410113555.7A CN103841212B (zh) | 2014-03-25 | 2014-03-25 | 一种面向汽车can网络带宽消耗优化的车辆信号封装方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410113555.7A CN103841212B (zh) | 2014-03-25 | 2014-03-25 | 一种面向汽车can网络带宽消耗优化的车辆信号封装方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103841212A CN103841212A (zh) | 2014-06-04 |
CN103841212B true CN103841212B (zh) | 2017-01-11 |
Family
ID=50804335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410113555.7A Active CN103841212B (zh) | 2014-03-25 | 2014-03-25 | 一种面向汽车can网络带宽消耗优化的车辆信号封装方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103841212B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105915425B (zh) * | 2016-06-16 | 2017-05-03 | 厦门理工学院 | 一种面向车载can fd网络的信号分组打包方法 |
CN105897516A (zh) * | 2016-06-21 | 2016-08-24 | 西安科技大学 | 网络应用层协议可调度性验证方法、监视系统及监视方法 |
US10042629B2 (en) * | 2016-07-28 | 2018-08-07 | GM Global Technology Operations LLC | Remote vehicle update installation scheduling |
CN106453140B (zh) * | 2016-09-29 | 2019-12-06 | 北京汽车股份有限公司 | 基于电子控制单元的报文处理方法及装置 |
CN109167738B (zh) * | 2018-10-08 | 2022-05-20 | 北京电子工程总体研究所 | 调度通信数据的方法和设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6721799B1 (en) * | 1999-09-15 | 2004-04-13 | Koninklijke Philips Electronics N.V. | Method for automatically transmitting an acknowledge frame in canopen and other can application layer protocols and a can microcontroller that implements this method |
CN101877697A (zh) * | 2009-11-04 | 2010-11-03 | 北京交通大学 | 基于CANopen协议的轨道交通车辆级网络调度方法 |
CN102013162A (zh) * | 2010-11-23 | 2011-04-13 | 北京航空航天大学 | 一种广播优先的车载自组网络服务调度方法 |
CN102035707A (zh) * | 2010-12-08 | 2011-04-27 | 成电汽车电子产业园(昆山)有限公司 | 一种车载can网络的通信实时性保障方法 |
CN102340432A (zh) * | 2010-07-21 | 2012-02-01 | 浙江吉利汽车研究院有限公司 | 一种车载can总线标准格式标识符的分配方法 |
CN102611695A (zh) * | 2012-01-18 | 2012-07-25 | 武汉光庭科技有限公司 | 通用型saej1939协议栈的设计方法 |
-
2014
- 2014-03-25 CN CN201410113555.7A patent/CN103841212B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6721799B1 (en) * | 1999-09-15 | 2004-04-13 | Koninklijke Philips Electronics N.V. | Method for automatically transmitting an acknowledge frame in canopen and other can application layer protocols and a can microcontroller that implements this method |
CN101877697A (zh) * | 2009-11-04 | 2010-11-03 | 北京交通大学 | 基于CANopen协议的轨道交通车辆级网络调度方法 |
CN102340432A (zh) * | 2010-07-21 | 2012-02-01 | 浙江吉利汽车研究院有限公司 | 一种车载can总线标准格式标识符的分配方法 |
CN102013162A (zh) * | 2010-11-23 | 2011-04-13 | 北京航空航天大学 | 一种广播优先的车载自组网络服务调度方法 |
CN102035707A (zh) * | 2010-12-08 | 2011-04-27 | 成电汽车电子产业园(昆山)有限公司 | 一种车载can网络的通信实时性保障方法 |
CN102611695A (zh) * | 2012-01-18 | 2012-07-25 | 武汉光庭科技有限公司 | 通用型saej1939协议栈的设计方法 |
Non-Patent Citations (2)
Title |
---|
PROFIBUS-DP现场总线协议优化研究;胥军,李刚炎;《自动化博览》;20080315;第72-75页 * |
基于CAN的客车信息控制系统设计;胡剑,李刚炎,肖佩, 徐运庆;《客车技术与研究》;20050425(第2期);第12-22页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103841212A (zh) | 2014-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103841212B (zh) | 一种面向汽车can网络带宽消耗优化的车辆信号封装方法 | |
US7787488B2 (en) | System and method of optimizing the static segment schedule and cycle length of a time triggered communication protocol | |
DE102014115943A1 (de) | System und Verfahren zum Vorbereiten eines Fahrzeugs für ein Fern-Reflash-Ereignis | |
CN102035707B (zh) | 一种车载can网络的通信实时性保障方法 | |
CN103841213B (zh) | 一种面向汽车can网络报文数优化的车辆信号封装方法 | |
CN103605349A (zh) | 一种基于CAN-bus的远程数据实时采集及分析统计系统及方法 | |
CN114884998B (zh) | 一种协作式软件定义车载网络系统、调度方法及cacc | |
CN115344031A (zh) | 一种汽车区架构系统和汽车 | |
CN107181615A (zh) | 一种对crh2列车通信网络仿真的方法及装置 | |
CN110493294A (zh) | 车载电路模块的更新方法、系统、可读存储介质、及终端 | |
Hbaieb et al. | In-car gateway architecture for intra and inter-vehicular networks | |
CN105791025A (zh) | 一种汽车网络通讯系统正向设计方法 | |
CN106775961A (zh) | 一种跨系统数据及信号传递的方法 | |
CN111030902A (zh) | 一种车辆电子控制单元刷新方法及系统 | |
CN105915425B (zh) | 一种面向车载can fd网络的信号分组打包方法 | |
CN106341388A (zh) | 一种车辆远程监控系统及其联网控制方法 | |
CN203825819U (zh) | 车辆安全的实时远程监测装置、服务器及其系统 | |
Antonioli et al. | A real-time MAC protocol for in-vehicle power line communications based on HomePlug GP | |
US20230264574A1 (en) | Method and apparatus for vehicle control, storage medium, electronic device, and computer program | |
CN112346437B (zh) | 一种车载软件管理系统 | |
CN115880936A (zh) | 一种应用于公交异常客流智能调度的仿真系统及方法 | |
CN104574934A (zh) | 车辆自动调度方法与系统 | |
CN202806745U (zh) | 一种混合动力车辆的分布式控制系统 | |
CN105515930A (zh) | 一种车辆总线消息处理方法及设备、车辆 | |
CN110816435A (zh) | 一种远程控制车辆的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |