ZHCAC42 February   2023 AM2631 , AM2631-Q1 , AM2632 , AM2632-Q1 , AM2634 , AM2634-Q1

 

  1.   摘要
  2.   商标
  3. 1引言
  4. 2使用该工具的步骤
  5. 3参考文献

引言

双时钟比较器 (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 是异步的,因此计数器的启动和停止不会同步发生。因此,在配置计数器时,必须考虑两种不同的误差来源,它们是:

  • 由于 clock0 和 clock1 的异步时序导致的 DCC 误差 - 这取决于 clock0 和 clock1 的频率:
    • 如果 Fclk1 > Fclk0,则为异步。误差(以 Clock0 周期为单位)= 2 + 2×(Fsysclk/Fclk0)
    • 如果 Fclk1 < Fclk0,则为异步。误差(以 Clock0 周期为单位)= 2×(Fclk0/Fclk1) + 2×(Fsysclk/Fclk0)
    • 如果 Fclk1 未知,则为异步。误差(以 Clock0 周期为单位)= 2 + 2×(Fsysclk/Fclk0) 注意:Fsysclk 为 200MHz
  • 数字化错误 - 8 个 Clock0 周期

该工具使用以下公式计算 counter0、valid0 和 counter1 种子值:

  • counter0 种子 = 窗口 - 总误差
  • Valid0 种子 = 2 倍总误差
  • Counter1 种子 = 窗口 × (Fclk1/Fclk0)

其中,

  • DCC 误差(以 Clock0 周期为单位)= 异步。误差 + 8 个 Clock0 周期(数字化误差)
  • 可能的最小精度 (%) =(100 × DCC 误差 × (Fclk1/Fclk0))/1048575
  • 窗口(以 Clock0 周期为单位)=(DCC 误差)/(0.01×可能的最小精度(以 % 为单位))
  • 允许的频率误差(以 Clock0 周期为单位)= 窗口 ×(可能的最小精度(以 % 为单位)/100)
  • 总误差(以 Clock0 周期为单位)= DCC 误差 + 允许的频率误差

DCC 计算工具提供了要编程的寄存器值,以便将任何给定的系统或外设时钟与可配置的参考时钟进行比较,从而确定所述时钟的频率是否在预期精度范围内。所需的精度可作为输入提供,该工具会据此计算计数器种子值。以下四个实例中的每个实例都有一个单独的计算器:DCC0、DCC1、DCC2 和 DCC3。