基于CAN网络的数据通讯系统及基于该系统的数据通讯方法技术方案

技术编号:8325787 阅读:164 留言:0更新日期:2013-02-14 08:12
基于CAN网络的数据通讯系统及基于该系统的数据通讯方法,涉及测控网络总线通讯领域。它是为了在基于CAN网络的通讯系统中,实现不增加系统额外资源的情况下提高字节数据传输能力。本发明专利技术的数据通讯系统包括发送端、发送数据请求模块、接收端、接收数据请求模块、数据接收模块、时间管理模块、一号错误处理模块和二号错误处理模块。其方法:定义了数据传输格式后,连接在CAN网络上的ECU准备收发总线上的数据,整理成符合应用层数据通讯帧格式,对数据进行拆分、组包处理。并且在此基础上,建立可靠的收发机制、时间管理机制和错误处理机制功能维护系统正常的运转,实现了CAN总线数据准确快捷的通讯。本发明专利技术适用于测控网络总线通讯。

【技术实现步骤摘要】

本专利技术涉及测控网络总线通讯领域。
技术介绍
CAN是ControllerAreaNetwork的缩写,是ISO国际标准化的串行通信协议。1986年德国电气商博世公司为解决现代汽车中众多的电子控制单元(ECU)之间的数据交换而开发的一种串行数据通信协议。CAN总线通信接口中集成了 CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。CAN最大的特点是废除了传统的站地址编码,取而代之对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制。它采用双线多主/从模块方式,所以一个模块出故障对系统不会有什么影响,就是一般称的被缓机制。目前CAN的高性能和可靠性已被认同,并被广泛的应用于分布式测控系统之间的通讯领域。以CAN总线技术组建的分布式测控网络,用于连接现场的智能传感器、执行器、智能I/o模块、智能仪表、测试仪器等,就形成了基于CAN的测控网络。目前,CAN总线使用的技术规范主要是CAN2. OA和CAN2. OB, CAN2. OA报文标示符可以达到2032种,而扩展标准CAN2. OB的报文标示符几乎不受限制。为了保证数据通讯的可靠性要求,CAN2. O技术规范中规定CAN总线数据采用短帧结构,一般数据长度不超过8个字节,组成一个单帧,这样的好处是传输时间短,受干扰概率低,具有良好的检错效果。但是由于测控网络之间ECU与ECU之间或者测控设备与ECU之间的信息交换通常超过8个字节,因此,必须进行有效的多帧数据通讯的方法。
技术实现思路
本专利技术是为了在基于CAN网络的通讯系统中,实现不增加系统额外资源的情况下提高字节数据传输能力,从而提供一种基于CAN网络的数据通讯系统及基于该系统的数据通讯方法。基于CAN网络的数据通讯系统,它包括发送端I、发送数据请求模块、数据拆分模块31、接收端2、接收数据请求模块、数据重组模块32、时间管理模块4、一号错误处理模块51和二号错误处理模块52 ;发送端I是发送数据请求模块的E⑶数据请求的主动提供者;发送数据请求模块用于将ECU数据请求发送至数据拆分模块31 ;接收端2是接收数据请求模块的ECU数据请求的被动接收者;接收数据请求模块用于接收来自数据重组模块32的数据;数据拆分模块31用于对数据进行拆分;还用于将拆分后的数据发送到CAN网络;数据重组模块32用于从CAN网络中接收数据,还用于对数据进行重组;时间管理模块4用于对数据拆分模块31和数据重组模块32进行时间管理;还用于当数据拆分模块31出现错误时序时,将错误信息提供给一号错误处理模块51 ;还用于将数据重组模块32出现错误时序时,将错误信息提供给二号错误处理模块52 ;一号错误处理模块51用于回复信息给发送端I ;二号错误处理模块52用于回复信息给接收端2。基于上述系统的数据通讯方法,它由以下步骤实现步骤一、首先为连接在总线上的数据通讯系统E⑶分配发送与接收的唯一身份标识ID,并将其建立成一个地址映射字典;步骤二、当发送端要请求数据发送的时,则根据发送端的身份标识ID,并查找地址映射字典,开通一个通讯通道,动态创建一个用户协议数据单元rou,并为PDU分配所需要·的资源信息,进入发送数据处理步骤;当接收端根据接收身份标识,判断出要接收数据时,则查找地址映射字典,开通一个通讯通道,动态创建一个用户协议数据单元rou,为PDU分配所需要的资源信息,进入接收数据处理步骤;发送数据处理步骤 步骤Al、首先判断发送端请求的数据量,需要采取不同的解决方式进行数据传送;并判断请求的数据量是否小于8个字节,如果判断结果为是,则执行步骤A2,如果判断结果为否,则执行步骤A3;步骤A2、通过发送管理模块,采用一个CAN帧将完整的请求数据传送出去,并执行步骤A5 ;步骤A3、通过发送管理模块,进入发送多帧数据处理状态,并执行步骤A31 ;步骤A31、进行请求数据的拆分,并对拆分的多帧数据进行顺序编号,保证接收实体能够根据编号的顺序来判断接收到的数据帧是否正确,以及能够重组多段数据帧,得到完整的原始请求数据,并首先发送第一帧数据即首帧数据;发送完成后,等待接收端应答信息,即流控帧,并设定超时等待参数,执行步骤A32 ;步骤A32、判断在超时等待的时间内,是否收到流控数据帧,如果判断结果为否,则执行步骤A4 ;如果判断结果为是,则执行步骤A33 ;步骤A33、收到流控数据帧后,根据编号顺序,判断是否为最后一帧数据,如果判断结果为否,则继续发送一帧数据,即连续帧,重新延时等待接收流控帧,并执行返回执行步骤步骤A32 ;如果判断结果为是,则执行步骤A5 ;步骤A4、终止数据发送,并执行步骤A5 ;步骤A5、向发送端回复发送状态信息,结束数据发送,并进执行步骤A6 ;步骤A6、删除H)U,释放PDU占用的内存空间,释放占用的通讯通路;完成发送数据处理;接收数据处理步骤步骤BI、接收端收到CAN网络提供的数据帧,判断该数据帧是否为单帧,如果判断结果为是,则执行步骤B2 ;如果判断结果为否,则执行步骤B3 ;步骤B2、接收到单帧,进入步骤B5 ;步骤B3、接收到首帧,设定延时发送时间参数,等待发送流控数据帧;发送流控帧后,设置等待接收连续帧超时时间参数;并判断数据是否接收完毕,如果判断结果为否,则执行步骤B31 ;如果判断结果为是,则执行步骤B33 ;步骤B31、判断是否在规定时间内接收到连续帧,如果判断结果为是,则执行步骤B32 ;如果判断结果为否,则执行步骤B4 ;步骤B32、继续进行后续的数据接收工作,并判断是否完成接收,如果判断结果为是,则执行步骤B5 ;如果判断结果为否,则执行步骤B31 ;步骤B33、根据预设的数据格式,进行数据重组,并执行步骤B5 ;步骤B4、进入超时处理,终止数据接收,并执行步骤B5 ;步骤B5、给发送端回复接收状态信息,将数据上报接收端,退出接收功能,进入步 骤B6 ;步骤B6、删除rou,释放rou占用的内存空间,释放占用的通讯通路;完成接收数据处理。步骤一中建立的地址映射字典是一个一维数据表格,该一维数据表格中的数据项包括ECU的地址信息,即包括发送端的地址映射字典和接收端的地址映射字典。步骤二中所述的开通一个通讯通道的具体含义是初始化CAN通讯功能,完成开启通路和通路波特率的设定。步骤二中动态创建的用户协议数据单元rou中的数据项包括地址信息、身份标识、状态信息、数据缓存、数据长度和当前收发数据的长度。在该数据通讯方法中,时间管理是通过定时中断来实现延时与超时控制。在该数据通讯方法中,时间管理是采用计时链表来实现。在该数据通讯方法中,采用错误处理机制处理处理超时情况或没有及时接收到连续帧的问题,具体为接收端接收到数据帧时当收到单帧的长度为O时或者单帧的长度大于7时,接收端会忽略接收到的数据帧;当收到无效首帧或者单帧时,向发送端发出无效回复信息,数据发送将被终止;当收到正确的首帧时,向发送端回复流控帧,并且定时连续帧超时参数;当发生超时情况时,向接收端发出超时信息,采取超时处理;当接收端没有及时接收到连续帧时,终止数据接收,向接收端回复信息;当发送端没有及时收到流控帧时,终止数据传送,向发送端回复错误信息本文档来自技高网...

