AUTOSAR_SWS_LINInterface 中文翻译

文档编号:086 | 状态:Final | 发布于:AUTOSAR CP Release 4.4.0
所属标准:AUTOSAR Classic Platform | 文档责任方:AUTOSAR

本翻译覆盖原文档 1-99 页正文。原文为软件规范(SWS),定义 LIN Interface(LinIf)模块的 API、配置、错误处理。涵盖 30+ API。


1 引言与范围

LinIf 模块作为 LIN 协议栈的 ECU 抽象层,位于 Lin(驱动)/ LinTrcv(收发器)之上与 PduR(PDU Router)之下。提供 Schedule Table 管理、PDU 路由、通道状态协调、模式管理、错误检测等服务。

2 缩略语

LinIf / LIN / Schedule Table / Frame / PDU / L-PDU / Channel / TP / ComM / Nm / PduR / Channel Slave

3 相关文档

[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

4 约束与假设

LinIf 应:

5 依赖其他模块

LinIf 依赖:Lin(驱动)/ LinTrcv(收发器)/ PduR(PDU 路由)/ ComM(模式请求)/ Nm(PN 协调)/ Dem(错误上报)/ SchM(调度器)。

6 功能规格

6.1 架构

LinIf 位于 LIN 协议栈中:

6.2 Schedule Table 管理

LinIf 管理 0-255 个 Schedule Table,运行时可请求切换(ScheduleRequest)。

6.3 模式管理

LinIf 模式:

7 API 服务

7.1 初始化 / 关闭

void LinIf_Init(const LinIf_ConfigType* ConfigPtr):初始化。
Std_ReturnType LinIf_DeInit(void):去初始化。

7.2 帧传输(来自 PduR)

Std_ReturnType LinIf_Transmit(PduIdType LinIfTxPduId, const PduInfoType* PduInfoPtr):请求传输。
Std_ReturnType LinIf_CancelTransmit(PduIdType LinIfTxPduId):取消传输。

7.3 Schedule Table

Std_ReturnType LinIf_ScheduleRequest(NetworkHandleType Channel, LinIf_SchHandleType ScheduleTable):请求 Schedule Table 切换。

7.4 模式控制

Std_ReturnType LinIf_GotoSleep(NetworkHandleType Channel):去睡眠。
Std_ReturnType LinIf_WakeUp(NetworkHandleType Channel):唤醒。

7.5 状态查询

Std_ReturnType LinIf_GetStatus(NetworkHandleType Channel, LinIf_StatusType* StatusPtr):获取状态。
Std_ReturnType LinIf_GetLastTransmitErrorStatus(NetworkHandleType Channel, LinIf_TrcvStatusType* StatusPtr):获取最后传输错误状态。

7.6 回调(来自 Lin 驱动)

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)。

7.7 MainFunction

void LinIf_MainFunction(void):周期性主函数。

8 配置

LinIf 配置类:

9 错误处理

9.1 开发错误

LINIF_E_UNINIT:模块未初始化。
LINIF_E_PARAM_POINTER:参数指针为空。
LINIF_E_PARAM:参数无效。
LINIF_E_SCHEDULE_REQUEST:Schedule Table 请求错误。
LINIF_E_TRANSMIT:传输错误。

9.2 运行时错误

LINIF_E_BUSY:模块忙。
LINIF_E_RESPONSE:响应错误。


校对记录

校对轮次:L1 自动校对(2026-06-13)