CN115412478A - 一种面向服务的汽车域控制器数据转发***及方法 - Google Patents
一种面向服务的汽车域控制器数据转发***及方法 Download PDFInfo
- Publication number
- CN115412478A CN115412478A CN202211050976.0A CN202211050976A CN115412478A CN 115412478 A CN115412478 A CN 115412478A CN 202211050976 A CN202211050976 A CN 202211050976A CN 115412478 A CN115412478 A CN 115412478A
- Authority
- CN
- China
- Prior art keywords
- data
- vss
- module
- dbc
- forwarding
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/56—Routing software
-
- 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/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- 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
-
- 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/40234—Local Interconnect Network LIN
-
- 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/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种面向服务的汽车域控制器数据转发***及方法,通过域控制器实现中央控制域和末端之间的通信,分离中央控制域和汽车末端的直接联系,使得中央控制域只需实现业务层面的逻辑,由域控制器来实现数据转换分发。域控制器上设置包括APPS应用层、数据转发模块、数据转换模块、数据更新模块、VSS‑Table数据表、DBC‑Table数据表、数据存储模块、数据同步模块;通过域控制器实现中央控制域和末端之间的数据转发,包括将面向服务的中央控制域VSS数据转发为DBC数据并转发给末端,以及将末端的DBC数据转换为面向服务的VSS数据并转发给中央控制域。本发明可以解决面向服务的软件架构方法和末端之间通讯的兼容问题。
Description
技术领域
本发明属于汽车电子软件领域,尤其涉及一种面向服务的汽车域控制器数据转发***及方法。
背景技术
随着互联网在汽车领域的快速发展,汽车产品在提供更丰富的高级自动驾驶/辅助驾驶功能的同时,更趋向提升用户体验,例如,快速的功能更新升级,提供个性化、人性化、差异化的功能与服务等。功能越多则需要更多的传感器(Sensor)、执行器(Actuator)及电子电气控制单元ECU来实现,而数量庞大的传感器(Sensor)、执行器(Actuator)以及电子电气控制单元ECU的接入,使得汽车电子电气架构EE变得非常复杂和臃肿,而且大量的功能需要多个电子电气控制单元ECU之间的协调工作来实现,使得当前“domain”架构下电子电气控制单元ECU之间基于信号点对点通讯(Signal-Oriented)将会变得异常复杂,且不具备灵活性和扩展性,微小的功能改动都会引起整车通讯矩阵的改动;而且“domain”架构是基于传统CAN、LIN等媒介进行点对点通讯(Signal-Oriented),使得本来就有限的网络带宽变得不堪重负,同时也迫使汽车电子软件的开发工作不得不偏移到如何在有限的网络带宽下提高数据传输效率以及解决数据延迟等问题,同时使得汽车电子软件逻辑复杂、开发难度大、不便移植和维护。可见,当前面向信号的传统软件架构方法已经不适合生产发展需要。
近几年,为了解决“domain”架构的种种弊端,引入了新一代汽车电子电气架构“Zonal”,“Zonal”架构以车载以太网为骨干串联数个ECU在局部区域中形成一个或几个百兆局域网,再加上对TSN的支持,困扰汽车电子软件的通讯带宽问题和数据延迟问题迎刃而解,从而为可以实现面向服务的软件架构方法(SOA)提供了硬件保证。
但同时也引入了采用“domain”架构下电子电气控制单元ECU之间基于信号点对点通讯(Signal-Oriented)的汽车开放***架构(AUTOSAR)堆栈和应用程序等软件生态***不兼容“Zonal”架构下面向服务的软件架构方法(SOA)的问题,于是解决软件通讯兼容问题是“Zonal”架构下绕不开的技术痛点。
本发明针新一代汽车电子电气架构“Zonal”,设计一种面向服务的汽车域控制器数据转发***及方法,来解决面向服务的软件架构方法(SOA)和末端传感器(Sensor)、执行器(Actuator)、ECU等之间点对点通讯(Signal-Oriented)的兼容问题。
发明内容
为解决现有技术中存在的不足,本发明的目的在于,提供一种面向服务的汽车域控制器数据转发***及方法。
为实现本发明的目的,本发明所采用的技术方案是:
一种面向服务的汽车域控制器数据转发***,通过域控制器实现中央控制域和末端之间的通信;域控制器上设置包括APPS应用层、数据转发模块、数据转换模块、数据更新模块、VSS-Table数据表、DBC-Table数据表、数据存储模块、数据同步模块;
域控制器向中央控制域订阅面向服务的DDS Topic,Apps应用层用户程序创建任务,在任务中根据DDS Topic的配置文件创建DDS Sub,DDS Sub接收中央控制域发来的数据并解析出有效的VSS数据,传递给数据转换模块和数据更新模块;数据更新模块收到VSS数据后,根据数据来源更新VSS-Table数据表中的对应项并把相应的数据项状态更改为Updating,同时触发一个事件通知数据存储模块VSS-Table有数据更新;数据转换模块接收到VSS数据后,执行查表快速匹配的方法进行VSS到DBC的数据转换;数据转发模块根据路由表配置信息选择合适的通道把DBC数据转发给指定的末端;
同时,域控制器数据转发模块实时监控末端总线上的数据,当有数据需要接收时,触发硬实时中断,在中断服务程序中读取DBC数据;然后数据转换模块执行查表快速匹配的方法把DBC数据转换成VSS数据,传递给数据更新模块;数据更新模块收到VSS数据后,根据数据来源更新VSS-Table数据表中的对应项并把相应的项数据状态更改为Normal,同时触发一个事件通知数据存储模块VSS-Table有数据更新;数据同步模块周期性的从VSS-Table中读取数据并打包成符合DDS Topic定义的数据格式,通过DDS Pub把数据同步给中央控制域。
进一步地,数据存储模块的数据保存方法包括全量保存和差分保存;***上电或重启时,域控制器读取数据存储模块中的数据初始化本地VSS-Table,并在中央控制域启动完成后把VSS-Table同步给中央控制域。
进一步地,域控制器向中央控制域订阅面向服务的DDS Topic,并构造一个事件对象来通知侦听器订阅的DDS Topic是否接收到中央控制域发来的数据。
进一步地,数据转换模块进行VSS到DBC的数据转换,转化完成后把DBC数据放入Que_V2D队列,数据转发模块周期性的监测Que_V2D队列的状态,如果不为空,表示有新的DBC数据需要转发,则执行转发程序;首先从队列中取出DBC数据,然后根据路由表配置信息选择合适的通道把DBC数据转发给指定的末端,转发成功后回头继续从队列取数、继续转发,直到队列Que_V2D为空。
进一步地,在中断服务程序中读取DBC数据时,把数据放入与之相对应的数据输入队列Que IQ中,数据转化模块被事件触发唤醒后,从数据输入队列Que IQ中读取数据,执行查表快速匹配的方法进行DBC到VSS的数据转换。
一种面向服务的汽车域控制器数据转发方法,基于所述的***,通过域控制器实现中央控制域和末端之间的数据转发,包括将面向服务的中央控制域VSS数据转发为DBC数据并转发给末端,以及将末端的DBC数据转换为面向服务的VSS数据并转发给中央控制域。
进一步地,VSS数据转化为DBC数据的过程,包括以下模块:参数配置表、V2D数据转发模块、报文解析模块、V2D数据转换模块、V2D数据更新模块、VSS-Table数据表、数据存储模块;
域控制器的Apps应用层用户程序创建任务,在任务中根据DDS Topic的配置文件创建DDS Sub,当订阅的DDS Topic接收到报文数据后,启动报文解析模块从中解析出有效的VSS数据;并传递给V2D数据转换模块和V2D数据更新模块;
V2D数据更新模块收到数据后,判别数据的来源并做有效性校验,根据数据来源更新VSS-Table数据表中的对应项,并且把此数据项状态更新为Updating;同时触发一个事件通知数据存储模块VSS-Table有数据更新;
V2D数据转换模块接受到VSS数据后,执行查表DBC-Table快速匹配的方法进行VSS到DBC的数据转换;V2D数据转发模块根据路由表配置信息选择合适的通道把DBC数据转发给指定的末端。
进一步地,参数配置表定义VSS-Table中信号以及VSS-Table和DBC-Table的对应关系、配置DDS Topic参数、非易失性存储器逻辑扇区划分、数据存储方式;同时对软件模块中的参数进行缺省定义。
进一步地,DBC数据转化为VSS数据的过程,包括以下模块:D2V数据转发模块、D2V数据转换模块、D2V数据更新模块、DBC-Table数据表、数据存储模块、数据同步模块、报文解析模块;
D2V数据转发模块实时监测末端总线上的数据变化,当有数据需要接收时,触发硬实时中断,在中断服务程序中读取DBC数据;D2V数据转化模块被事件触发唤醒后,执行查表DBC-Table)快速匹配的方法进行DBC数据到VSS数据的转换,转换完成后把VSS数据传递给D2V数据更新模块;
D2V数据更新模块收到VSS数据后,判别数据的来源并做有效性校验,根据数据来源更新VSS-Table数据表中的对应项,并把相应的数据项状态更改为Normal;同时并触发一个事件通知数据存储模块VSS-Table有数据更新;
数据同步模块周期性的从VSS-Table中读取数据并由报文解析模块把VSS数据打包成符合DDS Topic定义的报文格式,通过数据转发模块中的DDS Pub把数据同步给中央控制域。
进一步地,报文格式包括报头和数据;报头包括Magic、seq no.、packsum和number;数据包括Name、Data、Type、unit、status。
本发明的有益效果在于,与现有技术相比,本发明可以解决新一代“Zonal”架构下面向服务的软件架构方法(SOA)和常规末端传感器(Sensor)、执行器(Actuator)、ECU等汽车开放***架构堆栈和应用程序等软件生态***的兼容问题。
本发明可根据产品需求和使用场景,通过软件配置参数、VSS-Table数据表和路由表的方式部署不同的数据转发规则,
本发明既解决了新技术与已有成熟软件生态***不兼容的技术痛点,又在生产实践中提高了工作效率。
附图说明
图1是本发明所述的面向服务的汽车域控制器数据转发***示意图;
图2是本发明所述的面向服务的汽车域控制器数据转发方法示意图;
图3是报文格式示意图。
具体实施方式
下面结合附图和实施例对本发明的技术方案作进一步的说明。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本申请的保护范围。
本发明主要是设计一种面向服务的汽车域控制器数据转发***及方法,来解决面向服务的软件架构方法(SOA)和末端传感器(Sensor)、执行器(Actuator)、ECU等之间点对点通讯(Signal-Oriented)兼容问题。
本发明所述的面向服务的数据转发***设置于域控制器ZCU,在“Zonal”架构中连接汽车末端传感器、执行器和中央控制域(CCU)之间的桥梁,这样可以分离CCU和汽车末端传感器、执行器的直接联系,使得CCU侧的软件只需专心业务层面的逻辑实现,至于数据转换、数据分发及控制等交由本发明所述的域控制器ZCU来实现,这样可以最大限度的兼容“domain”架构下基于点对点通讯(Signal-Oriented)的ECU、Sensor和Actuator等设备及软件。
本发明包括两种数据转发方法:面向服务的VSS(Vehicle Service Signal)数据转DBC(Database Can)数据,以及DBC转VSS。为了描述方便,本发明中的DBC数据泛指适配常规汽车电子电器架构中的ECU、Sensor、Actuator等CAN报文数据库,但本发明数据转发方法不只适用于CAN,也可以是LIN及其它等。
如图1所示,本发明所述的面向服务的汽车域控制器数据转发***,包括数据转发模块、数据转换模块、VSS-Table数据表、DBC-Table数据表、数据存储模块、数据同步模块、APPS应用层和操作***等。其中,操作***分为大型操作***Linux/QNX和微型嵌入式实时操作***RTOS,在本实施例中CCU侧运行的是Linux/QNX,在ZCU侧运行的是AutoSAR。
域控制器ZCU向中央控制域CCU订阅面向服务的DDS Topic,域控制器ZCU的DDSSub接受到来自CCU的DDS Topic后解析出真实有效的VSS数据,同步更新本地VSS-Table数据表并且把此数据项状态更新为Updating,表示此项数据正在更新中,尚未完成更新(更通俗的讲就是CCU发给末端Sensor、Actuator或ECU的指令是否已执行结束尚未可知)。与此同时把VSS数据转化成对应的DBC数据,然后经预先配置的路由表信息把DBC转发给末端Sensor、Actuator或ECU等,DBC转发完成后ZCU等待末端Sensor、Actuator或ECU等的反馈信息,至此,VSS到DBC的数据转换过程完成。
域控制器ZCU实时监测跟末端Sensor、Actuator或ECU等相连的CAN/LIN总线上的数据变化情况,当有数据需要接收时,触发硬实时中断,在中断服务程序中读取DBC数据,然后把DBC数据转换成VSS数据,同步更新本地VSS-Table数据表并且把此数据项状态更新为Normal,表示此项数据已完成更新(更通俗的讲就是CCU发给末端Sensor、Actuator或ECU的指令已执行结束并且返回了执行结果及状态)。ZCU中的数据同步模块周期性的从VSS-Table中读取数据并打包成符合DDS Topic定义的数据格式,然后通过DDS Pub把数据同步给CCU,至此则完成DBC转VSS。
ZCU和CCU之间通过DDS Pub的数据传输方式实时的同步着同一个VSS-Table,始终保持着数据及状态的一致性,这在汽车控制领域至关重要。另外,为了达到本地数据持久化,在ZCU侧还有数据存储模块实时监测着VSS-Table的变化,一旦有数据变化,会把VSS-Table保存到非易失性存储器中,数据存储模块有数据全量保存和差分保存两种方法,具体使用哪种由配置文件决定。在***上电或重启时,ZCU会读取非易失性存储器中的数据初始化本地VSS-Table,并在CCU启动完成后把VSS-Table同步给CCU。
本发明可根据产品需求和使用场景,通过软件配置参数、VSS-Table数据表和路由表的方式部署不同的数据转发规则。
如图2所示,本发明所述的数据转发方法有两种:VSS转DBC以及DBC转VSS。
其中,VSS转DBC的核心算法及步骤如下:
(1)Apps应用层用户程序创建任务,在任务中根据DDS Topic的配置文件IDL创建DDS Sub,并构造一个事件对象来通知其侦听器(Listeners)订阅的DDS Topic是否接收到CCU发来的数据。
(2)当订阅的DDS Topic接收到数据后,从中解析出有效的VSS数据,并把VSS数据传递给数据转换模块和数据更新模块。
(3)数据更新模块收到数据后,判别数据的来源并做有效性校验,根据数据来源更新VSS-Table数据表中的对应项,并把相应的数据项状态更改为Updating,同时并触发一个事件通知数据存储模块VSS-Table有数据更新。
(4)数据转换模块接收到VSS数据后,执行查表(DBC-Table)快速匹配的方法进行VSS到DBC的数据转换,转化完成后把DBC数据放入Que_V2D队列,至此完成本次数据转换工作。
(5)数据转发模块周期性的监测Que_V2D队列的状态,如果不为空,表示有新的DBC数据需要转发,则执行转发程序;首先从队列中取出DBC数据,然后根据PDUR路由表配置信息选择合适的通道(CAN/LIN等)把DBC转发给指定的Sensor、Actuator或者ECU,转发成功后回头继续从队列取数、继续转发,直到队列Que_V2D为空。
其中,DBC转VSS的核心算法及步骤如下:
(1)数据转发模块中CAN/LIN Recv实时监测CAN/LIN总线上的数据变化,当有数据需要接收时,触发硬实时中断,在中断服务程序中读取数据,并把数据放入与之相对应的数据输入队列Que(IQ)中,并触发一个事件通知数据转化模块有新数据需要处理。
(2)数据转化模块被事件触发唤醒后,从队列Que(IQ)读取数据,执行查表(DBC-Table)快速匹配的方法进行DBC到VSS的数据转换,转换完成后把VSS数据传递给数据更新模块。
(3)数据更新模块收到数据后,判别数据的来源并做有效性校验,根据数据来源更新VSS-Table数据表中的对应项,并把相应的项数据状态更改为Normal,同时并触发一个事件通知数据存储模块VSS-Table有数据更新。
(4)数据存储模块被事件唤醒后,把VSS-Table数据表保存到非易失性存储器中实现持久化功能。数据同步模块周期性的从VSS-Table中读取数据并打包成符合DDS Topic定义的数据格式,然后通过DDS Pub把数据同步给一个或多个CCU,至此则完成DBC转VSS。
具体地,VSS转DBC方法由参数配置表、V2D数据转发模块中的DDS Sub、报文解析模块、V2D数据转换模块、V2D数据更新模块、VSS-Table数据表、数据存储模块、V2D队列、PDUR路由模块等组成。具体工作原理如下:
参数配置表定义VSS-Table中信号以及和DBC-Table的对应关系、配置DDS Topic参数、非易失性存储器逻辑扇区划分、数据存储方式等。同时对软件模块中的参数进行了缺省定义(比如队列大小及长度、任务优先级、堆栈大小等)。
ZCU的Apps应用层用户程序创建任务,在任务中根据DDS Topic的配置文件IDL创建DDS Sub,并构造一个事件对象来通知其侦听器(Listeners)订阅的DDS Topic是否接收到CCU发来的数据。当订阅的DDS Topic接收到数据后,启动报文解析模块从中解析出有效的VSS数据。
报文解析模块按图3所示的报文格式解析数据,DDS Message数据中包含VSSHeader(报头)和VSS Msg Struct(数据)。
报头Header由四部分组成:Magic(4byte)、seq no.(2byte)、packsum(2byte)和number(2byte)。具体的,magic表示魔法字,如0x5953585A表示DDS Message中的数据为VSS数据,起数据类型识别和特征识别的作用。packsum为DDS Message的总包数,在有些应用场景中,发送的数据量比较大,需要分包多次发送。Seq no.为报文的序列号,从0开始标记,这个字段的作用:一是为了区分相邻几个报文的顺序,尤其是报文内容有严格的顺序要求时避免数据错位或者漏掉报文;二是配合packsum对DDS Message包进行拆包和组包的算法需要。Number标识本次数据包中有多少条VSS struct数据。本实施例中为了减少拆包和组包的算法复杂度,不允许一条VSS struct数据跨包分两次发送。但本发明也可以实现一条VSSStruct数据跨包分两次或多次发送。
数据VSS struct包括Name(名字)、Data(信号值)、Type(信号类型)、unit(信号单位)、status(VSS的状态),其中status有Updating和Normal两种状态,Updating表示数据正在更新,尚未完成;Normal表示数据更新完成。
报文解析模块解析出VSS数据后传递给V2D(Vss to DBC)数据转换模块和V2D数据更新模块,数据更新模块收到数据后,判别数据的来源并做有效性校验,根据数据来源更新VSS-Table数据表中的对应项,并且把此数据项状态更新为Updating,表示此项数据正在更新中,尚未完成更新。更通俗的讲就是CCU发给末端Sensor、Actuator或ECU的指令是否已执行结束尚未可知。同时触发一个事件通知数据存储模块VSS-Table有数据更新。
V2D数据转换模块接受到VSS数据后,执行查表(DBC-Table)快速匹配的方法进行VSS到DBC的数据转换,转化完成后把DBC数据放入Que_V2D队列,至此完成本次数据转换工作。在此特别说明的是,本发明执行查表快速匹配的方法进行数据转换是为了提高软件执行效率和弱化算法复杂度,另外对于不同的车型和应用场景只要更换VSS-Table和DBC-Table就可以快速移植,但这并不代表本专利不能使用其它算法进行数据转换工作。
V2D数据转发模块周期性的监测Que_V2D队列的状态,如果不为空,表示有新的DBC数据需要转发,则执行转发程序;首先从队列中取出DBC数据,然后根据PDUR路由表配置信息选择合适的通道(CAN/LIN等)把DBC转发给指定的Sensor、Actuator或者ECU,转发成功后回头继续从队列取数、继续转发,直到队列Que_V2D为空。至此,VSS到DBC的数据转换完成。
具体地,DBC转VSS方法由D2V数据转发模块、D2V数据转换模块、D2V数据更新模块、DBC-Table数据表、数据存储模块、数据同步模块、报文解析模块、V2D数据转发模块中的DDSPub等组成。具体工作原理如下:
D2V数据转发模块中CAN/LIN Recv实时监测CAN/LIN总线上的数据变化,当有数据需要接收时,触发硬实时中断,在中断服务程序中读取数据,并把数据放入与之相对应的数据输入队列Que(IQ)中,并触发一个事件通知D2V数据转化模块有新数据需要处理,然后再次回头继续监测CAN/LIN总线上的数据变化,依次循环往复。
D2V数据转化模块被事件触发唤醒后,从队列Que(IQ)读取数据,执行查表(DBC-Table)快速匹配的方法进行DBC到VSS的数据转换,转换完成后把VSS数据传递给数据更新模块。转换完成后回头继续从队列Que(IQ)取数、继续转换,直到队列Que(IQ)为空,则进入睡眠模式,直到有新的事件触发唤醒,则继续进行数据转换工作。
D2V数据更新模块收到数据后,判别数据的来源并做有效性校验,根据数据来源更新VSS-Table数据表中的对应项,并把相应的数据项状态更改为Normal,表示此项数据已完成更新,更通俗的讲就是CCU发给末端Sensor、Actuator或ECU的指令已执行结束并且返回了执行结果及状态。同时并触发一个事件通知数据存储模块VSS-Table有数据更新。
数据存储模块被事件唤醒后,把VSS-Table数据表保存到非易失性存储器中实现持久化功能。本发明所述的数据存储有数据全量保存和差分保存两种方法,具体使用那种由配置文件决定。在***上电或重启时,ZCU会读取非易失性存储器中的数据初始化VSS-Table,并在CCU启动完成后把VSS-Table同步给CCU。
数据同步模块周期性的从VSS-Table中读取数据并由报文解析模块按照图3所示的报文协议把VSS-Table数据打包成符合DDS Topic定义的数据格式,然后通过DDS Pub把数据同步给CCU,至此则完成DBC转VSS。
本发明申请人结合说明书附图对本发明的实施示例做了详细的说明与描述,但是本领域技术人员应该理解,以上实施示例仅为本发明的优选实施方案,详尽的说明只是为了帮助读者更好地理解本发明精神,而并非对本发明保护范围的限制,相反,任何基于本发明的发明精神所作的任何改进或修饰都应当落在本发明的保护范围之内。
Claims (10)
1.一种面向服务的汽车域控制器数据转发***,其特征在于,通过域控制器实现中央控制域和末端之间的通信;域控制器上设置包括APPS应用层、数据转发模块、数据转换模块、数据更新模块、VSS-Table数据表、DBC-Table数据表、数据存储模块、数据同步模块;
域控制器向中央控制域订阅面向服务的DDS Topic,Apps应用层用户程序创建任务,在任务中根据DDS Topic的配置文件创建DDS Sub,DDS Sub接收中央控制域发来的数据并解析出有效的VSS数据,传递给数据转换模块和数据更新模块;数据更新模块收到VSS数据后,根据数据来源更新VSS-Table数据表中的对应项并把相应的数据项状态更改为Updating,同时触发一个事件通知数据存储模块VSS-Table有数据更新;数据转换模块接收到VSS数据后,执行查表快速匹配的方法进行VSS到DBC的数据转换;数据转发模块根据路由表配置信息选择合适的通道把DBC数据转发给指定的末端;
同时,域控制器数据转发模块实时监控末端总线上的数据,当有数据需要接收时,触发硬实时中断,在中断服务程序中读取DBC数据;然后数据转换模块执行查表快速匹配的方法把DBC数据转换成VSS数据,传递给数据更新模块;数据更新模块收到VSS数据后,根据数据来源更新VSS-Table数据表中的对应项并把相应的项数据状态更改为Normal,同时触发一个事件通知数据存储模块VSS-Table有数据更新;数据同步模块周期性的从VSS-Table中读取数据并打包成符合DDS Topic定义的数据格式,通过DDS Pub把数据同步给中央控制域。
2.根据权利要求1所述的面向服务的汽车域控制器数据转发***,其特征在于,数据存储模块的数据保存方法包括全量保存和差分保存;***上电或重启时,域控制器读取数据存储模块中的数据初始化本地VSS-Table,并在中央控制域启动完成后把VSS-Table同步给中央控制域。
3.根据权利要求1所述的面向服务的汽车域控制器数据转发***,其特征在于,域控制器向中央控制域订阅面向服务的DDS Topic,并构造一个事件对象来通知侦听器订阅的DDSTopic是否接收到中央控制域发来的数据。
4.根据权利要求1所述的面向服务的汽车域控制器数据转发***,其特征在于,数据转换模块进行VSS到DBC的数据转换,转化完成后把DBC数据放入Que_V2D队列,数据转发模块周期性的监测Que_V2D队列的状态,如果不为空,表示有新的DBC数据需要转发,则执行转发程序;首先从队列中取出DBC数据,然后根据路由表配置信息选择合适的通道把DBC数据转发给指定的末端,转发成功后回头继续从队列取数、继续转发,直到队列Que_V2D为空。
5.根据权利要求1所述的面向服务的汽车域控制器数据转发***,其特征在于,在中断服务程序中读取DBC数据时,把数据放入与之相对应的数据输入队列Que IQ中,数据转化模块被事件触发唤醒后,从数据输入队列Que IQ中读取数据,执行查表快速匹配的方法进行DBC到VSS的数据转换。
6.一种面向服务的汽车域控制器数据转发方法,其特征在于,基于权利要求1-5任一所述的***,通过域控制器实现中央控制域和末端之间的数据转发,包括将面向服务的中央控制域VSS数据转发为DBC数据并转发给末端,以及将末端的DBC数据转换为面向服务的VSS数据并转发给中央控制域。
7.根据权利要求6所述的面向服务的汽车域控制器数据转发方法,其特征在于,VSS数据转化为DBC数据的过程,包括以下模块:参数配置表、V2D数据转发模块、报文解析模块、V2D数据转换模块、V2D数据更新模块、VSS-Table数据表、数据存储模块;
域控制器的Apps应用层用户程序创建任务,在任务中根据DDS Topic的配置文件创建DDS Sub,当订阅的DDS Topic接收到报文数据后,启动报文解析模块从中解析出有效的VSS数据;并传递给V2D数据转换模块和V2D数据更新模块;
V2D数据更新模块收到数据后,判别数据的来源并做有效性校验,根据数据来源更新VSS-Table数据表中的对应项,并且把此数据项状态更新为Updating;同时触发一个事件通知数据存储模块VSS-Table有数据更新;
V2D数据转换模块接受到VSS数据后,执行查表DBC-Table快速匹配的方法进行VSS到DBC的数据转换;V2D数据转发模块根据路由表配置信息选择合适的通道把DBC数据转发给指定的末端。
8.根据权利要求7所述的面向服务的汽车域控制器数据转发方法,其特征在于,参数配置表定义VSS-Table中信号以及VSS-Table和DBC-Table的对应关系、配置DDS Topic参数、非易失性存储器逻辑扇区划分、数据存储方式;同时对软件模块中的参数进行缺省定义。
9.根据权利要求6所述的面向服务的汽车域控制器数据转发方法,其特征在于,DBC数据转化为VSS数据的过程,包括以下模块:D2V数据转发模块、D2V数据转换模块、D2V数据更新模块、DBC-Table数据表、数据存储模块、数据同步模块、报文解析模块;
D2V数据转发模块实时监测末端总线上的数据变化,当有数据需要接收时,触发硬实时中断,在中断服务程序中读取DBC数据;D2V数据转化模块被事件触发唤醒后,执行查表DBC-Table)快速匹配的方法进行DBC数据到VSS数据的转换,转换完成后把VSS数据传递给D2V数据更新模块;
D2V数据更新模块收到VSS数据后,判别数据的来源并做有效性校验,根据数据来源更新VSS-Table数据表中的对应项,并把相应的数据项状态更改为Normal;同时并触发一个事件通知数据存储模块VSS-Table有数据更新;
数据同步模块周期性的从VSS-Table中读取数据并由报文解析模块把VSS数据打包成符合DDS Topic定义的报文格式,通过数据转发模块中的DDS Pub把数据同步给中央控制域。
10.根据权利要求9所述的面向服务的汽车域控制器数据转发方法,其特征在于,报文格式包括报头和数据;报头包括Magic、seq no.、packsum和number;数据包括Name、Data、Type、unit、status。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211050976.0A CN115412478B (zh) | 2022-08-30 | 2022-08-30 | 一种面向服务的汽车域控制器数据转发***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211050976.0A CN115412478B (zh) | 2022-08-30 | 2022-08-30 | 一种面向服务的汽车域控制器数据转发***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115412478A true CN115412478A (zh) | 2022-11-29 |
CN115412478B CN115412478B (zh) | 2023-06-02 |
Family
ID=84164220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211050976.0A Active CN115412478B (zh) | 2022-08-30 | 2022-08-30 | 一种面向服务的汽车域控制器数据转发***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115412478B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1833239A (zh) * | 2003-05-12 | 2006-09-13 | 环航网络公司 | 用于在分层浮动汽车数据网络中的元件间进行通信的方法 |
US20150067135A1 (en) * | 2013-08-22 | 2015-03-05 | Inspur Electronic Information Industry Co., Ltd | Member-oriented hybrid cloud operating system architecture and communication method thereof |
CN106462577A (zh) * | 2014-03-31 | 2017-02-22 | 甲骨文国际公司 | 用于移动设备和移动云服务的同步的基础设施 |
CN107026643A (zh) * | 2015-10-27 | 2017-08-08 | 精工爱普生株式会社 | 电路装置、振荡器、电子设备以及移动体 |
CN110149334A (zh) * | 2019-05-23 | 2019-08-20 | 浙江吉利控股集团有限公司 | 车辆管理*** |
CN111762150A (zh) * | 2020-05-22 | 2020-10-13 | 博雷顿科技有限公司 | 一种插电式混动力汽车动力控制方法、装置及设备 |
CN112272132A (zh) * | 2020-12-23 | 2021-01-26 | 奥特酷智能科技(南京)有限公司 | 基于fpga实现can数据的dds协议实时传输方法及*** |
CN113709047A (zh) * | 2021-10-26 | 2021-11-26 | 奥特酷智能科技(南京)有限公司 | 一种汽车域控制器数据转发***及方法 |
CN113973088A (zh) * | 2021-05-18 | 2022-01-25 | 上海赫千电子科技有限公司 | 一种智能主机的mcu通信服务*** |
-
2022
- 2022-08-30 CN CN202211050976.0A patent/CN115412478B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1833239A (zh) * | 2003-05-12 | 2006-09-13 | 环航网络公司 | 用于在分层浮动汽车数据网络中的元件间进行通信的方法 |
US20150067135A1 (en) * | 2013-08-22 | 2015-03-05 | Inspur Electronic Information Industry Co., Ltd | Member-oriented hybrid cloud operating system architecture and communication method thereof |
CN106462577A (zh) * | 2014-03-31 | 2017-02-22 | 甲骨文国际公司 | 用于移动设备和移动云服务的同步的基础设施 |
CN107026643A (zh) * | 2015-10-27 | 2017-08-08 | 精工爱普生株式会社 | 电路装置、振荡器、电子设备以及移动体 |
CN110149334A (zh) * | 2019-05-23 | 2019-08-20 | 浙江吉利控股集团有限公司 | 车辆管理*** |
CN111762150A (zh) * | 2020-05-22 | 2020-10-13 | 博雷顿科技有限公司 | 一种插电式混动力汽车动力控制方法、装置及设备 |
CN112829737A (zh) * | 2020-05-22 | 2021-05-25 | 博雷顿科技有限公司 | 一种插电式混动力汽车动力控制装置 |
CN112272132A (zh) * | 2020-12-23 | 2021-01-26 | 奥特酷智能科技(南京)有限公司 | 基于fpga实现can数据的dds协议实时传输方法及*** |
CN113973088A (zh) * | 2021-05-18 | 2022-01-25 | 上海赫千电子科技有限公司 | 一种智能主机的mcu通信服务*** |
CN113709047A (zh) * | 2021-10-26 | 2021-11-26 | 奥特酷智能科技(南京)有限公司 | 一种汽车域控制器数据转发***及方法 |
Non-Patent Citations (1)
Title |
---|
彭远强: "基于工业总线的车内自动控制***设计", 《柳州职业技术学院学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN115412478B (zh) | 2023-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10756930B2 (en) | Gateway device, vehicle network system, transfer method, and non-transitory computer-readable recording medium storing program | |
US11463275B2 (en) | Electronic control unit, frame generating method, and non-transitory computer-readable recording medium storing a program | |
US10951436B2 (en) | Network hub, transfer method, and onboard network system | |
US20210184886A1 (en) | In-vehicle information processing for unauthorized data | |
EP3745657B1 (en) | Gateway device, vehicle network system, transfer method, and program | |
CN101001209A (zh) | 变长数据包的异种网络交换***及其方法以及采用信号环接口的地址表构成方法 | |
CN113452591B (zh) | 基于can总线连续数据帧的回路控制方法及装置 | |
CN112685008A (zh) | 一种基于autosar采用面向服务架构的服务失效控制方法 | |
CN113196710B (zh) | 分发节点、自动化网络和用于传输报文的方法 | |
CN112486112A (zh) | 一种EtherCAT主站控制***及其控制方法 | |
KR20110138236A (ko) | 이더넷 링 네트워크를 기반으로 하는 미디어 접근 제어 주소 분류 방법 및 장치 | |
CN113411242B (zh) | 时间触发机制下异步多优先级调度处理方法 | |
CN109995674B (zh) | 一种可编程sdn交换机*** | |
CN115412478A (zh) | 一种面向服务的汽车域控制器数据转发***及方法 | |
CN113542277A (zh) | Canopen设备通过tsn网络桥接的方法、***、介质及装置 | |
Cavalieri | Meeting real-time constraints in CAN | |
CN114915515B (zh) | 一种基于soc的can通信方法及*** | |
KR20200087673A (ko) | 전자 메시지 적응 | |
CN115242340A (zh) | 一种基于时间敏感网络的通信方法及装置 | |
CN114531943A (zh) | 数据传输方法、分段报文和自动化通信网络 | |
CN111447126A (zh) | 以太网总线通讯方法、装置、机器人、设备及计算机可读存储介质 | |
CN115695585B (zh) | 一种ttp/c总线承载以太网udp通信的方法 | |
CN108205553B (zh) | 一种基于文本文件的接口处理***以及方法 | |
CN112565041B (zh) | 一种ff现场总线***的硬件信息配置方法、装置及介质 | |
CN115174694B (zh) | 基于确定性通信的数据共网传输方法 |
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 |