一种商用车CAN通信传输方法技术

技术编号:14697668 阅读:84 留言:0更新日期:2017-02-24 02:55
本发明专利技术涉及一种商用车CAN通信传输方法,该方法包括下述步骤:首先将待发送大数据分段,发送数据阶段由发送节点发送首帧报文并接收流控报文;收到流控报文后根据流控状态确定接收节点一次最大数据接收能力及继续发送数据还是暂停发送数据;发送当前块数据直至该块数据发送完毕;开始发送下一段数据的各块数据;发送节点根据接收节点反馈的响应报文判断是否需要重新发送当前分段数据且其他接收节点丢弃该分段数据;重复上述步骤直至数据全部发送完毕停止发送数据。本发明专利技术解决了商用车CAN长报文传输的问题,有效提高了数据传输能力,减少了程序设计复杂性,节约了开发成本。

【技术实现步骤摘要】

本专利技术属于CAN通信
,具体涉及一种商用车CAN通信中的长报文传输方法。
技术介绍
目前FAW商用车CAN长报文传输协议都遵循SAEJ1939-21标准的要求,该标准对于一般商用车CAN长报文传输给出了解决方案,但是该传输机制是将被传输数据拆分为若干小的数据包,然后使用单一的数据帧对其逐一传送,被传数据最大为1785个报文字节。如果数据过大(如:电话本数据,车辆显示信息和驾驶员操作记录等),则无法通过此传输协议实现完整的数据传输。随着商用车整车传输数据的类型不断的增加,越来越多的大数据需要通过CAN通信来传输,这就需要规定一种用来解决超长商用车CAN报文的传输方法。
技术实现思路
本专利技术要解决的技术问题是提供一种能够满足超长商用车CAN报文传输,并且传输能力高的商用车CAN通信传输方法。为了解决上述的问题,本专利技术的商用车CAN通信传输方法包括下述步骤:一、首先对待发送数据分段,开始传输数据后,发送节点发送首帧报文,接收节点收到首帧报文后反馈流控报文;二、发送节点等待接收节点反馈的流控报文,收到流控报文后判断接收节点的数据接收能力(即确定数据块大小);及流控状态,流控状态若为继续发送,则发送节点继续发送连续帧数据,若为等待则发送节点暂停发送连续帧数据并等待下一帧流控报文,若为溢出则转步骤八;其中连续帧数据分段传输,每段数据包含多块数据;三、判断连续帧当前块数据是否发送完,是则转步骤四,否则发送节点继续发送连续帧直至当前数据块发送完毕,转步骤四;四、发送节点判断当前分段数据是否发送完毕,是则转步骤五,否则发送节点暂停发送连续帧数据返回步骤二;五、发送节点判断接收节点反馈的响应报文;若响应状态为肯定响应,则转步骤六;若响应状态为否定响应则发送节点重新发送当前分段数据且其他接收节点丢弃该分段数据,转步骤七;六、判断全部数据是否发送完毕,是则转步骤八,否则返回步骤二;七、判断否定响应接收次数是否达到3次,是则发送节点停止发送数据,转步骤八;否则返回步骤二;八、发送节点停止发送数据。所述发送节点和接收节点传输报文的传输地址如下:发送节点的传输报文PGN为0xED00,接收节点的流控报文PGN为0xEE00、响应报文PGN为0xEF00;报文传输优先级选定为7。发送节点和接收节点数据格式如表1:表1其中的网络层协议控制信息定义如表2:表2当数据没有填满字节时,填充位的填充内容为0x1。字节序采用小端模式,即低字节在前高字节在后,高位在前低位在后。通信模式为半双工模式。可变长度的报文ID命名为子服务功能ID,子服务功能ID位于分段数据中数据域的前四个字节。分段数据用12位表示首帧数据长度,每个分段数据中用一个标号标示该段数据的段号,且该标号占用分段数据的第二个字节;标号为1的数据收据子服务数据的首段数据,其它以此类推;标号为0的分段数据位于子服务数据的最后一个段;若子服务数据只有一个段,其标号设置为0。本专利技术涉及CAN通信
,具体涉及到商用车CAN通信中的长报文传输协议。商用车CAN长报文传输协议主要是用来解决超长商用车CAN报文的传输,传输协议的
技术实现思路
包括:1)传输报文的传输地址;2)传输协议控制信息;3)传输协议网络层时间参数;4)传输协议的字节序;5)传输协议的分段报文数据;6)传输协议的响应报文。该项技术在不增加车辆单件成本的前提下,利用商用车长报文传输协议较为完整的解决了CAN网络传输大数据的传输问题。该长报文传输协议可以用于解决对传输时间要求不高(如:电话本数据,车辆显示信息和驾驶员操作记录等)且由于成本原因无法应用新型总线技术(如MOST、Ethernet等)的数据传输问题,是对SAEJ1939-21标准的重要升级和补充,经过实车验证,该商用车CAN长报文传输协议实用效果显著。本专利技术解决了商用车CAN长报文传输的问题,传输报文长度可达1044225个字节,相比SAEJ1939-21,传输能力提高了585倍。相比SAEJ1939-21传输协议,本传输协议只需要两个节点做流量控制,其他节点只需要接收数据,减少了程序设计复杂性,节约了开发成本。附图说明下面结合附图和具体实施方式对本专利技术作进一步详细说明。图1:多包通信结构示意图。图2:多包数据传输流程图。图3:本专利技术的商用车CAN通信传输方法流程图。具体实施方案如图1所示,本专利技术中涉及到数据发送节点和数据接收节点,数据发送节点通过PGN:0xED00发送数据;接收节点通过PGN:0xEE00进行流控,反馈流控报文,并通过PGN:0xEF00进行响应,发送响应报文。如图2所示,开始传输数据后,发送节点发送首帧报文,接收节点反馈继续发送的流控报文,发送节点收到流控报文后持续发送连续帧直至该当前数据块发送完,再等待接收节点反馈继续发送的流控报文;直至将当前段全部数据传输完毕,进行下一段数据的传输。如图3所示,长报文中连续帧数据分段传输,每段数据包含多块数据;传输的逻辑如下:发送节点先发送首帧报文,接收节点收到后反馈流控报文。块数据传输:如果流控状态为0x0:继续发送,则发送节点继续发送连续帧数据;如果流控状态为0x1:等待,则发送节点暂停发送数据并等待下一帧流控报文;如果流控状态为0x2:溢出,则发送节点停止发送数据。发送节点根据流控报文中的块大小发送连续帧数据,达到最大块数后判断该分段数据是否发送完。分段数据传输:如果该分段数据未发送完,则发送节点暂停发送数据并等待下一帧流控报文;如果该分段数据发送完成,则发送节点判断接收节点反馈的响应报文,如果响应状态是0x0:肯定响应,则继续判断全部数据是否发送完,如果响应状态是0x1:否定响应,则发送节点重新发送连续帧分段数据且其他接收节点丢弃该分段数据,发送节点最多重发3次,如果重发3次仍收到否定响应,则发送节点停止发送连续帧数据。全部数据传输:当发送节点接收到接收节点反馈的响应报文的响应状态是0x0:肯定响应后,发送节点判断全部数据是否发送完成,如果未发送完成,则发送节点暂停发送数据并等待下一帧流控报文;如果发送完成,则发送节点停止发送数据。本专利技术传输协议的
技术实现思路
包括:1)传输报文的传输地址:遵循J1939的规定,使用29位CAN扩展帧标识符,分别规定发送节点的传输报文PGN为0xED00,接收节点的流控报文PGN为0xEE00、响应报文PGN为0xEF00。因为使用该传输协议传输的数据均不属于非控制信息,故报文传输优先级选定为7。2)传输协议信息说明:网络层协议数据单元到CAN报文的映射关系见表1。协议控制信息定义见表2。表1网络层参数到CAN报文的映射表2网络层协议控制信息定义3)传输协议网络层时间参数;网络层时间参数定义见表3。表3网络层时间参数定义时间参数最小时间最大时间N_As/N_ArNULL25msN_BsNULL75msN_CrNULL150ms4)填充位:填充内容为0x1。5)首帧中的数据字节:首帧的后六个字节用于数据传输,并且这六个字节传输多包报文的前六个字节,从第七个字节开始使用CF(连续帧)进行传输。6)字节序:字节序采用小端模式:低字节在前高字节在后,高位在前低位在后。7)半双工:综合考虑开发成本和开发难度,选择半双工的通信模式。半双工意味着两个节点之间点对点的通信本文档来自技高网
...
一种商用车CAN通信传输方法

