工具与软件:
你(们)好
当外部振荡器出现故障而只使用集成的 LPO 时、是否能在 RST/PORRST 引导之后引导?
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.
工具与软件:
你(们)好
当外部振荡器出现故障而只使用集成的 LPO 时、是否能在 RST/PORRST 引导之后引导?
尊敬的 Jagadish:
在 Launchpad 套件上、我将执行以下操作:
1) 1)使用外部振荡器启动 MCU -程序运行正常
2) 2)我通过将 OSCIN 短接至 GND (通过跳线)引发振荡器故障-程序继续运行正常
3) 3)我 用跳线在 OSCIN 和 GND 之间保持短路、然后:
4) 4)我移除短路、在不进行 RST/PORRST 的情况下、观察振荡器开始工作、然后 再次将 OSCIN 短接至 GND、并重复第3点-程序仍然无法启动。
IMHO 看起来好像如果我在这种情况下保持振荡器故障(OSCIN 到 GND)、MCU 以某种方式永远保持在复位状态。
从中获取能量的唯一方法是从外部振荡器开始。
我是否遗漏或误解了某件事?
谢谢!
Varban
尊敬的 Jagadish:
您如何验证程序行为? 是否在调试模式下进行测试?
[报价]
"那你打算怎么办?" 您如何能够知道它还没有开始?
[报价]您好、Varban、
首先、您可以尝试在没有 RTOS 工程的情况下进行测试。
在 while (1)中使一个简单的 LED 保持闪烁、没有其他内容。
这是因为在振荡器发生故障后、UART 和其他外设将不工作、
如图所示、UART 正由 VCLK1驱动、而波特率由 VCLK1驱动
这个 VCLK1也来自 HCLK 或 GCLK
因此、如果 HCLK 和 GCLK 由 PLL1驱动、在上述情况下它们大约为180Mhz、对吧?
如果振荡器发生故障且 GCLK 由频率为10MHz 的 HF LPO 驱动、该怎么办:
请查看我们的时钟速率可降至10MHz GCLK 和5MHz VCLK1
UART 输入时钟也从90Mhz 下降到5MHz、这意味着频率降低18倍。 因此、相应的波特率也会降低18倍、这意味着如果您配置一些9600波特率、它将成为533波特率。
同样、如果用户使用 RTI 中断使 LED 闪烁、该中断也会受到该时钟更改的影响。
所以、我的建议是只要移除 RTOS、在 while (1)循环中仅使一个 LED 闪烁、而不发生中断、并且仅针对循环延迟、现在创建 OSC 故障、那么您会看到 LED 闪烁速率将发生变化。 例如、在这个情况下、它的速度应该比振荡器工作前慢18倍。
——
谢谢、此致、
Jagadish。
尊敬的 Jagadish:
关于频率:我完全理解你,并同意上面提到的,但我的情况是不同的。 我已经均衡了外部振荡器 PLL 和 LPO 到10MHz (在两种情况下我都使用10MHz 向 GCM 馈送) -这样我就能够保留外设时钟(像 UART 波特率)并实现从外部振荡器到 LPO 的透明故障转移(即使在调试模式下、我仍然在 CCS 控制台上收到 printf ()消息、也不会中断或出现任何问题)。
关于 RTOS:我还在没有 RTOS 的情况下进行了测试、仅限裸机使用 RTI 使 LED 闪烁(按照 www.ti.com/.../3871660449001上的教程) -我观察到完全相同的行为。 这些频率是默认频率:
谢谢!
Varban
您好、Varban、
关于频率:我完全理解您并同意上述说法、但我的方案有所不同。 我已将外部振荡器 PLL 和 LPO 均衡为10MHz (在两种情况下、我都使用10MHz 向 GCM 馈电)[/QUOT]在这种情况下、它不应该改变行为、我认为它也应该适用于 OSCFAIL。
关于 RTOS:我也在没有 RTOS 的情况下进行了测试、仅使用裸机、使用 RTI 使 LED 闪烁(按照 www.ti.com/.../3871660449001中的教程) -我观察到完全相同的行为这是奇怪的,
我以前从未在我的终端进行过测试、因此我想测试它并更新我的结果。
——
[/quote]
谢谢、此致、
Jagadish。
尊敬的 Jagadish:
[报价 userid="524805" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1396677/tms570ls3137-boot-with-lpo/5352398 #5352398"]在这种情况下、它不应该改变行为、我认为它也应该适用于 OSCFAIL。
[报价]
实际上、它运行得很好。 我已经配置了 ESM 中断和 nERROR 引脚反应。 生成示波器。 故障、我得到了中断并切换了 nERROR 引脚、程序继续透明运行、而不会导致外设发生任何中断。
然而、我仍然无法只在 LPO 上启动 MCU。 今天、 我还测试了如何移除 Launchpad 套件上的晶体-以便模拟真正的振荡器故障、而无需将 OSCIN 短接至 GND (如果晶体/振荡器发生故障、在现实中可能永远不会发生这种情况、我怀疑这可能会阻止 MCU 正常启动)。 不幸的是、没有任何变化、问题仍然存在。
[报价 userid="524805" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1396677/tms570ls3137-boot-with-lpo/5352398 #5352398"]我以前从未在我的终端进行过测试、因此我想测试它并更新我的结果。
[报价]很好、提前感谢!
此致!
Varban
您好、Varban、
[报价 userid="208956" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1396677/tms570ls3137-boot-with-lpo/5353077 #5353077"]但是、我仍然无法只使用 LPO 启动 MCU。 今天、 我还测试了如何移除 Launchpad 套件上的晶体-以便模拟真正的振荡器故障、而无需将 OSCIN 短接至 GND (如果晶体/振荡器发生故障、在现实中可能永远不会发生这种情况、我怀疑这可能会阻止 MCU 正常启动)。 不幸的是、没有任何变化、问题仍然存在。我认为最好关闭该主题、因为您已经提出了与此相关的新主题:
(+) TMS570LS3137:与无外部振荡器的 LPO 配合使用-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛
请仅提供您对上方主题的评论。
——
谢谢、此致、
Jagadish。