电子电器架构车载软件 —— 集中化架构软件开发

电子电器架构车载软件 —— 集中化架构软件开发

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:

屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节能减排。
无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事.而不是让内心的烦躁、焦虑、毁掉你本就不多的热情和定力。

文章大体有如下内容:

1、AUTOSAR通过软件模块化助力车内软件开发迭代

2、从CP演化到AP以适应自动驾驶兴起和车载以太网

一、AUTOSAR通过软件模块化助力车内软件开发迭代

AUTOSAR 助力车内通信架构软硬解耦、降低软件开发复杂度、增强可扩展性。AUTOSAR(Automotive Open System Architecture/汽车开放系统架构)是一个汽车电子系统的合作开发框架, 由全球多家汽车制造商、零部件供应商以及研究服务机构共同参与,并建立了一个开放的汽车控制器( ECU)标准软件架构。 其核心功能之一为软硬件分离, 提供了符合车规的标准化应用编程接口( API),并具有很高的可扩展性。 AUTOSAR 将软件划分为可独立开发的模块, 再通过一个高度自动化、功能强大的配置工具将这些不同的功能模块组合在一起,从而大大简化软件开发难度和成本。

另外,AUTOSAR对汽车行业的作用主要体现在以下几个方面:

-> 标准化和开放性:AUTOSAR作为一个开放的软件架构标准,统一了汽车电子软件的开发标准,使得不同供应商的软件可以在同一平台上进行集成和交互,提高了软件的互操作性和可替换性。

-> 降低成本和复杂性:AUTOSAR简化了汽车电子软件的联合开发过程,降低了开发成本和复杂性。通过AUTOSAR的分层架构,可以将复杂的系统划分为不同层次的模块,降低了开发难度,提高了开发效率。

-> 提高软件质量和可靠性:AUTOSAR引入了模块化、标准化的软件开发流程,提高了软件的质量和可靠性。同时,AUTOSAR还提供了强大的故障处理和安全机制,进一步提高了系统的安全性和可靠性。

-> 促进供应链协同:AUTOSAR为汽车制造商和供应商提供了一个统一的沟通语言和标准,促进了供应链之间的协同和合作。通过AUTOSAR,各供应商可以更加高效地参与到整车电子系统的开发和集成中来,提高了整个供应链的效率和灵活性。

-> 推动技术创新:AUTOSAR的开放性和标准化特性,吸引了众多汽车制造商和供应商的参与,推动了技术创新和产业升级。通过AUTOSAR,各成员可以共同研发新的软件技术和解决方案,提高了整个行业的竞争力和创新能力。

image

AUTOSAR 可显著降低汽车软件的开发难度和开发成本。 AUTOSAR 提供的软件开发框架可促进车载软件的可移植性和可组合性。 通过标准化应用程序软件功能之间的接口和基本功能的接口、定义ECU软件参考架构、将分布式开发过程的数据交换格式标准化, AUTOSAR 能够优化车内通信网络,促进来自不同供应商的组件的集成,跨平台组件的使用,以及故障控制方式的系统化,从而促进整个行业效率的提升和技术进步。

二、从CP演化到AP以适应自动驾驶兴起和车载以太网

AUTOSAR CP的软件架构定义了三个于ECU上执行的软件层:应用层( SWC)、运行时环境(RTE)和基础软件(BSW)。

-> 应用层SWC独立于硬件,用于实现 ECU的功能,执行传感器/执行器功能;

AUTOSAR的SWC(Software Component)是AUTOSAR架构中的一个核心概念,它是一个功能独立的软件单元,可以在不同的ECU(Electronic Control Unit)上运行。SWC由AUTOSAR描述文件(ARXML)定义,并通过AUTOSAR的代码生成工具生成代码。

SWC的核心功能是通过输入和输出端口与其他SWC或底层软件组件(BSW)交互,同时也可以使用内部端口进行内部通信。每个SWC都具有一些特定的功能,如传感器数据处理、控制算法、用户界面等等。每个SWC都需要定义其输入输出接口,以及其它自述和控制接口,这些接口都要符合AUTOSAR定义的规范。

AUTOSAR的SWC是实现汽车电子软件模块化、标准化和开放性的重要基础,有助于提高软件的开发效率、质量和可靠性,促进供应链协同,推动技术创新和产业升级。

-> RTE是架构的通信媒介,SWC与其他SWC以及与 BSW模块通过RTE进行通信;此外 RTE 也是车辆应用软件访问ECU功能的网关;

AUTOSAR RTE(Run-Time Environment)是AUTOSAR软件架构中的一个关键模块,它是实现AUTOSAR虚拟功能总线(VFB)接口的实体。RTE主要提供基础设施服务,用于实现不同SWC(Software Component)之间的通信,以及SWC对BSW(Basic Software)资源的访问。

RTE通过提供标准化的接口和服务,使得不同的软件组件可以方便地进行通信和互操作。它实现了SWC间的通信和SWC的调度,同时也管理了Runnable的触发机制。在AUTOSAR架构中,RTE处于应用层和基础软件层之间,起到了连接两者的重要作用。

