一种can总线数据场校验方法及系统的制作方法

文档序号:8322007阅读:678来源:国知局
一种can总线数据场校验方法及系统的制作方法
【技术领域】
[0001]本发明涉及数据处理技术领域,特别涉及一种CAN总线数据场校验方法及系统。
【背景技术】
[0002]CAN总线(Controller Area Network,控制器局域网络)是国际上通用的现场总线之一,由于具有较高的可靠性,而被广泛应用于工业自动化和汽车电子领域。为了确保CAN总线数据传输信息的有效性和可靠性,需要对CAN总线数据场进行校验。其中,CAN总线数据场信息主要包括:常规的数据信息和整车生产厂与控制器单元供应商之间协定的数据信息。
[0003]现有技术中,通常采用CRC(Cyclic Reduncy Check,循环冗余校验)对CAN总线数据场中常规的数据信息进行校验,再配合有效位校验的方式,对CAN总线数据场中协定的数据信息进行校验。具体而言,CRC校验通过对每个数据帧帧头到帧尾进行全帧数据验算,保证常规数据信息的准确性。而有效位校验,则采用专门增加的有效位来对协定的数据信息进行校验,由于有效位校验只能进行一次校验,从而导致在校验位本身出错的情况下,容易采用错误信息进行车辆控制,从而导致整车功能失常。

【发明内容】

