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.

[参考译文] TMS320F28377D:MCU 的 SDFM 模式2时钟

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1008302/tms320f28377d-sdfm-mode-2-clocking-from-mcu

器件型号:TMS320F28377D
主题中讨论的其他器件:AMC1306E05

你好

最近我们发现 F2837xD SDFM 的模式2 (曼彻斯特代码)存在一些问题。

就我从勘误表中了解到的情况而言,主要的两个问题是噪声和整数(CPU SYSCLK / F_sdclk ),其中 F_sdclk 是 SD 时钟的频率

我们的方案中没有噪声。

SDFM 模块(AMC1306E05)的时钟源是 MCU 的 ePWM 输出。 在本例中、我们具有(SYSCLK / F_sdclk)的精确整数值。

但是、由于 SDFM 由 MCU 本身计时、因此 SYSCLK 和 F_sdclk 之间不应存在漂移。

这是使用曼彻斯特编码数据的安全方法吗?

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

    你(们)好。

    [引用 userid="152596" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1008302/tms320f28377d-sdfm-mode-2-clocking-from-mcu "] SDFM 模块的时钟源(AMC1306E05)是 MCU 的 ePWM 输出。[/quot]

    您能澄清一下吗? 在曼彻斯特模式下、MCU 没有到 AMC 器件的时钟输出。 时钟和数据编码在一起。   

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

    忽略我之前的问题、您想使用 PWM 为 AMC1x 器件计时、但使用曼彻斯特模式进行数据传输、对吧? 您是否将 SD1_C1引脚用于其他功能?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="13605" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1008302/tms320f28377d-sdfm-mode-2-clocking-from-mcu/3726093 #3726093"]您希望使用 PWM 为 AMC1x 器件计时、但要使用曼彻斯特模式进行数据传输、[/quot]

    没错

    [引用 userid="13605" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1008302/tms320f28377d-sdfm-mode-2-clocking-from-mcu/3726093 #3726093"]您是否将 SD1_C1引脚用于其他功能?[/quot]

    否、MCU 的时钟引脚为悬空(NC)或用于其他用途。

    我们为何有这样的计划:
    一段时间前、我们使用了未编码的 AMC1303M DS 调制器。 该模块本身会产生时钟、但我们在 EMI 和时钟/数据边沿等方面遇到了一些问题 我们以某种方式使它工作。

    但在下一个设计中、我们决定尝试采用曼彻斯特编码的 AMC1306E。 我们想了解时钟速率如何影响测量电路的整体质量。 我们将其 CLKIN 连接到 PWM、以便我们可以手动更改时钟频率、并以16.666MHz (EPWMCLK/TBPRD = 100MHz/6)结束。 我们取得了良好的成果、从未看到过任何"威德"行为。 此时勘误表中没有任何信息。

    此外、我想我应该提到、我们在 OSR = 64的情况下使用 Sinc3、并以32kHz 的速率从 SDFM 输出获取数据(这是我们的控制 ISR 频率)。  

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

    感谢您对该问题的背景介绍。

    [引用 userid="152596" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1008302/tms320f28377d-sdfm-mode-2-clocking-from-mcu "]它是使用曼彻斯特编码数据的安全方法吗?[/quot]

    使用 PWM 为 AMCX 器件计时将使您面临勘误表中描述的问题、因为 AMCX 时钟始终是曼彻斯特时钟源的整数倍。 如果要使用曼彻斯特模式、则必须为 AMCX 器件使用备用时钟源。

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

    嗯、如果我正确理解勘误表、"几乎整数"是危险的、因为实际上、MCU 的计时和 DS 调制器的一些外部振荡器在实践中不可能完全相等。 因此、时钟会漂移(或更好地说"滑动")。 这就是内部曼彻斯特解码算法中断的原因。

    但是、如果我们从 MCU 为 DS 调制器计时、则时钟永远不会漂移、因为它们实际上是由相同的时钟源(SYSCLK)计时。

    或者我是否在某个地方犯错?

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

    如果使用 PWM 为 SD 调制器计时、则 SD-CX 将是 SYSCLK 的整数倍。 此条件与勘误表中提到的条件匹配。 由于这些问题、我们强烈建议您考虑模式0而不是模式2。

    此致、

    曼诺伊

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

    好的、谢谢。

    我确信、存在禁止整数乘法的原因。 这是 SDFM 内部的研究器频率检测算法中的原因。 当 DS 调制器和 CPU 从不同的时钟源计时时、算法会中断、因为时钟彼此漂移。

    但是、嗯、可以。 谢谢。