基于CAN总线的低成本高实时自动纠错通讯系统及方法技术方案

技术编号:34575086 阅读:65 留言:0更新日期:2022-08-17 13:07
本申请公开了一种基于CAN总线的低成本高实时自动纠错通讯系统及方法。所述通讯系统包括一路CAN总线、多个传感器节点和一个控制器节点;所述传感器节点包括第一数据处理单元、第一应用协议层、第一CAN总线控制器和第一收发器,且第一应用协议层内置纠错码编码模块;所述控制器节点包括第二数据处理单元、第二应用协议层、第二CAN总线控制器和第二收发器,且第二应用协议层内置错误数据纠错模块;所述传感器节点和所述控制器节点连接在CAN总线上。本申请能够利用单通道CAN总线高效实时传输数据的功能,在传输过程中能自动进行数据纠错,最大纠错能力达到所传数据量的一半,大大降低了发起重传或者丢弃数据的概率,且成本低廉。且成本低廉。且成本低廉。

【技术实现步骤摘要】
基于CAN总线的低成本高实时自动纠错通讯系统及方法


[0001]本申请涉及一种通信方法,具体涉及一种基于CAN总线的低成本高实时自动纠错通讯方法及系统,属于工业控制领域。

技术介绍

[0002]目前,在工业控制领域中,现场总线的应用已经非常普遍,而CAN总线以其实时性、可靠性等优势成为现场总线领域最具发展潜力的总线之一。CAN总线由德国博世公司为解决汽车电子领域中数据传输问题而开发,其应用领域日益广泛,除汽车电子外,还涉及工业控制、船舶、纺织、航空航天等领域。对于大功率电机控制系统来说,其传感器数据在传输过程中容易受到强电磁干扰的影响,进而会导致传感器数据实时性、可靠性下降等问题。但现有的CAN总线在强干扰环境下没有通讯数据纠错的能力,目前对数据传输过程中出错的应对方案主要有两种:一种是采用单路CAN总线,通过接收端发起重传要求,发送端在传输一次数据帧,对于像传感器这类数据实时性要求较高的数据,接收端一般会放弃出错数据,跳过重传步骤,等待下一次数据进行处理,但这种方式一定程度上降低了数据的连续性和实时性,影响了工业系统的控制效果;另一种是采用双冗余CAN总线,发送端和接收端通过双路CAN相连,发送端两路同时发送相同数据,接收端接收并校验每路数据,选校验正确的一路数据进行处理,但是这种方式也存在两路同时出错的可能性,而且双冗余CAN总线实现成本较高。

技术实现思路

