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.

[参考译文] DRA829J-Q1:奇数 Fratio 下的 MCSPI 时钟占空比

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1649415/dra829j-q1-mcspi-clock-duty-cycle-at-odd-fratio

器件型号: DRA829J-Q1

您好、

I μ A´m 在 MCSPI0 上使用 MRAM 和。  
我的时钟设置是  
MCSPI_CHCONF_0[CLKG]=1bin
MCSPI_CHCONF_0[CLKD]= 0010bin
MCSPI_CHCONF_0[POL]=0bin
MCSPI_CHCONF_0[PHA]= 0bin
MCSPI_CHCTRL_0[EXTCLK]=0BIN

在本例中、得到的 Fratio 为 3。

SPRUIL1D 第 12.1.5.4.3.8.1 章节规定、具有奇数 Fratio 的这种设置应产生 33%的占空比。

使用示波器进行的测量表明、SPI0_CLK 上的占空比始终为 50%、与设置 Fratio(偶数)或 ODD 无关。

是否还有其他一些设置会影响占空比?  

注意:50%占空比也会对我的硬件有利、但我想了解与 TRM 不同的硬件行为。

此致、Peter

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

    您好、Peter:

    仅当通道被禁用时、才能将通道配置加载到 MCSPI_CHCONF_0 中。 您能否在启用通道之前立即读回寄存器、以确保对正确的时钟设置进行编程?

    此致、

    Takuma

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

    尊敬的 Takuma:

    可以假设寄存器设置正确、因为我获得了预期的频率。 此外、当我使用 Lauterbach 调试器更改 CLKD 时、频率也会按预期变化。 示波器显示频率发生变化、但占空比始终为 50%、无论 Fratio 是偶数还是奇数。

    此致、Peter

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

    您好、Peter:

    对 CLKD 进行编程后、可以立即读取 MCSPI_CHCTRL_0 寄存器吗?

    此致、

    Takuma

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

    尊敬的 Takuma:

    遗憾的是 、对 CLKD 进行编程后、我无法立即读取 MCSPI_CHCTRL_0、因为我没有源代码。

    我只能在系统完全启动后通过调试器执行寄存器转储、并且还可以更改 MCSPI_CHCTRL_0 和 MCSPI_CHCONF_0。 更改后、我可以通过外部接口触发对 MCSPI 的访问并测量变化后的频率。

    此致、Peter

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

    您好、Peter:  

    那么、我目前的怀疑是、对 CHCONF 进行编程的方法、特别是时间、可能是占空比不符合预期的原因。

    如果您可以访问源代码和/或找到用于放置断点以检查 CHCTRL 寄存器的符号、那么我们可以更深入地了解这一点。 否则、50%占空比是 SPI CLK 的默认行为、如果适用于您的用例、请继续执行此操作。

    此致、

    Takuma

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

    尊敬的 Takuma:

    在 SW 设计人员的支持下、我在 MCSPI 模块配置后直接检查了 CHCTRL:

    MCSPI_CHCONF_0 = 0x200E03C8

    MCSPI_CHCTRL_0 = 0x00000000

    因此 分频器因数为 3、测量的频率正确、但占空比为 50%。

    此致、Peter。

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

    您好、Peter:

    感谢您的测试。 到目前为止、我没有看到任何配置问题。 让我检查一下我能否确认。 McSPI IP 模块已从过去支持占空比变化的器件中重复使用、但我不了解的 IP 块可能发生了变化。

    现在、请使用 50%占空比。

    此致、

    Takuma