工具与软件:
从 CAN 总线关闭中恢复的过程
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
从 CAN 总线关闭中恢复的过程
CAN 总线上的每个 CAN 节点(DCAN 或 MCAN)都有两个错误计数器:发送错误计数器(TEC)和接收错误计数器(REC)。 如果 REC 或 TEC 超过127、CAN 节点进入错误被动状态、如果 TEC 超过255、则进入总线关闭状态。 在 CAN 总线关闭状态下、CAN 节点将自身与 CAN 总线断开、并且无法再传输数据或生成错误标志。
CAN 总线错误可能由电缆故障、噪声、端接错误、CAN 节点故障等引起 在调试中、短接 CANH 和 CANL 可以快速进入 CAN 总线关闭状态。
对于 DCAN、节点进入总线关闭状态后、CPU 可以通过复位 CCCR 来启动总线关闭恢复序列。 INIT 位、或者如果启用了自动开启总线(ABO)、DCAN 将自动启动离线恢复序列。 一个示例。 INIT 位已复位、DCAN 节点将等待129次出现总线空闲(等于129 × 11个连续隐性位)、然后再恢复正常运行。 总线关闭恢复序列结束时、错误计数器将复位。
对于同时支持传统 CAN 和 CAN FD 的 MCAN、MCAN 控制器不会自动管理从总线关闭恢复、因此应用软件必须执行此操作。 要重新启动 MCAN 操作、用户需要清除 CCCR.INIT。 之后。 INIT 被清除、然后器件将等待总线出现129次空闲(129 * 11个连续隐性位)、然后再恢复正常运行。
然后再复位 CCCR。 INIT 位、应用软件需要清除所有待处理的消息和 CAN TX 状态(F280039 MCAN 驱动程序 MCAL 不包含此步骤、CAN 总线关闭未恢复)
在总线关闭恢复过程中、CAN 不接收消息并且不进行传输。 在总线关闭恢复继续的过程中请求传输时、该传输将在恢复完成后启动。
关闭总线恢复完成后、选择 PSR。 BO、ECR。 TEC 和 ECR。 REC 被清零、PSR 也被清零。 ACT 被设置为空闲。