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.
工具与软件:
您好!
我们有要求在 TMS320F28379D 中使用7个 SPI 器件、尽管我们有许多可用的 SPI 引脚、但我们只有三个可用 SPI 通道(SPIA、SPIB 和 ***)、这些通道可通过引脚多路复用连接到控制器上的可用 SPI 引脚。
在 SysConfig 中、我已经定义了所有三个可用通道、但我还需要4个 SPI 通道、这需要至少以1MHz 速度运行。
是否有可能使用可用的标准库一起使用7个 SPI 通道?
您好!
是否有任何更新?
是否可以使用其他 GPIO 在未配置为 SPIA、B 或 C 的其他 GPIO 引脚上生成时钟、以便我们可以将其用于 SPI 通信?
尊敬的 Gautham:
对于延迟、我们深表歉意。 F28379D 共有3个 SPI 实例。 还有2个 McBSP 实例、这是可在 SPI 模式下使用的单独串行通信外设(请参阅 TRM 以了解更多信息、这可能不支持所有用例)。 由于引脚的多路复用、可用 SPI 引脚列表很庞大、不直接指示可配置的 SPI 数量。
关于第二个问题、可以由 GPIO 而不是硬件控制芯片选择(即 PTE)。 通过执行此操作、您可以将1个控制器/主器件 SPI 连接到"n"个外设 SPI (无需"n"个主器件)。 这与您尝试实现的方案相似吗? 或者您是否严格地需要更多(&完整) SPI 实例?
谢谢!
Arnav
您好、Arnav、
感谢您对 McBSP 的阐述。
我们已经 借助 TMS320F28379D 制作了定制电路板、其中我们正在与在 SPI 上工作的器件通信、但是只需要使用 SCLK 和 MISO。 我们有2个器件、连接方式如下:
器件1:
GPIO 14 - SCLK;GPIO 15 - MISO
器件2:
GPIO 38 - SCLK;GPIO 39 - MISO
由于 这些引脚与 SPIA、B 或 C 无关、因此我们尝试切换引脚来生成时钟并从器件获取数据、但是、通过切换 GPIO 14和 GPIO 38可获得的最小脉冲为1.3微秒。
我们如何进一步减少这种情况? TRM 显示、GPIO 可通过25MHz 频率进行切换。
您好!
有任何相关更新?
尊敬的 Gautham:
您看到的切换频率可能是由于使用的优化级别所致。 您可以使用应用的更高编译器优化级别进行相同检查吗?
关于您的设置、由于您需要 MISO、您计划使用两个 F28379D 作为从器件、对吗? 在这种情况下、为什么还需要从这些器件生成时钟脉冲? 如果您可以明确打算如何仿真 SPI、那将会很有帮助。
谢谢!
Arnav
尊敬的 Arnav-Menon R:
优化级别已关闭、我们将其开启并尝试了不同的设置、我们能够实现高达300ns 的 GPIO 切换频率、这已经足够了。 但是、在应用优化后、我们会根据观察结果提出一些后续问题。 关于我们项目的一些背景:
我们将使用 TMS320F28379D 来控制 BLDC 电机、我们有一个编码器、编码器的输出为 SPI 格式、但是仅使用2条 SPI 线路进行通信、即 CLK 和 MISO。 我们已使用标准 SPI 库和 GPIO 引脚验证了编码器的输出、它正在正常运行。
观察结果:
在优化级别选择不同的选项时、我们观察到在优化关闭时 GPIO 以大约4倍的频率进行切换、 但是、编码器输出发生变化、我们没有看到0到360度(优化关闭时会得到此结果)、我们只得到0到180度范围、而在其他一些优化选项中、我们只得到0到90度、最后我们设法发现选择寄存器优化级别且该范围太大设置为0 (1到5之间)、我们将得到正确的输出。
更改不同的优化对从编码器读取代码的方式有何影响?
您好!
Benjamin Collier Arnav-Menon R
有任何相关更新?