【技术实现步骤摘要】
基于CAN总线数据传输的DDS中间件通讯方法
本专利技术涉及数据分发服务
,尤其涉及一种基于CAN总线数据传输的DDS中间件通讯方法。
技术介绍
随着AD/ADAS技术不断发展,汽车的辅助功能越来越强大,自动化程度越来越高,而实现这些功能的背后是大量的传感器被应用到汽车上进行环境感知、精确定位、决策、规划以及控制与执行。而大量传感器的应用则带来海量数据交互的问题,要保证整个系统的可靠稳定运行,通常硬件方面重要传感器、域控制器需要做冗余备份,软件方面则必须提供可靠的数据传输方法和异常恢复机制来确保整个系统的稳定性。目前,自动驾驶软件平台大多采用机器人操作系统ROS或者数据分发服务DDS以实现分布式通信,它们的优点都是基于消息的发布-订阅分布式通信机制,易于多传感器集成。但是,ROS的运行依赖于windows或者Linux等大型操作系统,对硬件的要求高;另外,ROS各节点通信以ROSMater为中心,缺乏异常恢复机制,一旦ROSMaster异常或者阻塞,将影响整个系统通信。而DDS使用RTPS协议实现点对点的节点关 ...
【技术保护点】
1.一种基于CAN总线数据传输的DDS中间件通讯方法,其特征在于包括步骤:/n步骤1,在CAN总线网络中,传感器数据采集平台周期性的以广播包的方式向外发出连接请求,去发现传感器节点;/n步骤2,传感器节点根据连接请求回传应答数据包,携带自身Node-ID;/n步骤3,在连接请求完成后,数据分发服务DDS创建带有Topic-ID的CAN会话,并且向数据处理模块注册新的Topic,包含Topic Type、Topic Name及TopicQoS;多个Topic组成订阅登记列表;/n步骤4,注册完成后创建数据发布者和订阅者,发布者创建CAN传输列表,按照每个Topic的优先级和T ...
【技术特征摘要】
1.一种基于CAN总线数据传输的DDS中间件通讯方法,其特征在于包括步骤:
步骤1,在CAN总线网络中,传感器数据采集平台周期性的以广播包的方式向外发出连接请求,去发现传感器节点;
步骤2,传感器节点根据连接请求回传应答数据包,携带自身Node-ID;
步骤3,在连接请求完成后,数据分发服务DDS创建带有Topic-ID的CAN会话,并且向数据处理模块注册新的Topic,包含TopicType、TopicName及TopicQoS;多个Topic组成订阅登记列表;
步骤4,注册完成后创建数据发布者和订阅者,发布者创建CAN传输列表,按照每个Topic的优先级和TopicQoS参数排序,产生CAN数据包,通过CAN总线接口向其订阅者发送CAN数据包;
步骤5,订阅者创建CAN列表,并按优先级和TopicQoS参数排序;构造一个事件对象来通知其侦听器某个Topic-ID的CAN会话到达,收到CAN数据包后,提取出其中TopicQoS参数,并遍历CAN列表;如果CAN列表中有匹配的TopicQoS参数,则进行数据处理;否则丢弃CAN数据包。
2.根据权利要求1所述的基于CAN总线数据传输的DDS中间件通讯方法,其特征在于,CAN的仲裁ID采用扩展格式29bit,包括优先级、Node-ID、Topic-ID以及dataType。
3.根据权利要求2所述的基于CAN总线数据传输的DDS中间件通讯方法,其特征在于,dataType占2位,当dataType值为0或者1时,数据帧中的数据为真实有效数据;当数据类型dataType值为3时,表示CAN总线发送的DDS数据是多包数据,需要拆包和组包。
4.根据权利要求3所述的基于CAN总线数据传输的DDS中间件通讯方法,其特征在于,当数据类型dataType值为3时,CAN的数据帧byte[0]的值表示DDS数据的总长度,byte[1]表示包的序列号,byte[2..7]为本包数据的真实有效数据。
5.根据权利要求4所述的基于CAN总线数据传输...
【专利技术属性】
技术研发人员:王振华,张旸,陈诚,刘洁,
申请(专利权)人:奥特酷智能科技南京有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。