一种基于CAN总线的误码测试方法及系统技术方案

技术编号:15038256 阅读:214 留言:0更新日期:2017-04-05 12:38
本发明专利技术公开了一种基于CAN总线的误码测试方法及系统,产生帧,将要测试的图形或自定义字放在数据区,按照CAN协议将帧发送到相对应的总线;按照CAN协议对帧进行解码,对ID进行过滤,将满足条件的帧的数据取出,作为要测试的图形或字进行误码测试;将收到的数据和接收方预存的数据进行对比,连续设定长度的数据相同,则认为同步成功,同步成功以后对收到的数据和预存的数据按单位数据进行比较,不相同则为误码,若为误码,误码数量加一,不断重复;根据误码数量数据与收到的数据个数,计算相应的误码率。本发明专利技术能够对成帧的CAN总线帧进行误码测试,通过对CAN总线进行误码测试,可以实时判断总线数据的正确性,提升总线的稳定性和抗干扰的能力。

【技术实现步骤摘要】

本专利技术涉及一种基于CAN总线的误码测试方法及系统。
技术介绍
CAN总线作为现场总线的一种,具有系统结构简单,抗干扰能力强的特点,还具有一定的容错能力。起初被用来解决汽车中众多的控制与测量设备之间的数据通信,后来被广泛的应用于卡车、大型车辆、船舶、航空航天等其他领域内。随着CAN总线应用范围的扩大,CAN总线协议也在不断的完善,基于CAN总线的控制系统和测试仪器也越来越多,CAN总线有着非常广泛的用途,在今后很长的时间内,CAN总线都会在现场总线领域有着至关重要的地位。误码测试的工作原理是:误码测试系统的码型发生器产生伪随机码或者自定义的数据,并作为测试码型发给被测系统,被测系统将收到的码型送到误码检测单元,误码系统通过误码检测单元统计出通信系统中的误码数;内部逻辑控制电路将统计出的误码数进行计算,得出误码率。虽然CAN总线具有较高的稳定性,然而仍不能保证总线不出现错误,CAN总线可以支持多个节点,多个节点通过CAN总线协议进行通信,节点越多,总线中出现误码的概率越大,总线稳定性也越低。误码测试能够模拟通信过程中产生误码的情形,人为的在总线中插入误码,能够判断总线中各节点对总线出现误码的处理能力。对总线中的数据进行误码测试,可以实时判断总线状态,监控可能出现的错误,并根据检测到的误码来对总线以及总线中各个节点进行改进,提升总线的稳定性和抗干扰的能力。通常CAN总线的误码测试方法是将伪随机序列或者自定义的数据插入CAN总线协议帧的数据区,将带有误码的CAN帧发送给误码接收方,接收方根据接收到的CAN帧将数据区中的数据取出,对取出的数据进行误码测试,来判断是否有误码并统计误码个数和误码率。但是现有的CAN总线测试仪器产品多种多样,速率5Kbps~1Mbps,工作模式有高速模式、低速容错模式、单线模式,现有的误码测试仪器支持非帧的误码测试,有些总线有成帧的误码测试,比如RS232总线,FC总线等,现有的CAN总线测试仪器还没有能支持误码测试功能的产品。
技术实现思路
本专利技术为了解决上述问题,提出了一种基于CAN总线的误码测试方法及系统,本专利技术能够对成帧的CAN总线帧进行误码测试,通过对CAN总线进行误码测试,可以实时判断总线数据的正确性,提升总线的稳定性和抗干扰的能力。为了实现上述目的,本专利技术采用如下技术方案:一种基于CAN总线的误码测试方法,包括以下步骤:(1)产生帧,将要测试的图形或自定义字放在发送方和接收方数据区,按照CAN协议将帧发送到相对应的总线;(2)按照CAN协议对帧进行解码,对ID进行过滤,将满足条件的帧的数据取出,作为要测试的图形或字进行误码测试;(3)将收到的数据和接收方的数据进行对比,连续设定长度的数据相同,则认为同步成功,同步成功以后对接收方收到的数据和接收方的步骤(1)设置的数据按每个长度单位进行比较,相同则不为误码,不相同则为误码,若为误码,误码数量加一;(4)根据误码数量数据与收到的数据个数,计算相应的误码率。所述步骤(1)中,帧为符合ISO11898标准的CAN协议帧。所述步骤(1)中,数据类型为标准数据帧或扩展数据帧,ID可设,数据长度可设,且数据长度不能为0,帧间隔可设,测试图形包括伪随机序列、全0、全1或自定义的字。所述步骤(1)中,将测试图形或自定义的字放在CAN协议帧的数据区,随机插入误码,误码率可设,然后将CAN协议帧进行发送,发送过程要遵守CAN协议。所述步骤(2)中,在接收总线传输的数据时,设置过滤ID,只接收设定的特定ID的帧。所述步骤(4)中,计算出的误码率与发送方设置的误码率相同,则表示总线通信状态正常,不同则表示总线出现错误。所述步骤(4)中,将误码个数除以收到的数据总个数,计算相应的误码率。一种应用上述方法的测试系统,包括CAN总线数据发生模块和误码测试统计模块,其中:所述CAN总线数据发生模块,被配置为产生符合ISO11898标准的CAN协议帧,帧的数据类型为标准数据帧或扩展数据帧,设置相应的ID、数据长度和帧间隔,将测试图形或自定义的字放在CAN协议帧的数据区,插入误码,然后将CAN协议帧进行发送;所述误码测试统计模块,被配置为接收总线上的数据,接收特定ID的帧,判断帧数据中是否有误码,并统计相应的误码数量,计算误码率。本专利技术的有益效果为:传统的CAN总线测试仪器具有发送、接收、过滤、触发、统计等功能,并没有误码测试的功能,因此不能对总线中的误码进行有效的检测与统计,总线出现错误的时候也不能及时发现与处理,对总线数据进行误码测试,有效的解决了不能实时监测总线是否正确通信的问题。附图说明图1是基于CAN总线的误码测试示意图。具体实施方式:下面结合附图与实施例对本专利技术作进一步说明。本专利技术基于CAN总线的帧格式和误码测试的工作原理,提出一种基于CAN总线的误码测试方法,其至少包含如下两个主要功能模块,如图1所示。1)CAN总线数据发生模块:产生符合ISO11898标准的CAN协议帧,数据类型为标准数据帧或扩展数据帧,ID可设,数据长度可设(不能为0),帧间隔可设,测试图形包括伪随机序列、全0、全1或自定义的字,将测试图形或自定义的字放在CAN协议帧的数据区,可插入误码,误码率可设,然后将CAN协议帧进行发送,发送过程要遵守CAN协议。2)误码测试统计模块:此模块用于将总线上的数据进行接收,可在接收方设置过滤ID,只接收特定ID的帧,并判断是否有误码,计算误码率。接收模块的测试图形与发送模块相同,也包含伪随机序列、全0、全1或自定义的字,经过接收模块处理后,误码个数和误码率会显示在统计结果中。本专利技术提出的基于CAN总线的误码测试方法的工作流程为:步骤1:协议发生模块产生帧,将要测试的图形或自定义字放在数据区,按照CAN协议将帧发送到总线;步骤2:接收模块将接收到的帧按照CAN协议进行解码,对ID进行过滤,将满足条件的帧的数据取出,作为要测试的图形或字进行误码测试;步骤3:将收到的数据和接收方预存的数据进行对比,连续32个比特相同,则认为同步成功,同步成功以后对收到的数据和预存的数据按比特进行比较,相同则不为误码,不相同则为误码,若为误码,比特误码数加1;步骤4:由比特误码数与收到的数据个数计算出误码率。上述虽然结合附图对本专利技术的具体实施方式进行了描述,但并非对本专利技术保护范围的限制,所属领域技术人员应该明白,在本专利技术的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本专利技术的保护范围以内。本文档来自技高网
...

