主题中讨论的其他器件: TMS570LS3137-EP
您好!
我们目前正在使用您的以下组件进行开发:TMS570LC4357。
请求的支持涉及 SSWF021#45勘误表(PLL 无法启动)、尤其是应用手册"sna233a"中建议的变通办法。
本应用手册中的建议是在单次触发模式下使用 DCC 模块。
但是,在 SSWF021#45问题的解决方法中未实施 DCC#24勘误表的建议解决方法(有关 DCC 模块在单次模式下的用法的勘误表)。
因此,建议在连续模式下使用 DCC 模块,而不是使用 SSWF0221#45权变措施。
->首先,您是否可以接受这种情况,它是否与应用手册'sna2333a'兼容?
下面简要介绍了为 SSWF0221#45变通办法在连续模式下使用 DCC 的预期方法。
A.
我们选择在 DCC1模块中使用 OSCIN (外部振荡器)作为时钟源来比较主 PLL 输出(也来自 OSCIN)。
B.
要使用连续模式、我们必须延迟一段时间才能等待 DCC 模块执行一圈或几圈、但此时我们没有锁定 PLL。
因此、在配置的这一步中、对于我们来说、最简单的解决方案是使用 ARM 内核的内部计时器(请参阅 Cortex-R5参考手册(修订版 r1p2)第"6.3.7 C9、周期计数寄存器"一章)。
默认情况下、内核及其计时器由内部振荡器进行频率定序。
我们建议内核从 OSCIN 运行(优点:延迟和 DCC 模块来自同一个时钟源(OSCIN))。
C.
在将 OSCIN 插入内核之前、我们建议确保 OSCIN 正常工作(不是免费的)。
在这种情况下,GLBSTAT 寄存器的 OSCFAIL 状态位很有用(请参阅“细微563a”参考手册:第14.4章“低功耗振荡器和时钟检测(LPOCLKDET)”:LPOCLKDET 模块在全局状态寄存器(GLBSTAT)中生成 OSCFAIL 标志)。
一旦我们知道 OSCIN 正常工作、我们就可以将其用于内部时钟生成:OSCIN 用于 DCC 模块和内核。
D.
连续模式中的 DCC 模块:
-我们将 DCC 配置为连续模式,OSCIN 作为 DCC1计数器0的时钟源,主 PLL 作为 DCC1计数器1的时钟源。
-我们对两个或三个 DCC 环路执行延迟。
-在循环结束时,我们清除 DCC 状态,以防启动会导致错误。
然后、我们再次等待两个或三个 DCC 环路。
-我们检查 DCC 状态(通过 DCCSTAT 寄存器中的错误标志 ERR 位)。
注1:延迟等于 DCC 计数器的初始值。
注2:当初始化结束(PLL 已启动并锁定)时、我们停止 DCC 模块。
->能否告诉我们有关此请求和我们的可能性的更多信息?
此致、
克里斯托弗·特里塔 NT