CN102594685B - 一种基于消息转发的ecu间通信方法 - Google Patents

一种基于消息转发的ecu间通信方法 Download PDF

Info

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
control unit
electrical control
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
Application number
CN201210037193.9A
Other languages
English (en)
Other versions
CN102594685A (zh
Inventor
顾宗华
吴朝晖
耿莉莉
孙征
郭徐
姜旭锋
杨国青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201210037193.9A priority Critical patent/CN102594685B/zh
Publication of CN102594685A publication Critical patent/CN102594685A/zh
Application granted granted Critical
Publication of CN102594685B publication Critical patent/CN102594685B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明涉及汽车电子软件开发技术领域,尤其是涉及一种基于消息转发的ECU间通信方法,通过对AUTOSAR系统配置中的系统映射信息进行分析,提取建立系统中静态消息路由表,利用建立好的静态消息路由表,提出一种软件实现ECU之间消息通信的方法,即基于消息转发的ECU间通信方法。基于CAN总线“仲裁机制”的消息广播特点,用软件的方法模拟CAN总线收发CAN帧实现ECU间通信。本发明降低了传统的在开发完成生成可执行代码后,在真实的环境和ECU硬件平台上运行带来的昂贵代价,提高了AUTOSAR的开发速度。

Description

一种基于消息转发的ECU间通信方法
技术领域
本发明涉及汽车电子软件开发技术领域,尤其是涉及一种基于消息转发的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间通信方法,其特征在于:所述静态消息路由表包含的信息有:源电控单元,目标电控单元,数据元素,系统信号。
CN201210037193.9A 2012-02-17 2012-02-17 一种基于消息转发的ecu间通信方法 Expired - Fee Related CN102594685B (zh)

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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3872632A1 (en) * 2020-02-27 2021-09-01 Mazda Motor Corporation In-vehicle equipment control device

Families Citing this family (5)

* Cited by examiner, † Cited by third party
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软件架构实现方法
JP2021135806A (ja) * 2020-02-27 2021-09-13 マツダ株式会社 車載機器制御装置及び車両制御システム
CN116800557B (zh) * 2023-08-21 2023-12-29 成都炎兴自动化技术有限公司 一种基于CANOpen应用协议的CAN总线融合通信系统

Citations (2)

* Cited by examiner, † Cited by third party
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 李尔公司 用于具有多个接地参考的电子控制单元的嵌入式无线通信

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3872632A1 (en) * 2020-02-27 2021-09-01 Mazda Motor Corporation In-vehicle equipment control device

Also Published As

Publication number Publication date
CN102594685A (zh) 2012-07-18

Similar Documents

Publication Publication Date Title
CN102594685B (zh) 一种基于消息转发的ecu间通信方法
CN206363155U (zh) 汽车故障远程诊断系统
CN102346477A (zh) 一种基于autosar故障诊断通信协议的解析方法和设备
US11329889B2 (en) Generating and implementing a platform-neutral cloud-native application model
CN102231107B (zh) 基于autosar的电控单元通信数据格式的自动生成方法
CN106302759A (zh) 一种智能车载多媒体系统及方法
CN102611741B (zh) 从autosar系统配置模型中提取通信矩阵的方法
CN115348126A (zh) 一种网络靶场实体设备接入方法、装置及实现系统
CN109684148B (zh) 一种基于arinc653的机载嵌入式软件虚拟总线通信构建方法
CN113821440B (zh) 一种VxWorks应用软件测试方法、系统及模拟器
CN105141484A (zh) 基于云服务器的安卓设备远程调试方法
CN106708764A (zh) 一种机载航电系统通用io处理系统
CN106789449A (zh) 一种can总线开发与测试方法及系统
CN107968722B (zh) 一种接口控制文件到afdx网络设备配置文件的转换方法
CN103888462A (zh) 基于局部偏序规约的控制器局域网模型验证方法
CN107579871B (zh) 基于模型检测的分布式测试脚本的生成方法与生成系统
CN103188117B (zh) 信息交互服务器仿真测试装置及方法
CN103281160B (zh) 一种控制器局域网帧传输验证方法
CN103176904B (zh) 一种仿真测试平台软件架构及基于该架构的测试方法
CN115842861A (zh) 边缘连接设备适配方法、装置及计算机可读存储介质
JP2023531701A (ja) 効率的コントローラデータ生成および抽出
Jansen et al. Testbeds for IT systems in tactical environments
CN107895075B (zh) 一种开发机载总线通用仿真框架的方法
CN102801571A (zh) 一种FlexRay总线物理层测试方法
Xu et al. A cloud based information integration platform for smart cars

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

Granted publication date: 20150107

Termination date: 20220217

CF01 Termination of patent right due to non-payment of annual fee