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.

[参考译文] CCS/TMS320F28035:TMS320F28035 3线 SPI 配置问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/719339/ccs-tms320f28035-tms320f28035-3-wire-spi-configuration-issue

器件型号:TMS320F28035

工具/软件:Code Composer Studio

您好!
    我使用 TMS320F28035的 SPI 来获取角度传感器的角度数据。 SPI 配置为3线主控模式。 要读取传感器数据、首先将 SPI 配置为传输模式、发送传感器的地址和命令数据(16字节)、然后将 SPI 配置为接收模式、读取传感器的角度数据(16字节)、然后读取校验和状态数据(16字节)。 在整个过程中、芯片选择信号(CSn)应该一直被拉低、但是通过测量、芯片选择信号、每次16字节传输完成时、它将被上拉一次。 这将不符合传感器的时序要求。 如何配置 SPI、以便片选信号在整个周期内保持低电平。
这是我的程序的一部分,示波器的屏幕截图,黄线是片选信号,绿线是时钟信号。
谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是 SPI 的预期行为。 一旦 SPI 发送缓冲区中没有可用的数据、SPISTE 将被驱动为无效。

    您需要手动控制芯片选择信号。 只需将其配置为 GPIO 模式、并在完成传输之前和之后驱动它。 您可以查看几个主题类似的主题。 它们指的是多个从器件、但技术是相同的。
    e2e.ti.com/.../613315
    e2e.ti.com/.../591822

    基本上只需在您的//请查看演示行之后放入 GPIO_SET_LOW 函数,然后在您的最后一个 SW = readSPI 之后放入 GPIO_SET_HIGH。

    此致、
    标记