基于 AUTOSAR 的电动汽车中央控制单元 CAN 通信软件开发

本文由董碧成,石春,吴刚联合创作

摘要

随着人们对于汽车安全性和舒适性要求的日益提高,汽车电子技术不断发展,日益复杂的汽车功能需求使得汽车 ECU 软件代码量急剧增加。软件与硬件之间的高度耦合使得开发工作大量重复且复用性低,极大增加了企业研发和维护成本。以 AU-TOSAR 架构为基础,进行以电动汽车中央控制单元为硬件平台的 CAN  通信模块软件开发,提升软件的复用性和开发效率,降低软件更新和硬件升级的研发成本。

引言

随着汽车电子技术的发展,其应用取代了大部分传统的机械部件,逐步深入到汽车的各个角落,成为驱动汽车执行动作的核心。日益复杂的功能需求,使得 汽车 ECU ( Electronic Control Unit) 数量逐渐增加。ECU 的软件代码量也随着功能的增加日趋庞大,软件维护和管理工作繁重。与此同时,每当硬件升级或更换硬件平台时,软件需要进行大量地修改甚至重新设 计,使得软件开发周期延长,开发成本大大提高。

在此背景下,全球最大规模的几家汽车企业、零部件供应商以及电子、半导体、软件系统公司,于 2003 年联合成立了一个汽车开放系统架构联盟———AUTO- SAR( AUTomotive Open Source ARchitecture) 联盟,并

推出了一个开放化、标准化的汽车嵌入式系统软件架构———AUTOSAR 规范。其主要目标涵盖了软件升级更新、开发可重用软件、加快软件开发维护以及优化可扩展系统成本等多个方面,较好地解决了 ECU 软件开发过程中的突出问题。

1 AUTOSAR介绍

AUTOSAR 采用模块化的分层软件设计,从软件架构视图角度可分为应用层、运行时环境和基础软件层, 如图 1 所示。应用层由软件组件单元构成,包含与硬件无关的应用软件组件、传感器软件组件和执行器软件组 件等。运行时环境为系统提供基础的通信服务,支持应 用层软件组件之间的通信,以及应用层软件组件到下层 基础软件层之间的通信,运行时环境将应用层软件与下层基础软件层分割开来。基础软件层主要提供基础软件服务、标准化系统功能和应用接口,由服务层、ECU 抽象层、微控制器抽象层和复杂驱动组成。

1640856250(1).png

图 1 AUTOSAR 分层软件架构

AUTOSAR 架构通过将硬件层进行抽象,得到微控制器抽象层,隐藏了硬件接口细节,达到将硬件与上层软件分离的效果,实现水平层解耦。当 ECU 硬件平台进行更新换代时,只需要将微控制器抽象层接口函数进行修改,上层代码可以实现复用,大大减少了开发时间和成本,提升了软件的复用性。

2 CAN通信模块设计分析

2.1    CAN 通信模块软件架构

CAN 通信模块包括了 AUTOSAR COM、PDU  Rout- er、CAN Interface 和CAN Driver 几个模块。根据AUTO- SAR 分层设计思想和 AUTOSAR 规范对 CAN 通信模块设计的要求,设计出如图 2 所示的软件框架。OSEK OS 是个静态的实时操作系统,主要为应用层软件提供服 务,在 CAN 通信中为需要周期执行的函数提供服务。OSEK OS 位于系统服务层,操作系统需要直接操作下层硬件,贯穿了 ECU 抽象层和微控制器抽象层。

1640856291(1).png

图 2 CAN 通信软件框架

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值