Autosar简介:Automotive Open System Architecture,汽车开放系统架构,是一种软件架构标准化方案。统一的软件分层,分布式开发-集成统合(易于增减软件组件,易于不同供应商之间的集成),易于移
AUTOSAR:模块化开发,分层开发的思想,若换了控制器,直接改微控制器抽象层就可以了,ECU抽象层是不用动的,ECU抽象层的接口是依赖于微控制器抽象层的接口,不依赖于这个接口的内部实现,接口的实现是对底层驱动的封装。
APP层(应用功能、制御功能)
RTE层:运行时环境(数据/服务交互)可有可无(只要服务层,ECU抽象层和复杂驱动规定好调用接口就好)
好处是1是应用层只和实时环境交互就可以了无需和服务层直接交互,2是和BSW基础软件层隔离
(每做一层隔离,实际调用效率就会牺牲一次)
服务层:对应用层提供的服务:System服务、Memory(存储服务)、Communication(通讯类服务)等
ECU抽象层:对一个ECU设备的抽象(MCU+板上资源)eg:ECU抽象成LIN/CAN通信的产品,和产品有关
MCU抽象层:向上提供统一的硬件无关IF
微控制器抽象层:单片机的内部的纯硬件资源eg:IO口,PWM,模拟量采集,各种通信模块
MCU硬件
CanDrv--->
CAN控制器驱动,实际报文收发,Baudrate,Reg Tx/Rx Buffer/FIFO
CanTrcv--->
CAN收发器驱动,能否进行CAN BUS收发的摸制
CanLf--->
CAN硬件抽象层,对上层提供统一的硬件无关的IF,支持访问多个CAN控制器、收发器,有Buffer缓存能力,
能协调软件收发请求-实际硬件收发所有对CanTrcv,CanDrv的操作,必须经过CanLf
CanTp--->
"TP协议,CAN通信里面目前只有DIAG使用,SDU<->PDU,实现数据包跟CAN Frame之间的转换,拆包组包,
多帧的流控,所有操作均为事件触发型,无Buffer存储(直接使用PduR、CanLf的Buffer)"
PduR(+IpduM)--->
PDU路由管理,只传输,不修改数据,可配置是否使用TP协议,使用那一种TP协议(Eg:上层<->下层,上层
A<->上层B,下层A<->下层B,协议A<->协议B)支持1对多(Eg:一个PDU可以同时发给CAN Ch A,CAN Ch
B、Lin Ch C) PDU传输可跨层,跨Channel、跨协议种类,跨BUS种类,除NM外,所有据包心须经过PduR管
理
Com--->
APL直接交互层,报文、信号收发管理,报文、信号参数特性,Buffer存储只关制御,不关联NM、DIAG
CanSm--->
通信服务组件,CAN通信状管理(禁止收发、可收可发、只收不发、NetWork.Bus Off、故障)
ComM--->
系服务组件,提供BUS无关的通信状态管理服务,高度抽象化