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.

[参考译文] TMS320F28069F:扩展帧格式的 CAN 总线标识符的某些字节消失

Guru**** 2538950 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/871723/tms320f28069f-some-bytes-of-can-bus-identifier-for-extended-frame-format-disappear

器件型号:TMS320F28069F

您好!

CAN 扩展帧格式使用29位标识符。 但在 canAnalyzer 中、它仅显示24位标识符。 例如、我将标识 符设置为0x18ff51020、但在 canAnalyzer 中、它仅将标识符显示为 ff51020。 前两个有效字节为什么会消失? 是否有任何寄存器控制这些出现或未出现的字节? 如果是、如何更改寄存器的设置?

谢谢、

Hao

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

    Hao、

               MSGID 为11位或29位。 它不能是中间的东西。 如果您使用示波器探测 CANTX 引脚、我相信您将看到所有29位。 请参阅 app.note 中 http://www.ti.com/lit/sprace5 上的示例波形。 我的 app.note 中的实用调试提示,网址 为 http://www.ti.com/lit/spra876 。 请附上 CAN 分析仪窗口的屏幕截图、其中显示了截断的 MSGID。

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

    Hareesh J、

    我附加了 canAanalyzer 的屏幕截图、其中显示了截断的 MSGID。 标识符应为 18ff51020、但截断为 ff51020。 您能告诉我原因是什么吗?

    谢谢、

     Hao

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

    您是否尝试增加该列的宽度? 您能否使用示波器探测 CANTX 引脚?

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

    请重新检查您尝试发送的 ID (1 8f F5 10 20)需要33位。

    截断为29位即得到的结果(f F5 10 20)

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

    Joe 的观察结果是正确的。 我没达到这一点。 谢谢 Joe。

    只有位28至0是 MSGID 字段。 位31、30和29具有其他功能。

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

    感谢您的信息。

    对于 位31、30和29、对于 ID 18ff5102、我需要将它们设置为1而不是0。 如果我将 MSGID 设置为18ff5102、则 canAnalyzer 显示为63F、如下所示:

    如果我将 MSGID 设置为 f8ff5102、则 canAnalyzer 显示为18ff5102、如下所示:

    您能告诉我发生这种情况的原因吗?

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

    更新:编辑了我的帖子、因为我之前错误地键入了 IDE 位的位位置。

    对于29位标识符、IDE 位(MSGID 寄存器的位31)必须为1。 如果它为0、则只发送11位标识符。 即 MSGID 寄存器的位28:18。 请检查寄存器窗口中位31的值。