【技术保护点】
一种商用车CAN通信传输方法,其特征在于包括下述步骤:一、首先对待发送数据分段,开始传输数据后,发送节点发送首帧报文,接收节点收到首帧报文后反馈流控报文;二、发送节点等待接收节点反馈的流控报文,收到流控报文后判断接收节点的数据接收能力及流控状态,流控状态若为继续发送,则发送节点继续发送连续帧数据,若为等待则发送节点暂停发送连续帧数据并等待下一帧流控报文,若为溢出则转步骤八;其中连续帧数据分段传输,每段数据包含多块数据;三、判断连续帧当前块数据是否发送完,是则转步骤四,否则发送节点继续发送连续帧直至当前数据块发送完毕,转步骤四;四、发送节点判断当前分段数据是否发送完毕,是则转步骤五,否则发送节点暂停发送连续帧数据返回步骤二;五、发送节点判断接收节点反馈的响应报文;若响应状态为肯定响应,则转步骤六;若响应状态为否定响应则发送节点重新发送当前分段数据且其他接收节点丢弃该分段数据,转步骤七;六、判断全部数据是否发送完毕,是则转步骤八,否则返回步骤二;七、判断否定响应接收次数是否达到3次,是则发送节点停止发送数据,转步骤八;否则返回步骤二;八、发送节点停止发送数据。

