CN102594685B - 一种基于消息转发的ecu间通信方法 - Google Patents
一种基于消息转发的ecu间通信方法 Download PDFInfo
- Publication number
- CN102594685B CN102594685B CN201210037193.9A CN201210037193A CN102594685B CN 102594685 B CN102594685 B CN 102594685B CN 201210037193 A CN201210037193 A CN 201210037193A CN 102594685 B CN102594685 B CN 102594685B
- Authority
- CN
- China
- Prior art keywords
- ecu
- message
- component
- routing table
- software
- 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.)
- Expired - Fee Related
Links
- 238000004891 communication Methods 0.000 title claims abstract description 35
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000013507 mapping Methods 0.000 claims abstract description 29
- 230000003068 static effect Effects 0.000 claims abstract description 20
- 239000002356 single layer Substances 0.000 claims description 6
- 238000013506 data mapping Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 claims 2
- 239000010410 layer Substances 0.000 claims 2
- 238000010276 construction Methods 0.000 claims 1
- 238000011161 development Methods 0.000 abstract description 10
- 230000007246 mechanism Effects 0.000 abstract description 4
- 239000002131 composite material Substances 0.000 description 14
- 230000018109 developmental process Effects 0.000 description 13
- 238000004088 simulation Methods 0.000 description 8
- 238000009499 grossing Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 4
- 230000033772 system development Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002860 competitive effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明涉及汽车电子软件开发技术领域,尤其是涉及一种基于消息转发的ECU间通信方法,通过对AUTOSAR系统配置中的系统映射信息进行分析,提取建立系统中静态消息路由表,利用建立好的静态消息路由表,提出一种软件实现ECU之间消息通信的方法,即基于消息转发的ECU间通信方法。基于CAN总线“仲裁机制”的消息广播特点,用软件的方法模拟CAN总线收发CAN帧实现ECU间通信。本发明降低了传统的在开发完成生成可执行代码后,在真实的环境和ECU硬件平台上运行带来的昂贵代价,提高了AUTOSAR的开发速度。
Description
技术领域
本发明涉及汽车电子软件开发技术领域,尤其是涉及一种基于消息转发的ECU间通信方法。
背景技术
随着汽车电子技术和产品在汽车产业中的广泛应用,汽车上的嵌入式应用规模越来越大,目前,汽车上所包含的ECU(Electronic Control Unit,电控单元)的数量已经扩大到几十个、甚至上百个,因此ECU间有效通信成为提高汽车电子开发技术质量和效率的重要研究方向。
在汽车电子实际应用领域中,CAN(Controller Area Network,控制器局域网)是应用最为广泛的串行总线,它甚至在一辆车上被多次使用:低速CAN总线被用来连接舒适系统的ECU,高速CAN被用来连接动力系统的ECU。
CAN提供了极高的传输安全性,这得益于它采用差分信号传输并同时采用5种错误检测机制。CAN总线通过广播通信,采用了多主竞争式总线结构,是一种多主站运行和分散仲裁的串行总线。CAN总线上的任意节点可以在任意时刻向网络上其它节点发送信息,实现各节点间的自由通信,通过位仲裁来解决当两个站点同时发送数据产生的冲突,具有最低二进制数的CAN ID具有最高的优先级。
AUTOSAR(AUTomotive Open System Architecture)是汽车电子开放系统架构的简称,规定了一整套汽车电子开发的方法论,包括系统配置和ECU(Electronic Control Unit,电控单元)配置阶段。系统配置(System Configuration)是方法论的第一个环节,它定义了系统中软件架构、硬件拓扑、网络通信和系统映射等配置信息,通过定义软件架构和硬件拓扑的分离,实现了软硬件的解耦。ECU配置阶段通过提取系统配置生成的单个ECU抽取结果,针对每个特定的电控单元进行配置,包括常见的操作系统(OS),运行时环境(RTE)等和基础软件模块(BSW)的配置,自动生成用户的配置代码和ECU配置描述文件。
复杂的系统内部会有成千上万的软件组件,并且软件组件之间有一定的通信关系。按照系统配置时软件组件到ECU映射的不同,软件组件间的通信关系可以划分为ECU内部通信和ECU间通信。在同一个ECU上的软件组件通信ECU内部即可完成,而分布在不同ECU上的软件组件通信在真实的汽车电子环境中是通过汽车上常用的总线来消息发送和接收的。在通常的汽车电子软件开发中,为了验证软件组件之间的消息通信的正确与否,可以在真实的环境和ECU硬件平台上搭建运行环境进而观察和分析结果。但是,这无形中延长了软件的开发周期,增加了系统开发的复杂度和成本。同时,由于在系统开发的早期阶段,还无法得到系统最终运行的真实环境和ECU硬件平台,如果有一个仿真平台,能在开发的早期阶段搭建好一个仿真的环境对软件组件间通信进行验证测试,从而较早的发现和纠正软件的逻辑错误,提高系统开发的效率。
综上所述,面对日趋复杂的汽车电子软件产品,基于AUTOSAR方法论的软件开发,在系统开发的早期阶段搭建一个仿真环境,支持位于不同ECU上的软件组件之间通信的仿真验证,本发明基于CAN总线“仲裁机制”的消息广播特点,提出一种软件实现ECU之间消息通信的方法,即基于消息转发的ECU间通信方法。
发明内容
为了避免传统的在AUTOSAR开发完成ECU配置后,再搭建硬件在环仿真平台付出的昂贵代价,克服在开发过程中配置和生成代码容易出错的缺点,本发明提供了一种基于消息转发的ECU间通信方法,为不同ECU上的软件组件间通信的仿真验证提供支持。
一种基于消息转发的ECU间通信方法,包括如下步骤:
1)、分析并建立系统中的静态消息路由表:
(1.1)获取系统中的顶层组合组件;
(1.2)利用组件抹平算法将软件组件转化为单层结构,更新软件组件到电控单元的映射关系和数据元素到系统信号的映射关系;
(1.3)获得系统中所有的系统映射信息;
(1.4)分析系统中数据元素到系统信号的映射关系,建立不同电控单元间的通信关系,分别填充源地址和目的地址信息,数据元素和系统信号信息,完成静态消息路由表的建立;
2)、消息转发器完成消息转发的工作:
(2.1)消息转发器主线程负责监听各个电控单元节点中CAN Driver的套接字连接请求,并创建子线程用于和每个发出建立连接请求的电控单元节点建立套接字连接;
(2.2)消息转发器等待发送ECU中CAN Driver调用Can_Write发送消息,在消息转发器中发送ECU对应的子线程接收消息,并发送接收应答给CAN Driver;
(2.3)发送ECU对应的子线程查找消息路由表,得到目的ECU对应的子线程,最终目的ECU对应的子线程完成消息转发。
进一步的,所述静态消息路由表包含的信息有:源电控单元,目标电控单元,数据元素,系统信号。
进一步的,所述步骤(1.2)利用组件抹平算法将软件组件转化为单层结构的步骤包括:
(1.2.1)将组件结构按照组件包含关系建立为树结构;
(1.2.2)从叶节点到根节点遍历树结构,若组件组件为非根节点的组合组件类型,则提取该组合组件中的所有软件组件实例;否则,若到达了根节点,则退出完成抹平;
(1.2.3)对每个软件组件实例,复制其到该组合组件的父节点中并更新软件组件实例间的连接关系,在该组合组件的父节点中删除该组合组件实例。
进一步的,所述步骤(1.4)分析系统中数据元素到系统信号的映射信息,建立静态消息路由表的步骤包括:
(1.4.1)对系统中每个数据元素到系统信号的映射关系,获得该映射信息中引用的端口信息;
(1.4.2)遍历顶层组合组件中包含的所有组装连接线;
(1.4.3)对每个组装连接线,如果其引用的提供端或者接收端的端口和数据映射引用的端口相同,获得对应的组件实例;否则,不处理;
(1.4.4)在系统的软件组件到电控单元映射关系中,查找软件组件实例映射到的电控单元,不是同一个电控单元,则在消息路由表中添加一条记录;否则,不处理;
(1.4.5)数据元素到系统信号的映射关系处理完成后,静态消息路由表完成建立。
本发明的技术构思是:通过对AUTOSAR系统配置中的系统映射信息进行分析,提取建立系统中静态消息路由表,利用建立好的静态消息路由表,提出一种软件实现ECU之间消息通信的方法,即基于消息转发的ECU间通信方法。本方法借鉴了CAN总线广播发送消息的模式,即基于CAN总线“仲裁机制”的消息广播特点,用软件的方法模拟CAN总线收发CAN帧实现ECU间通信。
本发明具有如下优点:
1.本发明借鉴了CAN总线广播发送消息的模式,通过建立静态消息路由表实现ECU间通信,为支持位于不同ECU上软件组件之间通信的仿真验证提供了一种有效方法。
2. 本发明实施简单,在AUTOSAR系统配置阶段开发完成后即可仿真验证不同ECU之间的软件组件通信,降低了传统的在开发完成生成可执行代码后,在真实的环境和ECU硬件平台上运行带来的昂贵代价,提高了AUTOSAR的开发速度。
3.本发明可以随时发现软件开发中的错误,弹性调整用户的配置。同时,也为仿真验证CAN总线提供了一个指导方向。
附图说明
图1本发明分析并建立系统中的静态消息路由表的主流程。
图2本发明系统中顶层软件组件的抹平流程。
图3本发明中遍历系统中数据映射信息,建立消息路由表的流程。
图4本发明消息转发器完成消息转发的工作流程。
具体实施方式
参照附图1-4,对本发明进一步详细说明。
一种基于消息转发的ECU间通信方法,包括以下步骤:
1)、分析并建立系统中的静态消息路由表:
(1.1)获得系统中的顶层组合组件;
(1.2)利用组件抹平算法将软件组件转化为单层结构,更新系统中软件组件到电控单元的映射关系和数据元素到系统信号的映射关系;
(1.3)获得系统中所有的系统映射信息,即提取系统中软件组件的连接信息和映射信息;
(1.4)分析系统中数据元素到系统信号的映射关系,建立不同电控单元间的通信关系,分别填充源地址和目的地址信息,数据元素和系统信号信息,完成静态消息路由表的建立。
2)、消息转发器完成消息转发的工作:
(2.1)消息转发器主线程负责监听各个电控单元节点中CAN Driver的套接字连接请求,并创建子线程用于和每个发出建立连接请求的电控单元节点建立套接字连接;
(2.2)消息转发器等待发送ECU中CAN Driver调用Can_Write发送消息;
(2.3)在消息转发器中发送ECU对应的子线程接收消息,并发送接收应答给CAN Driver;
(2.4)发送ECU对应的子线程申请资源锁,当申请成功时,根据发送消息内容设置全局数据变量;
(2.5)发送ECU对应的子线程查找消息路由表,得到目的ECU,最后目的ECU中CAN Driver对应的子线程通过套接字完成消息转发,释放资源锁。
进一步,步骤(1.2)利用组件抹平算法将软件组件转化为单层结构的步骤包括:
1.2.1将组件结构按照组件包含关系建立为树结构;
1.2.2从叶节点到根节点遍历树结构,若组件组件为非根节点的组合组件类型,则提取该组合组件中的所有软件组件实例;否则,若到达了根节点,则退出完成抹平;
1.2.3对每个软件组件实例,复制其到该组合组件的父节点中并更新软件组件实例间的连接关系,在该组合组件的父节点中删除该组合组件实例。
进一步,步骤(1.4)分析系统中数据元素到系统信号的映射信息,建立静态消息路由表的步骤包括:
1.4.1对系统中每个数据元素到系统信号的映射关系,获得该映射信息中引用的端口信息;
1.4.2遍历顶层组合组件中包含的所有组装连接线;
1.4.3对每个组装连接线,如果其引用的提供端或者接收端的端口和数据映射引用的端口相同,获得对应的组件实例;否则,不处理;
1.4.4在系统的软件组件到电控单元映射关系中,查找软件组件实例映射到的电控单元,不是同一个电控单元,则在消息路由表中添加一条记录;否则,不处理;
1.4.5数据元素到系统信号的映射关系处理完成后,静态消息路由表完成建立。
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。
Claims (2)
1.一种基于消息转发的ECU间通信方法,其特征在于:包括如下步骤:
1)、分析并建立系统中的静态消息路由表:
(1.1)获取系统中的顶层组合组件;
(1.2)利用组件抹平算法将软件组件转化为单层结构,更新软件组件到电控单元的映射关系和数据元素到系统信号的映射关系;
(1.3)获得系统中所有的系统映射信息;
(1.4)分析系统中数据元素到系统信号的映射关系,建立不同电控单元间的通信关系,分别填充源地址和目的地址信息,数据元素和系统信号信息,完成静态消息路由表的建立;
其中,所述步骤(1.2)利用组件抹平算法将软件组件转化为单层结构的步骤包括:
(1.2.1)将组件结构按照组件包含关系建立为树结构;
(1.2.2)从叶节点到根节点遍历树结构,若组合组件为非根节点的组合组件类型,则提取该组合组件中的所有软件组件实例;否则,若到达了根节点,则退出完成抹平;
(1.2.3)对每个软件组件实例,复制其到该组合组件的父节点中并更新软件组件实例间的连接关系,在该组合组件的父节点中删除该组合组件实例;
所述步骤(1.4)分析系统中数据元素到系统信号的映射信息,建立静态消息路由表的步骤包括:
(1.4.1)对系统中每个数据元素到系统信号的映射关系,获得该映射信息中引用的端口信息;
(1.4.2)遍历顶层组合组件中包含的所有组装连接线;
(1.4.3)对每个组装连接线,如果其引用的提供端或者接收端的端口和数据映射引用的端口相同,获得对应的组件实例;否则,不处理;
(1.4.4)在系统的软件组件到电控单元映射关系中,查找软件组件实例映射到的电控单元,不是同一个电控单元,则在消息路由表中添加一条记录;否则,不处理;
(1.4.5)数据元素到系统信号的映射关系处理完成后,静态消息路由表完成建立;
2)、消息转发器完成消息转发的工作:
(2.1)消息转发器主线程负责监听各个电控单元节点中CAN Driver的套接字连接请求,并创建子线程用于和每个发出建立连接请求的电控单元节点建立套接字连接;
(2.2)消息转发器等待发送ECU中CAN Driver调用Can_Write发送消息,在消息转发器中发送ECU对应的子线程接收消息,并发送接收应答给CAN Driver;
(2.3)发送ECU对应的子线程查找消息路由表,得到目的ECU对应的子线程,最终目的ECU对应的子线程完成消息转发。
2.根据权利要求1所述的基于消息转发的ECU间通信方法,其特征在于:所述静态消息路由表包含的信息有:源电控单元,目标电控单元,数据元素,系统信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210037193.9A CN102594685B (zh) | 2012-02-17 | 2012-02-17 | 一种基于消息转发的ecu间通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210037193.9A CN102594685B (zh) | 2012-02-17 | 2012-02-17 | 一种基于消息转发的ecu间通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102594685A CN102594685A (zh) | 2012-07-18 |
CN102594685B true CN102594685B (zh) | 2015-01-07 |
Family
ID=46482901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210037193.9A Expired - Fee Related CN102594685B (zh) | 2012-02-17 | 2012-02-17 | 一种基于消息转发的ecu间通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102594685B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3872632A1 (en) * | 2020-02-27 | 2021-09-01 | Mazda Motor Corporation | In-vehicle equipment control device |
JP7532806B2 (ja) | 2020-02-27 | 2024-08-14 | マツダ株式会社 | 車載機器制御装置及び車両制御システム |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104301191A (zh) * | 2013-06-05 | 2015-01-21 | 上海联影医疗科技有限公司 | 总线系统 |
CN103812944B (zh) * | 2014-02-26 | 2017-12-19 | 安徽安凯汽车股份有限公司 | 一种用于电动汽车ecu的远程更新方法 |
CN109117121B (zh) * | 2018-05-08 | 2022-05-27 | 宁波央腾汽车电子有限公司 | 一种autosar软件架构实现方法 |
CN116800557B (zh) * | 2023-08-21 | 2023-12-29 | 成都炎兴自动化技术有限公司 | 一种基于CANOpen应用协议的CAN总线融合通信系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222525A (zh) * | 2008-01-24 | 2008-07-16 | 浙江大学 | 自适应通信主体物理拓扑结构的多ecu消息通信方法 |
CN102092351A (zh) * | 2009-12-10 | 2011-06-15 | 李尔公司 | 用于具有多个接地参考的电子控制单元的嵌入式无线通信 |
-
2012
- 2012-02-17 CN CN201210037193.9A patent/CN102594685B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222525A (zh) * | 2008-01-24 | 2008-07-16 | 浙江大学 | 自适应通信主体物理拓扑结构的多ecu消息通信方法 |
CN102092351A (zh) * | 2009-12-10 | 2011-06-15 | 李尔公司 | 用于具有多个接地参考的电子控制单元的嵌入式无线通信 |
Non-Patent Citations (2)
Title |
---|
"Design of CAN Communication Network in Automobile ECU Testing System";Wen-xiong Wei等;《2010 Second Pacifc-Asia Conference on Circuits,Communications and System(PACCS)》;20100802;第1-3页 * |
"汽车电子节气门控制系统ECU设计及其在ASR控制中的应用";王伟达 等;《现代电子技术》;20090401(第7期);第139-143页 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3872632A1 (en) * | 2020-02-27 | 2021-09-01 | Mazda Motor Corporation | In-vehicle equipment control device |
JP7532806B2 (ja) | 2020-02-27 | 2024-08-14 | マツダ株式会社 | 車載機器制御装置及び車両制御システム |
JP7567172B2 (ja) | 2020-02-27 | 2024-10-16 | マツダ株式会社 | 車載機器制御装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102594685A (zh) | 2012-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102594685B (zh) | 一种基于消息转发的ecu间通信方法 | |
CN109189704B (zh) | 一种通用总线接口适配方法及装置 | |
CN110875850B (zh) | 一种固件升级方法、系统、可读存储介质及终端设备 | |
CN111859832B (zh) | 一种芯片仿真验证方法、装置及相关设备 | |
CN109768970A (zh) | 一种基于可配置的通用协议生成方法 | |
CN113766042A (zh) | 一种容器地址的配置方法、系统、装置、设备及介质 | |
CN102231107A (zh) | 基于autosar的电控单元通信数据格式的自动生成方法 | |
CN104333475A (zh) | 一种基于sdn的网络拓扑发现方法及系统 | |
CN115542875A (zh) | 一种基于soa服务的车辆检测方法及相关设备 | |
CN102984055B (zh) | 一种issu的软重启升级方法和设备 | |
CN105681199A (zh) | 一种车载总线中报文数据的处理方法及装置 | |
CN104866460B (zh) | 一种基于SoC的容错自适应可重构系统与方法 | |
CN106250315A (zh) | 一种可配置化的自动模拟请求应答系统及方法 | |
CN106445611B (zh) | 大数据节点系统及自动部署方法 | |
CN105141484A (zh) | 基于云服务器的安卓设备远程调试方法 | |
CN102611741A (zh) | 从autosar系统配置模型中提取通信矩阵的方法 | |
CN115348126A (zh) | 一种网络靶场实体设备接入方法、装置及实现系统 | |
CN108365976B (zh) | 网络服务的优化方法及装置 | |
JP2001197107A (ja) | アドレス管理装置及びアドレス管理方法 | |
CN113987725A (zh) | 用于核电站dcs透传网络变量逻辑关系自动生成方法 | |
CN103176796A (zh) | 一种在autosar中实现复杂数据到信号组的映射方法 | |
US10459949B2 (en) | System and method for building, verifying and maintaining an ontology | |
CN107968722B (zh) | 一种接口控制文件到afdx网络设备配置文件的转换方法 | |
CN109446146B (zh) | 一种应用层通信协议的状态转换序列生成方法 | |
CN106789449A (zh) | 一种can总线开发与测试方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150107 Termination date: 20220217 |