【技术保护点】
一种基于CAN总线的误码测试方法,其特征是:包括以下步骤:(1)产生帧,将要测试的图形或自定义字放在发送方和接收方数据区,按照CAN协议将帧发送到相对应的总线;(2)按照CAN协议对帧进行解码,对ID进行过滤,将满足条件的帧的数据取出,作为要测试的图形或字进行误码测试;(3)将收到的数据和接收方的数据进行对比,连续设定长度的数据相同,则认为同步成功,同步成功以后对接收方收到的数据和接收方的步骤(1)设置的数据按每个长度单位进行比较,相同则不为误码,不相同则为误码,若为误码,误码数量加一;(4)根据误码数量数据与收到的数据个数,计算相应的误码率。

【技术特征摘要】
1.一种基于CAN总线的误码测试方法,其特征是:包括以下步骤:(1)产生帧,将要测试的图形或自定义字放在发送方和接收方数据区,按照CAN协议将帧发送到相对应的总线;(2)按照CAN协议对帧进行解码,对ID进行过滤,将满足条件的帧的数据取出,作为要测试的图形或字进行误码测试;(3)将收到的数据和接收方的数据进行对比,连续设定长度的数据相同,则认为同步成功,同步成功以后对接收方收到的数据和接收方的步骤(1)设置的数据按每个长度单位进行比较,相同则不为误码,不相同则为误码,若为误码,误码数量加一;(4)根据误码数量数据与收到的数据个数,计算相应的误码率。2.如权利要求1所述的一种基于CAN总线的误码测试方法,其特征是:所述步骤(1)中,帧为符合ISO11898标准的CAN协议帧。3.如权利要求1所述的一种基于CAN总线的误码测试方法,其特征是:所述步骤(1)中,数据类型为标准数据帧或扩展数据帧,ID可设,数据长度可设,且数据长度不能为0,帧间隔可设,测试图形包括伪随机序列、全0、全1或自定义的字。4.如权利要求1所述的一种基于CAN总线的误码测试方法,其特征是:所述步骤(1)中,将测试图形或自定义的字放在CAN协议帧...

【专利技术属性】
技术研发人员:高利杰丁亚林
申请(专利权)人:中国电子科技集团公司第四十一研究所
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1