【技术实现步骤摘要】
基于CAN总线的低成本高实时自动纠错通讯系统及方法
[0001]本申请涉及一种通信方法,具体涉及一种基于CAN总线的低成本高实时自动纠错通讯方法及系统,属于工业控制领域。
技术介绍
[0002]目前,在工业控制领域中,现场总线的应用已经非常普遍,而CAN总线以其实时性、可靠性等优势成为现场总线领域最具发展潜力的总线之一。CAN总线由德国博世公司为解决汽车电子领域中数据传输问题而开发,其应用领域日益广泛,除汽车电子外,还涉及工业控制、船舶、纺织、航空航天等领域。对于大功率电机控制系统来说,其传感器数据在传输过程中容易受到强电磁干扰的影响,进而会导致传感器数据实时性、可靠性下降等问题。但现有的CAN总线在强干扰环境下没有通讯数据纠错的能力,目前对数据传输过程中出错的应对方案主要有两种:一种是采用单路CAN总线,通过接收端发起重传要求,发送端在传输一次数据帧,对于像传感器这类数据实时性要求较高的数据,接收端一般会放弃出错数据,跳过重传步骤,等待下一次数据进行处理,但这种方式一定程度上降低了数据的连续性和实时性,影响了工业系统的控制效果;另一种是采用双冗余CAN总线,发送端和接收端通过双路CAN相连,发送端两路同时发送相同数据,接收端接收并校验每路数据,选校验正确的一路数据进行处理,但是这种方式也存在两路同时出错的可能性,而且双冗余CAN总线实现成本较高。
技术实现思路
[0003]本申请的主要目的在于提供一种基于CAN总线的低成本高实时自动纠错通讯方法及系统,以克服现有技术中存在的上述问题。
[00 ...
【技术保护点】
【技术特征摘要】
1.一种基于CAN总线的低成本高实时自动纠错通讯方法,其特征在于,包括:将多个传感器节点和一个控制器节点连接在一路CAN总线上,形成一传感系统;以所述控制器节点在所述传感系统的初始化阶段通过CAN总线配置所述传感器节点的工作参数,并以所述控制器节点在所述传感系统的正式工作阶段实时获取所述传感器节点的信息数据,即传感器数据;其中,在所述传感系统的正式工作阶段,所述控制器节点按预设周期定时向各个所述传感器节点发起读传感器数据请求,每个所述传感器节点依据所述传感系统对传感器数据实时性要求分配有一个请求周期Ti,i为1到n的正整数,所述传感器节点收到请求后对传感器节点的数据帧的数据域进行编码,生成自主纠错数据并回馈给所述控制器节点,所述自主纠错数据包含传感器数据、传感器数据校验码、纠错码和纠错码校验码,以及,在所述控制器节点内对接收到的所述自主纠错数据进行校验,并根据校验结果,选择对传感器数据的处理方式,所述的处理方式包括直接对传感器数据进行处理、对传感器数据进行错误恢复或将传感器数据丢弃。2.根据权利要求1所述的基于CAN总线的低成本高实时自动纠错通讯方法,其特征在于:所述传感器节点包括依次连接的第一数据处理单元、第一应用协议层、第一CAN总线控制器和第一收发器,所述第一应用协议层内置纠错码编码模块,所述纠错码编码模块用于对所述传感器数据进行纠错码编码,所述控制器节点包括依次连接的第二数据处理单元、第二应用协议层、第二CAN总线控制器和第二收发器,所述第二数据处理单元内置自动采样周期调节模块,所述自动采样周期调节模块用于根据传感器数据丢弃率自动调整对传感器请求数据的频率,以满足所述传感系统正常运行的要求,所述第二应用协议层内置错误数据纠错模块,所述错误数据纠错模块用于对所述传感器数据进行数据纠错。3.根据权利要求2所述的基于CAN总线的低成本高实时自动纠错通讯方法,其特征在于,具体包括:在所述传感系统的正式工作阶段,传感器节点i的每个请求周期Ti内有k个数据字节需要发送,以所述纠错码编码模块将传感器节点的数据帧的数据域进行编码,产生自主纠错数据,其中,在k≤2时,将所述自主纠错数据打包成一帧自主纠错数据帧发送,当不足2个数据字节时,不足部分以值0xFF填充数据,然后对数据字节1、数据字节2分别进行校验码编码得到数据段1、数据段2,并对数据字节1、2以纠错码算法进行纠错码编码,所述纠错码算法如下式所示:再对纠错码进行校验码编码得到数据段3,然后将数据段1~数据段3填充入自主纠错数据帧的数据域,在k≥3时,将所述自主纠错数据打包成多帧自主纠错数据帧发送,其中以偶数个数据字节为单位补齐数据,不足部分以值0xFF填充数据,将k个数据字节以最大14个数据字节为一组分成多个数据组,并将第1个数据组再平均分为数据A部分、数据B部分,还对数据A部分、数据B部分以纠错码算法进行纠错码编码得到数据C部分,所述纠错码算法如下式所示:对数据A部分、数据B部分、数据C部分分别进行校验码编码得到校验码A
'
、校验码B
'
、校
验码C
'
,再将数据A部分和校验码A
'
组成第一自主纠错数据帧,数据B部分和校验码B
'
组成第二自主纠错数据帧,数据C部分和校验码C
'
组成第三自主纠错数据帧,以及,按照第1个数据组的处理方式将剩余的每个所述数据组生成3个自主纠错数据帧;依次发送所有自主纠错数据帧给控制器节点;以及,以所述错误数据纠错模块接收所述自主纠错数据帧,并对所述自主纠错数据帧进行校验,且根据校验结果,选择对传感器数据的处理方式。4.根据权利要求3所述的基于CAN总线的低成本高实时自动纠错通讯方法,其特征在于,所述对传感器数据的处理方式具体包括:由所述错误数据纠错模块对收到的自主纠错数据帧进行处理,其中,在k≤2时,针对一帧自主纠错数据帧进行处理,先对所述自主纠错数据帧内的数据段1和数据段2的校验码进行一次校验,若一次校验通过,则直接以所述第二数据处理单元对传感器数据进行处理,若一次校验不通过认为数据出错,则对所述自主纠错数据帧内的数据段3的纠错码校验码进行二次校验,若二次校验通过,则对传感器出错数据进行数据恢复,恢复过程如下式所示:或者,若二次校验不通过,则丢弃本次的传感器数据,同时对连续丢弃次数的最大值Mi进行统计,其中i为1到n的正整数;在...
【专利技术属性】
技术研发人员:虞冠杰,蒋哲,张驰,乔海,陈进华,杨桂林,
申请(专利权)人:中国科学院宁波材料技术与工程研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。