【技术特征摘要】
1.一种商用车CAN通信传输方法,其特征在于包括下述步骤:一、首先对待发送数据分段,开始传输数据后,发送节点发送首帧报文,接收节点收到首帧报文后反馈流控报文;二、发送节点等待接收节点反馈的流控报文,收到流控报文后判断接收节点的数据接收能力及流控状态,流控状态若为继续发送,则发送节点继续发送连续帧数据,若为等待则发送节点暂停发送连续帧数据并等待下一帧流控报文,若为溢出则转步骤八;其中连续帧数据分段传输,每段数据包含多块数据;三、判断连续帧当前块数据是否发送完,是则转步骤四,否则发送节点继续发送连续帧直至当前数据块发送完毕,转步骤四;四、发送节点判断当前分段数据是否发送完毕,是则转步骤五,否则发送节点暂停发送连续帧数据返回步骤二;五、发送节点判断接收节点反馈的响应报文;若响应状态为肯定响应,则转步骤六;若响应状态为否定响应则发送节点重新发送当前分段数据且其他接收节点丢弃该分段数据,转步骤七;六、判断全部数据是否发送完毕,是则转步骤八,否则返回步骤二;七、判断否定响应接收次数是否达到3次,是则发送节点停止发送数据,转步骤八;否则返回步骤二;八、发送节点停止发送数据。2.根据权利要求1所述的商用车CAN通信传输方法,其特征在于所述发送节点和接收节点传输报...

【专利技术属性】
技术研发人员:马东扬张丽波何俊婷玄国勋
申请(专利权)人:中国第一汽车股份有限公司
类型:发明
国别省市:吉林;22

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

1