我们正在构建电池供电的 CapTIvate 器件、该器件必须在现场运行大约十年、因此功耗至关重要。 OUT 硬件团队设计了一个原型、提供192kHz 外部时钟、目的是不利用 DCO/FLL。 即、我们将直接从 XT1的192kHz 输入驱动 MCLK/ACLK。
正如您所知、时钟用途广泛、这会增加一些复杂度、尤其是考虑到我们尝试执行的操作可能并不常见。
无论如何、这看起来可以通过 XT1BYPASS 来完成:
驱动程序库提供了一个用于进入此模式 CS_BypassXT1 ()的接口:
根据 CapTIvate DC 生成的香草 BSP,我进行了以下更改:
1) 1) 添加了对 CS_BypassXT1()的调用。
2) 注释掉了对 CS_TurnOnXT1LFWithTimeout ()的调用。 (192kHz 冷冻机未通过此调用-我假设它超出此器件的范围?)
3) 3)选择 XT1CLK 作为 MCLK 和 ACLK 的时钟源(考虑到该部件不支持高速晶振、不确定是否可以在旁路模式下将192kHz 晶振用作 ACLK 的输入?)。
4) 注释了用于初始化 FLLREF 和 SMCLK 的调用(不确定这是正确的、但根据下图、SMCLK 只能来自 DCO 或高频晶体、 本部分不支持这一功能,但我不确定在使用旁路模式和192kHz 晶体时这是否是限制。)
5) 5) 根据192kHz 时钟的调试端子的波特率进行调整、以生成9600波特(并从 SMCLK 切换、我之前使用 SMCLK):
问题
时钟初始化如下。 我看到了几个问题。 1)我正在向终端打印一个“hello world”,它以更高的时钟速度/波特率工作。 现在还没有得到。 2) 2)主循环中对 CAPT_appHandler()的调用不会返回。
问题。
1) 通过文档的形式,数据表提到了“LFXTBYPASS”,它似乎是指用户指南描述的“XT1BYPASS”。
2) 2) 如果处于旁路模式、SMCLK 和 ACLK 都可以由以192kHz 频率运行的外部晶振供源吗?
3) 3) 这在 CapTIvate 的时序需求范围内是否可行?
4) 4) 我有什么误解?
5) 5) 是否有使用旁路模式的示例? 我在 Resource Explorer 中没有看到任何内容。
非常感谢您的观看。
PS -我认为192kHz 对于 ACLK 来说可能太快了、即使在旁路模式下也是如此、因此我使用8作为分频器、并在24kHz 时钟的情况下通过 UART 波特率调整9600、但也无法打印。



