一种实时检测差分时钟频率正确性的方法与流程

文档序号:16275165发布日期:2018-12-14 22:31阅读:1636来源:国知局
一种实时检测差分时钟频率正确性的方法与流程

本发明属于计算机硬件技术,具体涉及一种实时检测差分时钟频率正确性的方法。

背景技术

高速通信系统采用的参考时钟均大于100mhz,采用差分时钟可以保证时钟电路的稳定输入,从而确保高速通信链路的正常通信。如果差分时钟频率超出了允许的偏差,将会导致通信链路异常,引起通信错误。

检测差分时钟通常采用两种方法。采用差分示波器测量差分晶振的输出管脚,该方法直接获得差分时钟的准确频率;将差分时钟接入测试电路的可编程逻辑器件,使用高频采样时钟对差分时钟进行采样,通过计时判断差分时钟频率是否正确,工作原理见图1。

利用差分示波器测试时钟频率会影响系统的正常工作;通过测试电路测量差分时钟,需要高频采样时钟和可编程逻辑器件的支持,对高频采样时钟有很高的精度要求,增加了系统的复杂度和实现难度。这两种方法均无法实时判断系统工作中的差分时钟是否正确,无法对时钟异常进行告警。



技术实现要素:

本发明提出一种实时检测差分时钟频率正确性的方法,可以实时检测差分时钟频率,对差分时钟异常进行告警。

本发明的技术方案:

一种实时检测差分时钟频率正确性的方法,包括以下步骤:

1)时钟检测

1.1)确定计时时长:工作时钟经过m个时钟周期、差分时钟经过n个时钟周期后使用了相同的时长t,时长t即为计时时长;m和n均为整数;

1.2)确定计数误差

δn1=n×(δref+δ)/(106+δref)

δn2=n×(δref+δ)/(106-δref)

其中,n为差分时钟的计数值,δ为差分时钟最大时钟精度,δref为工作时钟精度;

根据该计数误差得到差分时钟在计时时长t的时间后的计数范围【(n-δn1)(n+δn1)】;

1.3)差分时长计算单元接收差分时钟,设置差分时钟计数器;

复位差分时钟计数器,该差分时钟计数器在复位完成后开始计数;

1.4)参考时长计算单元接收工作时钟,设置工作时钟计数器;

复位工作时钟计数器,工作时钟计数器在复位完成后开始计数;

1.5)在时钟计数器计数达到m后使能时长使能信号,通过该时长使能信号采样差分时钟计数器得到差分计数值;

1.6)将该差分计数值、与步骤1.2)中得到的计数范围【(n-δn1)(n+δn1)】进行比较,如果在该计数范围内,则差分时钟正确,否则错误;

2)检测结果输出。

步骤2)具体为:

将检测结果与复位信号通过逻辑与后产生系统复位信号;

若差分时钟正确,则系统正常工作;若差分时钟错误,则使能系统复位信号,系统开始复位。

或者,

步骤2)具体为:

将检测结果写入差分时钟状态寄存器;

若差分时钟正确,则系统正常工作;若差分时钟错误,则差分时钟状态寄存器记录错误值,通过软件中断信号上报差分时钟错误。

本发明具有的优点效果:

1.不需要差分示波器,无需测量硬件管脚,检测效率高;2.通过计数的方式比较差分时钟与低速工作时钟计时是否一致,从而快速检测差分时钟频率是否正确,不增加外部电路,可靠性高;3.可以实时检测差分时钟频率;4.可以通过软硬件的方式对时钟异常进行告警。

附图说明

图1是采用外接示波器或测试电路的时钟检测示意图;

图2是差分时钟实时检测电路结构图;

图3是时钟检测电路结构图;

图4是检测结果输出电路结构图;

图5是时长误差计算示意图。

具体实施方式

本发明提出的一种实时检测差分时钟频率正确性的方法,包括差分时钟实时检测电路,通过计数器计数的方式比较差分时钟与低速工作时钟计时是否一致,将结果通过软硬件方式输出,从而解决差分时钟检测的问题。电路结构图见图2。

