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.

[参考译文] C2000WARE-MOTORCONTROL-SDK:F28377D + SysConfig:启用 SPI“High Speed Mode“在_ERROR__() 中停止(在未选中 HS 时运行)

Guru**** 2529560 points
Other Parts Discussed in Thread: SYSCONFIG, TMS320F28377D, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1562021/c2000ware-motorcontrol-sdk-f28377d-sysconfig-enabling-spi-high-speed-mode-halts-in-__error__-works-when-hs-is-unchecked

器件型号:C2000WARE-MOTORCONTROL-SDK
Thread 中讨论的其他器件:SysConfigTMS320F28377DC2000WARE

工具/软件:

我通过配置了 SPI 功能 其中概述了 SysConfig ( 器件:TMS320F28377D C2000Ware_5_03_00_00 )。
仅当我使用时 低速模式 (启用高速模式 不会 已选中)、它正常工作。
然而,当我 启用高速模式 (启用高速模式 已检查 )、如下图所示、程序在中停止:

void __error__(const char *filename, uint32_t line)

filename显示了一个我没有指定的路径、即/home/ubnuser/ti/repos/c2000ware/repos/f2837xd/release_pkg/driverlib/f2837xd/driverlib/spi.

您能否给出在此设置中正确配置高速 SPI 的建议?

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

    您要查看的文件路径是 Driverlib 中的 SPI 固件。  当您遇到此错误时、调用堆栈是什么?

    此致、
    Jason Osborn

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

    尊敬的 Jason:

    我检查了调用栈、发现代码SPI_setConfig()在断言时停止在中:

    assert ((lspclkHz / bitrate)<= 128U);

    在我的案例中:

    • bitRate = 40 MHz

    • lspclkHz = 50 MHz(来自DEVICE_LSPCLK_FREQ device.h 中的宏)

    因此、置为有效失败的原因是 40MHz > 50MHz /4 = 12.5MHz。

    在硬件中、我已经通过 SysConfig 将 LSPCLK 配置为 200MHz、但在 device.h 中、默认定义为:

    #define DEVICE_LSPCLK_FREQ   (DEVICE_SYSCLK_FREQ / 4)

    这产生了 50MHz、而不是实际的 200MHz。

    在我手动将其更正为:

    #define DEVICE_LSPCLK_FREQ   (DEVICE_SYSCLK_FREQ / 1)

    该程序不再符合中的断言SPI_setConfig()

    我的工程正在使用这两种模式 其中概述了 SysConfig device_support (device.h) 。 您能否确认在DEVICE_LSPCLK_FREQ结合使用 SysConfig 与 device_support 时、建议使用的手动更正方法吗?

    感谢您的支持。

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

    对于大多数 SysConfig 版本、都是这样。

    此致、
    Jason Osborn