RTE不仅支持源码类型的SWC,也支持目标代码类型的SWC。不过,RTE并不支持运行时的重新配置,所有通信在配置生成后都是静态的。

AUTOSAR RTE的作用是实现AUTOSAR虚拟功能总线(VFB)的接口,从而为应用程序软件组件之间的通信提供基础设施服务,并促进对包括操作系统(OS)在内的基础软件组件的访问。

RTE位于AUTOSAR软件架构的中间层,介于应用层和基础软件层之间。它封装了基础软件层的通信和服务,例如操作系统的任务激活、等待等功能,基础软件模块管理、ECU状态管理等服务,实现了对软件生命周期的控制。

此外,RTE还抽象了ECU之间的通信,使用标准化的接口将其统一为软件组件间的通信,使得ECU间的通信如同ECU内部通信。为了满足实时性、可靠性以及数据的一致性要求,RTE向软件组件和基础软件提供两种机制:通信机制和并发机制。

-> BSW模块提供基本的标准服务,例如总线通信、存储管理、IO访问、系统和诊断服务等。

AUTOSAR BSW(Basic Software)是AUTOSAR软件架构中的基础软件层,为各软件模块提供服务,并不实际完成功能。BSW是标准软件层,为应用层提供基础服务,包括ECU抽象层、微控制器抽象层、复杂驱动等。

image

微控制器抽象层(MicroController Abstraction Layer)是对MCU芯片的抽象和封装,主要实现MCU外设驱动,如I/O驱动、Flash驱动、Can驱动、看门狗驱动、定时器驱动等。这一层与硬件打交道,高度依赖MCU硬件。

ECU抽象层使上层软件与ECU硬件设计无关,包含ECU板上外部设备的驱动,内部设备与外部设备的接口(I/O)服务。

服务层位于BSW的最上面,将各种基础软件功能以服务的形式封装起来,供应用层调用。服务层包括RTOS、通信与网络管理、内存管理、诊断服务、状态管理、程序监控等服务。

AUTOSAR将一些基础软件封装成包,使得用户只需要关注上层应用层的开发,从而提高效率。这种分层架构有利于提高软件复用度,便于软件的交换与更新,能减少开发错误,提高软件质量。

随着汽车SOA架构的广泛接受及车内EE架构的演化,自动驾驶和以太网等新概念的应用,AUTOSAR推出了全新的自适应平台以适配相应的软件发展需求。

image

AUTOSAR AP与AUTOSAR CP相互补充,但更加熟悉AP的整车厂和供应商将具备一定的竞争优势。AUTOSAR AP 的推出并不是为了替代AUTOSAR CP——它们针对不同的应用程序且相互补充。

-> AUTOSAR CP主要应用于具有硬实时要求和低带宽通信的安全关键系统,在低资源硬件上实施;

-> AUTOSAR AP则针对高性能、低关键性、具有高带宽和OTA要求的系统。

从目前趋势来看,AUTOSAR AP有望接管自动驾驶、连接和信息娱乐等领域,AUTOSAR CP仍将是动力总成和底盘等传统汽车领域的首选平台。而自动驾驶、智能座舱、车联网是智能网联汽车个性化、差异化及高价值量的关键,我们认为更加熟悉 AUTOSAR AP 开发方法和框架的企业有机会凭借更高效的开发效率和更低的开发成本在软件定义汽车的潮流中取得比较大的优势,获得较多的市场份额。

image

搁笔分享完毕!

愿你我相信时间的力量

做一个长期主义者!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

好物周刊#36:程序员简历

村雨遥的好物周刊,记录每周看到的有价值的信息,主要针对计算机领域,每周五发布。 一、项目 1. SmartDNS 一个运行在本地的 DNS 服务器,它接受来自本地客户端的 DNS 查询请求,然后从多个上游 DNS 服务器获取 DNS 查询…

从零开始复现BERT,并进行预训练和微调

从零开始复现BERT 代码地址:https://gitee.com/guojialiang2023/bert 模型 BERT 是一种基于 Transformer 架构的大型预训练模型,它通过学习大量文本数据来理解语言的深层次结构和含义,从而在各种 NLP 任务中实现卓越的性能。 核心的 BER…

InseRF: 文字驱动的神经3D场景中的生成对象插入

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

基于特征选择和机器学习的酒店客户流失预测和画像分析

基于特征选择和机器学习的酒店客户流失预测和画像分析 基于特征选择和机器学习的酒店客户流失预测和画像分析摘要1. 业务理解2. 数据理解和处理2.1 特征理解2.2 数据基本情况2.3 特征相关性分析 3. 酒店客户流失预测模型构建和评估3.1 支持向量机3.2 K-means聚类用户画像构建 4…

ssh协议以及操作流程

