CN111948469B - 一种can总线电磁兼容性检测方法及系统 - Google Patents
一种can总线电磁兼容性检测方法及系统 Download PDFInfo
- Publication number
- CN111948469B CN111948469B CN201910414355.8A CN201910414355A CN111948469B CN 111948469 B CN111948469 B CN 111948469B CN 201910414355 A CN201910414355 A CN 201910414355A CN 111948469 B CN111948469 B CN 111948469B
- Authority
- CN
- China
- Prior art keywords
- value
- electromagnetic compatibility
- bus
- error
- sending
- 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/001—Measuring interference from external sources to, or emission from, the device under test, e.g. EMC, EMI, EMP or ESD testing
Abstract
本发明提出一种CAN总线电磁兼容性检测方法,包括:持续发送碰撞检测数据帧;按照固定的采样周期采集当前节点的CAN总线控制器内部的bus off状态位、发送错误计数器以及接收错误计数器的值;检测bus off状态位,若bus off状态位具有非零值,则判定电磁兼容不合格;否则:逐次累加发送错误计数器和接收错误计数器的值,直到电磁兼容检测完成,得到错误计数累加值,将所述错误计数累加值与预设定的安全阈值相比较,若错误计数累加值大于安全阈值,则判定电磁兼容性不合格,否则合格。本发明进行电磁兼容性检测不依赖外部设备,可在任何CAN总线通信系统中实现,经济实用;可同步实施于系统稳定性测试过程中,无需额外的检测时间。
Description
技术领域
本发明属于CAN(Controller Area Network,控制器局域网)总线技术领域,具体而言,涉及一种CAN总线电磁兼容性检测方法及系统。
背景技术
CAN(Controller Area Network)控制器局域网,是一种总线式串行通信网络,具有高性能、高可靠性的特点。由于CAN总线的抗干扰能力较强,常被应用于电磁环境较为恶劣的场景中,为了检验CAN总线在相应电子系统中的电磁兼容性,通常采用的方法有采购价格高昂的CAN总线分析仪等专用设备进行检测,或者将产品发送至第三方检测机构进行评估,费时费力。
发明内容
本发明的目的是解决现有技术中检验CAN总线在相应电子系统中的电磁兼容性通常使用昂贵的专用设备手段复杂不经济的问题。
为实现上述目的,本发明提出一种CAN总线电磁兼容性检测方法及系统,所述方法包括:
持续发送碰撞检测数据帧;
按照固定的采样周期采集当前发送节点的CAN总线控制器内部的bus off状态位、发送错误计数器以及接收错误计数器的值;
检测CAN总线控制器的bus off状态位,若bus off状态位具有非零值,则判定电磁兼容不合格;否则:
逐次累加发送错误计数器和接收错误计数器的值,直到电磁兼容检测完成,得到错误计数累加值,将所述错误计数累加值与预设定的安全阈值相比较,若错误计数累加值大于安全阈值,则判定电磁兼容性不合格,否则合格。
作为所述方法的一种改进,所述碰撞检测数据帧具有最低的发送优先级,如果是标准帧,碰撞检测数据帧的ID为0x7FF,如果是扩展帧,碰撞检测数据帧的ID为0x1FFFFFFF。
作为所述方法的一种改进,所述碰撞检测数据帧具有最大的数据发送长度,如果是传统数据帧,数据发送长度为8字节,如果是CAN FD数据帧,数据发送长度为64字节,所述碰撞检测数据帧的总线占有率最少为70%;
作为所述方法的一种改进,所述按照固定的采样周期采集待检测系统内当前发送节点的CAN总线控制器内部的bus off状态位、发送错误计数器以及接收错误计数器的值,具体包括:
步骤1-1)设定碰撞检测节点采样时间t的起始时间为T0、结束时间为T和采样时间间隔为m秒,累加错误计数值的初值TREC0为0;k为采样次数,初值为1;
步骤1-2)从T0开始,每间隔m秒采集一次bus off状态位、发送错误计数器值TEC和接收错误计数器值REC。
作为所述方法的一种改进,所述采样时间间隔不大于20ms;
作为所述方法的一种改进,所述逐次累加发送错误计数器和接收错误计数器的值,直到电磁兼容检测完成,得到错误计数累加值,将所述错误计数累加值与预设定的安全阈值相比较,若错误计数累加值大于安全阈值,则判定电磁兼容性不合格,否则合格;具体包括:
步骤2-1)在第k个采样时刻t=T0+km时,将发送错误计数器值TEC和接收错误计数器值REC进行累加计算累加错误计数值TRECk:
TRECk=TRECk-1+TEC+REC;
步骤2-2)判断当前采样时刻t是否小于结束时间T,如果判断是肯定的,将k增加1,转入步骤2-1);否则,进入步骤2-3);
步骤2-3)将所述错误计数累加值TRECk与预设定的安全阈值Y相比较,若错误计累加值TRECk大于安全阈值Y,则判定电磁兼容性不合格,否则合格。
本发明还提出一种CAN总线电磁兼容性检测系统,所述系统包括:发送碰撞检测数据帧模块、所述干扰状态采样模块和电磁兼容性检测模块;
所述发送碰撞检测数据帧模块,用于持续发送碰撞检测数据帧;
所述干扰状态采样模块,用于按照固定的采样周期采集当前发送节点的CAN总线控制器内部的bus off状态位、发送错误计数器以及接收错误计数器的值;
所述电磁兼容性检测模块,用于检测CAN总线控制器的bus off状态位,若busoff状态位具有非零值,则判定电磁兼容不合格;否则:
逐次累加发送错误计数器和接收错误计数器的值,直到电磁兼容检测完成,得到错误计数累加值,将所述错误计数累加值与预设定的安全阈值相比较,若错误计累加值大于安全阈值,则判定电磁兼容性不合格,否则合格。
与现有技术相比,本发明的有益效果在于:
1、本发明提出的CAN总线电磁兼容性检测方法及系统,不依赖于任何外部设备,可在任何CAN总线通信系统中实现,简单易行,经济实用;
2、本发明提出的CAN总线电磁兼容性检测方法及系统,实施电磁兼容性测试无需额外的检测时间开销;
3、本发明提出的CAN总线电磁兼容性检测方法及系统,可以定量的获得电磁兼容稳定性的检测结果,用来准确评估设计变更或环境变化对CAN总线电磁兼容性的影响情况。
具体实施方式
下面结合具体实施例对本发明进行详细的说明。
CAN总线协议规范中要求,在控制器中实现两种计数器以便进行故障界定,一种是发送错误计数,一种是接收错误计数。当CAN控制器检测到发送错误时,发送错误计数会按一定规则递增,同样,当CAN控制器检测到接收错误时,接收错误计数也会按一定规则递增,当干扰消失,总线状态恢复正常,这两个计数器则又会按一定规则递减,本发明利用这一特性进行电磁兼容检测。
本发明提供一种CAN总线电磁兼容性检测方法,选取待检测CAN总线系统中任意一个CAN节点,快速发送CAN总线允许的最低优先级数据帧,保证总线占有率在70%以上,定时采样该CAN节点接口模块内部的发送错误计数值及接收错误计数值,并逐次累加这两个错误计数值。系统运行一段时间后,判决该错误计数值,若计数值较大,则系统电磁兼容性较差,反之则较好。
该发明不依赖于任何外部设备,可在任何CAN总线通信系统中实现,简单易行,经济实用。
从原理上来说,该检测方法是基于统计的电磁干扰“碰撞”检测方法。
选取待检测CAN总线系统中的任意一个节点,即“碰撞”检测节点,在该节点控制器的空闲时间段,通过编程实现持续发送最低优先级的CAN总线数据帧,使得CAN总线占有率达到70%以上,由于发送的是最低优先级的数据帧,因此并不会影响待测CAN总线系统工作。定时采样“碰撞”检测节点内部的发送错误计数值TEC值,以及接收错误计数值REC值,TEC和REC是CAN总线协议中的标准错误计数值,当出现发送错误时TEC值按一定规定递增,当出现接收错误时REC值按一定规定递增,“碰撞”检测节点的内部程序将这两个错误计数值的逐次累加,由于TEC的值和REC的值在任何CAN控制器中都是标准存在,因此适用于任何CAN总线系统。系统运行一段时间后,检测累加值,如果该值较大,说明系统电磁兼容性较差,反之则较好,具体的评价标准可由开发人员根据系统要求制定。
同时,可以采集bus off状态的值,记录该节点出现的bus off状态个数,bus off状态也是CAN总线标准状态,原则上,系统运行中不允许出现bus off,也就是说bus off的累积计数值应该为0。
由于系统的总线占有率很高,达到70%以上,越高越优,因此,系统在长时间的运行过程中,如果出现了电磁干扰,则该干扰就有极大概率落入“碰撞”检测时间窗口内,也即上述“碰撞”检测节点的发送或接收时间窗口中,从而导致“碰撞”检测节点的CAN发送或接收失败,进而导致TEC和REC出现非零值。导致CAN总线通信异常的电磁干扰越强烈,则上述错误累加值就越高,设计人员从而可定量判断系统的电磁兼容性。该方法尤其适用于电子系统设计各阶段的稳定性测试,也可方便应用于电子系统改版后定量评价改版效果。
本发明提出的一种CAN总线电磁兼容性检测方法,所述方法包括:
步骤1)选择待检测系统内的任一个CAN节点,通过该节点软件设计,在电磁兼容检测整个时间段内,按照固定的采样周期采集该节点CAN总线控制器内部的bus off状态位、发送错误计数器以及接收错误计数器的值,采样周期应较短,典型的可不大于20ms;
步骤2)检测过程中任意时刻若采集到bus off状态位具有非零值,可认为电磁兼容不合格;否则,检测过程中,逐次累加发送错误计数器和接收错误计数器的值,待检测完成,该累加值与预设定的安全阈值相比较,若大于安全阈值,则电磁兼容性不合格,否则合格。特别的,若系统安全性要求极高,该阈值可以设定为零。
在所选定的CAN节点上,进行软件设计,在其空闲时间内,持续发送碰撞检测数据帧,碰撞检测数据帧的作用是,尽可能的占有CAN总线带宽,从而使得总线干扰来临时,该碰撞检测数据帧极大概率被干扰而产生发送错误,进而导致该节点发送错误计数器出现非零值或持续增加,从而被固定周期采样程序捕获。典型的,碰撞检测数据帧的发送,应使得总线占有率达到70%以上;
碰撞检测数据帧具有最低的发送优先级,具体的,对标准帧来说,碰撞检测数据帧的ID为0x7FF,对扩展帧来说,碰撞检测数据帧的ID为0x1FFFFFFF,该设计的目的是,碰撞检测数据帧的发送并不影响原有系统的工作;
碰撞检测数据桢应具有最大的数据发送长度,具体的,对传统数据帧来说,数据长度为8字节,对具有CAN FD功能的数据帧来说,数据长度为64字节,该设计的目的是,碰撞检测数据帧帧长度较大,易于占用带宽,从而易于提高总线占有率;
所述的CAN总线电磁兼容检测方法无需任何外部设备;
所述的CAN总线电磁兼容测试方法的实施可同步于系统稳定性测试过程中,无需额外的检测时间开销;
所述的CAN总线电磁兼容检测方法检测结束后,可以定量的获取一个检测结果,当系统设计发生变化时,可在相同条件下再次测量,通过比较设计变化前后的检测结果来准确评估设计变更对CAN总线电磁兼容性的影响情况。本发明提供的方法,仅需要在原有的CAN总线系统中进行少量的程序设计,无需外部硬件,自动完成,简单易行,下面就结合具体实施方法举例说明。
假定CAN总线系统中有N个节点,可以任选一个节点,也可优先选择空闲时间最多的节点,假定选定的节点号为n作为“碰撞”检测节点。则,在节点n的程序设计中,在其空闲时间内,通过编程设计,持续发送帧ID为0x7FF的数据帧(如果系统采用标准帧结构),或者发送帧ID为0x1FFFFFFF的数据帧(如果系统采用扩展帧结构),数据长度选择为总线系统中所支持的最大长度,对CAN2.0来说最大长度为8字节,对CAN FD来说最大长度为64字节,数据内容可任意。由于是持续发送,系统总线占有率会较高,并且,由于发送的数据帧优先级最低,并不会影响系统正常工作。
节点n的程序设计中,定时每20ms读取CAN总线控制器内部寄存器,获取发送错误计数器TEC值,获取接收错误计数器REC值,并将这两个值逐次累加并保存于全局变量中(用户自定义),该变量应设计以允许记录较大的值。
保持系统持续运行数小时或数天,获取全局变量错误计数值,根据该值的大小评价系统电磁兼容性,如果该值较大,大于设定的安全阈值,说明系统电磁兼容性较差,反之则较好。
由于该方法可以获取具体的数值,设计人员可以在电子系统改版前后,在相同的测试条件下,通过多次测量获取平均数据,从而评价改版效果。
本发明还提出一种CAN总线电磁兼容性检测系统,所述系统包括:发送碰撞检测数据帧模块、干扰状态采样模块和电磁兼容性检测模块;
所述发送碰撞检测数据帧模块,用于持续发送碰撞检测数据帧;
所述干扰状态采样模块,用于按照固定的采样周期采集当前发送节点的CAN总线控制器内部的bus off状态位、发送错误计数器以及接收错误计数器的值;
所述电磁兼容性检测模块,用于检测CAN总线控制器的bus off状态位,若bus off状态位具有非零值,则判定电磁兼容不合格;否则:
逐次累加发送错误计数器和接收错误计数器的值,直到电磁兼容检测完成,得到错误计数累加值,将所述错误计数累加值与预设定的安全阈值相比较,若错误计累加值大于安全阈值,则判定电磁兼容性不合格,否则合格。
总的来说,本发明提供的CAN总线电磁兼容性检测方法及系统,可用于CAN总线系统稳定性测试,可以评价电子系统改版效果,不依赖于任何外部设备,可在任何CAN总线通信系统中实现,简单易行,经济实用。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (4)
1.一种CAN总线电磁兼容性检测方法,所述方法包括:
持续发送碰撞检测数据帧;
按照固定的采样周期采集当前发送节点的CAN总线控制器内部的bus off状态位、发送错误计数器以及接收错误计数器的值;
检测CAN总线控制器的bus off状态位,若bus off状态位具有非零值,则判定电磁兼容不合格;否则:
逐次累加发送错误计数器和接收错误计数器的值,直到电磁兼容检测完成,得到错误计数累加值,将所述错误计数累加值与预设定的安全阈值相比较,若错误计数累加值大于安全阈值,则判定电磁兼容性不合格,否则合格;
所述碰撞检测数据帧具有最大的数据发送长度,如果碰撞检测数据帧是传统数据帧,数据发送长度为8字节,如果碰撞检测数据帧是CAN FD数据帧,数据发送长度为64字节,所述碰撞检测数据帧的总线占有率最少为70%;
所述按照固定的采样周期采集当前发送节点的CAN总线控制器内部的bus off状态位、发送错误计数器以及接收错误计数器的值,具体包括:
步骤1-1)设定碰撞检测节点采样时间t的起始时间为T0、结束时间为T和采样周期为m秒,累加错误计数值的初值TREC0为0;k为采样次数,初值为1;
步骤1-2)从T0开始,每间隔m秒采集一次bus off状态位、发送错误计数器值TEC和接收错误计数器值REC;
所述逐次累加发送错误计数器和接收错误计数器的值,直到电磁兼容检测完成,得到错误计数累加值,将所述错误计数累加值与预设定的安全阈值相比较,若错误计数累加值大于安全阈值,则判定电磁兼容性不合格,否则合格;具体包括:
步骤2-1)在第k个采样时刻t=T0+km时,将发送错误计数器值TEC和接收错误计数器值REC进行累加计算累加错误计数值TRECk:
TRECk=TRECk-1+TEC+REC;
步骤2-2)判断当前采样时刻t是否小于结束时间T,如果判断是肯定的,将k增加1,转入步骤2-1);否则,进入步骤2-3);
步骤2-3)将所述错误计数累加值TRECk与预设定的安全阈值Y相比较,若错误计累加值TRECk大于安全阈值Y,则判定电磁兼容性不合格,否则合格。
2.根据权利要求1所述的CAN总线电磁兼容性检测方法,其特征在于,所述碰撞检测数据帧具有最低的发送优先级,如果碰撞检测数据帧是标准帧,则其ID为0x7FF,如果碰撞检测数据帧是扩展帧,则其ID为0x1FFFFFFF。
3.根据权利要求2所述的CAN总线电磁兼容性 检测方法,其特征在于,所述采样周期不大于20ms。
4.一种CAN总线电磁兼容性检测系统,其特征在于,所述系统包括:发送碰撞检测数据帧模块、干扰状态采样模块和电磁兼容性检测模块;
所述发送碰撞检测数据帧模块,用于持续发送碰撞检测数据帧;
所述干扰状态采样模块,用于按照固定的采样周期采集当前发送节点的CAN总线控制器内部的bus off状态位、发送错误计数器以及接收错误计数器的值;
所述电磁兼容性检测模块,用于检测CAN总线控制器的bus off状态位,若bus off状态位具有非零值,则判定电磁兼容不合格;否则:逐次累加发送错误计数器和接收错误计数器的值,直到电磁兼容检测完成,得到错误计数累加值,将所述错误计数累加值与预设定的安全阈值相比较,若错误计数累加值大于安全阈值,则判定电磁兼容性不合格,否则合格;
所述碰撞检测数据帧具有最大的数据发送长度,如果碰撞检测数据帧是传统数据帧,数据发送长度为8字节,如果碰撞检测数据帧是CAN FD数据帧,数据发送长度为64字节,所述碰撞检测数据帧的总线占有率最少为70%;
所述按照固定的采样周期采集当前发送节点的CAN总线控制器内部的bus off状态位、发送错误计数器以及接收错误计数器的值,具体包括:
步骤1-1)设定碰撞检测节点采样时间t的起始时间为T0、结束时间为T和采样周期为m秒,累加错误计数值的初值TREC0为0;k为采样次数,初值为1;
步骤1-2)从T0开始,每间隔m秒采集一次bus off状态位、发送错误计数器值TEC和接收错误计数器值REC;
所述逐次累加发送错误计数器和接收错误计数器的值,直到电磁兼容检测完成,得到错误计数累加值,将所述错误计数累加值与预设定的安全阈值相比较,若错误计数累加值大于安全阈值,则判定电磁兼容性不合格,否则合格;具体包括:
步骤2-1)在第k个采样时刻t=T0+km时,将发送错误计数器值TEC和接收错误计数器值REC进行累加计算累加错误计数值TRECk:
TRECk=TRECk-1+TEC+REC;
步骤2-2)判断当前采样时刻t是否小于结束时间T,如果判断是肯定的,将k增加1,转入步骤2-1);否则,进入步骤2-3);
步骤2-3)将所述错误计数累加值TRECk与预设定的安全阈值Y相比较,若错误计累加值TRECk大于安全阈值Y,则判定电磁兼容性不合格,否则合格。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910414355.8A CN111948469B (zh) | 2019-05-17 | 2019-05-17 | 一种can总线电磁兼容性检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910414355.8A CN111948469B (zh) | 2019-05-17 | 2019-05-17 | 一种can总线电磁兼容性检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111948469A CN111948469A (zh) | 2020-11-17 |
CN111948469B true CN111948469B (zh) | 2021-06-08 |
Family
ID=73336151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910414355.8A Active CN111948469B (zh) | 2019-05-17 | 2019-05-17 | 一种can总线电磁兼容性检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111948469B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112964956B (zh) * | 2021-03-19 | 2023-01-24 | 潍柴动力股份有限公司 | 车辆电磁干扰的检测方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1888920B (zh) * | 2006-07-17 | 2010-12-01 | 中国科学院电工研究所 | 一种测试can总线抗电磁干扰能力的方法和装置 |
JP4509200B2 (ja) * | 2008-04-08 | 2010-07-21 | 三菱電機株式会社 | ネットワークシステム |
CN102707170B (zh) * | 2012-05-25 | 2015-01-07 | 北京航空航天大学 | 一种基于半实物仿真的汽车can总线电磁兼容性能测试方法 |
CN104635549A (zh) * | 2013-11-07 | 2015-05-20 | 北汽福田汽车股份有限公司 | Can总线错误处理方法和can控制器 |
CN108063687B (zh) * | 2017-12-12 | 2021-01-08 | 北京时代民芯科技有限公司 | 一种can总线网络中故障节点判定方法 |
CN109738722B (zh) * | 2018-12-29 | 2021-07-02 | 中国重汽集团济南动力有限公司 | 一种基于can总线数据进行车辆内电磁干扰源的定位方法 |
-
2019
- 2019-05-17 CN CN201910414355.8A patent/CN111948469B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111948469A (zh) | 2020-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10944473B2 (en) | Method, apparatus and device for predicting fault of optical module | |
CN101048984B (zh) | 通信质量测量装置和通信质量测量方法 | |
US7929461B2 (en) | Controller area network performance parameters measurement | |
CN102404170B (zh) | 报文丢失检测方法、装置、及系统 | |
JP2001352350A (ja) | 連続ビットストリームの統計的アイダイアグラムによる測定装置及び方法 | |
CN109996258B (zh) | 无线网络利用率评估方法、装置、计算设备及存储介质 | |
CN108063687B (zh) | 一种can总线网络中故障节点判定方法 | |
US7924737B2 (en) | Signal degrade detecting method, signal restoration detecting method, devices for those methods, and traffic transmission system | |
CN109743228B (zh) | 一种采样点位置的测定方法及系统 | |
CN111948469B (zh) | 一种can总线电磁兼容性检测方法及系统 | |
US20200076643A1 (en) | Controller area network receiver | |
CN105791008A (zh) | 确定丢包位置和原因的方法和装置 | |
DE102013218075A1 (de) | Vorrichtung und Messverfahren zur Ermittlung der internen Verzögerungszeit einer CAN-Busanschlusseinheit | |
CN114285767B (zh) | 时间触发以太网交换机业务转发性能检测装置 | |
CN111464396A (zh) | Can总线负载率异常预警的方法及电子设备 | |
CN114384354A (zh) | 硬件实现的串行通讯高动态范围波特率识别方法及电路 | |
CN101414938B (zh) | 自适应的数字家庭网络可用带宽实时检测方法 | |
US11336540B2 (en) | Sampling frequency recommendation method, apparatus and device, and storage medium | |
CN103368786B (zh) | 控制器局域网络总线数据的测试方法及装置 | |
CN111367223A (zh) | 一种总线监测设备及方法 | |
CN108024222B (zh) | 流量话单生成方法和装置 | |
CN111044981B (zh) | 一种多型号的雷达通信分机故障检测方法及系统 | |
CN114301728A (zh) | 一种列车网络性能测试方法及装置 | |
CN102893654A (zh) | 移动网络小区的拥塞检测方法和装置 | |
CN117650837A (zh) | 一种光口假连接检测方法 |
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 |