AUTOSAR CAN Driver是一款遵循AUTOSAR标准设计的CAN协议栈驱动程序,适用于汽车电子控制单元,简化了通信网络的开发与维护。
### Autosar CAN Driver详解
#### 一、概述与功能
Autosar CAN Driver(以下简称CAN Driver)是控制器局域网络(Controller Area Network, CAN)驱动程序,在Autosar架构中用于实现CAN通信的重要组成部分。它位于MCAL(Microcontroller Abstraction Layer,微控制器抽象层),负责硬件级别的访问并提供独立于硬件的应用编程接口(API)。主要职责包括为上层模块CANIF(CAN Interface)服务,如数据传输、事件通知以及对同一CAN硬件单元内多个CAN控制器的状态和行为控制。
#### 二、关键概念与术语
**2.1 CAN L-SDU**
在CAN通信中,L-PDU(Layer Protocol Data Unit,层协议数据单元)中的数据字段称为CAN L-SDU(Layer Service Data Unit),包含实际要传输的信息内容。
**2.2 Priority Inversion(优先级反转)**
多任务系统中较高优先级的任务被较低优先级的任务阻塞的现象称作优先级反转。在CAN通信中,这种现象可能发生在内部和外部两个层面:
- **Inner Priority Inversion(内部优先级反转)**:当只有一个发送缓冲区时,低优先级的消息占据了缓冲区,导致高优先级消息无法及时发送。
- **Outer Priority Inversion(外部优先级反转)**:在CAN节点间传输高优先级信息期间,如果帧间隔超过了标准定义的最小值,则可能被较低优先级的信息抢先发送。
**2.3 CAN Hardware Unit (CAN硬件单元)**
构成CAN系统的物理组成部分称为CAN硬件单元,通常由一个或多个集成在同一芯片内部或作为外部独立设备存在的CAN控制器组成。这些控制器通过共享或独立的硬件对象(Hardware Objects)进行管理。
#### 三、文档资料
了解CAN Driver的工作原理和设计规范需要参考以下文档:
1. **Layered Software Architecture AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf**:介绍Autosar分层软件架构的基本原理和技术背景。
2. **General Requirements on Basic Software Modules AUTOSAR_SRS_BSWGeneral.pdf**:描述基本软件模块的一般需求和规定。
3. **General Requirements on SPAL AUTOSAR_SRS_SPALGeneral.pdf**:介绍SPAL(Service Provider Access Layer,服务提供商访问层)的一般要求。
4. **Requirements on CAN AUTOSAR_SRS_CAN.pdf**:详细说明CAN模块的具体需求。
5. **Specification of CAN Interface AUTOSAR_SWS_CANInterface.pdf**:定义了CAN接口的规范。
6. **Specification of Default Error Tracer AUTOSAR_SWS_DefaultErrorTracer.pdf**:描述默认错误追踪器的规格。
7. **Specification of ECU State Manager AUTOSAR_SWS_ECUStateManager.pdf**:ECU(Electronic Control Unit,电子控制单元)状态管理器的规格。
8. **Specification of MCU Driver AUTOSAR_SWS_MCUDriver.pdf**:MCU(Microcontroller Unit,微控制器单元)驱动的规格。
9. **Specification of Operating System AUTOSAR_SWS_OS.pdf**:操作系统规格。
10. **Specification of ECU Configuration AUTOSAR_TPS_ECUConfiguration.pdf**:ECU配置规格。
11. **Specification of SPI Handler/Driver AUTOSAR_SWS_SPIHandlerDriver.doc.pdf**:SPI(Serial Peripheral Interface,串行外设接口)处理器/驱动规格。
12. **Specification of Memory Mapping AUTOSAR_SWS_MemoryMapping.pdf**:内存映射规格。
13. **Specification of BSW Scheduler AUTOSAR_SWS_BSW_Scheduler.pdf**:BSW(Basic Software Module,基本软件模块)调度器规格。
14. **Basic Software Module Description**:进一步解释基本软件模块的功能和特性。
#### 四、总结
Autosar CAN Driver在Autosar架构中扮演着极其重要的角色。它不仅实现了CAN通信的核心功能,还确保了硬件与软件层之间的无缝衔接。通过深入理解其工作原理,并在此基础上进行优化和扩展,可以满足汽车电子控制系统日益增长的需求。熟悉相关文档资料也有助于开发者更好地理解和应用CAN Driver的技术细节。