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

news2024/9/23 3:21:40

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

一、汽车ECU软件

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

▲图1 汽车电子控制系统

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

1、应用层软件

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

2、底层软件

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

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

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

微控制器抽象层:MCU(Microcontroller Unit,MCU)中内部外设的驱动,使用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 Converter,ADC),该过程需要配置模数转换的相关参数。

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

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

三、相关思考

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

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/171664.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL算术/比较/逻辑/位/运算符与正则全解

文章目录1. 算术运算符加法与减法运算符乘法与除法运算符求模(求余)运算符2. 比较运算符等号运算符安全等于运算符不等于运算符非符号类型的运算符空运算符非空运算符最小值运算符最大值运算符BETWEEN AND运算符IN运算符NOT IN运算符LIKE运算符ESCAPEREG…

〖金融帝国实验室〗(Capitalism Lab)v8.2.00官方重大版本更新(2023.01.17正式发布)

〖金融帝国实验室〗(CapLab)v8.2.00正式发布! ————————————— ※v8.2.00更新内容摘要: 1.新增生活服务业:快餐店、比萨店、蛋糕店和咖啡店。 2.可以通过在农场周围购买土地并耕耘来实现产能扩容。 3.…

九龙证券|重磅会议召开,工信部强调推进民爆行业高质量发展

工信部强调推动民爆职业高质量开展,民爆概念股午后拉升。 工业和信息化部举行 民爆职业安全出产视频会议 据工信部网站,1月17日,工业和信息化部举行民爆职业安全出产视频会议。 工业和信息化部副部长徐晓兰表明,部党组对安全出…

【Linux操作系统】环境变量和命令行参数

文章目录一.环境变量1.什么是环境变量?2.windows下配置PATH环境变量的原理3.一览常见的环境变量4.指令方式如何查看环境变量5.PATH-存放系统默认搜索路径的环境变量6.两种方法使运行我们写的可执行程序不带路径二.环境变量和本地变量三.和环境变量相关的命令1.echo:…

元组的操作

1 元组的定义: 元组就是用一对小括号括起来的多个元素的有序集合,个元素之间用逗号隔开。 2 元组的创建: 2.1 使用()创建元组对象。例:lt(12,34,"one") 2.2 使用内置方法tuple创建元组对象。…

mysql 为什么说加上了索引,查询速度就快了呢?(文末附视频)

一天,老板跟我们提出说网站访问的速度太慢,要求我们尽快优化一下。我赶快去查询了一下,发现有几条 SQL 查询的时间异常,我相信这个时候很多小伙伴的大脑里浮现出来的第一个解决办法就是:加索引。 那么到底什么是索引呢…

字符加密-C语言实现

任务描述 请编写程序将一串5个字符组成的英文字符串译成密码,规则为:例如,将“China”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如,字母A后面第4个字母是“E”,用“E”…

虚拟电厂负荷控制系统三维可视化监控 | 数字孪生

随着国家“双碳”及“构建以新能源为主体的新型电力系统”等目标的提出,清洁化、数字化越来越成为电力系统面临的迫切需求,负控系统的发展对电力营销现代化建设具有重要的意义。负控管理系统是一个着眼于全面加强电力信息管理的,集负荷控制、…

FMC子卡设计方案原理图:FMC550-基于ADRV9002双窄带宽带射频收发器FMC子卡

FMC550-基于ADRV9002双窄带宽带射频收发器FMC子卡一、产品概述 ADRV9002 是一款高性能、高线性度、高动态范围收发器,旨在针对性能与功耗系统进行优化。该设备是可配置的,非常适合要求苛刻、低功耗、便携式和电池供电的设备。ADRV9002 的工作频率为 …

我的2022年度总结

今天是腊月廿七,又到了写年度总结的时候了,这是写年度总结的第七个年头,希望可以一直坚持写下去。今年是新冠疫情的第三年,疫情管控结束了,同时疫情流行也开始了。我在北京刚全面放开的时候就阳了。用了差不多一周多的…

Go 语言就是在“面向未来”学习(文末附视频)

你好,欢迎学习 Go 语言! 我们知道,Go 程序设计语言是由 Robert Griesemer、Rob Pike、Ken Thompson 主持,于 2007 年末开始开发的全新高级编程语言。在 2009 年 11 月开源,并于 2012 年发布了第一个稳定版本&#xff…

基于OpenCv的人脸识别,翻车了居然识别错误。

前言 我们身边的人脸识别有车站检票,监控人脸,无人超市,支付宝人脸支付,上班打卡,人脸解锁手机。 人脸检测是人脸识别系统组成的关键部分之一,其目的是检测出任意给定图片中的包含的一个或多个人脸&#xf…

23种设计模式(十)——原型模式【对象创建】

原型模式 文章目录 原型模式意图什么时候使用原型真实世界类比原型模式的实现原型模式的优缺点亦称:克隆、Clone、Prototype 意图 原型模式属于对象的创建模式。通过给出一个原型对象来指明所有创建对象的类型,然后用复制这个原型对象的方法创建出更多同类型的对象。这就是原…

Tailscale 开源版中文部署指南

目前国家工信部在大力推动三大运营商发展 IPv6,对家用宽带而言,可以使用的 IPv4 公网 IP 会越来越少。有部分地区即使拿到了公网 IPv4 地址,也是个大内网地址,根本不是真正的公网 IP,访问家庭内网的资源将会变得越来越…

大模型算法演进

分布式训练系统包括多个组成部分,如AI集群架构、通信机制、并行技术等。基于这些内容,我们可以设计出不同的大模型算法。下面我们简单讲述下大模型的发展脉络,大模型的结构以及SOTA大模型算法。 大模型发展脉络 随着2017年Transformer结构的提…

中国区域创新能力指数《中国区域创新能力报告》

一、《中国区域创新能力评价报告》2002-2021年 《中国区域创新能力报告》旨在对中国各省、直辖市、自治区的创新能力做一个客观、动态和全面的评价。该报告通过大量的数字和科学的分析框架,对中国区域创新总的能力做了一个较全面的分析,并对各省、直辖市…

与 AI 生成的历史人物聊天是怎样的体验? #Hello History

采用 AI 技术的聊天机器人正在被越来越多的人熟知。近期,一款能够与历史人物对话的软件出现,与古今中外的历史人物对话成为现实!会有哪些令人惊叹的强大功能?Hello HistoryHello History 是一款基于人工智能的应用,用户可以与历史…

Redis6学习笔记【part1】安装与启动

redis6学习笔记 1.NoSQL数据库 NoSQL Not Only SQL,不仅仅是SQL,泛指非关系型数据库。NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力。 特点:不遵循SQL标准、不支持ACID&…

力扣sql简单篇练习(一)

力扣sql简单篇练习(一) 1 大的国家 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 SELECT name,population,area FROM World WHERE area>3000000 OR population>250000001.3 运行截图 2 组合两个表 2.1 题目内容 2.1.1 基本题目信息 2.1.2…

【数据结构】速速收藏,一文带你参透双向链表各接口实现

目录 🥕前言🥕: 🌽一、双向链表概述🌽: 1.双向链表概念: 2.双向链表结构: 🍆二、双向链表接口实现🍆: 1.工程文件建立: 2.接口…