[发明专利]一种基于SocketCAN的SAE J1939传输协议的设计方法有效
申请号: | 201710110466.0 | 申请日: | 2017-02-28 |
公开(公告)号: | CN106850660B | 公开(公告)日: | 2020-05-19 |
发明(设计)人: | 刘全利;秦平安 | 申请(专利权)人: | 大连理工大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 大连理工大学专利中心 21200 | 代理人: | 温福雪;侯明远 |
地址: | 116024 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于SocketCAN的SAE J1939传输协议的设计方法,属于嵌入式计算机领域。该方法由协议接收模块、协议发送模块和网络处理模块组成。协议接收模块通过处理来自长报文发送方的消息,完成连接的建立和消息的重组。协议发送模块通过与目标设备建立连接,将长报文拆分成数据包依次发送。网络处理模块处理与地址相关的消息,管理地址分配和网络错误。本发明提供了一种基于SocketCAN的SAE J1939传输协议的设计方法,使用者不需要了解SAE J1939传输协议,只需要利用提供的接口,就能实现长报文收发,节省开发时间。 | ||
搜索关键词: | 一种 基于 socketcan sae j1939 传输 协议 设计 方法 | ||
【主权项】:
一种基于SocketCAN的SAE J1939传输协议的设计方法,包括协议接收模块、协议发送模块和网络处理模块,其特征在于:协议接收模块通过处理来自长报文发送方的消息,完成连接的建立和消息的重组;协议接收模块先建立协议接收队列,然后等待消息;如果没有消息,则继续等待;如果有消息,则判断消息的类型;如果是请求发送消息,则建立点对点连接;如果是广播公告消息,则建立点对多连接;如果是其它的消息,则忽略,然后继续等待消息;连接建立后,先初始化连接,为将要接收的长报文分配空间,启动接收定时器,然后接收数据;如果未收到数据,则判断接收定时器是否超时;如果超时,则放弃连接,然后等待协议接收队列消息;如果未超时,则继续接收数据;如果收到数据,则保存数据包序号正确的数据,初始化接收定时器,然后判断数据是否接收完成;如果数据未接收完成,则继续接收数据;如果数据接收完成,则保存重组的长报文,然后等待协议接收队列消息;协议发送模块通过与目标设备建立连接,将长报文拆分成数据包依次发送;协议发送模块先建立协议发送队列,然后等待消息;如果没有消息,则继续等待;如果有消息,则判断消息的目的地址;如果目的地址是全局地址,则建立点对多连接;如果目的地址是空地址,则继续等待消息;如果目的地址是其它的地址,则建立点对点连接;连接建立后,先初始化连接,启动发送定时器,接着把长报文拆分成若干个小的数据包,分配序号,然后依次发送数据包;数据包发送后,判断是否发送完成;如果未发送完成,则继续发送;如果发送完成,则等待协议发送队列消息;网络处理模块处理与地址相关的消息,管理地址分配和网络错误;网络处理模块先建立网络接收队列,初始化本端设备名字和地址,再发送地址声明消息,启动定时器,然后等待网络接收队列消息;如果有消息,则按消息的类型,处理收到的消息,然后判断是否正在声明地址;如果没有消息,则直接判断是否正在声明地址;如果未在声明地址,则判断总线是否错误;如果正在声明地址,则判断定时器是否超时;如果超时,则地址声明成功;如果未超时,则判断总线是否错误;如果总线错误,则随机延时,发送地址声明消息,重新声明地址,初始化定时器,然后等待网络接收队列消息;如果总线没有错误,则直接等待网络接收队列消息。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连理工大学,未经大连理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710110466.0/,转载请声明来源钻瓜专利网。
- 上一篇:图像数据的传输系统
- 下一篇:一种UPS电池模式下减少N线对地电压的方法