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.

[参考译文] TMS320F28035:CAN 中的垃圾值

Guru**** 2524460 points
Other Parts Discussed in Thread: TMS320F28035

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1379987/tms320f28035-garbage-value-in-can

器件型号:TMS320F28035

工具与软件:

团队成员、您好!

我们将使用 TMS320F28035控制器和 CAN 进行通信。

从 Mail Box 18我们接收数据和存储在外部存储器中的数据。 但我们看到外部存储器中存在一些损坏的数据。

调试时、观察到即使未发送任何 CAN 帧、ECanaMboxs.MBOX18.MDL.all 和 ECanaMboxs.MBOX18.MDH.所有 寄存器也将填充一些数据、并将这些数据传输到外部存储器。

MBOX 数据中出现此垃圾值的原因是什么?我们如何解决此问题?

谢谢和升级、

Madhu P

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Madhu:

    数据寄存器(MDL 和 MDH)用于发送数据或接收数据。 如果接收到的报文与一个或多个有效的报文对象匹配、它将被存储到报文编号最小的那个报文对象中、并且该报文对象的 NewDat 位将置位。  如果 RxIE 位被置位、指向该报文对象的中断将会被生成。 CPU 可以使用 IFx 接口寄存器读取接收到的消息、并且会将负载保存到 MDL 和 MDH 寄存器中。

    因此、MDL 和 MDH 应包含新接收到的数据。 MDL 和 MDH 中的旧数据会被覆盖。  

    [报价 userid="577017" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1379987/tms320f28035-garbage-value-in-can ]]调试时、观察到即使没有发送任何 CAN 帧、也可以 使用 ECanaMboxs.MBOX18.mdl.all 和 ECanaMboxs.MBOX18.mDH.all 寄存器填充一些数据并将数据传输到外部内存。

    如果没有接收到数据(NewDat 为0)、则 MDL 和 MDH 中的数据是无用的、不应被使用。