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.

[参考译文] TMS320F280039C-Q1:CAN 寄存器

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1652753/tms320f280039c-q1-can-registers

器件型号: TMS320F280039C-Q1

大家好!

客户在高温条件下遇到软件异常。 怀疑 CAN 模块的软件逻辑。 需要检查以下问题:
1.在客户的软件逻辑中、需要连续等待 CAN_IFxCMD 寄存器中的 BUSY 标志被清除。 因此、是否存在任何工作条件、在该条件下、CAN_IF1CMD 和 CAN_IF2CMD 寄存器中的 BUSY 位保持设置为 1 的时间超过 1ms?
2.外部引脚电压电平、环境温度或 CAN 收发器的工作条件是否会影响 BUSY 位持续设置为 1? 我的理解是 CAN_IF1CMD 和 CAN_IF2CMD 寄存器中的 BUSY 位反映了内部 MCU 数据传输状态,与外部外设无关 — 这是正确的吗?
3.在什么工作条件下计时器模块的溢出标志不能被设置为 1 ? (MCU 晶体振荡器已验证正常、PWM 输出也正常。)
 
此致、
Jenney
  1.  
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jenney、

    [引述 userid=“631473“ url=“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1652753/tms320f280039c-q1-can-registers。] 在客户的软件逻辑中、需要连续等待 CAN_IFxCMD 寄存器中的 BUSY 标志被清除。 因此、是否存在任何工作条件、在该条件下、CAN_IF1CMD 和 CAN_IF2CMD 寄存器中的 BUSY 位保持设置为 1 的时间超过 1ms?

    当 IFxCMD 寄存器和消息 RAM 之间的传输正在更新时、设置 BUSY 位。  上次寄存器更新可能未完成或卡住。

    2. 外部引脚电压电平、环境温度或 CAN 收发器的工作条件是否会影响 BUSY 位持续设置为 1? 我的理解是 CAN_IF1CMD 和 CAN_IF2CMD 寄存器中的 BUSY 位反映了内部 MCU 数据传输状态,与外部外设无关 — 这是正确的吗?

    没错。  它不应受任何外部引脚或其他外设的影响。

    [引述 userid=“631473“ url=“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1652753/tms320f280039c-q1-can-registers。] 在哪些工作条件下、计时器模块的溢出标志未能设置为 1? (MCU 晶体振荡器已验证正常、PWM 输出也正常。)

    不确定计时器如何与此问题相关联。  计时器独立运行、并在达到计时器计数器阈值时设置其溢出标志。

    对于此类故障、查看 CAN 错误和状态寄存器始终很有帮助、因为这些寄存器可能指示模块的当前状态。  请让客户检查 CAN_ES、CAN_ERRC、CAN_PERR 的值、我们可以从这些值开始。

    此致、

    Joseph