你(们)好
SMCLK = 8MHz 由 XT1 = 32KHz 的 FLL 创建并用作 SD24_B 的时钟
SMCLK 也用于 UART 等其他模块。
这次、我想将 SD24_B SMCLK 的频率降低到8MHz 以下。
但是、使用 SMCLK 的其他模块仍为8MHz。
例如、是否可以将 FLL 中的 SMCLK 频率设置为
在开始 SD24_B 的单次转换之前为1MHz、然后在转换完成后再次返回到8MHz?
此致、
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.
你(们)好
SMCLK = 8MHz 由 XT1 = 32KHz 的 FLL 创建并用作 SD24_B 的时钟
SMCLK 也用于 UART 等其他模块。
这次、我想将 SD24_B SMCLK 的频率降低到8MHz 以下。
但是、使用 SMCLK 的其他模块仍为8MHz。
例如、是否可以将 FLL 中的 SMCLK 频率设置为
在开始 SD24_B 的单次转换之前为1MHz、然后在转换完成后再次返回到8MHz?
此致、
您好!
由于 SMCLK 可以从 DCOCLK 或 DCOCLKDIV 配置、如果 DCOCLKDIV (1MHz)=1/8*DCOCLK (8MHz)、您可以将 SD24_B 的 SMCLK 源设置为 DCOCLKDIV、然后 在 SD 转换后切换到 DCOCLK。 如果 UART 设置为使用8MHz SMCLK、则在 SMCLK 为1MHz 时无法使用 UART。
如果 DCOCLKDIV 不能设置为1/8*DCOCLK、并且 SMCLK 源固定为来自 DCOCLK、则必须将 SD24_B 的 DCOCLK 配置为1MHz、然后在 SD 转换后将 DCOCLK 配置为8MHz。 但这将会引入由于 FLL 锁定时间引起的时钟稳定时间延迟、从而可能影响 UART 通信。
我发现 SD24_B 的时钟源可以来自 MCLK。 因此、最好的方法是将 MCLK 分配为 SD24_B 时钟源、并将 SMCLK 分配为 UART 时钟源。 MCLK 可被设定为从 DCOCLK 或 DCOCLKDIV 中获得。 那么 UART 通信和其他外设将不会受到影响。
谢谢、
Lixin