罗朗,王志强,于阔,朱联邦,许宽林,尹爱霞
摘 要:日趋复杂的汽车电子系统所带来的开发和维护成本,成为众多汽车电子企业面临的难题,AUTOSAR技术成为这一难题最有效的解决方案,其目的是建立标准的软件架构,并定义统一的标准接口,实现软硬件的分离。文章按照AUTOSAR基础软件的开发规范和开发要求,开发了基于MSCAN硬件模块的驱动层和接口层。文章介绍了符合AUTOSAR规范的通信模块开发技术,然后结合整车VPC(真空泵控制器)CAN通讯程序对驱动层和接口层进行进一步阐述。通过实车验证测试,结合通信程序应用层应用实例,更直观的领悟到软硬件分离的益处。
关键词:AUTOSAR;硬件;软件;CAN
中图分类号:U463.6 文献标识码:A 文章编号:1671-7988(2019)23-114-04
Application of VPC controller CAN communication program based on
AUTOSAR specification in the whole vehicle
Luo Lang, Wang Zhiqiang, Yu Kuo, Zhu Lianbang, Xu Kuanlin, Yin Aixia
( Technology Center, Anhui Jianghuai Automobile Co., Ltd., Anhui Hefei 230601 )
Abstract: The development and maintenance cost of the increasingly complex automotive electronic system, Become a problem faced by many automotive electronic enterprises, AUTOSAR technology is the most effective solution to the problem, Its purpose is to establish a standard software architecture, And define unified standards, Separation of hardware and software. According to the development specifications and requirements of AUTOSAR basic software, the driver kayer and interface layer based on MSCAN hardware module are developed. This paper introduces the development technology of communication module in accordance with AUTOSAR specification. Then combining with the can communication program of the vacuum pump controller, the driving layer and the interface layer are further elaborated. Pass the real vehicle verication test, combined with the application layer instance of communication program, the benefits of hardware and software seperation can be realized more intuitively.
Keywords: AUTOSAR; Hardware; Software; CAN
CLC NO.: U463.6 Document Code: A Article ID: 1671-7988(2019)23-114-04
引言
电子技术在汽车上的应用几乎无处不在,电子设备的增多使汽车电子的复杂度呈指数增长,为减少软件的重复开发,降低维护成本,AUTOSAR规范應运而生。
CAN模块是汽车应用的多节点通讯总线,具有传输速率高、抗干扰能力强、实时性好等优点,是当前汽车最常用的通讯方式.但其具有软件复杂性较高的特点。
1 AUTOSAR模块介绍
AUTOSAR架构由应用软件组件(SW-Cs)、虚拟功能总线(VFB)、运行实时环境(RTE)和电控单元基础软件(BSW)栈构成的分层结构,如下图所示:
图1 AUTOSAR框架结构图
AUTOSAR的基本设计概念是实现应用软件组件(SW-Cs)与基础软件(BSW)的隔离,顶层为应用层,是相互交互的应用/应用软件组件的集合;底层为微控制器硬件;中间层由AUTOSAR运行时环境(RTE)和一套完整的被称为AUTOSAR BSW的基础软件栈组成,作为独立于硬件的应用软件集成平台。
1.1 AUTOSAR应用层
AUTOSAR应用层是相互交互的应用/功能软件组件的集合,应用层是通过多个不可分割的SWC组成的,SWC通过AUTOSAR规范的端口连接到RTE(运行实时环境)上,完成信号和数据的传输。SWC将系统模块化,减少模块间的耦合,并且抽象出系统各模块间的数据流和服务调用关系。AUTOSAR支持多ECU系统,设计时需要将SWC映射到合适的ECU上。
图2 多ECU的应用层及SWC结构
1.2 AUTOSAR运行实时环境(RTE)
RTE层作为ECU内外部信息交换的中心,通过提供一致的接口服务实现通信。其功能包含:内部/外部通信,客户端与服务器之间的通信,显性和隐形数据访问等。
RTE为每个ECU实现VFB的标准接口,提供组件间通信的基础服务,使组件访问BSW资源更加容易。下图为RTE与其上层应用软件和下层BSW之间的连接关系。
图3 RTE连接关系结构图
1.3 AUTOSAR基础软件层(BSW)
BSW位于RTE以下,由标准组件及ECU特定组件组成,BSW的栈设计采用了逐层抽象的策略,从上到下可分为服务、ECU抽象和微控制器抽象三个层次,每一层均向其上层组件屏蔽了下层的实现细节,以提高BSW组件的可重用性。BSW采用的是模块化设计方法,模块化设计可以很方便的根据不同的要求,对模块进行选择和组合,以构成不同功能、或功能相同但性能不同、规格不同的产品。BSW定义了所用RTE调用的相关接口,因为这些接口都是AUTUSAR的标准接口,所以开发人员可以对硬件一无所知的情况下进行应用组件的开发,并将这个组件应用在任何符合AUTOSAR标准的ECU中,从而实现应用组件的配置开发与底层硬件平台相互独立,BSW将硬件资源进行抽象和封装,通过标准的接口提供给RTE层,给应用层使用。
2 AUTOSAR标准的CAN通信模块结构
飞思卡尔公司为主流汽车控制芯片供应商,为降低CAN模块的使用难度,飞思卡尔公司将CAN控制器模块集成到控制器内部,可应用于整车的车身控制单元、电动助力转向控制单元、刹车控制单元及电子驻车控制等模块有着广泛应用。
2.1 CAN驱动层功能及结构
CAN通讯层处于AUTOSAR通信协议栈的微控制器抽象层,为基础软件的最低一层,它与硬件直接交互,CAN驱动层向接口层提供规范的API(Application interface),同时还根据自身的硬件特征,向CAN接口层报告硬件事件和当前控制器的状态,实现上层对硬件资源的无差别管理和控制。
2.2 CAN接口层功能及结构
CAN接口层位于CAN驱动层之上,它调用CAN驱动层的API实现硬件资源的控制和使用,同时CAN接口层向上对应用层提供了相应的访问接口,应用层通过接口层访问和接收发送的数据,查询接口层所管理的硬件资源,方便应用层软件的移植。
3 VPC控制器CAN模块结构
VPC控制器应用飞思卡MC9S08DZ60芯片。
3.1 驱动层结构参考AUTOSAR规范进行开发,其应用函数名称如下
图4 驱动层基础函数
3.2 接口层结构参考AUTOSAR规范进行开发,其应用函数名称如下
图5 接口层基础函数
3.3 由于CAN驱动层及接口层函数结合芯片及AUTOSAR规范统一开发
并且其函数运行过程中不存在实参,因此在实践应用中无需对其进行修改,只需对相应的应用层进行修改即可实现CAN模块程序的应用。
3.4 VPC控制器CAN数据接收应用实例
CAN模块的驱动层通过滤波,过滤掉不需要的ID部分,若ID匹配,则将数据传输到接口层,接口层将上述信息传输到应用层,应用层中相应的接收函数对应唯一的ID值,使用过程中只需根据ID数量及接收函数名称对接收函数进行扩展,即可实现总线上不同节点ID的接收。
图6 接口层ID扩展函数
CAN模块应用层每增加一组ID,接收函数则需要增加下述的应用层扩展函数,下述应用层扩展函数对应CAN矩阵的排布方式,同样CAN矩阵的DBC需要同步更改。
图7 应用层扩展函数1
图8 应用层扩展函数2
图9 DBC排列方式
3.5 VPC控制器CAN数据发送应用实例
CAN控制器发送程序可发送实时实参,写入相应的CAN矩阵即可。无需其他操作。
3.6 对上述更改后的CAN接收及CAN发送程序进行修改
用FreescaleCodewarriorV6.3版本软件进行编译,生成S19文件后刷写入整车程序,可实现扩展ID信息的接收和读取。
4 结论
通过上述基于AUTOSAR架构的VPC软件验证可发现,对CAN模块应用软件实现驱动层、接口层及应用层的分层设计,应用过程中只需要根据DBC修改其接口层及应用层扩展函数,而无需对其驱动底层函数进行修改,即可实现既定的功能。软硬件分层设计,不但降低了软件的开发和维护成本,而且实现了软件的集成度及平台化,对电子电器行业的发展具有重大意义。
参考文献
[1] 徐钦鹏.基于AUTOSAR车载以太网通信的实现[J]机电一体化2018,(10).
[2] 罗茂元.电子机械式制動系统电子通讯网络CAN总线物理层设计[J]汽车世界2019,(3).
[3] 李威.基于CAN总线下串口通讯在车载监测中的应用[J].工业控制计算机2019,(2).
[4] 袁伟杰.长城C50轿车加装导致CAN网络通讯故障的排除[J].汽车与驾驶维修2019,(3).
[5] 乔美昀,韦天文,基于AUTOSAR架构的汽车诊断通信协议栈的开发[J].企业科技与发展2018,(7).