CN112104538B - 基于can总线数据传输的dds中间件通讯方法 - Google Patents
基于can总线数据传输的dds中间件通讯方法 Download PDFInfo
- Publication number
- CN112104538B CN112104538B CN202011291070.9A CN202011291070A CN112104538B CN 112104538 B CN112104538 B CN 112104538B CN 202011291070 A CN202011291070 A CN 202011291070A CN 112104538 B CN112104538 B CN 112104538B
- Authority
- CN
- China
- Prior art keywords
- data
- dds
- packet
- topic
- datatype
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
Abstract
本发明提供一种基于CAN总线数据传输的DDS中间件通讯方法,在CAN总线网络中,传感器数据采集平台会周期性的以广播包的方式向外发出连接请求,去发现Node;Node根据连接请求回传应答数据包,携带自身Node‑ID;在连接请求完成后,DDS创建带有Topic‑ID的CAN会话,并且向数据处理模块注册新的Topic;注册完成后创建数据发布者或者订阅者,然后创建数据读写实例。在本发明中数据读写实例实现的核心则是发布者Publisher发送CAN数据包的算法以及订阅者Subscriber接收CAN数据包的算法。本发明基于CAN总线数据传输的DDS中间件通讯方法,让分布式开发应用程序更加简单有效,尤其是对自动驾驶软件平台分布式通信,只需要在现有硬件平台上升级软件就能实施。
Description
技术领域
本发明涉及数据分发服务技术领域,尤其涉及一种基于CAN总线数据传输的DDS中间件通讯方法。
背景技术
随着AD/ADAS技术不断发展,汽车的辅助功能越来越强大,自动化程度越来越高,而实现这些功能的背后是大量的传感器被应用到汽车上进行环境感知、精确定位、决策、规划以及控制与执行。而大量传感器的应用则带来海量数据交互的问题,要保证整个系统的可靠稳定运行,通常硬件方面重要传感器、域控制器需要做冗余备份,软件方面则必须提供可靠的数据传输方法和异常恢复机制来确保整个系统的稳定性。
目前,自动驾驶软件平台大多采用机器人操作系统ROS或者数据分发服务DDS以实现分布式通信,它们的优点都是基于消息的发布-订阅分布式通信机制,易于多传感器集成。但是,ROS的运行依赖于windows 或者Linux等大型操作系统,对硬件的要求高;另外,ROS各节点通信以ROS Mater为中心,缺乏异常恢复机制,一旦ROS Master异常或者阻塞,将影响整个系统通信。而DDS使用RTPS协议实现点对点的节点关联,实现无中心化的网络拓扑结构,并提供丰富的QoS服务质量策略以及异常恢复机制。同时DDS标准化了分布式实时系统中数据发布、传递和接收的接口和行为,提供了一个与平台无关的数据模型,非常适合于低成本的嵌入式硬件平台,由此可见,对于自动驾驶软件平台分布式通信,DDS比ROS更合适。但不管是ROS还是DDS,它们都是通过Ethernet方式进行数据传输和交互的,而且Ethernet传输大量的传感器测量值会对控制回路的定时参数产生负面影响。而对于汽车上应用最多最广泛的CAN通讯则没有DDS去适配,所以就造成了跟AD/ADAS相关的功能则需要从新部署硬件平台来满足自动驾驶软件的需求。
发明内容
发明目的:针对以上问题,本发明提出一种基于CAN总线数据传输的DDS中间件通讯方法,能兼容汽车上最广泛的CAN通讯方式实施自动驾驶软件平台数据分发服务DDS。
技术方案:为实现本发明的目的,本发明的基于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数据是多包数据,需要拆包和组包。
进一步地,当数据类型DataType 值为3时,CAN的数据帧byte[0]的值表示DDS数据的总长度Data_Len,byte[1]表示包的序列号,byte[2..7]表示payload,为本包数据的真实有效数据。
进一步地,所述步骤4中,产生数据包的组包过程包括:
步骤4.1,填充CAN-ID,发布者从订阅登记列表中取出传输优先级Priori-num、Topic-ID、Node-ID的值赋给结构体CanExId对应的成员变量;
步骤4.2,填充数据区,对结构体CanData中的成员变量赋值。
进一步地,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中进行数据处理的拆包过程包括:
步骤5.1,解析CAN-ID,对接收到的CAN-ID进行解析,得到传输优先级Priori-num、Topic-ID、Node-ID及DataType数据;
步骤5.2,解析数据帧中的payload数据区。
进一步地,当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数据的接收。
有益效果:本发明基于CAN总线数据传输的DDS中间件通讯方法,让分布式开发应用程序更加简单有效,尤其是对自动驾驶软件平台分布式通信,只需要在现有硬件平台上升级软件就能实施。
附图说明
图1是发布/订阅过程逻辑框图;
图2是CAN数据帧格式。
具体实施方式
下面结合附图和实施例对本发明的技术方案作进一步的说明。
标准的CAN 协议定义了仲裁ID及数据帧的格式,即仲裁ID分为标准格式(11bit)和扩展格式(29bit),每个数据帧的 payload 最多8个字节。目前,汽车各传感器及电气模块中的CAN通讯,基本的策略是将CAN仲裁ID标准格式(11bit)设计成设备的ID地址,而扩展格式(29bit)很少被用到。
本发明基于CAN总线数据传输的DDS中间件通讯方法,采用扩展格式,通过拆包和组包的数据处理方法,使payload 不再局限于8个字节。
本发明基于CAN总线数据传输的DDS中间件通讯方法,包括步骤:
(1)在CAN总线网络中,传感器数据采集平台会周期性的以广播包的方式向外发出连接请求,去发现传感器节点Node;
(2)Node根据连接请求回传应答数据包,携带自身设备ID号Node-ID;
(3)在连接请求完成后,数据分发服务DDS创建带有Topic-ID的CAN会话,并且向数据处理模块注册新的Topic(包含Topic Type、Topic Name及QoS策略),多个Topic就组成了订阅登记列表;
(4)注册完成后创建数据发布者(Publisher)或者订阅者(Subscriber),然后创建数据读写(DataWriter/DataReader)实例,发布者(Publisher)发送CAN数据包,订阅者(Subscriber)接收CAN数据包。
本发明中数据读写(DataWriter/DataReader)实例实现的核心是发布者(Publisher)发送CAN数据包的算法以及订阅者(Subscriber)接收CAN数据包的算法,如图1所示。
发布者(Publisher)发送CAN数据包的算法:
1、创建CAN传输列表,并按优先级Priority排序;
2、按TopicQoS参数(主要是Deadline)排序 Topic,这里主要是排序 Topic 的DataWriter 列表;
3、产生CAN数据包,按Priority和QoS排序存储进CAN传输列表中;
4、通过CAN总线接口向其订阅者(Subscriber)发送CAN数据包。
具体的实现过程如下:
CanMsgFrameList msgFrame =CreateNewList();
DataWriter Data_w = Data.getDataWriter();
Duration_t duration = Data_w.getQOS().deadline.period;
Framelist.addCanMsgFrame(msgFrame,duration)
CanSendFrame(topic.getPriority(),node-Id,topic.getTopicId(),Data);
订阅者(Subscriber)接收CAN数据包的算法:
1、创建CAN列表,并按Priority和QoS排序;
2、构造一个事件对象来通知其侦听器(Listeners)某个Topic注册的CAN数据帧到达;
3、Listeners 收到CAN数据包,提取出数据帧中QoS参数,并遍历CAN列表;
4、CAN列表中有匹配的QoS,则进行数据处理;否则丢弃CAN数据包。
具体的实现过程如下:
CanMsgFrameList recvFrame =CreateNewList();
OSPend_Event(canListeners, WAIT_FOREVER);
recvFrame =list.getTopicsDataFrameCan(get_listener().geTopicId());
for (i= recvFrame.entrySet().iterator();it.hasNext();)
{
recvFrame.Entrye=( RecvFrame.Entry)it.next();
Duration_t dr=(Duration_t)e.getValue();
if ((sec==qos.deadline.period.sec)&& \ (nanosec==qos.deadline.period.nanosec ))
{
val=(( CanMsgFrameList)e.getKey()).getDatas();
}
}
本发明中设置有传输优先级Priori_num,数据采集平台会根据每个Topic的优先级Priori_num和TopicQOS的Deadline参数来排序Datawrites列表,CAN总线上优先传输的是Datawrites 列表中Deadline快到期的或优先级最高的Topic。
本发明的实施系统架构,多个传感器Sensor接入系统后,在CAN总线网络中,传感器数据采集平台会周期性的以广播包的方式向外发出连接请求,去发现Node,Node 根据连接请求回传应答数据包,携带自身Node-ID。在发现完成后,DDS创建带有Topic-ID的CAN会话,并且向数据处理模块注册新的Topic(含Topic Type、Topic Name及QoS策略),多个Topic就组成了订阅登记列表。
CAN总线数据传输的DDS中间件通讯中,定义了如下数据结构实现CAN 到DDS的数据接口:
struct CanExId {
uint8 Priori_num;
uint8 Node_id;
uint16 Topic_id;
uint8 Data_type;
}
struct CanData {
uint8 Data_len;
uint8 Data_sn;
uint8 payload[6];
}
struct CanMsgFrame {
CanExId id;
CanData Data;
uint8 msg_len;
}
struct CanMsgFrameList {
CanMsgFrame DataCan;
Deadline duration;
QosParam qos;
}
其中,Node-ID,Topic-ID 等参数用CAN的仲裁ID的扩展格式来实现。
如图2所示,本发明将CAN的仲裁ID的扩展格式29bit分为4部分,分别是传输优先级Priori-num、Node-ID、Topic-ID以及DataType;其中,传输优先级占5位,共32级,从0开始至31结束,优先级依次增大,31位最高优先级。Node-ID占8位,用作设备或者传感器的ID号。Topic-ID 占14位,可发送16384类不同的消息。DataType 占 2位,其中,bit0为0时,表示传输的是单包数据,bit0为1时表示传输的是多包数据;bit1 为0 时表示普通的数据,主要是为了兼容现有汽车上的CAN设备;bit1为1时表示CAN发送的是DDS数据。
CAN的数据帧最大payload为8 byte,当DataType 值为0或者1时,数据帧中的数据为真实有效数据,即byte[0..7]全为真实有效数据;当数据类型DataType 值为3时,表示CAN总线发送的DDS数据是多包数据,需要拆包和组包。数据帧byte[0]的值表示DDS数据的总长度(即Data_Len),byte[1]表示包的序列号(Data_sn),byte[2..7]为本包数据的真实有效数据。
在多包模式下,Data_sn为多包的分解序列号,组包是按照这个序列号进行整合,当Data_sn+1的值等于Data_Len/6时,表明此数据包是最后一帧分包数据。最后一帧分包数据的个数是 Data_Len %6。
发布者(Publisher)发送CAN数据包,首先进行组包,分两步完成:
(1)填充CAN-ID,如图2所示,填充Priori-num、Topic-ID、Node-ID及DataType数据位,其实就是对结构体CanExId的各成员赋值。具体操作为:发布者从订阅登记列表中取出传输优先级Priori-num、Topic-ID、Node-ID的值赋给结构体CanExId对应的成员变量。
(2)填充数据区,即如图2所示的Data区,其实就是对结构体CanData中成员赋值,这一步骤根据本次要发送DDS数据的长度Data_Len分两种操作情况。
Data_Len<= 8时,不需要组包,只需要把数据按CAN帧的数据格式填充即可,具体的操作是,把DataType 赋值为1并把DataType的值填充到CAN-ID 对应的Type 数据位;把Data_Len赋给结构体CanData中的成员变量msg_len(msg_len表示本次要发送CAN帧的playload长度),接下来把DDS数据拷贝到结构体CanData中即可,注意结构体CanData中的成员Data_len和Data_sn此时都是真实有效的DDS数据。
Data_Len> 8,则需要组包处理数据,即则把DataType 赋值为3并把DataType的值填充到CAN-ID 对应的Type 数据位;把DDS数据的总长度赋给结构体CanData成员变量Data_len,并把结构体CanData表示包序列号Data_sn成员变量清0,然后从DDS的数据区中取出6个byte 数据填充到结构体CanData 的payload成员变量,CanData中的成员变量msg_len赋值为8,此时完成第一个CAN帧的组包,然后把组包好的CAN帧写入CAN发送队列。紧接着进行后续CAN帧的组包。
具体算法如下:
分包总数(pack_cnt) = Data_len/6;
uint8 *p = DDS_DatBuf[0] + 6;
CanMsgFrame.id. Data_type = 3;
CanMsgFrame.Data.Data_len = Data_len ;
CanMsgFrame.msg_len = 8;
While(CanMsgFrame.Data.Data_sn +1< pack_cnt)
{
CanMsgFrame .Data. Data_sn ++;
Memcpy(CanMsgFrame .Data. Payload, p, 6 );
WriteCanMsgToQueue(&CanMsgFrame);
}
CanMsgFrame.id. Data_type = 1;
CanMsgFrame.Data.Data_len = Data_len ;
CanMsgFrame .Data. Data_sn ++;
CanMsgFrame.msg_len = (Data_len % 6);
Memcpy(CanMsgFrame .Data. Payload, p, CanMsgFrame.msg_len );
WriteCanMsgToQueue(&CanMsgFrame);
到此,发布者(Publisher)发送CAN数据组包过程全部完成,而且组好的CAN数据包写入了CAN发送消息队列,CAN发送程序只需要从消息队列中取数据发送即可,直到队列为空就完成了本次DDS数据的发送。
订阅者(Subscriber)接收CAN数据包,进行数据处理,即先拆包解析数据,分两步完成:
(1)解析CAN-ID,按图2所示的数据格式,首先对接收到的CAN-ID进行解析,得到Priori-num、Topic-ID、Node-ID及DataType数据。
(2)解析playload数据区,这一步骤根据第一步解析出DataType值分两种操作情况。
DataType< 3,则表示本次收到的数据是单包数据,不需要拆包,直接把playload数据取出即可。
DataType= 3,则便是本次收到的数据是多包数据,需要拆包解析出真实的数据,具体算法如下:
首先取出计算出分包总数 pack_cnt = playload[0]/6,然后取出分包的序列号Data_sn = playload[1];从 playload[2..7]取出6个真实数据存入DDS数据接收缓冲区,Data_sn加1,比较Data_sn和pack_cnt是否相等,如果不相等,那么接收到下一帧CAN数据后按照同样的方法拆包解析数据,并把playload中的真实有效数据存储到DDS数据接收缓冲区的末尾位置,如此反复,直到Data_sn+1等于pack_cnt才算完成一帧DDS数据的接收。这里需要注意的是,最后一包真实有效数据的长度不一定是6,而应该根据CanMsgFrame.msg_len值从playload中取数。
Claims (6)
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数据的接收。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011291070.9A CN112104538B (zh) | 2020-11-18 | 2020-11-18 | 基于can总线数据传输的dds中间件通讯方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011291070.9A CN112104538B (zh) | 2020-11-18 | 2020-11-18 | 基于can总线数据传输的dds中间件通讯方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112104538A CN112104538A (zh) | 2020-12-18 |
CN112104538B true CN112104538B (zh) | 2021-02-12 |
Family
ID=73785245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011291070.9A Active CN112104538B (zh) | 2020-11-18 | 2020-11-18 | 基于can总线数据传输的dds中间件通讯方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112104538B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112600862B (zh) * | 2021-03-04 | 2021-06-18 | 奥特酷智能科技(南京)有限公司 | 一种车载网络dds通信安全认证方法及系统 |
CN114567665A (zh) * | 2022-01-26 | 2022-05-31 | 阿波罗智能技术(北京)有限公司 | 节点间通信的方法、装置、设备、介质及自动驾驶车辆 |
CN114785877B (zh) * | 2022-04-14 | 2023-02-17 | 奥特酷智能科技(南京)有限公司 | 一种实时或离线解析dds通信中rtps协议的方法 |
CN115277886B (zh) * | 2022-07-30 | 2023-06-27 | 重庆长安汽车股份有限公司 | 一种基于数据分发服务的车辆数据采集方法 |
CN117743211A (zh) * | 2023-12-08 | 2024-03-22 | 青岛蚂蚁机器人有限责任公司 | 基于微服务架构的Can设备管理方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10979506B2 (en) * | 2016-09-19 | 2021-04-13 | Westinghouse Air Brake Technologies Corporation | Vehicle control system |
CN107665237B (zh) * | 2017-08-18 | 2020-11-27 | 北京海兰信数据科技股份有限公司 | 数据结构分类装置、非结构化数据的发布订阅系统及方法 |
CN107528757B (zh) * | 2017-08-30 | 2020-07-31 | 北京润科通用技术有限公司 | 一种mvb总线数据的监控方法、装置及系统 |
CN110209514B (zh) * | 2019-08-01 | 2019-11-15 | 奥特酷智能科技(南京)有限公司 | 在嵌入式传感器接入平台实现dds服务的方法 |
-
2020
- 2020-11-18 CN CN202011291070.9A patent/CN112104538B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112104538A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112104538B (zh) | 基于can总线数据传输的dds中间件通讯方法 | |
US7519076B2 (en) | Method and node for using a communication network in parallel for real-time applications and non-real-time applications | |
US6005869A (en) | Communication network | |
CN107919947B (zh) | 一种can总线长报文传输的编码方法 | |
DE102017121049A1 (de) | Kommunikationsverfahren, welches auf einer Fahrzeugsicherheitsintegritätsstufe im Fahrzeugnetzwerk basiert, und Vorrichtung für dasselbige | |
US11483240B2 (en) | Master-slave bus system and method for operating a bus system | |
CN114584582B (zh) | 一种车内报文处理方法、装置、车载终端及存储介质 | |
Ashjaei et al. | Modeling and timing analysis of vehicle functions distributed over switched ethernet | |
EP3883214B1 (en) | A method for implementing an industrial communication gateway | |
CN112019440B (zh) | 基于标识符复用的can总线组播方法 | |
CN100377550C (zh) | 一种路由表下一跳ip地址到mac地址解析方法 | |
CN112787902B (zh) | 报文封装方法及装置、报文解封装方法及装置 | |
CN112640386A (zh) | 用于模拟通信网络中的多播数据流的预约请求的处理的方法和模拟系统 | |
CN115277450B (zh) | 基于opnet的虚实结合异构通信网络融合系统及应用 | |
US7420985B2 (en) | Method for operating an isochronous cyclic communication system | |
US20040198325A1 (en) | Subscriber device for a high-performance communication system | |
CN102907046A (zh) | 用于处理消息的方法 | |
CN113542277B (zh) | Canopen设备通过tsn网络桥接的方法、系统、介质及装置 | |
Cena et al. | Seamless integration of CAN in intranets | |
CN114531943B (zh) | 数据传输方法和自动化通信网络 | |
Martínez et al. | RT-EP: Real-time Ethernet protocol for analyzable distributed applications on a minimum real-time posix kernel | |
Wang et al. | The real-time networked data gathering systems based on EtherCAT | |
US8644322B2 (en) | Communication system | |
Ayed et al. | Interconnection optimization for multi-cluster avionics networks | |
Wang et al. | A protocol translation scheme between EtherCAT field network and IPv6-based industrial backbone network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: 210012 room 401-404, building 5, chuqiaocheng, No. 57, Andemen street, Yuhuatai District, Nanjing, Jiangsu Province Patentee after: AUTOCORE INTELLIGENT TECHNOLOGY (NANJING) Co.,Ltd. Address before: 211800 building 12-289, 29 buyue Road, Qiaolin street, Pukou District, Nanjing City, Jiangsu Province Patentee before: AUTOCORE INTELLIGENT TECHNOLOGY (NANJING) Co.,Ltd. |