MATLAB Mapping Toolbox:CAN网络错误处理与API要求

需积分: 42 27 下载量 103 浏览量 更新于2024-08-08 收藏 2.22MB PDF 举报
本文档主要介绍了MATLAB的Mapping Toolbox在处理传输错误时的使用方法,特别是在CAN网络管理中的应用。CAN网络管理(CanNm)模块负责监控网络管理PDU(NM PDU)的传输,当确认功能配置后,它会评估传输是否成功,并在出现错误或超时时向上层报警。 在传输错误处理方面,如果`CanNmPassiveModeEnabled`设置为TRUE或`CanNmImmediateTxConfEnabled`设置为TRUE,CanNm将不会执行传输错误处理,忽略某些特定要求。这些要求包括`SWS_CanNm_00061`、`SWS_CanNm_00064`、`SWS_CanNm_00065`、`SWS_CanNm_00066`和`SWS_CanNm_00446`。传输错误处理仅在节点被允许发送NM PDU并且CanIf的实际确认被评估时有意义。 若`CanNmGlobalPnSupport`设置为TRUE,同时指定了`CanNmMsgTimeoutTime`,那么当CanNm请求发送NM PDU时,它将启动一个带有`CanNmMsgTimeoutTime`的NM消息传输超时计时器(`SWS_CanNm_00064`)。如果`CanNm_TxConfirmation`被调用,超时计时器会被停止(`SWS_CanNm_00065`)。如果确认结果为E_NOT_OK或超时,CanNm将调用`Nm_TxTimeoutException`(`SWS_CanNm_00066`)。如果超时计时器过期,且`CanNmGlobalPnSupport`为TRUE,CanNm还会调用`CanSM_TxTimeoutException`函数(`SWS_CanNm_00446`)。 此外,关于CanNm API的功能要求,如果节点检测功能和`CanNmRepeatMsgIndEnabled`都启用,CanNm模块会在每次接收到`RepeatMessageRequest`位时调用回调函数`Nm_RepeatMessageIndication`(`SWS_CanNm_00014`)。如果`CanNmUserDataEnabled`启用但无用户数据字节可用,CanNm模块将在配置或编译时报错(`SWS_CanNm_00086`)。 此文档遵循AUTOSAR CP版本4.3.0的标准,涵盖CAN网络管理规范,涉及到错误处理、超时机制以及API的使用。文档变更记录显示了不同版本的改进和更新,例如API协调、可靠传输确认以及部分网络处理的改进等。 MATLAB的Mapping Toolbox在处理CAN网络传输错误时提供了详细的管理和报警机制,通过设置不同的参数和函数调用来确保网络的稳定性和可靠性。这对于在AUTOSAR架构下开发和调试汽车电子控制系统具有重要意义。