[0004]本发明实施例提供了一种CAN总线数据场校验方法及系统,能够对CAN总线数据场中的协定数据信息进行准确校验,从而保证CAN总线数据场信息的准确可靠性。
[0005]本发明实施例提供的技术方案如下:
[0006]一方面,提供了一种CAN总线数据场校验方法,包括:
[0007]步骤S1:接收CAN总线发送的数据帧;
[0008]步骤S2:对所述数据帧的数据场中的数据做校验和;
[0009]步骤S3:判断所述校验和是否等于预设校验和,如果是,则转入步骤SI ;
[0010]步骤S4:对执行步骤SI的次数进行计数,当所述计数次数达到预设次数后,判断所述CAN总线数据场有效。
[0011]优选地,如果所述校验和不等于所述预设校验和,则判断所述CAN总线数据场无效。
[0012]优选地,在判断所述CAN总线数据场无效后,还包括:采用上一循环中判断为有效的CAN总线数据场替代本次循环中接收的CAN总线数据场。
[0013]优选地,所述CAN总线数据场包括:协定数据信息位、循环计数位和校验和位。
[0014]优选地,所述CAN总线数据场的长度为8字节,其中,所述协定数据信息位的长度为6.5字节,所述循环计数位的长度为0.5字节,所述校验和位的长度为I字节。
[0015]另一方面,提供了一种CAN总线数据场校验系统,包括:
[0016]接收模块,用于接收CAN总线发送的数据帧;
[0017]校验模块,用于对所述数据帧的数据场中的数据做校验和;
[0018]第一判断模块,用于判断所述校验和是否等于预设校验和;
[0019]控制模块,用于在所述第一判断模块判断所述校验和等于所述预设校验和后,控制所述接收模块接收CAN总线发送的数据帧;
[0020]计数模块,用于对所述接收模块接收CAN总线发送的数据帧的次数进行计数;
[0021]第二判断模块,用于在所述计数模块的计数次数达到预设次数后,判断所述CAN总线数据场有效。
[0022]优选地,所述第二判断模块,还用于在所述第一判断模块判断所述校验和不等于所述预设校验和后,判断所述CAN总线数据场无效。
[0023]优选地,还包括:替代模块,用于在所述第二判断模块判断所述CAN总线数据场无效后,采用上一循环中判断为有效的CAN总线数据场替代本次循环中接收的CAN总线数据场。
[0024]优选地,所述CAN总线数据场包括:协定数据信息位、循环计数位和校验和位。
[0025]优选地,所述CAN总线数据场的长度为8字节,其中,所述协定数据信息位的长度为6.5字节,所述循环计数位的长度为0.5字节,所述校验和位的长度为I字节。
[0026]本发明实施例提供的CAN总线数据场校验方法及系统,在接收到CAN总线发送的数据帧后,对数据帧中的数据场做校验和,在判断出校验和等于预设校验和的情况下,循环多次执行数据帧接收、校验和判断步骤,当执行次数达到预设次数后,判断CAN总线数据场有效,通过多次循环校验,能够对CAN总线数据场中的协定数据信息进行准确校验,从而保证CAN总线数据场信息的准确可靠性。
【附图说明】
[0027]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0028]图1是本发明实施例提供的一种CAN总线数据场校验方法的流程图;
[0029]图2是本发明实施例提供的一种CAN总线数据场的结构示意图;
[0030]图3是本发明实施例提供的第二种CAN总线数据场校验方法的流程图;
[0031]图4是本发明实施例提供的第三种CAN总线数据场校验方法的流程图;
[0032]图5是本发明实施例提供的一种CAN总线数据场校验系统的结构示意图;
[0033]图6是本发明实施例提供的另外一种CAN总线数据场校验系统的结构示意图。
【具体实施方式】
[0034]为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
[0035]如图1所示,CAN总线数据场校验方法,包括以下步骤:
[0036]步骤S1:接收CAN总线发送的数据帧。
[0037]其中,数据帧是数据链路层的协议数据单元,包括三部分:帧头,数据部分和帧尾。其中,帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等;数据部分则包含网络层传下来的数据,例如ip数据包等。具体而言,数据部分包括:仲裁场、控制场、数据场、CRC场和应答场,本专利申请重点针对数据帧中的数据场进行数据校验。
[0038]步骤S2:对数据帧的数据场中的数据做校验和。
[0039]在本发明实施例中,CAN总线数据场中协定的数据信息为多位结构,具体包括:协定数据信息位、循环计数位和校验和位,如图2所示,为本发明实施例提供的一种CAN总线数据场的结构示意图,其中,各位的排布顺序可以根据实际需要进行任意设置、调整。
[0040]根据CAN总线数据的特点,数据帧中数据场的长度最小为O字节,最大为64字节,在本发明实施例中,优选数据场的长度采用8字节,相应地,协定数据信息位的长度为6.5字节,循环计数位的长度为0.5字节,校验和位的长度为I字节。
[0041]步骤S3:判断校验和是否等于预设校验和,如果是,则转入步骤SI。
[0042]在本发明实施例中,可以根据实际需要预先设置一个校验和,例如O或者1,在校验过程中,将步骤S2中计算得到的校验和与该预设校验和比较,如果校验和等于预设校验和,可以认为本次所校验的CAN总线数据场有效。在得到本次校验有效的结果后,继续循环执行步骤S1-S3,从而实现对CAN总线数据场循环、多次校验,从而确保CAN总线数据的准确、可靠性。
[0043]步骤S4:对执行步骤SI的次数进行计数,当计数次数达到预设次数后,判断CAN总线数据场有效。
[0044]在本发明实施例中,要对步骤SI的执行次数进行计数,并且根据对CAN总线所传输数据的准确性要求,预先设置循环次数(预设次数),其中,循环次数可以根据实际需要例如设置为8次、16次、24次等任意值。当所计数的执行次数达到预设次数(例如设置为16次)后,认为经过连续16次校验,CAN总线数据场都有效,因此,认为CAN总线所发送的数据可靠性较高,将该CAN总线数据场最终判定为有效。
[0045]由于CAN总线所传输的数据通常为涉及车辆安全或重要车辆功能的数据,重要程度较高。例如,碰撞信号(涉及碰撞断油、车门自动解锁功能),轮速信号(涉及电子转向助力输出扭矩大小的功能),电子驻车工作信号(涉及变速箱扭矩控制功能)等,因此,对这些信号传输的准确性和可靠性要提出较高要求。
[0046]如图3所示,在首次校验过程中,或者循环校验过程中,如果出现校验和不等于预设校验和,则执行步骤S5:判断CAN总线数据场无效,也即,在数据场校
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1