ssh协议 1.是一种安全通道协议 2.对通信数据进行了加密处理,用于远程管理 3.对数据进行压缩 在日常生活中,我们使用的是openssh openssh 服务名称:sshd 服务端主程序:/usr/sbin/sshd 服务端配置文件:/etc/ssh/sshd_con…

pytorch一致数据增强—异用增强

前作 [1] 介绍了一种用 pytorch 模仿 MONAI 实现多幅图(如:image 与 label)同用 random seed 保证一致变换的写法,核心是 MultiCompose 类和 to_multi 包装函数。不过 [1] 没考虑不同图用不同 augmentation 的情况,如&…

《工具录》dig

工具录 1:dig2:选项介绍3:示例4:其他 本文以 kali-linux-2023.2-vmware-amd64 为例。 1:dig dig 是域名系统(DNS)查询工具,常用于域名解析和网络故障排除。比 nslookup 有更强大的功…

MISGAN

MISGAN:通过生成对抗网络从不完整数据中学习 代码、论文、会议发表: ICLR 2019 摘要: 生成对抗网络(GAN)已被证明提供了一种对复杂分布进行建模的有效方法,并在各种具有挑战性的任务上取得了令人印象深刻的结果。然而,典型的 GAN 需要在训练期间充分观察数据。在本文中…

【数据结构 | 希尔排序法】

希尔排序法 思路ShellSort 思路 希尔排序法又称缩小增量法。希尔排序法的基本思想是:先选定一个整数,把待排序文件中所有记录分成个组,所有距离为的记录分在同一组内,并对每一组内的记录进行排序。然后,取&#xff0c…

Spark原理——Shuffle 过程

Shuffle 过程 Shuffle过程的组件结构 从整体视角上来看, Shuffle 发生在两个 Stage 之间, 一个 Stage 把数据计算好, 整理好, 等待另外一个 Stage 来拉取 放大视角, 会发现, 其实 Shuffle 发生在 Task 之间, 一个 Task 把数据整理好, 等待 Reducer 端的 Task 来拉取 如果更细…

【开发板资料】Arduino NANO 资料分享(引脚分布图、原理图、亮灯程序等)

给出部分参考资料以及来源 引脚分布 PINOUT 来源:Nano | Arduino Documentation https://docs.arduino.cc/hardware/nano PINOUT PINOUT 来源:https://www.tumblr.com/pighixxx/42591353009/arduino-nano-pinout https://www.tumblr.com/pighixxx/…

求解建公路问题

课程设计题目 求解建公路问题 课程设计目的 深入掌握 Prim 和 Kruskal算法在求解实际问题中的应用 问题描述 假设有 n 个村庄,编号从到,现在修建一些道路使任意两个村庄之间可以互相连通。所谓两个村庄 A 和B是连通的,指当且仅当A 和 B之间有一条道路或者存在一个村庄 C 使得…

UG装配-WAVE几何链接器

自上向下(自顶向下)设计 先将产品主要结构(或主要部件)建立好,然后再根据要求设计其它组件,使每个组件之间有数据关联,适用于产品开发初期,便于修改,修改组件数据后&…

如何利用小程序介绍公司品牌形象?

企业小程序的建设对于现代企业来说已经成为了一项必不可少的工作。随着移动互联网的快速发展,越来越多的职场人士和创业老板希望通过小程序来提升企业形象,增强与用户的互动,实现更好的商业效果。在这个过程中,使用第三方制作平台…

C-操作符详解

1.进制转换 1.1 10进制转2进制 方法:短除法 1.2 2进制转换8进制 8进制的数字每⼀位是0~7的,0~7的数字,各⾃写成2进制,最多有3个2进制位就⾜够了,⽐如7的⼆进制是111,所以在2进制转8进制数的时候&#xf…

三、Qt Creator 使用

关于Qt的安装及环境配置,在我的上一篇《二、QT下载、安装及问题解决(windows系统)》已经讲过了。 本章节有一个重点,在新建 工程文件时,所在路径不要有中文,否则编译及运行程序不能正常运行。 在使用Qt Creator(以下…

A connection was successfully established with the server but then an error

在使用EFCore生成数据库的时候,报上面的错误! 解决方法: 加(EncryptTrue;TrustServerCertificateTrue;)即可: "ConnectionStrings": { "DefaultConnection": "Data SourceLAP…

基于ssm运动器械购物商城+jsp论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本运动器械购物商城就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息…

MongoDB安装与基本使用

一、简介 1.1 Mongodb 是什么 MongoDB 是一个基于分布式文件存储的数据库,官方地址 https://www.mongodb.com/ 1.2 数据库是什么 数据库( DataBase )是按照数据结构来组织、存储和管理数据的 应用程序 1.3 数据库的作用 数据库的…

Python基础知识:整理15 列表的sort方法

1 sorted() 方法 之前我们学习过 sorted() 方法,可以对列表、元组、集合及字典进行排序 # 1.列表 ls [1, 10, 8, 4, 5] ls_new sorted(ls, reverseTrue) print(ls_new) …
最新文章