【技术保护点】
基于CAN网络的数据通讯系统,其特征是:它包括发送端(1)、发送数据请求模块、数据拆分模块(31)、接收端(2)、接收数据请求模块、数据重组模块(32)、时间管理模块(4)、一号错误处理模块(51)和二号错误处理模块(52);发送端(1)是发送数据请求模块的ECU数据请求的主动提供者;发送数据请求模块用于将ECU数据请求发送至数据拆分模块(31);接收端(2)是接收数据请求模块的ECU数据请求的被动接收者;接收数据请求模块用于接收来自数据重组模块(32)的数据;数据拆分模块(31)用于对数据进行拆分;还用于将拆分后的数据发送到CAN网络;数据重组模块(32)用于从CAN网络中接收数据,还用于对数据进行重组;时间管理模块(4)用于对数据拆分模块(31)和数据重组模块(32)进行时间管理;还用于当数据拆分模块(31)出现错误时序时,将错误信息提供给一号错误处理模块(51);还用于将数据重组模块(32)出现错误时序时,将错误信息提供给二号错误处理模块(52);一号错误处理模块(51)用于回复信息给发送端(1);二号错误处理模块(52)用于回复信息给接收端(2)。

【技术特征摘要】
1.基于CAN网络的数据通讯系统,其特征是它包括发送端(I)、发送数据请求模块、数据拆分模块(31)、接收端(2)、接收数据请求模块、数据重组模块(32)、时间管理模块(4)、 一号错误处理模块(51)和二号错误处理模块(52);发送端(I)是发送数据请求模块的E⑶数据请求的主动提供者;发送数据请求模块用于将E⑶数据请求发送至数据拆分模块(31);接收端(2)是接收数据请求模块的ECU数据请求的被动接收者;接收数据请求模块用于接收来自数据重组模块(32)的数据;数据拆分模块(31)用于对数据进行拆分;还用于将拆分后的数据发送到CAN网络; 数据重组模块(32)用于从CAN网络中接收数据,还用于对数据进行重组;时间管理模块(4)用于对数据拆分模块(31)和数据重组模块(32)进行时间管理;还用于当数据拆分模块(31)出现错误时序时,将错误信息提供给一号错误处理模块(51);还用于将数据重组模块(32)出现错误时序时,将错误信息提供给二号错误处理模块(52); 一号错误处理模块(51)用于回复信息给发送端(I);二号错误处理模块(52)用于回复信息给接收端(2)。2.基于权利要求I的数据通讯方法,其特征在于,它由以下步骤实现步骤一、首先为连接在总线上的数据通讯系统ECU分配发送与接收的唯一身份标识 ID,并将其建立成一个地址映射字典;步骤二、当发送端要请求数据发送的时,则根据发送端的身份标识ID,并查找地址映射字典,开通一个通讯通道,动态创建一个用户协议数据单元H)U,并为PDU分配所需要的资源信息,进入发送数据处理步骤;当接收端根据接收身份标识,判断出要接收数据时,则查找地址映射字典,开通一个通讯通道,动态创建一个用户协议数据单元rou,为PDU分配所需要的资源信息,进入接收数据处理步骤;发送数据处理步骤步骤Al、首先判断发送端请求的数据量,需要采取不同的解决方式进行数据传送;并判断请求的数据量是否小于8个字节,如果判断结果为是,则执行步骤A2,如果判断结果为否,则执行步骤A3;步骤A2、通过发送管理模块,采用一个CAN帧将完整的请求数据传送出去,并执行步骤A5 ;步骤A3、通过发送管理模块,进入发送多帧数据处理状态,并执行步骤A31 ;步骤A31、进行请求数据的拆分,并对拆分的多帧数据进行顺序编号,保证接收实体能够根据编号的顺序来判断接收到的数据帧是否正确,以及能够重组多段数据帧,得到完整的原始请求数据,并首先发送第一帧数据即首帧数据;发送完成后,等待接收端应答信息,即流控帧,并设定超时等待参数,执行步骤A32 ;步骤A32、判断在超时等待的时间内,是否收到流控数据帧,如果判断结果为否,则执行步骤A4 ;如果判断结果为是,则执行步骤A33 ;步骤A33、收到流控数据帧后,根据编号顺序,判断是否为最后一帧数据,如果判断结果为否,则继续发送一帧数据,即连续帧,重新延时等待接收流控帧,并执行返回执行步骤步骤A32 ;如果判断结果为是,则执行步骤A5 ;步骤A4、终止数据发送,并执行步骤A5 ; 步骤A5、向发送端回复发送状态信息,结束数据发送,并进执行步骤A6 ; 步骤A6、删除rou,释放rou占用的内存空间,释放占用的通讯通路;完成发送数据处理; 接收数据处理步骤 步骤BI...

【专利技术属性】
技术研发人员:高会军潘惠惠汪超于金泳
申请(专利权)人:哈尔滨工业大学
类型:发明
国别省市:

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

1