北京科银京成技术有限公司 汽车电子控制器处理芯片及ECU板级抽象技术研究报告
图9 复杂驱动层示意图
复合驱动(如图3-2所示)使用对微控制器的直接访问来实现复合的传感器评估和致动器控制,它所访问的微控制器使用指定的中断和/或复合的微控制器外设(如PCP,TPU),例如:
· 注入控制(injection control)
· 整流管控制(Electric valve control)
· 增量位置检测(Incremental position detection)
例子:
图10 复杂驱动内容
任务:满足处理复合传感器和致动器的特殊功能和时间需求。
18
北京科银京成技术有限公司 汽车电子控制器处理芯片及ECU板级抽象技术研究报告
复杂驱动在实现上高度依赖于μC、ECU和应用。
1.4 ECU抽象层 1.4.1 通信硬件抽象
图11 通信硬件抽象层次图
通信硬件抽象是从通信控制器的位置和ECU硬件布局中抽象出来的一组模块。对所有的通信系统来说,都需要特定的通信硬件抽象(如:LIN,CAN,MOST,FlexRay)。它提供平等的机制来访问总线通道(如:LIN、CAN、SPI、FlexRay),而不管这些总线通道的位置(在片上或在板上)。
例子: 一个ECU有一个带有两个内部CAN通道的微控制器,以及一个带有四个CAN控制器的板载ASIC。CAN-ASIC通过SPI与微控制器连接。
通信驱动通过总线特殊接口来访问(如CAN接口)。
通信硬件抽象在实现上与微控制器无关,而依赖于ECU硬件和外部设备。其上层接口
依赖于总线,而与微控制器和ECU硬件无关。
通信抽象层主要是LIN接口、CAN接口和CAN收发驱动、FlexRay接口和FlexRay收发
19
北京科银京成技术有限公司 汽车电子控制器处理芯片及ECU板级抽象技术研究报告
驱动构成。
通信硬件抽象CAN接口LIN接口CAN收发驱动FlexRay接口FlexRay收发驱动 通信驱动SPI串行外外设接口驱动LIN驱动CAN驱动FlexRay驱动 微控制器SPISCI/LINCANFlexRay
图12 通信硬件抽象层和通信驱动层
1.4.1.1 LIN接口
LIN接口(包括LIN TP):为上层LIN SM模块和PDU Router模块提供驱动抽象接口,通过下层驱动模块对LIN硬件设备进行控制。功能主要包括:根据上层通信模块切换调度表,执行LIN数据帧的收发,控制设备的唤醒和睡眠,错误处理以及诊断服务。其向下层的软件架构如下图所示。
20
北京科银京成技术有限公司 汽车电子控制器处理芯片及ECU板级抽象技术研究报告
图13 LIN Interface架构
LIN接口被设计成硬件无关的。到上层模块(PDU路由器)和下层模块(LIN驱动)的接口被很好地定义。
LIN接口可以处理一个以上的LIN驱动。一个LIN驱动能够支持一个以上的通道。这指的是LIN驱动能够处理一个或多个LIN通道。
LIN接口负责向上层提供LIN 2.0主要功能有:
(1)为每个与ECU连接的LIN总线执行当前选择的调度。 (2)当上层请求到来时,切换调度表。
(3)从上层接收帧的传送,并传送数据部分作为适当LIN帧中的响应。 (4)当相应的响应在适当的帧中接收时,为上层提供帧接收通知。 (5)睡眠和唤醒服务 (6)错误处理 (7)诊断传输层服务
1.4.1.2 CAN接口
CAN接口:为上层CAN SM模块,CAN NM模块,CAN TP模块以及PDU Router模块和下层CAN控制驱动和CAN收发驱动提供接口。提供了唯一的接口来访问管理CAN硬件设备,为上层服务层抽象了CAN硬件设备的分布和数量。其与下层软件结构关系如下图:
21
北京科银京成技术有限公司 汽车电子控制器处理芯片及ECU板级抽象技术研究报告
图14 CAN Interface下层软件结构
CAN接口提供标准化的接口,通过ECU的CAN总线系统来支持通信。其API与专用CAN控制器及其通过CAN驱动层的访问无关。CAN接口能够通过统一的接口访问一个或多个CAN驱动。
CAN接口仅能用于CAN通信,并且是为操作一个或多个底层CAN驱动而专门设计。涵盖不同CAN硬件单元的几个CAN驱动模块由一个在CAN驱动规范中指定的通用接口来表示。CAN之外(也就是LIN)的其他协议不支持。
1.4.1.3 CAN收发器驱动
CAN收发器驱动负责对CAN收发器硬件进行控制驱动,为上层CAN接口模块提供CAN收发器硬件抽象接口。
CAN收发器驱动负责处理ECU上的CAN收发器,依据的是与整个ECU当前状态相关的总线专用NM的状态。
CAN收发设备驱动的目标:CAN收发设备驱动抽象使用CAN收发设备硬件芯片。它向更高层提供硬件无关接口。它也可以通过MCAL层的API从ECU设计中抽象出来,访问CAN收发设备硬件。
22