[0003]本申请的主要目的在于提供一种基于CAN总线的低成本高实时自动纠错通讯方法及系统,以克服现有技术中存在的上述问题。
[0004]为了达到前述专利技术目的,本申请采用了以下方案:本申请的一个方面提供的一种基于CAN总线的低成本高实时自动纠错通讯方法包括:将多个传感器节点和一个控制器节点连接在一路CAN总线上,形成一传感系统;以所述控制器节点在所述传感系统的初始化阶段通过CAN总线配置所述传感器节点的工作参数,并以所述控制器节点在所述传感系统的正式工作阶段实时获取所述传感器节点的信息数据,即传感器数据;其中,在所述传感系统的正式工作阶段,还在所述传感器节点内对传感器节点的数据帧的数据域进行编码,生成自主纠错数据,所述自主纠错数据包含传感器数据、传感器数据校验码、纠错码和纠错码校验码,以及,在所述控制器节点内对接收到的所述自主纠错数据进行校验,并根据校验结果,选择对传感器数据的处理方式,所述的处理方式包括直接对传感器数据进行处理、对传感器数据进行错误恢复或将传感器数据丢弃。
[0005]本申请的另一个方面提供的一种基于CAN总线的低成本高实时自动纠错通讯系统包括:
一路CAN总线,多个传感器节点,所述传感器节点包括依次连接的第一数据处理单元、第一应用协议层、第一CAN总线控制器和第一收发器,所述第一应用协议层内置纠错码编码模块,一个控制器节点,所述控制器节点包括依次连接的第二数据处理单元、第二应用协议层、第二CAN总线控制器和第二收发器,所述第二数据处理单元内置自动采样周期调节模块,所述第二应用协议层内置错误数据纠错模块,所述传感器节点和所述控制器节点连接在所述CAN总线上;其中,所述控制器节点用于:在系统初始化阶段通过所述CAN总线向所述传感器节点发送配置指令,以完成所述传感器节点的工作参数的配置,以及,在系统正式工作阶段实时获取由所述传感器节点发送的传感器节点的信息数据,即传感器数据,所述传感器数据包括电机转子位置信息、电机电流信息、电机电压信息、温度信息中的任一种或多种的组合;所述自动采样周期调节模块用于根据传感器数据丢弃率自动调整对传感器请求数据的频率,以满足系统正常运行的要求;所述纠错码编码模块用于对所述传感器数据进行纠错码编码;所述错误数据纠错模块用于对所述传感器数据进行数据纠错。
[0006]与现有技术相比,本申请的优点包括:(1)提供的低成本高实时自动纠错通讯方法通过采用单路CAN总线,并在发送端对待发送数据编制纠错码,接收端对出错数据进行纠错恢复,最大纠错能力达到所传数据量的一半,显著提高了传感系统在强电磁干扰环境下传输数据时的抗干扰能力,能有效保证数据的连续性、实时性,不仅杜绝了单路CAN总线因电磁干扰问题带来的传感器数据频繁重传或丢弃等现象,还避免了为提高数据实时性、连续性采用双冗余CAN总线而带来的成本上升和难以彻底消除出错现象等问题。
[0007](2)提供的低成本高实时自动纠错通讯系统具有低成本、高实时性、高可靠性、可扩展性强等优点,可以很好地满足大功率电机控制系统的传感器子系统的各性能要求。
附图说明
[0008]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0009]图1为本申请一实施例中一种基于CAN总线的低成本高实时自动纠错通讯系统的架构图;图2为本申请一实施例中一种传感器节点的结构示意图;图3为本申请一实施例中一种控制器节点的结构示意图;图4为本申请一实施例中一种纠错码编码模块针对单个自主纠错数据帧进行数据编码的工作原理图;图5为本申请一实施例中一种纠错码编码模块针对多个自主纠错数据帧进行数据编码的工作原理图;
图6为本申请一实施例中一种错误数据纠错模块针对单个自主纠错数据帧进行数据纠错的工作原理图;图7为本申请一实施例中一种错误数据纠错模块针对多个自主纠错数据帧进行数据纠错的工作原理图;图8为本申请一实施例中一种纠错码编码模块进行数据编码的工作原理图;图9为本申请一实施例中一种错误数据纠错模块进行数据纠错的工作原理图。
具体实施方式
[0010]为使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请的具体实施方式进行详细说明。这些优选实施方式的示例在附图中进行了例示。附图中所示和根据附图描述的本申请的实施方式仅仅是示例性的,并且本申请并不限于这些实施方式。
[0011]在此,还需要说明的是,为了避免因不必要的细节而模糊了本申请,在附图中仅仅示出了与根据本申请的方案密切相关的结构和/或处理步骤,而省略了与本申请关系不大的其他细节。
[0012]请参阅图1

图3,本申请实施例提供了一种基于CAN总线的低成本高实时自动纠错通讯系统,其包括:一路CAN总线,多个传感器节点,所述传感器节点包括依次连接的第一数据处理单元、第一应用协议层、第一CAN总线控制器和第一收发器,所述第一应用协议层内置纠错码编码模块,一个控制器节点,所述控制器节点包括依次连接的第二数据处理单元、第二应用协议层、第二CAN总线控制器和第二收发器,所述第二数据处理单元内置自动采样周期调节模块,所述第二应用协议层内置错误数据纠错模块,所述传感器节点和所述控制器节点连接在所述CAN总线上。
[0013]示例性的,请参阅图1,本实施例的自动纠错通讯系统共含有传感器节点1至传感器节点n,n为正整数。
[0014]在本实施例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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的正整数;在...

【专利技术属性】
技术研发人员:虞冠杰蒋哲张驰乔海陈进华杨桂林
申请(专利权)人:中国科学院宁波材料技术与工程研究所
类型:发明
国别省市:

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

1