[发明专利]基于CAN总线数据传输的DDS中间件通讯方法有效

专利信息
申请号: 202011291070.9 申请日: 2020-11-18
公开(公告)号: CN112104538B 公开(公告)日: 2021-02-12
发明(设计)人: 王振华;张旸;陈诚;刘洁 申请(专利权)人: 奥特酷智能科技(南京)有限公司
主分类号: H04L12/40 分类号: H04L12/40;H04L12/24;H04L29/08;H04L29/06
代理公司: 南京行高知识产权代理有限公司 32404 代理人: 李晓
地址: 211800 江苏省南京市*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 can 总线 数据传输 dds 中间件 通讯 方法
【权利要求书】:

1.一种基于CAN总线数据传输的DDS中间件通讯方法,其特征在于包括步骤:

步骤1,在CAN总线网络中,传感器数据采集平台周期性的以广播包的方式向外发出连接请求,去发现传感器节点;

步骤2,传感器节点根据连接请求回传应答数据包,携带自身Node-ID;

步骤3,在连接请求完成后,数据分发服务DDS创建带有Topic-ID的CAN会话,并且向数据处理模块注册新的Topic,包含Topic Type、Topic Name及TopicQoS;多个Topic组成订阅登记列表;

步骤4,注册完成后创建数据发布者和订阅者,发布者创建CAN传输列表,按照每个Topic的传输优先级Priori-num和TopicQoS参数排序,产生CAN数据包,通过CAN总线接口向其订阅者发送CAN数据包;

步骤5,订阅者创建CAN列表,并按传输优先级Priori-num和TopicQoS参数排序;构造一个事件对象来通知其侦听器某个Topic-ID的CAN会话到达,收到CAN数据包后,提取出其中TopicQoS参数,并遍历CAN列表;如果CAN列表中有匹配的TopicQoS参数,则进行数据处理;否则丢弃CAN数据包;

其中,CAN数据包的CAN-ID采用扩展格式29bit,包括传输优先级Priori-num、Node-ID、Topic-ID以及DataType;DataType 占 2位,当DataType 值为0或者1时,数据帧中的数据为真实有效数据;当数据类型DataType 值为3时,表示CAN总线发送的DDS数据是多包数据,需要拆包和组包。

2.根据权利要求1所述的基于CAN总线数据传输的DDS中间件通讯方法,其特征在于,当数据类型DataType 值为3时,CAN的数据帧byte[0]的值表示DDS数据的总长度Data_Len,byte[1]表示包的序列号,byte[2..7]表示payload,为本包数据的真实有效数据。

3.根据权利要求2所述的基于CAN总线数据传输的DDS中间件通讯方法,其特征在于,所述步骤4中,产生数据包的组包过程包括:

步骤4.1,填充CAN-ID,发布者从订阅登记列表中取出传输优先级Priori-num、Topic-ID、Node-ID的值赋给结构体CanExId对应的成员变量;

步骤4.2,填充数据区,对结构体CanData中的成员变量赋值。

4.根据权利要求3所述的基于CAN总线数据传输的DDS中间件通讯方法,其特征在于,Data_Len 8,需要组包处理数据,把DataType 赋值为3并把DataType的值填充到CAN-ID对应的DataType 数据位;把DDS数据的总长度赋给结构体CanData的成员变量Data_Len,并把结构体CanData中表示包序列号的成员变量Data_sn清0,然后从DDS的数据区中取出6个byte 数据填充到结构体CanData 的成员变量payload,CanData中的成员变量msg_len赋值为8,此时完成第一个CAN数据帧的组包,然后把组包好的CAN数据帧写入CAN发送队列;紧接着进行后续CAN数据帧的组包。

5.根据权利要求2所述的基于CAN总线数据传输的DDS中间件通讯方法,其特征在于,所述步骤5中进行数据处理的拆包过程包括:

步骤5.1,解析CAN-ID,对接收到的CAN-ID进行解析,得到传输优先级Priori-num、Topic-ID、Node-ID及DataType数据;

步骤5.2,解析数据帧中的payload数据区。

6.根据权利要求5所述的基于CAN总线数据传输的DDS中间件通讯方法,其特征在于,当DataType值为3时,计算分包总数pack_cnt,然后取出分包的序列号Data_sn = byte[1];从byte[2..7]取出6个真实数据存入DDS数据接收缓冲区,Data_sn加1,比较Data_sn和pack_cnt是否相等,如果不相等,那么接收到下一帧CAN数据后按照同样的方法拆包解析数据,并把payload中的真实有效数据存储到DDS数据接收缓冲区的末尾位置,如此反复,直到Data_sn+1等于pack_cnt才算完成一帧DDS数据的接收。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于奥特酷智能科技(南京)有限公司,未经奥特酷智能科技(南京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202011291070.9/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top