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.

[参考译文] TCAN4550:配置问题

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1418972/tcan4550-configuration-questions

器件型号:TCAN4550

工具与软件:

嗨、团队:

请回答以下两个问题、谢谢!

1.我现在正在配置 TCAN4550、不打算使用中断请求位来发送或接收数据。 如果 MCU 通过轮询发送和接收数据、我是否需要配置 TCAN4550的中断?

0X000C 寄存器的值是0x0800000C、0x0820寄存器的值是0x00010089、0x0824寄存器的值是0x08010000。 出现这些错误的可能原因是什么?

此致!

运行

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

    大家好、

    您不需要使用中断、因此这完全是您的选择和偏好。

    寄存器0x000C 通知 SPI 接口错误。  可以通过读取寄存器0x0010来找到有关错误原因的其他信息。  器件在 SPI 接口上使用 FIFO 来处理 SPI 时钟和数字时钟域(OSC1/2时钟)之间的时钟域交叉。  

    SPI 数据根据 SPI 时钟加载到 FIFO 中、并在 SPI 写入事务中从 OSC 时钟从 FIFO 中拉出。

    类似地、数字内核通过 OSC 时钟将数据加载到 FIFO 中、MCU 通过 SPI 读取事务上的 SPI 时钟将数据拉出 FIFO。

    为了监控和检查错误、器件会跟踪 FIFO 中的时钟周期数和位数、以确保每个事务有准确的数量、如果时钟周期太多或对应于不正确的"长度"字段值的位太多、则设置错误。  例如、如果长度字段设置为"1"、则应该只有32个数据位。  如果长度字段设置为2、则应有64个数据位。  位过多或过少会导致上溢或下溢错误。 然后设置相应的状态标志位。

    任何与时钟相关的问题或中断也会导致 SPI FIFO 中出现错误。  另外、请注意并查看 TCAN455x 时钟优化和设计指南应用报告 (链接)为您的设计优化时钟电路时、确保其稳定。

    在寄存器0x0820中、由于 ECCERR (位16)被置位、VTWD 位被置位;并且 SPIERR 位被置位、表明 SPI 通信中发生了某种形式的错误。  当任何其他位被置位时、GLOBALERR 位就会被置位。  对于 ECC 错误、如果 MRAM 未被正确清除、则可能会发生这种情况、但同时读取测试寄存器0x080C 也可以提供额外的信息。

    对于寄存器0x0824、TSW 位置位。该位并不是错误、而是用于生成 CAN 报文时间戳(如果使用)的指示已经换向开始。  但是、设置了仲裁段中的协议错误(PEA)位、这通常表明 CAN 总线配置参数(例如标称位时序参数)存在错误、导致其他 CAN 节点无法在仲裁阶段正确处理消息。  CAN 总线上信号完整性不佳还会导致消息此阶段的位采样错误并导致错误。  但假设信号完整性良好、为避免出现任何错误、您应该验证位时序配置设置与 CAN 总线上的所有其他节点相同。

    此致、

    Jonathan