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.

[参考译文] TMS320F28335:F28335:有关 eCAN - CANRFP 的问题

Guru**** 2524550 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/717926/tms320f28335-f28335-question-regarding-ecan---canrfp

器件型号:TMS320F28335

在 SPRUEU1的 PAG 34 (2.9)上、会说 "如果一个远程帧存储在接收邮箱中、RFPn 位将不会被置位。"

但是在表2-9 (CANRFP 域说明)中会说:"对于接收邮箱、如果接收到远程帧并且 TRSn 不受影响、则 RFPn 位会被置位。"

对我来说、这些说法是矛盾的...


可以有人向我解释一下吗?

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

    线路"如果一个远程帧被存储在一个接收邮箱中(AAM=0、CANMD=1)、RFPn 位将不被置位"显示为错误。 我能够看到在接收邮箱中 RFP 位被设置。 应采取以下行为:

    每当 CAN 模块接收到远程帧请求时
    远程帧等待寄存器中的相应位 RFP[n]被置位。 如果是
    远程帧存储在接收邮箱中(AAM=0、MD=1)、CPU 必须
    启动应答帧传输并必须复位 RFP[n]标志。 如果是
    配置为自动应答模式(AAM=1、MD=0)的邮箱接收一个遥控器
    在应答帧结束后、CAN 模块清除 RFP[n]标志
    传输成功。

    如果可以进一步帮助、请告诉我。

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

    非常感谢

    还有一个小问题:

    -> CPU 的 RFP[n]清除过程。

    文本内容为:"(...) CPU 必须通过设置相应的传输请求复位位 TRR[n]位来清除 RFP[n]标志和 TRS[n]位。"

    因此、我了解到、如果邮箱是 AAM = 1的发送邮箱、为了手动中断回复和清除 RFP 和 TRS 位、CPU 只 需设置 TRR...

    但是 、如果邮箱是接收邮箱、并且接收到远程帧、则 TRS 不会自动置位。

    因此 、我认为我必须直接清除 RFP[n]、而不是通过设置 TRR ... 是吗? 要直接清除 RFP  、我需要向其写入1?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您应该能够通过写入来清除 RFP 位。