韩 峰
(华晨汽车工程研究院,辽宁 沈阳 110411)
汽车开放系统架构(AUTOSAR)的通讯机制研究
韩 峰
(华晨汽车工程研究院,辽宁 沈阳 110411)
摘 要:AUTOSAR是汽车开放系统体系结构,现已成为汽车电子软件的工业标准之一。在汽车电子控制系统开发过程中,AUTOSAR标准制定了完整的通讯规范即AUOTOSAR COM其中也包括数据类型和数据属性机制的定义。AUOTOSAR COM的实现,简化和规范了在软件开发过程中通讯控制和总线管理的设计方法。文章主要介绍了AUTOSAR体系结构,并对AUTOSAR基于信号的通讯机制AUOTOSAR COM及其特有的数据控制机制进行了深入的研究。
关键词:汽车开放系统;AUTOSAR COM;数据控制
10.16638/j.cnki.1671-7988.2016.03.033
CLC NO.: U463.7 Document Code: A Article ID: 1671-7988(2016)03-97-03
汽车电子是车体汽车电子控制装置和车载汽车电子控制装置的总称。由于汽车电子控制系统由多个电子控制单元(ECU)组成,各ECU之间功能独立且安装位置独立,彼此之间通过总线通讯的方式来实现联合工作和相互制约。但目前在汽车电子控制领域有多种总线机制,每种总线的原理、通讯方式、使用侧重点各不相同,因此需要一种能够基于多种总线的通讯机制来实现网络管理的统一性和规范性,同时这也是汽车电子通讯机制发展的方向,而Autosar COM的技术特性就非常符合这一发展趋势。
Autosar即汽车开放系统架构(Automotive Open System Architecture)是由全球汽车制造商、部件供应商及其它电子、半导体和软件系统公司联合建立,各成员保持开发合作伙伴关系。Autosar这种架构非常有利于汽车电子系统软件的交换与更新,并为高效管理愈来愈复杂的汽车电子软件系统提供了一个基础。此外,Autosar在确保产品及服务质量的同时,也大大提高了开发成本效率。
Autosar采用分层的体系结构,如图1所示,从上至下依次为应用层、RTE层、服务层、ECU抽象层、微控制器抽象层、还有复杂驱动模块。应用层按功能可以划分为多个模块,每个模块可以有多个SWC(Software Component),各SWC之间通过VFB(Virtual Function Bus)进行通讯和数据的交换,如图2。
图1 Autosar分层示意图
图2 VFB示意图
在系统运行过程中,下层为上层提供接口,上层对下层通过统一的接口对下层资源进行调用和操作。
通常我们把RTE层以下各层统称为底层。Autosar架构是一种至上而下的开发方式,首先根据系统需求由设计者定义所需要的数据信息、硬件资源和接口,并实现需求的模型化。之后底层软件根据该模型的描述文件,进行底层资源的配置并通过映射的方法使应用层与其所要使用的硬件资源一一对应。底层所生成的接口函数不再需要任何的修改便可以直接被应用层调用。
AutosarCOM是Autosar标准的一部分,它是在OSEK COM的基础上发展而来的。AutosarCOM提供了一种标准化的访问ECU通讯系统的方法,它可以在不同的总线网络之间进行数据交换而无需考虑它的通讯速率。
AutosarCOM提供基本的通讯服务,它的操作对象为逻辑数据单元(PDU),PDU是服务层数据的实体化,同时AutosarCOM向上层RTE层提供接口,以实现服务层与AutosarCOM的通讯。
I-PDU(Interaction Layer Protocol Data Unit)是两个网络结点间进行数据传输的信息载体。在接收过程中,当数据链路层接收到数据时,调用COM提供的接口函数将数据进行解包,并直接把数据从底层复制到COM中并更新I-PDU,之后将该I-PDU中的数据再经过数据重组后保存到应用层。
在发送过程中,应用层可以直接调用COM层提供的接口函数,由交互层将数据进行打包后保存到I-PDU中,之后再将I-PDU中的数据通过数据链路层发送到底层。
在AutosarCOM中定义了数据传输方式与传输数据信息的类型和属性,但不对具体实现方法进行限制。
3.1 信号接收的实现
图3 Autosar COM接收处理流程图
在信号的接收处理过程中,当系统接收到数据信号时,首先判断该信号是内部信号还是外部信号。如果该信号为内部信号,则将该数据进行系统内部接收处理,AutosarCOM直接将信号数据复制到信号数据接收区。如果是外部信号,则将该数据进行系统外部接收处理。首先判断对应的I-PDU组是否已经启动,如果启动,返回E_OK(启动成功返回值,布尔型),否则返回COM_STOP(未启动成功返回值,布尔型),取消并重启I-PDU的相关超时监测定时器,将数据复制到I-PDU数据区,I-PDU中的数据按在AutosarCOM中已定义的数据属性进行处理,之后将重组的数据复制到接收信号数据区,再向上层发送数据处理结束消息,之后上层软件就可以调用相关API函数(API函数已在AutosarCOM中定义,设计者可按需求进行选择)进行信号的接收和处理。具体接收流程如图3。
3.2 信号发送的实现
图4 Autosar COM发送处理流程图
在信号的发送处理过程中,首先根据该信号的属性判断是内部信号还是外部信号。如果该信号为内部信号,则将该数据进行系统内部发送处理。在系统内部发送处理机制中,系统无需做任何操作可直接将数据复制到数据发送数据区,并发送数据处理结束消息通知上层。如果该信号为外部信号,则将该数据进行系统外部发送处理。在系统外部发送处理过程中,首先要判断该信号是否为触发发送模式,若该信号为触发模式则立即发送该信号,将该信号数据保存到对应的I-PDU中,同时修改该I-PDU的数据更新信息。若该信号为延迟发送模式,则该信号不符合立即发送条件,系统不发送该信号,并返回到发送列表中直到检测该信号延迟结束。当检测到I-PDU中的数据为有效状态时(该状态由读取I-PDU更新信息确定),系统启动相关定时器进行超时检测。当未检测到该信号发生超时错误时,发送机制将立即发送该信号,否则返回。具体发送流程如图4。
AUTOSAR架构提供了一种层次化、单元化的软件开发方法,虽然AUTOSAR发展时间不长但是其规范、灵活的软件开发方法被越来越多的汽车厂商、部件供应商等所青睐。可以说Autosar架构与未来汽车电子行业发展的需求是相一致的。因此对Autosar架构的研究、应用和开发将是汽车电子发展的主流方向。
参考文献
[1] EB.EBtresos:TheProductFamilyfortheDevelopmentofECUSoftware [EB/OL].http://www.elektrobit.com/what_we_deliver/automotive_s oftware/products.[J].
[2] URL:http://www.autosar.org
[3] 周海娟.参照AUTOSAR标准的总线通信协议栈的设计与实现[D].杭州:浙江大学,2008.
[4] 鲍威.基于AUTOSAR标准的ECU配置工具[D].杭州:浙江大学, 2010.
[5] 郭晞文.参照AUTOSAR标准的汽车电子通信与应用[D].杭州:浙江大学,2008.
Research of Communication System Based On Autosar Architecture
Han Feng
(Brilliance Auto R&D Center, Liaoning Shenyang 110141)
Abstract:Autosaris automotive open system architecture,now it has been one of the industry standard of the automotive electronic software.In the process of automotive electronic control system development,the standard of the Autosarestablishs a complete specification of communicationwhich is called AutosarCOM,and it also includes the definition of data types and mechanism of data attributes.The implementation of the AutosarCOM,simplifies and standardizes the communication control in the process of software development and the designs method of bus management.This article mainly introduces architecture of the Autosar, the Autosarcommunication mechanism based on signal AutosarCOM and unique data control mechanism carries on the thorough research.
Keywords:Automotive open system architecture; AutosarCOM; Data control
作者简介:韩峰,就职于华晨汽车工程研究院。
中图分类号:U463.7
文献标识码:A
文章编号:1671-7988(2016)03-97-03