CN109743242B - Can总线报文控制***及其控制方法 - Google Patents
Can总线报文控制***及其控制方法 Download PDFInfo
- Publication number
- CN109743242B CN109743242B CN201811619128.0A CN201811619128A CN109743242B CN 109743242 B CN109743242 B CN 109743242B CN 201811619128 A CN201811619128 A CN 201811619128A CN 109743242 B CN109743242 B CN 109743242B
- Authority
- CN
- China
- Prior art keywords
- message
- timestamp
- overtime
- frame
- state
- 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
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种CAN总线报文控制***,包括时间戳模块,为每帧报文赋予时间戳;报文传输状态判断模块,判断当前传输状态是否处于报文超时状态;报文超时恢复模块,在连续收到n帧周期正确的报文后,脱离报文超时状态;如果n帧中有一帧的周期不正确,则重新开始计算帧数;报文时间间隔防溢出模块,采用固定周期将当前帧的时间戳与其后一帧的时间戳进行比较,如果当前帧的时间戳小于其后一帧的时间戳则报文未溢出,如果前帧的时间戳大于等于其后一帧的时间戳则报文溢出,对报文溢出状态进行计数。本发明还公开了一种CAN总线报文控制方法。本发明能实现精准监控报文超时、配置报文周期与周期偏差,能够进行报文超时判断以及报文超时恢复。
Description
技术领域
本发明涉及汽车领域,特别是涉及一种用于汽车CAN总线的报文控制***。本发明还涉及一种用于汽车CAN总线的报文控制方法。
背景技术
CAN是Controller Area Network的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制***被开发了出来。由于这些***之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986年德国电气商博世公司开发出面向汽车的CAN通信协议。CAN的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制***实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。
由于CAN为愈来愈多不同领域采用和推广,导致要求各种应用领域通信报文的标准化。随着汽车电动化与智能化趋势的不断发展,传统的汽车电子开发方式面临着不断的挑战。汽车整车电子采用分布式控制方式给控制器之间的通信机制也带了很多的挑战。基于CAN总线的汽车局域网络技术解决了控制器之间通信的问题,同时增加了通信故障监控的难度,控制器中对CAN总线报文的监控是软件功能安全的要求,也是对信号有效性和安全性的保障。
发明内容
本发明要解决的技术问题是提供一种能实现精准监控报文超时、配置报文周期与周期偏差,能够进行报文超时判断以及报文超时恢复的CAN总线报文控制***。
本发明还提供了一种能实现精准监控报文超时、配置报文周期与周期偏差,能够进行报文超时判断以及报文超时恢复的CAN总线报文控制方法。
为解决上述技术问题,本发明提供的CAN总线报文控制***,包括:时间戳模块、报文传输状态判断模块、报文超时判断模块、报文超时恢复模块和报文时间间隔防溢出模块;
时间戳模块,为每帧报文赋予时间戳;
报文传输状态判断模块,判断当前传输状态是否处于报文超时状态;
如果当前处于报文超时状态,在预设时间段内如果收到新报文,则执行报文超时恢复模块;
如果当前处于非报文超时状态,若一个周期没有收到报文之后开始报文超时计数,在报文超时计数过程中如果收到一帧报文则重新开始报文超时计数,当报文超时计数大于超时阈值则进入报文超时状态;
报文超时恢复模块,在连续收到n帧周期正确的报文后,脱离报文超时状态;如果n帧中有一帧的周期不正确,则重新开始计算帧数;
报文时间间隔防溢出模块,采用固定周期将当前帧的时间戳与其后一帧的时间戳进行比较,如果当前帧的时间戳小于其后一帧的时间戳则报文未溢出,如果前帧的时间戳大于等于其后一帧的时间戳则报文溢出,对报文溢出状态进行计数。
进一步改进所述的CAN总线报文控制***,所述时间戳是报文接收时刻相对于控制器上电时刻的相对时间戳。
进一步改进所述的CAN总线报文控制***,所述预设时间段是10ms-1000ms,优选为100ms、250ms、500ms或750ms。
进一步改进所述的CAN总线报文控制***,所述m的范围是
进一步改进所述的CAN总线报文控制***,所述超时阈值范围是5-10。
进一步改进所述的CAN总线报文控制***,所述n的范围是3-5。
本发明提供一种CAN总线报文控制方法,包括以下步骤:
为每帧报文赋予时间戳;
判断当前传输状态是否处于报文超时状态;
如果当前处于报文超时状态,在预设时间段内如果收到新报文,则执行报文超时恢复模块;
如果当前处于非报文超时状态,若一个周期没有收到报文之后开始报文超时计数,在报文超时计数过程中如果收到一帧报文则重新开始报文超时计数,当报文超时计数大于超时阈值则进入报文超时状态;
在连续收到n帧周期正确的报文后,脱离报文超时状态;如果n帧中有一帧的周期不正确,则重新开始计算帧数;
采用固定周期将当前帧的时间戳与其后一帧的时间戳进行比较,如果当前帧的时间戳小于其后一帧的时间戳则报文未溢出,如果前帧的时间戳大于等于其后一帧的时间戳则报文溢出,对报文溢出状态进行计数。
进一步改进所述的CAN总线报文控制方法,所述时间戳是报文接收时刻相对于控制器上电时刻的相对时间戳。
进一步改进所述的CAN总线报文控制方法,所述预设时间段是10ms-1000ms,优选为100ms、250ms、500ms或750ms。
进一步改进所述的CAN总线报文控制方法,所述超时阈值范围是5-10。
进一步改进所述的CAN总线报文控制方法,所述n的范围是3-5。
本发明时间戳是指在报文接收的时刻时间计数器的数值,该计数器在控制器上电时刻开始计数,每经过0.01us计数器加1,在报文接收的时刻读取此计数器的值,然后将其存储下来,就能够记录报文接收的时间。
报文超时是指将报文连续多个周期未收到的情况,超时之后需要将超时故障记录下来。报文超时恢复是指在报文超时之后,如果又连续收到多帧报文,则报文超时的故障可以消除,表示报文已经恢复正常的发送。
报文时间间隔溢出是指报文的时间戳计数器是一个有限长度的无符号整形,以32位的长度为例,如果每过0.01us加1,则32位的计数器最大可记录的时间长度为42.9s(保留一位小数),则需要考虑时间超过最大可记录时间之后,时间戳的有效性。
本发明能实现精准时间监控的CAN报文超时与恢复,每一帧报文精准时间戳能够记录报文接收时刻的相对于控制器上电时刻的相对时间戳,该时间戳可精确到0.01us,可以用于后续的报文超时以及报文恢复功能的时间输入。本发明能够判断连续任意个周期没有收到被监控报文之后,能够汇报报文丢失故障,任意个周期的个数可以实现自由配置,满足控制器接收不同周期报文的需求。本发明能够在连续收到任意个周期的被监控报文之后,将报文超时的故障恢复,连续收到的报文之间的时间间隔必须满足报文的周期偏差需求,该周期偏差可以自由配置,以此提高功能的灵活性。本发明能够准确的判断报文的时间戳的有效性,能够检测报文的时间是否溢出,在溢出的情况下需要对报文的时间戳进行溢出处理。本发明能通过周期性判断时间戳是否比上次增大来判断时间戳是否溢出。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
图1是本发明的原理示意图。
图2是本发明的流程示意图。
具体实施方式
本发明提供的CAN总线报文控制***,包括:时间戳模块、报文传输状态判断模块、报文超时判断模块、报文超时恢复模块和报文时间间隔防溢出模块;
时间戳模块,为每帧报文赋予时间戳;所述时间戳是报文接收时刻相对于控制器上电时刻的相对时间戳;
报文传输状态判断模块,判断当前传输状态是否处于报文超时状态;
如果当前处于报文超时状态,在10ms如果收到新报文,则执行报文超时恢复模块;
如果当前处于非报文超时状态,若一个周期没有收到报文之后开始报文超时计数,在报文超时计数过程中如果收到一帧报文则重新开始报文超时计数,当报文超时计数大于超时阈值则进入报文超时状态;所述超时阈值范围是5-10,优选为5、6、7、8或9。
报文超时恢复模块,在连续收到n帧周期正确的报文后,脱离报文超时状态;如果n帧中有一帧的周期不正确,则重新开始计算帧数;所述n的范围是3-5,优选为4。
报文时间间隔防溢出模块,采用固定周期将当前帧的时间戳与其后一帧的时间戳进行比较,如果当前帧的时间戳小于其后一帧的时间戳则报文未溢出,如果前帧的时间戳大于等于其后一帧的时间戳则报文溢出,对报文溢出状态进行计数。
如图2所示,本发明提供一种CAN总线报文控制方法,包括以下步骤:
为每帧报文赋予时间戳,所述时间戳是报文接收时刻相对于控制器上电时刻的相对时间戳,计数器在控制器上电时刻开始计数,每经过0.01us计数器加1,在报文接收的时刻读取此计数器的值,然后将其存储下来,就能够记录报文接收的时间。
判断当前传输状态是否处于报文超时状态;
如果当前处于报文超时状态,在100ms内如果收到新报文,则执行报文超时恢复模块;
如果当前处于非报文超时状态,若一个周期没有收到报文之后开始报文超时计数,在报文超时计数过程中如果收到一帧报文则重新开始报文超时计数,当报文超时计数大于超时阈值则进入报文超时状态;所述超时阈值范围是5-10;
在连续收到n帧周期正确的报文后,脱离报文超时状态;如果n帧中有一帧的周期不正确,则重新开始计算帧数,所述n的范围是3-5。连续收到n帧周期正确的报文之间的时间间隔必须满足报文的周期偏差需求,该周期偏差可以自由配置,以此提高功能的灵活性。
采用固定周期将当前帧的时间戳与其后一帧的时间戳进行比较,如果当前帧的时间戳小于其后一帧的时间戳则报文未溢出,如果前帧的时间戳大于等于其后一帧的时间戳则报文溢出,对报文溢出状态进行计数。
以上通过具体实施方式和实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
Claims (10)
1.一种CAN总线报文控制***,其特征在于,包括:时间戳模块、报文传输状态判断模块、报文超时判断模块、报文超时恢复模块和报文时间间隔防溢出模块;
时间戳模块,为每帧报文赋予时间戳;
报文传输状态判断模块,判断当前传输状态是否处于报文超时状态;报文超时是指将报文连续多个周期未收到的情况;
如果当前处于报文超时状态,在预设时间段内如果收到新报文,则执行报文超时恢复模块;
如果当前处于非报文超时状态,若一个周期没有收到报文之后开始报文超时计数,在报文超时计数过程中如果收到一帧报文则重新开始报文超时计数,当报文超时计数大于超时阈值则进入报文超时状态;
报文超时恢复模块,在连续收到n帧周期正确的报文后,脱离报文超时状态;如果n帧中有一帧的周期不正确,则重新开始计算帧数;
报文时间间隔防溢出模块,采用固定周期将当前帧的时间戳与其后一帧的时间戳进行比较,如果当前帧的时间戳小于其后一帧的时间戳则报文未溢出,如果前帧的时间戳大于等于其后一帧的时间戳则报文溢出,对报文溢出状态进行计数。
2.如权利要求1所述的CAN总线报文控制***,其特征在于:所述时间戳是报文接收时刻相对于控制器上电时刻的相对时间戳。
3.如权利要求1所述的CAN总线报文控制***,其特征在于:所述预设时间段是10ms-1000ms。
4.如权利要求1所述的CAN总线报文控制***,其特征在于:所述超时阈值范围是5-10。
5.如权利要求1所述的CAN总线报文控制***,其特征在于:所述n的范围是3-5。
6.一种CAN总线报文控制方法,其特征在于,包括以下步骤:
为每帧报文赋予时间戳;
判断当前传输状态是否处于报文超时状态;报文超时是指将报文连续多个周期未收到的情况;
如果当前处于报文超时状态,在预设时间段内如果收到新报文,则执行报文超时恢复模块;
如果当前处于非报文超时状态,若一个周期没有收到报文之后开始报文超时计数,在报文超时计数过程中如果收到一帧报文则重新开始报文超时计数,当报文超时计数大于超时阈值则进入报文超时状态;
在连续收到n帧周期正确的报文后,脱离报文超时状态;如果n帧中有一帧的周期不正确,则重新开始计算帧数;
采用固定周期将当前帧的时间戳与其后一帧的时间戳进行比较,如果当前帧的时间戳小于其后一帧的时间戳则报文未溢出,如果前帧的时间戳大于等于其后一帧的时间戳则报文溢出,对报文溢出状态进行计数。
7.如权利要求6所述的CAN总线报文控制方法,其特征在于:所述时间戳是报文接收时刻相对于控制器上电时刻的相对时间戳。
8.如权利要求6所述的CAN总线报文控制方法,其特征在于:所述预设时间段是10ms-1000ms。
9.如权利要求6所述的CAN总线报文控制方法,其特征在于:所述超时阈值范围是5-10。
10.如权利要求6所述的CAN总线报文控制方法,其特征在于:所述n的范围是3-5。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811619128.0A CN109743242B (zh) | 2018-12-28 | 2018-12-28 | Can总线报文控制***及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811619128.0A CN109743242B (zh) | 2018-12-28 | 2018-12-28 | Can总线报文控制***及其控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109743242A CN109743242A (zh) | 2019-05-10 |
CN109743242B true CN109743242B (zh) | 2021-06-08 |
Family
ID=66361650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811619128.0A Active CN109743242B (zh) | 2018-12-28 | 2018-12-28 | Can总线报文控制***及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109743242B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112398672B (zh) * | 2019-08-16 | 2023-07-25 | 北京新能源汽车股份有限公司 | 一种报文检测方法及装置 |
CN110531743A (zh) * | 2019-09-25 | 2019-12-03 | 重庆长安汽车股份有限公司 | 发动机管理***对总线相关控制模块的诊断方法 |
CN112367634B (zh) * | 2020-11-10 | 2022-12-13 | 上海汽车集团股份有限公司 | 报文发送方法及装置 |
CN112615883B (zh) * | 2020-12-28 | 2023-04-07 | 北京威努特技术有限公司 | 一种攻击检测方法、装置、电子设备及存储介质 |
CN115695153B (zh) * | 2023-01-03 | 2023-03-21 | 长沙莫之比智能科技有限公司 | 一种can通信监测和异常自动恢复方法 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7035272B2 (en) * | 2000-02-16 | 2006-04-25 | Sony Corporation | Method and apparatus for transferring data, and storage medium |
CN101383818A (zh) * | 2007-09-05 | 2009-03-11 | 华为技术有限公司 | 一种接入网络的处理方法及装置 |
CN101751020A (zh) * | 2008-12-17 | 2010-06-23 | 中国科学院沈阳自动化研究所 | 一种高可用性功能块冗余方法 |
CN101917320A (zh) * | 2010-07-12 | 2010-12-15 | 金龙联合汽车工业(苏州)有限公司 | 客车车身可配置控制模块的配置参数下载装置和下载方法 |
CN103428030A (zh) * | 2013-08-01 | 2013-12-04 | 杭州华三通信技术有限公司 | 全连接网络的拓扑建立方法及节点 |
CN103546306A (zh) * | 2012-07-13 | 2014-01-29 | 广州汽车集团股份有限公司 | 周期性can报文丢失故障的判定***和方法 |
CN103795554A (zh) * | 2012-10-29 | 2014-05-14 | 华为技术有限公司 | 一种管理终端状态的方法,装置和*** |
CN104272664A (zh) * | 2012-03-22 | 2015-01-07 | 宝马股份公司 | 用于车辆的网关、节点和方法 |
CN104917645A (zh) * | 2015-04-17 | 2015-09-16 | 浪潮电子信息产业股份有限公司 | 一种在线检测报文传输超时的方法与装置 |
CN106444729A (zh) * | 2016-12-16 | 2017-02-22 | 普华基础软件股份有限公司 | 一种基于实时***的轨迹捕捉*** |
CN106533639A (zh) * | 2016-12-06 | 2017-03-22 | 迈锐数据(北京)有限公司 | 一种数据重传方法及装置 |
CN106788911A (zh) * | 2015-11-25 | 2017-05-31 | 华为技术有限公司 | 一种报文重传的方法和装置 |
CN106941427A (zh) * | 2017-02-15 | 2017-07-11 | 北京浩瀚深度信息技术股份有限公司 | 基于报文驱动的流记录溢出与超时上报方法*** |
-
2018
- 2018-12-28 CN CN201811619128.0A patent/CN109743242B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7035272B2 (en) * | 2000-02-16 | 2006-04-25 | Sony Corporation | Method and apparatus for transferring data, and storage medium |
CN101383818A (zh) * | 2007-09-05 | 2009-03-11 | 华为技术有限公司 | 一种接入网络的处理方法及装置 |
CN101751020A (zh) * | 2008-12-17 | 2010-06-23 | 中国科学院沈阳自动化研究所 | 一种高可用性功能块冗余方法 |
CN101917320A (zh) * | 2010-07-12 | 2010-12-15 | 金龙联合汽车工业(苏州)有限公司 | 客车车身可配置控制模块的配置参数下载装置和下载方法 |
CN104272664A (zh) * | 2012-03-22 | 2015-01-07 | 宝马股份公司 | 用于车辆的网关、节点和方法 |
CN103546306A (zh) * | 2012-07-13 | 2014-01-29 | 广州汽车集团股份有限公司 | 周期性can报文丢失故障的判定***和方法 |
CN103795554A (zh) * | 2012-10-29 | 2014-05-14 | 华为技术有限公司 | 一种管理终端状态的方法,装置和*** |
CN103428030A (zh) * | 2013-08-01 | 2013-12-04 | 杭州华三通信技术有限公司 | 全连接网络的拓扑建立方法及节点 |
CN104917645A (zh) * | 2015-04-17 | 2015-09-16 | 浪潮电子信息产业股份有限公司 | 一种在线检测报文传输超时的方法与装置 |
CN106788911A (zh) * | 2015-11-25 | 2017-05-31 | 华为技术有限公司 | 一种报文重传的方法和装置 |
CN106533639A (zh) * | 2016-12-06 | 2017-03-22 | 迈锐数据(北京)有限公司 | 一种数据重传方法及装置 |
CN106444729A (zh) * | 2016-12-16 | 2017-02-22 | 普华基础软件股份有限公司 | 一种基于实时***的轨迹捕捉*** |
CN106941427A (zh) * | 2017-02-15 | 2017-07-11 | 北京浩瀚深度信息技术股份有限公司 | 基于报文驱动的流记录溢出与超时上报方法*** |
Also Published As
Publication number | Publication date |
---|---|
CN109743242A (zh) | 2019-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109743242B (zh) | Can总线报文控制***及其控制方法 | |
US10986008B2 (en) | Abnormality detection in an on-board network system | |
JP4407752B2 (ja) | 故障箇所検出装置及び通信装置並びに故障箇所検出方法 | |
KR101472896B1 (ko) | 차량 내 통신 네트워크에서의 보안 강화 방법 및 그 장치 | |
US20180152472A1 (en) | Invalidity detection electronic control unit, in-vehicle network system, and communication method | |
CN103377083B (zh) | 用于运行冗余的自动化***的方法 | |
US9160620B2 (en) | Integrated fault diagnosis and prognosis for in-vehicle communications | |
KR102030397B1 (ko) | 네트워크 감시 장치 | |
US20110035180A1 (en) | Diagnostic apparatus and system adapted to diagnose occurrence of communication error | |
US10578465B2 (en) | Sensor bus system and unit with internal event verification | |
CN108063687B (zh) | 一种can总线网络中故障节点判定方法 | |
US11176386B2 (en) | System and method for continuous operation of vision/radar systems in presence of bit errors | |
EP3758302A1 (en) | Abnormality detection device | |
JP2008236408A (ja) | 車載用多重通信装置 | |
CN110601945A (zh) | 一种双冗余can总线通信***和通信方法 | |
US10223319B2 (en) | Communication load determining apparatus | |
JP3486990B2 (ja) | シリアル通信装置 | |
US8018867B2 (en) | Network system for monitoring operation of monitored node | |
JP5867605B2 (ja) | 故障診断システム、故障診断装置及び故障診断方法 | |
JP6410914B1 (ja) | シリアル通信システム | |
WO2014039032A1 (en) | Method and apparatus for isolating a fault-active controller in a controller area network | |
CN116112252A (zh) | 一种基于报文时钟周期的车载can总线入侵检测与防御*** | |
US11050648B2 (en) | Communication system | |
CN108009069B (zh) | 基于功能安全的操作***和com模块监控装置及方法 | |
JP4570753B2 (ja) | エラーコード送出装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |