主题中讨论的其他器件:HALCOGEN
工具与软件:
您好!
启用 PLL 的调制选项(配置为向 GCM 提供10MHz)时、SCI 端口将不再向终端发送正确的字符。
这是正常的吗、是否有调试方法、以便我知道需要调整什么时钟补偿 才能使外设时钟正常工作?
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.
工具与软件:
您好!
启用 PLL 的调制选项(配置为向 GCM 提供10MHz)时、SCI 端口将不再向终端发送正确的字符。
这是正常的吗、是否有调试方法、以便我知道需要调整什么时钟补偿 才能使外设时钟正常工作?
您好、Varban、
系统将根据 VCLK1频率生成 SCI 波特率。
例如、假设您在 GCM 模块的 HALCoGen 中将 GCLK 配置为220Mhz、并将 VCLK1配置为110Mhz、如下所示:
现在、如果您在运行时更改 GCLK 的时钟源、则 VCLK1频率也将降低(时钟的所有乘法器和除法器都不会更改)。 例如、我将 GCLK 更改为10MHz、那么我们的 VCLK1将变为5MHz。
您可以看到、如果我应用具有相同预分频器值的5MHz 时钟、那么 SCI 波特率从9600降至438。
因此、请记住这一点、并根据更改的时钟频率更改预分频器。
——
谢谢、此致、
Jagadish。
尊敬的 Jagadish:
再次感谢您的快速响应。 可能我没有详细说明我遇到的问题。
所以、我已经将 PLL 输出配置为10MHz、与 LPO 相等。 在从主外部振荡器到 LPO 的振荡器故障转移时、我的 UART 以相同的波特率继续正常工作、我读取预期的字符。
但是、当我进行以下寄存器更改以启用振荡器调制时
// From systemREG1->PLLCTL2 |= 0x00000000U; // To systemREG1->PLLCTL2 |= 0x80000000U;
尽管 SCI 波特率值在视觉上没有变化(在 HALCoGen 中)、但我的 UART 还是比较麻烦。
因此、启用调制后、用于馈送 GCM 的频率似乎发生变化。 或者至少我的配置不适用于10MHz (我是指 扩展金额 、 乘法器校正 和 扩散速率 参数)。
是否有任何与此主题相关的应用手册?
我可以将 PLL1频率暴露在 ECLK 引脚上吗?
谢谢!
Varban
尊敬的 Jagadish:
[报价 userid="524805" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1401687/tms570ls1224-sci-clock-after-enabling-pll-modulation/5379676 #5379676"]我想知道您为什么要使用 PLL 调制。
[报价]嗯、因为 MCU 将在非常嘈杂的环境中运行、我希望使用 PLL 调制能够提升总体稳定性...
如果我们启用调制、则基频将如下文所述变化:
实际上、我仍然不知道如何根据 TRM 中所述的公式解释 HALCoGen 参数(即扩展量、倍频器校正和扩展速率)、以便在启用调制后计算频率。
谢谢!
您好、Varban、
正确调制可以降低电磁辐射的影响。
但是、它将影响所有其他外设频率、如下主题中所述:
(+) TMS570 PLL 调制-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛
因此、为了减少这一影响、我们应该需要如上线程中所提到的那样调整调制深度。 尝试降低调制深度并再次对其进行测试。
——
谢谢、此致、
Jagadish。