没有合适的资源?快使用搜索试试~ 我知道了~
首页AUTOSAR架构的故事(干货)
AUTOSAR架构的故事(干货)
205 浏览量
更新于2023-05-31
评论
收藏 633KB PDF 举报
之前文章《老板说项目要上AUTOSAR,我慌得一批》讲过,在新世纪,汽车产业蓬勃发展,欧洲大陆的车企们,瞄准了这是一块大蛋糕,于是在2002年成立了一个联盟,搞了个叫AUTOSAR的标准,以期一统天下。次年,他们就开搞了,开始制作这个AUTOSAR的草图。话说,这是要定义一套标准,一个统一的架构,那这架构有什么内容呢?一位工程师,将其想法用草图表达了出来并解释说,这个架构大概分三层,然后看看在座的各位。会议上的其他人面面相觑,都想说,这么简陋,能统一江湖?这位工程师也不理会,不慌不忙,继续画下去:工程师解释说,关键在这个BSW,还可以分个三四层:ServiceLayer:这个是BSW的最高层,
资源详情
资源评论
资源推荐

AUTOSAR架构的故事(干货)架构的故事(干货)
1 AUTOSAR架构概览
之前文章《老板说项目要上AUTOSAR,我慌得一批》讲过,在新世纪,汽车产业蓬勃发展,欧洲大陆的车企们,瞄准了这是
一块大蛋糕,于是在2002年成立了一个联盟,搞了个叫AUTOSAR的标准,以期一统天下。次年,他们就开搞了,开始制作
这个AUTOSAR的草图。
话说,这是要定义一套标准,一个统一的架构,那这架构有什么内容呢?
一位工程师,将其想法用草图表达了出来
并解释说,这个架构大概分三层,然后看看在座的各位。会议上的其他人面面相觑,都想说,这么简陋,能统一江湖?这位工
程师也不理会,不慌不忙,继续画下去:
工程师解释说,关键在这个BSW,还可以分个三四层:
Service Layer:这个是BSW的最高层,是给Application访问由Abstraction Layer覆盖的IO信号等。
ECU Abstraction Layer:这个是给底层驱动提供抽象接口的。
Microcontroler Abstraction Layer:这个是基础软件的最底层,它包含有μC的驱动以及外围的设备驱动等。
还有,Application就是应用,跟其他架构写的应用类似,就不用多说了。而这个Runtime Environment(RTE)呢?
RTE是给应用提供通信服务的,Applcation通过它可以访问BSW的功能,做统一标准的接口,从而实现非常方便的可移植性
了,各模块也独立了。
工程师言简意赅,没有做更多的解释,然后就想细化这个架构图:

然后,他微微笑了下:这应该清晰了吧,横着看竖着看都很好理解。比如说这个Memory Service,就可以让Application通过
RTE调用,做了很多方法application访问的接口,它是通过调用Memory Hardware Abstraction来访问Memory Drivers的。
通过这三层关系就实现市面上大部分功能需求了。但是,总会有这几层实现不了的功能吧,怎么办?Complex Drivers就可以
提供给用户自己定义啦,可以做一些复杂的驱动。
总的来说,基础软件(BSW)可以按以下类型分:
Input/Output (I/O)
标准化访问sensors, actuators以及板上的外围器件。
Memory
标准化访问内部或外部的Memory(NVM)。
Crypto
标准化访问密码原语,包括内部/外部硬件加速器
Communication
标准化访问车辆网络系统,ECU车载通信系统和ECU内部软件
Off-board Communication
标准化访问车辆到X的通信,车辆无线网络系统中,ECU车外通信系统
System
提供标准化的(操作系统,计时器,错误存储器)和特定于ECU的(ECU状态管理,看门狗管理器)服务和库功能
等等,还有个东西差点漏了——Library
这个Library实际上是很多functions的集合,它可以:
由BSW模块(包括RTE),SW-C,库或集成代码调用
在同一保护环境中在调用方上下文中运行
只能调用库
可重入的
没有内部状态
不需要任何初始化
是同步的,即它们没有等待点

2 AUTOSAR的基础软件
基础软件,即BSW。工程师打算详细讲解下这个BSW,因为它非常重要。
话说,座上的与会大咖听这位工程师讲的津津有味,越来越觉得AUTOSAR一统江湖指日可待,并期望能讨论更多细节。
工程师也准备好了设计原稿,对这些细节娓娓道来。
MCAL
从底下往上讲,第一个Microcontroler Abstraction Layer(即MCAL),其有以下模块:
Microcontroller Drivers
具有直接μC访问权限的内部外围设备(例如看门狗,通用定时器)驱动程序(例如核心测试)
Communication Drivers
车载ECU(例如SPI)和车辆通信(例如CAN)的驱动程序。OSI层:数据链路层的一部分。
Memory Drivers
片上存储设备(例如内部闪存,内部EEPROM)和存储器映射的外部存储设备(例如外部闪存)的驱动程序。
I/O Drivers
用于模拟和数字I / O的驱动器(例如ADC,PWM,DIO)。
Crypto Drivers
用于SHE或HSM等片上加密设备的驱动程序。
Wireless Communication Drivers
用于无线网络系统的驱动程序(车载或车外通信)。
举例说明,SPIHandlerDriver是允许多业务并发访问,为了抽象出SPI的所有功能,这些已经用为SPI功能的IO是不能做他用
的。
CDD
剩余12页未读,继续阅读



















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0