汽车ECU软件开发之应用层软件与底层软件

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

随着汽车产品日渐趋向电子化人们对各类先进的安全系统、高级驾驶辅助系统的接受程度日益提升。而原本昂贵的盲点检测、自动紧急制动等功能的成本下滑使其快速获得了市场青睐。富士奇美拉研究所Fuji Chimera Research Institute的预测数据显示全球汽车ECU市场正以6.0%左右的年均复合增速增长2027年的市场规模将达到980亿美元以上。

一、汽车ECU软件

汽车ECUElectronic Control Unit又称“行车大脑”其功能可以简单描述为“采集传感器的信号、与其他控制器保持通讯、控制相应的执行器”如图1所示是软件与硬件的复杂组合。其硬件从范围上看包括发动机控制器电机控制器整车控制器等。

▲图1 汽车电子控制系统

从软件方面来看汽车ECU软件可分为三个部分应用层软件Application Software,ASW底层软件Basic Software,BSW和引导程序Bootloader。

1、应用层软件

应用层软件通常由一定数量的“模块”或“单元”组成可以称之为“软件组件”Software ComponentSWC。软件组件不但是应用层软件的核心也是底层软件实现的载体将若干个软件组件组合到一起发挥各自的功能便可构成较为完整的应用层软件。软件组件之间通过端口进行交互每个软件组件包含若干个封装了控制算法的运行实体Runnable Enity可由运行时环境事件Runtime Environment EventRTE Event触发通过复杂的控制逻辑算法实现不同驾驶工况和应用场景下的汽车精准控制。

2、底层软件

底层软件在目前全球范围内普遍认可的汽车嵌入式软件架构AUTOSARAUTomotive Open System ARchitecture下被抽象划分为3个层面分别是服务层Service Layer、ECU抽象层ECU Abstraction Layer、微控制器抽象层Microcontroller Abstraction Layer。从功能来看

服务层诊断内存管理操作系统通信ECU管理

ECU抽象层ECU板上外部设备的驱动内部设备与外部设备的接口I/O

微控制器抽象层MCUMicrocontroller UnitMCU中内部外设的驱动使用MCU内存映射的外部设备的驱动。

▲图2 AUTOSAR架构下的三者关系

3、引导程序

Bootloader, 即启动引导加载程序是系统在上电或复位后运行的第一段程序代码主要功能是将系统的软硬件环境调到一个合适的状态为最终调用应用程序、进入软件做好准备。具体来讲Bootloader是底层硬件与上层应用软件之间的中间接口在汽车ECU中引导加载程序是一个独立的程序在上电时开始执行。它将通过诊断通信链路将应用软件下载到ECU上。下载功能对于在开发、生产和服务期间重新编程ECU至关重要。

二、具体理解

汽车想要拥有自适应巡航能力需要应用层软件ASW和底层软件BSW相互配合。ASW通过实际车速信息来控制油门和制动BSW的职责就是读取并处理速度传感器的数值。为更直观地理解ASW与BSW可以下图为例

▲图3 信号在ECU软硬件之间传递

其中

1.速度传感器输出的是模拟电流信号汽车的速度物理值与该电流值具有映射关系。

2. ECU电子元件将会对速度传感器输出值进行相关处理并传给MCU而MCU需要将其转化为数字信号才能做运算处理即模数转换Analog-to-Digital ConverterADC该过程需要配置模数转换的相关参数。

总的来说BSW需要配置相应传感器的采集模块接收各类传感器信号并进行转换成相应的物理值传输给ASW

  • ASW专注于控制算法来实现车辆的具体功能和性能根据实时的速度等信号去实现自适应巡航控制逻辑和算法。
  • BSW通过配置与硬件相关或者与基本功能相关的参数建立起与ECU硬件的关系获取并处理以及传递各种传感器信号。

三、相关思考

ASW与BSW的相互配合使汽车电子技术成为汽车各方面功能拓展、性能提升的重要技术支撑。在汽车新能源与智能化的浪潮中亚太地区汽车产量不断增大高端化发展趋势明显目前已成为全球最大的汽车ECU市场且未来五年内的需求增速将明显高于全球平均水平市场份额的占比将不断提升与之相应的是汽车电子技术相关的功能需求也将不断增加控制软件将变得越来越复杂。

然而在市场体量及需求不断攀升的情况下汽车ECU软件开发工具的国产化进程却不容乐观国内厂商目前很大程度上仍依赖于Mathworks、NI、西门子等软件。为防止国外软件的断供自主开发刻不容缓解决“卡脖子”问题亟须国产开发工具形成替代从而实现ECU应用软件开发工具链的自主可控。

由迪捷软件完全自主研发的建模仿真与代码生成软件ModelCoder使工程师得以应用基于模型的方法Model-Based Design来设计应用层软件从而打好ASW与BSW的基础解决应用层软件算法复杂程度呈指数增加带来的难题提升软件复用度提高软件开发质量与效率并降低开发风险与成本。

ModelCoder可以通过精确的控制算法或策略来解决车辆实际驾驶工况和应用场景问题

图4 ModelCoder基于模型的应用软件开发

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6