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.

[参考译文] MSPM0G3107:将数据流作为 PLL 的输入来进行数据同步?

Guru**** 2394305 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1463781/mspm0g3107-taking-a-data-stream-as-input-for-pll-for-data-sync

器件型号:MSPM0G3107

工具与软件:

我对用于某个工程的 MSPM0+很感兴趣。

其概念是将 MCU 用于基于串行的通信方案。

TX:DMA、使用 ISR 触发器通过 GPIO 传输恒定数据流、以便 MCU 更新下一个数据包

Rx:通过 DMA 将常量数据流从 GPIO 传输到内存

关键是、我想与 Rx 数据流同步。 执行与时钟恢复类似的操作。

看起来 MSPM0+可以为内部 PLL 输入外部时钟(4~48MHz)。

我想知道是否有方法可以使用输入数据流、通过 PLL 与接收的信号同步。

Rx 信号如下所示(1010堆、适合时钟恢复):

10101010101010101[DATA]1010101010101010101010101010101[DATA]101010101010101010101

在 MCU 锁定到10101010流之前、我还可以灵活地避免接收数据包。

PLL 电路是否可以用于类似的用途、即对 PLL 的大部分稳定的 HFCLK 输入、偶尔会有高达4位高电平或低电平的情况?

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

    您好、 

    [报价 userid="576362" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1463781/mspm0g3107-taking-a-data-stream-as-input-for-pll-for-data-sync 能否将 PLL 电路用于此类应用、即 PLL 的基本稳定的 HFCLK 输入、偶尔出现高电平或低电平高达4位的情况?

    我不是 PLL 专家。

    但从我的角度来看、PLL 的不稳定时钟输入会导致 PLL 抖动和偏移或解锁。

    另外、4位高或低、无信号边沿有可能导致 PLL 不稳定或失去锁定状态。

    这些答案需要进一步测试。

    由于 外部时钟必须通过 SYSPLL 来为 CPU 提供时钟源、因此需要测试当 SYSPLL 输入保持4位高电平时将如何发生。

    Taking a data-stream as input for PLL for data sync?

    如标题所述、数据同步是如何工作的? 你能解释一下吗?

    选择使用具有时钟的 SPI 串行接口。

    要使用该数据流来停止 CPU 或只需要同步接收数据。

    此致、

    Helic

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

    可以使用"线路编码"技术对数据进行编码。

    https://en.wikipedia.org/wiki/Line_code

    通过这种方式、与 SPI 不同、您可以通过一条线缆同时发送时钟和数据(一个信号)

    接收器需要执行时钟恢复、使其自身与信号边沿同步(同相)。

    这样、接收器知道何时对输入信号进行采样。

    此外、通过使用这样的时钟恢复方案、我们可以避免像使用 UART 那样进行过采样、从而允许更高的比特率。

    时钟恢复使用信号(单线的时钟和数据组合)作为输入的 PLL。

    PLL 的输出是与数据同相的时钟。

    然后、MCU 使用 PLL 生成的时钟来决定何时对输入数据流进行采样。

    我想知道、即使输入时钟/数据信号的周期可能高达350[ns]且没有边沿、MSPM0+输入 PLL 是否仍然能够保持相锁和 SYSPLL 输出时钟?

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

    您好、 

    感谢您的解释。

    [报价 userid="576362" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1463781/mspm0g3107-taking-a-data-stream-as-input-for-pll-for-data-sync/5617966 #5617966"]我想知道 MSPM0+输入 PLL 是否仍能保持锁相和 SYSPLL 输出时钟(即使输入时钟/数据信号的周期可能高达350[ns]且没有边沿?

    MSPM0的 PLL 不是为这种应用 k 设计的。

    从我的角度来看、PLL 会在字段数据中失去锁定状态、因为高达350ns 的无边沿时钟信号会导致至少 PLL 不稳定、或在最坏的情况下发生死区。

    此外、通过使用这种时钟恢复方案、我们可以避免像使用 UART 那样进行过采样、从而实现更高的比特率。

    MSPM0的 UART 具有硬件过采样功能、这不会占用 CPU 时间。

    此致、

    Helic