AutoSar学习记录(二)

巧了我就是萌 提交于 2020-01-16 11:12:23

AutoSar图解如学习(一)中所示,为了实现应用程序和硬件模块之间的分离,AutoSAR架构中的电子软件架构被分为四层,从上到下依次为:应用层(Application Layer),运行时环境(Run Time Environment,RTE),基础软件层(Basic Software,BSW)和微控制器(Microcontroller)。

  • 应用层(Application Layer)

应用层中的功能由各软件组件SWC(Software Component)实现,组件中封装了部分或者全部汽车电子功能,包括对其具体功能的实现以及对应描述,如控制大灯,空调等部件的运作,但与汽车硬件系统没有连接。

  • 运行时环境(Run Time Environment,RTE)

中间件部分给应用层提供了通信手段,这里的通信是一种广义的通讯,可以理解成接口,应用层与其他软件体的信息交互有两种,第一种是应用层中的不同模块之间的信息交互;第二种是应用层模块同基础软件之间的信息交互。而RTE就是这些交互使用的接口的集散地,它汇总了所有需要和软件体外部交互的接口。从某种意义上来看,设计符合AUTOSAR的系统其实就是设计RTE。

  • 基础软件层(Basic Software,BSW)

 

 

 

 

根据不同的功能对基础软件继续可以细分成四部分,分别为服务层(Service Layer),ECU抽象层(ECUAbstract Layer),复杂驱动(ComplexDriver)和MCAL(Microcontroller Absstraction Layer),四部分之间的互相依赖程度不尽相同。

  • 服务层(Service Layer),这一层基础软件提供了汽车ECU非应用相关的服务,包括OS,网络通讯,内存管理(NVRAM),诊断(UDS,故障管理等),ECU状态管理模块等。
  • ECU抽象层(ECU Abstract Layer),这一层软件提供了ECU应用相关的服务,它是对一个ECU的抽象,它包括了所有的ECU的输入输出,比如AD,DIO,PWM等。
  • MCAL(Microcontroller Absstraction Layer),这一层软件是对ECU所使用的主控芯片的抽象,它跟芯片的实现紧密相关,是ECU软件的最底层部分,直接和主控芯片及外设芯片进行交互。
  • 复杂驱动(Complex Drivers),汽车ECU中有一些领域的ECU会处理相当复杂的硬件信号,执行相当复杂的硬件动作,例如发动机控制,ABS等,这些功能相关的软件很难抽象出来适用于所有的汽车ECU,它是跟ECU的应用以及ECU所使用的硬件紧密相关的,属于AUTOSAR构架中在不同的ECU上无法移植的部分。

 

 

  • 微控制器(Microcontroller)

 

底层驱动层由各芯片厂家提供

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!