您好!
我曾有关于将 SPI 与 TCAN4550配合使用的一般问题。 我们尝试使用 STM32F446xC 作为微控制器来控制该器件。 微控制器只能通过 SPI 执行8或16位传输。 我们当时想使用 Bit-Bang 方法。 基本上、我们手动控制 CS 线路并执行两次16位传输以执行 SPI 写入。 这似乎是可行的选择吗? 此外、我们有点困惑、对于如何处理给定16位限制的从 TCAN4550到 STM32的 SPI 读取、我们提供了任何建议。
谢谢!
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.
您好!
我曾有关于将 SPI 与 TCAN4550配合使用的一般问题。 我们尝试使用 STM32F446xC 作为微控制器来控制该器件。 微控制器只能通过 SPI 执行8或16位传输。 我们当时想使用 Bit-Bang 方法。 基本上、我们手动控制 CS 线路并执行两次16位传输以执行 SPI 写入。 这似乎是可行的选择吗? 此外、我们有点困惑、对于如何处理给定16位限制的从 TCAN4550到 STM32的 SPI 读取、我们提供了任何建议。
谢谢!
尊敬的 Nivant:
手动控制 CS 线路是一种常见的方法。 TCAN4550 SPI 适用于32位字、从技术角度而言、由于需要两个字、因此最小 SPI 事务长度为64位。 第一个字包含读取/写入操作码字节(0x41或0x61)、寄存器或存储器地址以及要读取或写入的长度(或寄存器/数据字的数量)。 然后第二个字包含用于读取/写入的数据。
为了提高效率、TCAN4550通过此长度字段支持多个字读取/写入事务、并且无需为每个需要读取或写入的连续寄存器或存储器位置提供新地址。 CS 线路需要在整个 SPI 事务期间保持低电平、因此对 CS 线路的手动控制也允许您通过在所需的时间内将 CS 线路保持为低电平来优化 SPI 效率。
此致、
乔纳森