AUTOSAR_SWS_CANNetworkManagement 中文翻译

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

本翻译覆盖原文档 1-96 页正文。原文为软件规范(SWS),定义 CAN Network Management(CanNm)模块的 API、配置、错误处理。


1 引言与范围

CAN Network Management(CanNm)实现基于 CAN 的网络管理。符合 AUTOSAR NM 规范 + OSEK NM 兼容扩展,支持 Partial Networking(PN)、协调器同步、重复消息、远程睡眠指示等。

2 缩略语

CanNm / NM / CAN / BusSleep / PrepareBusSleep / Network / RepeatMessage / CBV / PN / PN-C / PN-R / Sync / OSEK NM

3 相关文档

[1] AUTOSAR SWS Nm
[2] AUTOSAR SWS ComM
[3] AUTOSAR SWS CAN Interface
[4] AUTOSAR SWS CAN State Manager
[5] AUTOSAR SRS Network Management

4 约束与假设

CanNm 应:

5 依赖其他模块

CanNm 依赖:Nm(通用 NM 接口)/ ComM(模式请求)/ CanIf(CAN 接口)/ PduR(PDU 路由)/ Dem(错误上报)。

6 功能规格

6.1 NM 状态机

CanNm 状态机:

6.2 Partial Networking

CanNm 支持 PN:

7 API 服务

7.1 初始化 / 关闭

void CanNm_Init(const CanNm_ConfigType* ConfigPtr):初始化。
void CanNm_DeInit(void):去初始化。

7.2 网络模式

Std_ReturnType CanNm_NetworkRequest(NetworkHandleType NetworkHandle):网络请求。
Std_ReturnType CanNm_NetworkRelease(NetworkHandleType NetworkHandle):网络释放。
Std_ReturnType CanNm_PassiveStartUp(NetworkHandleType NetworkHandle):被动启动。
Std_ReturnType CanNm_CheckRemoteSleepIndication(NetworkHandleType NetworkHandle, boolean* NmRemoteSleepIndPtr):检查远程睡眠指示。

7.3 状态查询

Std_ReturnType CanNm_GetState(NetworkHandleType NetworkHandle, Nm_StateType* NmStatePtr, Nm_ModeType* NmModePtr):获取 NM 状态与模式。
Std_ReturnType CanNm_GetUserData(NetworkHandleType NetworkHandle, uint8* const UserDataPtr, uint8* LengthPtr):获取用户数据。
Std_ReturnType CanNm_SetUserData(NetworkHandleType NetworkHandle, const uint8* UserDataPtr, uint8 Length):设置用户数据。
Std_ReturnType CanNm_GetPduData(NetworkHandleType NetworkHandle, uint8* const PduDataPtr, uint8* LengthPtr):获取 NM PDU 数据。

7.4 协调器

Std_ReturnType CanNm_RequestBusSynchronization(NetworkHandleType NetworkHandle):请求总线同步。
Std_ReturnType CanNm_CheckBusSynchronization(NetworkHandleType NetworkHandle, boolean* SynchronizedPtr):检查同步状态。

7.5 回调(来自 CanIf)

void CanNm_TxConfirmation(PduIdType TxPduId, Std_ReturnType Result):发送确认。
void CanNm_RxIndication(PduIdType RxPduId, const PduInfoType* PduInfoPtr):接收指示。

7.6 MainFunction

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

8 配置

CanNm 配置类:

9 错误处理

9.1 开发错误

CANNM_E_UNINIT:模块未初始化。
CANNM_E_PARAM_POINTER:参数指针为空。
CANNM_E_PARAM:参数无效。
CANNM_E_INV_NETWORK_HANDLE:网络句柄无效。

9.2 运行时错误

CANNM_E_BUSY:模块忙。


校对记录

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