J1939Nm 模块实现 SAE J1939-81 网络管理协议。提供地址声明(Address Claimed)、命令地址(Commanded Address)、地址竞争处理、网关地址协调(R4.3)等服务。
J1939Nm / NM / Address Claimed / Commanded Address / NAME / Priority / PGN 0xEE00 / PGN 0xFED8 / CAN / Reliable TxConfirmation / BswM
[1] AUTOSAR SWS ComM
[2] AUTOSAR SWS Nm
[3] AUTOSAR SWS CAN Interface
[4] AUTOSAR SWS CAN State Manager
[5] SAE J1939-81 / SAE J1939-31
J1939Nm 应:
J1939Nm 依赖:CanIf(CAN 接口)/ ComM(模式请求)/ Nm(通用 NM)/ Dem(错误上报)/ BswM(模式仲裁)。
J1939Nm 位于 CanIf 之上,Nm 之下,专门处理 J1939 地址管理。
J1939Nm 启动时通过 Address Claimed 报文(PGN 0xEE00)声明自己的 8 字节 NAME 与 1 字节源地址。NAME 包含:
NAME 数值越小,优先级越高。
J1939Nm 状态机:
void J1939Nm_Init(const J1939Nm_ConfigType* ConfigPtr):初始化。
void J1939Nm_DeInit(void):去初始化。
Std_ReturnType J1939Nm_NetworkRequest(NetworkHandleType NetworkHandle):网络请求。
Std_ReturnType J1939Nm_NetworkRelease(NetworkHandleType NetworkHandle):网络释放。
Std_ReturnType J1939Nm_PassiveStartUp(NetworkHandleType NetworkHandle):被动启动。
Std_ReturnType J1939Nm_GetState(NetworkHandleType NetworkHandle, Nm_StateType* NmStatePtr, Nm_ModeType* NmModePtr):获取 NM 状态与模式。
void J1939Nm_TxConfirmation(PduIdType TxPduId, Std_ReturnType Result):发送确认。
void J1939Nm_RxIndication(PduIdType RxPduId, const PduInfoType* PduInfoPtr):接收指示。
R4.3 起 J1939Nm 引入可靠传输确认(SetEventStatus 替代 ReportErrorStatus)。
J1939Nm 配置类:
J1939NM_E_UNINIT:模块未初始化。
J1939NM_E_PARAM_POINTER:参数指针为空。
J1939NM_E_PARAM:参数无效。
J1939NM_E_ADDRESS_LOST:地址丢失(被优先级更高节点占用)。
J1939NM_E_CANNOT_CLAIM_ADDRESS:无法声明地址。
校对轮次:L1 自动校对(2026-06-13)