瑞萨RA系列微控制器上有一些外设如DLC、ELC等,它们可以帮你创建完整的自主子系统,管理微控制器应用中的许多典型的常规维护和I/O密集型任务。这种基本任务的自动化可以大大减少CPU需求时间,减少需要服务的中断数量,而且通常可以显著降低系统功耗。
本篇文章我们将向您介绍RA微控制器系列中一个不太常见和不太容易理解的外设,即时钟频率精度测量电路(CAC)。时钟频率精度测量电路旨在使我们能够通过将RA微控制器上可用的许多内部和外部时钟源相互对比,检查它们的精度,并在比较结果出现意外偏差时指示出来。
CAC最初是为了帮助我们提高系统的安全性和可靠性而设计的,通过使时钟系统具有自检功能,但是你会看到,它也可以实现其他用途。
CAC框图
CAC允许我们从各种内部和外部时钟源中选择来作为参考信号以及你想确认振荡速度的目标时钟。通常可以从主时钟和32kHz外部时钟输入中两者选其一,也可以从内部片上振荡器上做选择,如HOCO、MOCO和LOCO,以及独立看门狗iWDT时钟,甚至你也可以选择PCLKB,把内部外设时钟作为输入。每个时钟输入,无论是参考时钟还是目标时钟,都可以通过选择适当的分频比来进行缩放。
这些时钟中的每一个都可以作为参考或目标时钟选择,你还有一个额外的选项可用于参考时钟,那就是你可以选择一个外部时钟输入,它允许你从外部测试设备输入一个精确的参考时钟。
这个参考时钟可用作时间基准,来对一个待测时钟的周期进行脉冲计数,并保存在一个寄存器中。测量周期结束后,计数寄存器中的脉冲数与存储在CAC的比较寄存器中的最小和最大期望值进行比较,如果检测到时钟超出范围,就可以产生一个中断。
这是检查内部时钟校准是否被正确设置,或者是否存在一些可能导致定时错误的时钟寄存器初始化问题的理想方法。很棒的是,一旦设置好,它就可以自主运行,并且如果系统检测到错误,你就可以得到一个中断。如果计数器溢出或在每次测量结束时,也可以产生一个中断,因为也许你只想偶尔使用这个功能来检查各种时钟源的精度。
CAC被设计用于支持自检以检测系统时钟的错误,但是它也可以用于其他目的,特别是如果我们使用外部参考引脚。
例如,如果你有一个外部信号,它表示系统的健康状况,它根据系统状态改变频率,那么CAC就是测量这个信号并检测它何时改变频率的理想解决方案。在这种情况下,实际上是反向使用CAC,你把信号输入到外部参考引脚,并选择相关的时钟信号、分频设置和比较器设置来检测当你的参考信号频率超出“健康”频率范围时是否发生错误,从而指示系统错误。如果CAC检测到这种情况,它就可以产生一个错误中断。
CAC是一个有用的外设,我们可以用它来帮助检查系统的健康状况,特别是对于消费者或工业应用,在这些应用中系统可靠性可能非常重要。但是正如我们所看到的,它也可以用于监测外部脉冲列并检测脉冲频率何时改变。
END
全部0条评论
快来发表一下你的评论吧 !