1 Autosar简介
全称是AUTomotive Open Systems ARchitecture,汽车开放系统架构。
从汽车的发展历程来看,从简单机械件,到电子技术发展,汽车开始集成更多的电子控制单元和传感器,然后到目前的软件定义汽车,如ADAS等的发展
此时就需要一套完整的汽车软件开发规划,用来统一汽车电子软件开发
其本质是就是一套软件开发的通用规范,统一了接口、方法论等,就可以很大程度的解决系统移植、兼容性、安全等问题
系统移植:因为将软件和硬件解耦了,通过标准化的接口和层次化隔离了,如果换一个硬件,只需要将底层的驱动换一下,那么上层的人还是调用原来的函数就可以驱动芯片
集成难:标准的数据描述格式ARXML、图形化的配置界面减少了手动代码
安全:功能安全(ISO 26262 硬件验证、通信验证CRC)和信息安全(密码级协议栈)
OTA:通过移动通信的接口对软件进行远程管理(特斯拉也可以)autosar就定义了这一套架构。 传统的就是线下4s店刷写更新,现在就是车里面有存储2套应用,原来的如果在跑的话,那么新的下载进来了,等下一次运行的时候,将新的加载进来,如果新的不对,还可以换成老的(在CP 中的 FOTA的 EXP文档中)
总结其优势就是:
①有利于提高软件复用度,尤其是跨平台的复用度;
②便于软件的交换与更新;
③软件功能可以进行先期架构级别的定义和验证,从而能减少开发错误;
④减少手工代码量,减轻测试验证负担,提高软件质量;
⑤使用一种标准化的数据交换格式,方便各公司之间的合作交流等。
2.规范:
AUTOSAR规范主要包括:分层架构、方法论和应用接口三部分内容。
AUTOSAR 提供了指定在 ECU 上集成软件组件所需的所有方面的方法,以及将不同的 ECU 集成到各种不同总线系统上的整个网络通信的方法。该方法定义了活动对工作产品的依赖性,预计将支持AUTOSAR中工具的活动,描述和使用。
描述 (.arxml) 基于 AUTOSAR 模板,这些模板定义了正式交换格式(AUTOSAR Schema)以及与交换格式一起使用的语义约束。描述用于保存在 AUTOSAR 方法中生成或使用的信息。各种生成器可以利用描述中的信息来支持 RTE 和 AUTOSAR 基本软件(包括操作系统)的配置和生成。
二、AutoSar架构分层架构
2.总体架构:4层
每一层只能使用下一层所提供的接口,并向上一层提供相应的接口。
3.各层简述:
(1)应用软件层(Application Software Layer,ASW):包含若干个软件组件(Software Component,SWC),软件组件间通过端口(Port)进行交互。每个软件组件可以包含一个或者多个运行实体(Runnable Entity,RE),运行实体中封装了相关控制算法,其可由RTE事件(RTE Event)触发。
(2)运行时环境(Runtime Environment,RTE):RTE封装了基础软件层的通信和服务,为应用层软件组件提供了标准化的基础软件和通信接口。
(3)基础软件层(Basic Software Layer,BSW): 又可以分三层
(4)硬件层(HardWare):MCU芯片
加上一个MCAL层:
Mcal是BSW层中的最下层,这里单独拿出来讲;
配置Mcal层所使用到的EB-Tresos,就类似于STM32CubeMX工具,用图形化界面的工具配置管脚(GPIO DIO PWM ADC SPI...等等)、时钟、分频等等....
2.各驱动模块
PORT:对单片机各引脚属性的配置;MCU每个引脚都是一个port,对port引脚的方向(输入或输出)、运行期间引脚方向的可变性、引脚的工作模式、运行期间引脚工作模式的可变性、引脚的初始值、内部上拉的激活等进行配置。
DIO:digital i/o ,即单片机中GPIO;AUTOSAR中,将一个单片机数字I/O引脚(Pin)定义为DIO通道(Dio channel),可把若干个DIO通道通过硬件分组成为一个DIO端口(DIO Port),DIO端口中相邻几个DIO通道的逻辑组合则称为DIO通道组(DIO Channel Group)。
Dio模块中涉及的DIO Channel,即单片机引脚(Pin),用之前,必须在PORT模块中配置引脚属性为GPIO。
ADC:Analog-to-Digital Converter Driver 模/数转换单元。
PWM:pluse width modulation 脉宽调制;可产生占空比和周期都可改变的脉冲;应用场景:调节灯光亮度 调节电机转速等...
ICU:输入捕获 input capture unit
OCU:输出比较
Ethernet:以太网
FlexRay:没见过 应该不重要
CAN:Can通信驱动
LIN:总线相关接口
SPI:一般就是用来读写存储器
EepROM:外部存储器
Flash:内部 外部
RAM:NMRAM :一个类型的东西
Core:
MCU:(Microcontroller Unit Driver 提供微控制器的初始化、复位、休眠等功能;使能MCU时钟;设置MCU时钟相关的参数(:CPU时钟、锁相环(PLL) 、外设时钟、预分频器等);进入低功耗模式
WatchDog:看门狗
GPT:((General Purpose Timer Driver) 通用定时器,硬件定时器;提供启动和停止硬件定时器、得到定时器数值、控制时间触发的中断、控制时间触发的中断唤醒等功能。
【Autosar】学习总结-BSW层_autosar bsw-优快云博客
BSW层做的事情: 通信 存储 系统 复杂驱动