ZHCAC42 February 2023 AM2631 , AM2631-Q1 , AM2632 , AM2632-Q1 , AM2634 , AM2634-Q1
双时钟比较器 (DCC) 主要用于确定应用执行期间的时钟精度。精确的精度是可编程的,应针对每个应用进行计算。它还可用于确定任何可选时钟的频率,并使用另一个独立输入时钟作为参考。它使用两个独立的时钟源来检测其中一个时钟是否超出规格。
时钟频率漂移是不可避免的,这可能是由于湿度、压力和温度、老化等环境条件等多种原因造成的。当器件在现场使用几年后,就会注意到老化的影响,如果不加以监控,时钟就会开始漂移,从而导致灾难性的后果。因此,DCC 在安全关键型汽车/工业定时应用中特别有用。
DCC 包含三个计数器—counter0(20 位)、valid0(16 位)和 counter1(20 位)。最初,所有计数器都加载了用户定义的预加载值。一旦 DCC 被启用,counter0 和 counter1 即开始递减,其速率分别由 clock0 和 clock1 的频率决定。当 counter0 等于 0(到期)时,valid0 计数器会以 clock0 确定的速率递减。如果 counter1 在有效窗口中递减到 0,则不会产生错误,并且 clock1 被视为在用户配置的允许容差范围内良好。当频率超出允许的公差范围,counter1 不在有效窗口内递减(clock0/clock1 不存在,clock1 在 counter0 达到 0 之前到期,或 clock1 在 counter0 和 valid0 都达到 0 后到期)时,就会产生错误。
counter0 和 counter1 是根据 clock0 和 clock1 的频率比配置的 (Fclk1×Counter0 = Fclk0×Counter1)。valid0 计数器提供容差,并根据允许的频率误差和固有 DCC 误差(异步和数字化误差)进行配置。由于 clock0 和 clock1 是异步的,因此计数器的启动和停止不会同步发生。因此,在配置计数器时,必须考虑两种不同的误差来源,它们是:
该工具使用以下公式计算 counter0、valid0 和 counter1 种子值:
其中,
DCC 计算工具提供了要编程的寄存器值,以便将任何给定的系统或外设时钟与可配置的参考时钟进行比较,从而确定所述时钟的频率是否在预期精度范围内。所需的精度可作为输入提供,该工具会据此计算计数器种子值。以下四个实例中的每个实例都有一个单独的计算器:DCC0、DCC1、DCC2 和 DCC3。