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-Q1:TX 缓冲器请求挂起状态

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1311133/tcan4550-q1-tx-buffer-request-pending-status

器件型号:TCAN4550-Q1
主题中讨论的其他器件: TCAN4550

关于 TCAN 4550-Q1、SPI 转 CAN 收发器。

通过读取 "Tx 缓冲器请求挂起"寄存器来监视 CAN 发送状态。 根据芯片手册可以看到0被定义为"无发送请求挂起"、1被定义为"发送请求挂起"、但是我们得到项目中第三个状态的测量值为2. 请帮助确认:TCAN 4550-Q1芯片处于此状态是什么状态? 为什么会发生这种情况?

此外、TCAN4550-Q1芯片的最小写入周期是多少?
如果无法写入、TX 缓冲器、Tx 缓冲器请求挂起的寄存器值是多少?

谢谢!

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

    尊敬的 Mingkang:

    此外、TCAN4550-Q1芯片的最小写入周期是多少? [/报价]

    我想您指的是 CAN 消息传输之间的最短时间或 TCAN4550传输 CAN 消息的速度。  是这样吗?

    与 TCAN4550的所有通信均通过 SPI 总线接口完成、因此 SPI 数据速率和效率将是决定最短周期时间的主要因素。  但是、CAN 协议和仲裁也会影响传输消息所需的时间。

    一旦一条消息被加载到 TX 缓冲区元素、TX 缓冲区添加请求(TXBAR)寄存器中的相应位应被设置为1。  这将启动传输过程、器件将设置 TXBRP 寄存器中的相应位、并尝试在仲裁协议之后在 CAN 总线上传输消息。  发送完消息后、器件会将 TXBRP 位清零、并置位 TX 缓冲区添加请求传输发生(TXBTO)寄存器中相应的位、通过监测该位可以确定传输是否成功。  TXBTO 寄存器将保持此状态、直到该寄存器发送新的消息并且相应的 TXBRP 位被设置回1。

    器件在传输后不会自动清除 TX 缓冲器元素中的消息数据、因此如果需要、可以重复传输同一消息。  您只需再次将 TXBAR 位置1即可让该缓冲区开始下一次传输。  因此、传输同一报文的最短周期时间由 SPI 设置 TXBAR 寄存器所花费的时间决定、该时间是在发生上一次传输的 TXBTO 之后。

    如果无法写入、TX 缓冲区的寄存器值是多少、Tx 缓冲区请求挂起?

    TX 缓冲元件只是一个存储器区域、用于保存要传输的消息的内容、不会自行清除。  因此、MCU 确定 TX 缓冲器中的内容是什么。

    TX 缓冲区请求挂起寄存器将反映出任何已通过设置 TXBAR 位为1启动传输的 TX 缓冲区的状态。  对于任何尚未成功发送报文的 TX 缓冲器、TXBRP 寄存器位将为1。  一旦消息被发送、TXBRP 位将被置位为0。  可以通过 TX 缓冲区取消请求(TXBCR)寄存器取消消息传输、这将停止传输并将 TXBRP 位清零。

    TCAN4550-Q1使用由 Bosch 开发的名为 M_CAN 的 CAN FD 控制器 IP。  有关 MCAN 寄存器的更多详细信息、我建议您阅读 M_CAN 用户手册。 (链接)

    您可以将本 MCAN 用户手册视为 TCAN4550-Q1数据表和 TCAN455x 软件用户指南(链接)的补充文档。  我需要指出的唯一区别是、TCAN4550-Q1为每个 MCAN 寄存器都添加了0x1000的偏移量。  因此、MCAN 用户手册中的 TXBRP 寄存器为0xCC、但 TCAN4550寄存器地址为0x10CC。  

    此致、

    乔纳森

x 出现错误。请重试或与管理员联系。