LinIf 模块作为 LIN 协议栈的 ECU 抽象层,位于 Lin(驱动)/ LinTrcv(收发器)之上与 PduR(PDU Router)之下。提供 Schedule Table 管理、PDU 路由、通道状态协调、模式管理、错误检测等服务。
LinIf / LIN / Schedule Table / Frame / PDU / L-PDU / Channel / TP / ComM / Nm / PduR / Channel Slave
[1] AUTOSAR SWS PduR
[2] AUTOSAR SWS LIN Driver
[3] AUTOSAR SWS LIN Transceiver Driver
[4] AUTOSAR SWS ComM
[5] AUTOSAR SWS Nm
[6] AUTOSAR SRS LIN
[7] ISO 17987:2016
LinIf 应:
LinIf 依赖:Lin(驱动)/ LinTrcv(收发器)/ PduR(PDU 路由)/ ComM(模式请求)/ Nm(PN 协调)/ Dem(错误上报)/ SchM(调度器)。
LinIf 位于 LIN 协议栈中:
LinIf 管理 0-255 个 Schedule Table,运行时可请求切换(ScheduleRequest)。
LinIf 模式:
void LinIf_Init(const LinIf_ConfigType* ConfigPtr):初始化。
Std_ReturnType LinIf_DeInit(void):去初始化。
Std_ReturnType LinIf_Transmit(PduIdType LinIfTxPduId, const PduInfoType* PduInfoPtr):请求传输。
Std_ReturnType LinIf_CancelTransmit(PduIdType LinIfTxPduId):取消传输。
Std_ReturnType LinIf_ScheduleRequest(NetworkHandleType Channel, LinIf_SchHandleType ScheduleTable):请求 Schedule Table 切换。
Std_ReturnType LinIf_GotoSleep(NetworkHandleType Channel):去睡眠。
Std_ReturnType LinIf_WakeUp(NetworkHandleType Channel):唤醒。
Std_ReturnType LinIf_GetStatus(NetworkHandleType Channel, LinIf_StatusType* StatusPtr):获取状态。
Std_ReturnType LinIf_GetLastTransmitErrorStatus(NetworkHandleType Channel, LinIf_TrcvStatusType* StatusPtr):获取最后传输错误状态。
void LinIf_TxConfirmation(PduIdType LinIfTxPduId, Std_ReturnType Result):发送确认。
void LinIf_RxIndication(uint8 HwChannel, Lin_FrameType* PduInfoPtr):接收指示。
void LinIf_LinErrorIndication(NetworkHandleType Channel, Lin_SlaveErrorType ErrorStatus):错误指示。
void LinIf_HeaderIndication(NetworkHandleType Channel, Lin_PduType* PduPtr):Header 指示(LIN Slave)。
void LinIf_MainFunction(void):周期性主函数。
LinIf 配置类:
LINIF_E_UNINIT:模块未初始化。
LINIF_E_PARAM_POINTER:参数指针为空。
LINIF_E_PARAM:参数无效。
LINIF_E_SCHEDULE_REQUEST:Schedule Table 请求错误。
LINIF_E_TRANSMIT:传输错误。
LINIF_E_BUSY:模块忙。
LINIF_E_RESPONSE:响应错误。
校对轮次:L1 自动校对(2026-06-13)