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: SPI最高通信速率

Part Number: TMS320F28379D

尊敬的TI工程师您好:

我们正在使用TMS320F28379D launchpad的SPI通信功能,在TMS320F28379D的芯片数据手册中,标称的SPI通信最高速率可以达到50MHz: ,而在实际使用过程中,SPI的最高速率被限制在了12.5M,在TI的SPI.h库中,标注有SPI的比特率不能高于LSPCLK的四分之一: ,我们的时钟设定按照SPI例程: ,这使得LSPCLK为50M,SPI比特率为12.5M。我们即使在SPI通信初始化函数中将SPI的比特率拉高,最终输出的时钟仍然维持在12.5M。请问是否有办法将SPI通信速率拉高?

  • 我们将DEVICE_LSPCLK_FREQ设置成和DEVICE_SYSCLK_FREQ相等,均为50M,并将SPI波特率置为50M,同时在SPI初始化函数中将HS_MODE位置为1(SpiaRegs.SPICCR.bit.HS_MODE = 0x1;),再次测试SPI时钟,示波器显示仍然为12.5M。

  • 看一下时钟配置这里:

    https://www.ti.com.cn/cn/lit/ug/spruhm8j/spruhm8j.pdf P106 3.7 Clocking

    把LSPCLK配置得高一些。

  • 尊敬的TI工程师您好:

    我已经尝试按照您的指导将LSPCLK配置到50MHz(与SYSCLK频率一致,使用IDDK_PM_Servo例程调试),如下图:

    并尝试按照28379D芯片数据手册中高速SPI的配置方法将SPI配置成高速模式,如下图

    但使用示波器采集CLK引脚波形如下图所示:

    CLK频率仍为12.5MHz左右。

    1.我的LSPCLK似乎并未改变,并且我在IDDK_PM_Servo例程中并未找到有关时钟配置的函数。请问具体需要更改例程中的哪个参数配置时钟呢?

    2.请问如何确认我已经将LSPCLK配置到50MHz?可否通过某个语句使得引脚电平翻转从而输出波形观察到实际的LSPCLK频率?

    3.请问我配置SPI高速模式的方法是否正确?

    4.如果不是LSPCLK配置或SPI高速模式配置错误,请问还有其他可能的原因导致我现在的SPI速率达不到50MHz吗?

  • 感谢您对TI产品的关注!为更加有效地解决您的问题,我们建议您将问题发布在E2E英文技术论坛上(https://e2e.ti.com/),将由资深的英文论坛工程师为您提供帮助。