汽车开放系统架构autosar

个人理解就是各个汽车开发商为了底层的可移植性,减少开发成本周期而设计的一个开放的汽车控制器(ECU)标准软件架构。

应用层ASW:就是对于项目而言,做的一些逻辑算法,可以使用matlab应用工具做模型开发,来实现项目要求的功能。

ASW与底层驱动的区别,举例来说:

要实现点灯,测量电压功能,对于底层而言,就是驱动相应控制器,开发相应的代码来实现点灯,量电压的功能,而对于应用层,就是可以实现我想先点灯,灯亮了之后我要量电压,我再关灯后再量电压,做一些想要的动作,云云。

RTE层:就是接口层,比如点灯,应用层需要调用点灯的函数,这个函数就会在统计在rte里,这样不会底层开发的人也可以进行应用层的开发。

BSW层分为服务层,ECU抽象层,微控制器抽象层。(网上浏览所得内容总结)

服务层:服务层是BSW的最高层,为上层的应用软件提供各种服务,如

1) Input/Output

对传感器、执行器以及ECU板上设备的标准访问服务

2) 存储服务

对内部/外部存储设备的标准化访问服务(NVM)

3) 通信服务

对车载网络系统(CAN, LIN)、ECU板上通信系统(SPI, I2C)的标准访问服务

4) Off-Board通信

对V2X通信,车内无线通信网络系统的标准化服务

5)系统服务

标准化的系统服务(操作系统,定时器)

6) 诊断服务

UDS诊断服务,内存错误检测,DTC等

7) ECU状态管理

ECU电源状态管理,模式管理服务,看门狗管理

8) 加密服务

对密码原语的标准化访问服务,包括内部/外部硬件加速器

ECU抽象层ECU的全称是Eclectronic Control Unit,直译为电子控制单元,也称为行车电脑。通俗来讲就是MCU加上一些外围必要的电路组成的一个系统,可以对各种输入信号(传感器信号、车载网络信号等)进行加工处理,然后进行信号输出(控制执行器的信号、车载网络信号等)的一个专用嵌入式系统。

ECU抽象层对MCAL所包含的驱动进行封装,同时它还包含片外设备(板上设备)的驱动。ECU抽象层提供访问各种设备的接口,不管这些设备的位置在哪里(是MCU内部还是MCU外部),也不管它们是如何与MCU进行连接的(端口还是串行通信)。它的任务是让上层软件(服务层)独立于ECU硬件设备。

片外设备顾名思义是位于MCU外部的设备,或者说是ECU的板上设备。这些设备包括但不限于:

1) 外部EEPROM

2) 外部看门狗

3) 外部FLASH

片外设备的驱动被称为外部驱动,它们位于ECU抽象层,它们通过MCAL层的驱动访问这些外部设备。一个例子是,具有SPI接口的外部EEPROM的驱动程序,通过MCAL的SPI总线驱动对外部EEPROM进行访问。

ECU抽象层通常包含一系列接口,这些接口是对位于它们下方的模块的抽象。它提供访问特定类型设备的通用API,不关心该类型设备存在的个数以及具体的硬件实现。接口层只负责数据的传递,不改变数据的内容。比如,一个CAN通信系统的接口提供访问CAN网络的API,调用者不必关心CAN控制器的个数,也不用关心CAN控制器的位置是在MCU内部还是MCU外部。

微处理器抽象层MCALMCAL是BSW的最低层,它包含一些MCU内部驱动软件模块,这些驱动直接访问MCU内部外设(ADC、WatchDog、General Purpose Timer等)。MCAL这一层依赖于MCU,但是它的上面一层(ECU抽象层)则可以独立于具体的MCU。

MCAL主要包含下面这些模块:

1) 微控制器驱动

MCU内部外设驱动,比如看门狗、通用功能定时器等。

2) 通信接口驱动

ECU板上通信接口驱动(如SPI, I2C)以及整车通信接口驱动(CAN, 以太网等)

3) 非易失性存储器(NVM)驱动

片上NVM驱动(内部Flash、EEPROM等),片外NVM驱动(外部Flash、EEPROM等)

4) I/O驱动

模拟和数字I/O驱动(ADC、PWM、DIO等)

5) 加密模块驱动

就是各种底层驱动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值