【AUTOSAR】【Lin通信】LinTrcv
目录
一、概述
二、功能说明
2.1 LIN收发器驱动程序操作模式
2.2 LIN收发器硬件操作模式
2.3 LIN收发器唤醒类型
2.4 LIN收发器唤醒模式
2.5 错误分类
2.5.1 开发错误
三、API接口
3.1 API定义
一、概述
该规范规定了模块LIN收发器驱动程序的功能、API和配置。它负责处理一个ECU上的LIN收发器硬件。
LIN总线收发器是一种硬件设备。它是LIN协议控制器和物理LIN总线之间的接口。一方面,一个LIN协议控制器的传输数据流被转换为符合LIN物理层的总线信号。另一方面,LIN总线的数据流被转换为协议控制器的输入信号。一个LIN协议控制器通常是一个微控制器的实现。
大多数LIN收发器都支持通过总线进行电源控制和唤醒。市场上有很多不同的唤醒/睡眠和电源供应的概念。
【规范】LIN收发器驱动程序抽象了应用的LIN收发器硬件,并覆盖了到更高层的硬件独立接口。它还通过使用MCAL层的api访问LIN收发器硬件,从ECU布局进行抽象。
二、功能说明
2.1 LIN收发器驱动程序操作模式
【规范】LIN收发器驱动器的操作模式如下图所示:
2.2 LIN收发器硬件操作模式
LIN收发器硬件可能比软件支持更多的模式转换。决定哪个LIN收发器硬件状态由哪个LIN收发器驱动程序软件状态的实现。一个实现必须保证所描述的LIN收发器驱动程序的整个功能是由该实现给出。
2.3 LIN收发器唤醒类型
方案一:单片机不供电,ECU的部分包括LIN收发器硬件供电。所考虑的LIN收发器硬件处于LINTRCV_TRCV_MODE_SLEEP模式。通过LIN收发器硬件检测到LIN上的唤醒事件。LIN收发器硬件导致单片机供电。就AUTOSAR而言,这是作为一个冷的开始,而不是作为一个唤醒。
方案二:单片机处于低功耗模式,部分ECU包括LIN收发器硬件被供电。根据硬件实现的不同,所考虑的LIN收发器硬件要么处于LINTRCV_TRCV_MODE_STANDBY模式或LINTRCV_TRCV_MODE_SLEEP模式。通过LIN收发器硬件检测到LIN上的唤醒事件。LIN收发器硬件正在通知单片机关于唤醒。就AUTOSAR而言,这是作为LIN通道和单片机的唤醒。
方案三:单片机处于全功率模式,至少为包括LIN收发器硬件在内的部分ECU供电。根据硬件实现的不同,所考虑的LIN收发器硬件要么处于LINTRCV_TRCV_MODE_STANDBY模式或LINTRCV_TRCV_MODE_SLEEP模式。通过LIN收发器硬件检测到LIN上的唤醒事件。LIN收发器硬件正在通知单片机唤醒或周期性地轮询唤醒事件。就自动存储器而言,这是作为一个LIN通道的唤醒。
方案四:单片机处于全功率模式,至少为包括LIN收发器硬件在内的部分ECU供电。根据硬件实现的不同,所考虑的LIN收发器硬件要么处于LINTRCV_TRCV_MODE_STANDBY模式或LINTRCV_TRCV_MODE_SLEEP模式。单片机现在正在将LIN收发器硬件设置为LINTRCV_TRCV_MODE_NORMAL模式,并正在唤醒LIN通道。就AUTOSAR而言,这是作为一个LIN通道的内部唤醒(通过单片机)。
2.4 LIN收发器唤醒模式
【规范】唤醒通知必须由Lin收发器驱动程序支持,因此Lin收发器驱动程序覆盖2种唤醒模式,上层内部唤醒或Lin通道外部唤醒。
- 内部唤醒:内部唤醒由上层启动,例如通过调用LinTrcv_Init()或LinTrcv_SetOpMode。
- 外部唤醒:由LIN收发器驱动程序检测到的唤醒通过API LinTrcv_CheckWakeup被转发到上层,它必须由LinIf调用。
【规范】唤醒模式的选择应通过配置参数LinTrcv唤醒支持来完成。
【规范】应通过配置参数LinTrcv唤醒线分别开启和关闭每个LIN收发器通道的唤醒支持。
【规范】LinTrcv司机应使用ICU司机提供的以下api,以启用和禁用唤醒事件通知:
- Icu_EnableNotification
- Icu_DisableNotification
【规范】当收发机传输到待机模式(LINTRCV_STANDBY)时,LinTrcv驱动器应启用ICU通道。
【规范】当收发器传输到正常模式(LINTRCV_NORMAL)时,LinTrcv驱动程序应禁用ICU通道。
2.5 错误分类
2.5.1 开发错误
三、API接口
3.1 API定义
- LinTrcv_Init
- LinTrcv_SetOpMode
- LinTrcv_GetOpMode
- LinTrcv_GetBusWuReason
- LinTrcv_GetVersionInfo
- LinTrcv_CheckWakeup
- LinTrcv_SetWakeupMode