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.

[参考译文] TMS320F2.8377万S:为什么我的SPI时钟频率是我预期的一半?

Guru**** 2482225 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/640509/tms320f28377s-why-is-my-spi-clock-half-the-frequency-that-i-expected

部件号:TMS320F2.8377万S
主题中讨论的其他部件:TMDSCNCD2.8379万D

它看起来像SPI A CLK不是我预期的频率。
在示波器上,我为SPI A CLK频率测量了5MHz,但我告诉SPI_setConfig函数使用10MHz:
SPI_setConfig (SPIA_BASE,DEVICE_LSPCLK_FREQ,SPI_PROT_POL0PHA1,SPI_MODE_MASTER,1000万, 8);


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    SYSCLK是否以200MHz运行? LSPCLK的情况如何? 默认情况下,它在SYSCLK/4上运行,您是否更改了该设置?

    如果您确实更改了这些设置中的任何一项,您是否更新了device.h中的宏(如DEVICE_LSPCLK_FREQ)以匹配?

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

    我不知道如何计算SYSCLK和LSPCLK的频率。
    我不知道如何更改LSPCLK,所以我相信我没有更改它,除非我误操作。
    我没有对device.h进行任何更改
    我使用的是LAUNCHTXL-F2.8377万S评估板。

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

    LAUNCHTXL-F2837xx的主板上具有10MHz时钟,而TMDSCNCD2.8379万D的主板上具有20MHz时钟。

    这些示例是为使用20MHz时钟而编写的,InitSysCtrl()将查找预定义的符号(如_LAUNCHLL_F2.8377万S)来代替10MHz时钟。 检查项目属性以查看是否定义了符号。

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

    Kevin,

    我同意Tommy的评估——我怀疑您需要在预定义的符号中加入_LAUNCHLL_F2.8377万S。 请注意,Device_init()是与他提到的InitSysCtrl()函数等效的driverlib,您应该能够查看device.h以查看_LAUNCHL_F2.8377万S符号的影响。

    Whitney

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我正在使用Device_init(),但我不知道它在做什么,也找不到它的任何文档。
    我使用Device_init()而不是InitSysCtrl(),这听起来不错。
    如何在预定义符号中加入_LAUNCHLL_F2.8377万S?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的,可以使用Device_init()。 除了评论中的内容,我们目前还没有相关文档。 您可以查看它调用的driverlib函数,以便更好地了解它正在执行的操作。 它主要是设置SYSCLK,打开外设时钟和禁用看门狗。

    要将_LAUNCHLL_F2.8377万S添加到预定义符号中,请右键单击项目并选择“属性”。 然后在“构建”>“C2000编译器”->“预定义符号”下查找。 它也可能位于“高级选项”->“预定义符号”下,具体取决于您使用的编译器版本。 找到页面后,将_LAUNCHL_F2.8377万S添加到标有“预定义名称(--define,-D)”的框中。

    Whitney

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

    非常感谢您的帮助!
    这解决了我的问题。

    谢谢!
    Kevin