差分时钟实时检测电路包括时钟检测电路和检测结果输出电路。时钟检测电路负责差分时钟与低速工作时钟的计时和比较,并将结果送给检测结果输出电路。检测结果输出电路将比较的结果通过软硬件告警的方式进行输出。

时钟检测电路结构图见图3。时钟检测电路完成差分时钟的计时和检测,分为参考时长计算单元、差分时长计算单元、误差校准单元和比较器,它的输入包括工作时钟、差分时钟和复位信号。

参考时长计算单元接收工作时钟和复位信号,在复位完成后,启动工作时钟计数。当计时时长等于测试时间长度时,使能时长使能信号。测试时间长度等于工作时钟周期长度和差分时钟周期长度的公倍数。

差分时长计算单元接收差分时钟和复位信号,在复位完成后,启动差分时钟计数,并将计数值送给比较器。当计时时长等于测试时间长度时,差分计数值将会通过比较器与理论计数值进行比较,相等则差分时钟正确,否则错误。由于工作时钟和差分时钟都有时钟精度,需要误差校准单元对理论计数值进行校准。

误差校准单元通过时长误差计算对理论计数值进行校准,最终得到差分计数的实际计数范围。时长误差计算在图5进行详细说明。

比较器在接收到时长使能信号后,比较差分计数值是否在实际计数范围内,如果在,则检测值为高,表示差分时钟正确;否则检测值为低,差分时钟存在异常。

检测结果输出电路结构图见图4。检测结果输出电路通过三种方式将检测值进行输出,分别为硬件led灯指示、硬件复位告警和软件中断上报。

硬件led灯指示通过发光二极管将检测值进行直观的显示,当检测值为高时,led灯发光,表示差分时钟正确,否则led灯熄灭,差分时钟异常。

硬件复位告警将检测值与工作电路的复位信号通过逻辑与后生产系统复位信号。当检测值为高时,系统工作正常,当检测值为低时,系统处于复位状态。

软件中断上报将检测值写入寄存器并连接软件中断信号。当差分时钟异常时,中断信号上报差分时钟异常。

时长误差计算示意图见图5。在理想情况下,差分时钟频率为f,计数值为n,计时时长为t。低速工作时钟频率为fref,计数值为m,计时时长为tref。它们之间的关系为:

1/fref×m=tref=t=1/f×n(f>fref,m、n应取整数)

实际情况为差分时钟频率f和工作时钟频率fref均有时钟精度,差分时钟频率f的实际频率为f′,计时时长为t′,在最大时钟精度δ时的最小计时时长为t1,最大计时时长为t2。工作时钟频率fref的实际频率为fref′,计时时长为tref′,在最大时钟精度δref时的最小计时时长为tref1,最大计时时长为tref2。它们之间的关系为:

t1≤t′≤t2

tref1≤tref′≤tref2

δ=|f′-f|/f×106(单位为ppm)

δref=|fref′-fref|/fref×106(单位为ppm)

当工作时钟计数器计数m触发时长使能信号时,由于时钟精度的原因,差分时钟的计数器计数值不等于n。为了计算计数误差的最大值,假设工作时钟计时时长为tref1,最大的误差值应为δn1,此时差分时钟的实际计数范围为[(n-δn1):n];假设工作时钟计时时长为tref2,最大的误差值应为δn2,此时差分时钟的实际计数范围为[n:(n+δn2)]。当误差值小于1个时钟周期时,应该按照1个时钟周期计算。δn1和δn2的计算公式为:

δn1=(t2-tref1)×f′

δn2=(tref2--t1)×f′

推导后得到:

δn1=n×(δref+δ)/(106+δref)

δn2=n×(δref+δ)/(106-δref)

由此可以看出,计数值误差仅与差分时钟的计数值n、差分时钟最大时钟精度δ和工作时钟精度δref相关。根据该计数误差得到差分时钟在计时时长t的时间后的计数范围【(n-δn1)(n+δn1)】,如果差分计数值在该计数范围内,则差分时钟正确,否则错误。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1