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.

[参考译文] TMS320C28346:McBSP 时钟停止模式配置

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/681414/tms320c28346-mcbsp-clock-stop-mode-configuration

器件型号:TMS320C28346

使用 McBSP 端口与 SPI 器件通信的现有设计故障排除。

时钟停止模式配置如下:CLKSTP=11b、CLKXP=0、CLKRP=0。

这不是 McBSP 参考指南(SPRUG80A 修订版2011年8月)表6-2中定义的设置。

问题1 - 串行端口将如何执行此未定义的配置? 我们会发现偶尔出现的通信错误、并想知道这是否是根本原因。   

问题2 - MCLKR (接收时钟)被设定为一个输出、但是有一个外部缓冲器将引脚驱动为一个时钟输入。 这是否会导致端口故障并产生错误?

问题3 -在重新设计中将引脚配置为输入(CLKRM=0)。 启用 时钟停止模式是否会 "强制"引脚成为 覆盖 CLKRM 配置位的输出? (文献似乎暗示了这一点,但并不清楚)。

 

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

    Terry、

    我希望我能在这里有所帮助:

    这是一个未定义的状态。 它可能在您的系统中大部分都能正常工作、但我们不能保证它能够正常工作。  在您的修订版中、请与表6-2中提到的相应方案保持一致。

    2.您是设置为 SPI 主设备还是从设备。 在任一种情况下、CLKX 引脚是 SPICLK 引脚、CLKR 引脚未使用。 请参阅表6-3和6-4:CLKXM 位描述了内部 MCLKR 路径如何由 CLKX 在内部驱动。

    3. 不需要 CLKRM 位。 由于您要将 CLKXM 设置为1并将 CLKSTP 配置为10b 或11b、因此 CLKRM 无关紧要。 这在 CLKXM 位定义中说明(表11-16):  

    此致、

    标记

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    客户跟进问题已在以下帖子中得到解决:
    e2e.ti.com/.../682264
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我知道现有的时钟停止模式配置未定义、无法保证运行。 McBSP 将用作 SPI 主器件、因此我将在修订版中将 CLKSTP/CLKXP/CLKRP 配置为1100b (根据表6-2定义的状态)。

    我想进一步澄清 CLKRM 位。 我知道、由于 CKLSTP= 11b、信号无关紧要。 不过、我仍然想知道现有设计(MCLKR 引脚配置为输出引脚、同时也由非同步外部源驱动)是否可能影响 McBSP 内部芯片硬件的正常运行(噪声干扰、MOS 栅极饱和、闩锁等)。 并导致数据接收错误。 请注意、帧同步引脚也由外部源驱动。 我打算修改配置、将这两个引脚定义为输入引脚(CLKRM=0和 FSRM=0)、即使我不使用这些信号。 这样、我就不需要在现有系统中更改硬件板来删除外部驱动器信号;更容易下载新固件版本来消除这些引脚上的驱动器信号冲突情况
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Lenio、请在另一个主题中查看我的回答、并将其用于其他后续问题。 e2e.ti.com/.../2513407