一种时钟晶振频率监测方法和装置
技术领域
本申请涉及微电子领域,更具体地说,涉及一种时钟晶振频率监测方法和装置。
背景技术
在安全硬件平台中,时钟的可靠性和安全性保障关系着整个系统的正常运行。在实时系统中,系统时钟为上层应用提供定时基准和定时任务基准。系统时钟的晶振频率是否准确决定了系统的实时处理和对外授时能力。系统根据系统时钟的脉冲计数和对系统时钟真实频率的先验知识进行时间换算,实现本身的定时操作。
当系统时钟发生漂移时,系统本身的定时系统出现偏差,系统本身的逻辑和计算的运行速率也相应发生了变化。在实时安全的系统中,这种变换和偏差是不可容忍的,然而当前并没有一种专用的方法和装置对时钟的晶振频率进行监测。
发明内容
有鉴于此,本申请提供一种时钟晶振频率监测方法和装置,以及确定系统时钟的晶振频率的漂移是否在系统允许的范围内。
为了实现上述目的,现提出的方案如下:
一种时钟晶振频率监测方法,包括:
触发目标时钟输出第一脉冲信号,预设异步时钟输出第二脉冲信号;
对所述第一脉冲信号和所述第二脉冲信号进行计数,确定当所述第二脉冲信号的输出达到预设个数时,所述第一脉冲信号的实际输出个数;
计算当所述第二脉冲信号的输出达到预设个数时,所述目标时钟输出的第一脉冲信号的理论输出个数;
比较所述第一脉冲信号输出的实际个数和理论输出个数,当实际个数和理论输出个数的差在预设范围内时,确定目标时钟的晶振频率漂移在允许范围内。
优选的,所述触发目标时钟输出第一脉冲信号,预设异步时钟输出第二脉冲信号之前还包括:
对所述目标时钟和所述预设异步时钟进行降频操作。
优选的,所述对所述第一脉冲信号和所述第二脉冲信号进行计数,包括:
采用预设异步时钟对所述第一脉冲信号和所述第二脉冲信号进行技术。
优选的,所述对所述目标时钟和所述预设异步时钟进行降频操作,之前还包括:采用动态检测的方法对监测装置进行故障检测,确保监测装置正常运行。
一种时钟晶振频率监测装置,包括:
脉冲发生器,用于触发目标时钟输出第一脉冲信号,预设异步时钟输出第二脉冲信号;
与所述第一脉冲发生器相连,对所述第一脉冲信号和所述第二脉冲信号进行计数的计数器;
与所述计数器相连的比较器,用于计算当所述第二脉冲信号的输出达到预设个数时,所述第一脉冲信号的理论输出个数,并比较所述第一脉冲信号输出的实际个数和理论输出个数,当实际个数和理论输出个数的差在预设范围内时,确定目标时钟的晶振频率漂移在允许范围内。
优选的,还包括:与所述脉冲发生器相连,对所述目标时钟和所述预设异步时钟经行降频操作的分频器。
优选的,还包括:与所述分频器和所述脉冲发生器相连,对经过降频操作的目标时钟和预设异步时钟进行同步操作的同步器。
经由上述技术方案可知,本申请公开了一种时钟晶振频率检测方法和装置。该方法通过触发目标时钟输出第一脉冲信号,预设异步时钟输出第二脉冲信号,并对第一脉冲信号和第二脉冲信号进行计数。当第二脉冲信号的输出达到预设个数时,比较第一脉冲信号的理论输出个数和实际输出个数,当第一脉冲信号的理论输出个数和实际输出个数在允许范围内时,则说明系统时钟的晶振频率的漂移是在系统允许的范围内。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本发明一种时钟晶振频率监测方法的一个实施例的流程示意图;
图2示出了本发明一种时钟晶振频率监测装置的一个实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
参见图1示出了本发明一种时钟晶振频率监测方法的一个实施例的流程示意图。
由图1可知,该方法包括:
101:触发目标时钟输出第一脉冲信号,预设异步时钟输出第二脉冲信号。
采用脉冲发生器对目标时钟和预设异步时钟进行触发,使目标时钟输出第一脉冲信号,预设异步时钟输出第二脉冲信号。
具体的,使用脉冲发射器中的脉冲产生电路使目标时钟得到第一脉冲信号P1,预设异步时钟输出第二脉冲信号P2。进而,采用异步信号同步电路,使用异步时钟对第一脉冲信号P1和第二脉冲信号P2进行同步,分别得到第一脉冲信号Q1和第二脉冲信号Q2。
102:对所述第一脉冲信号和所述第二脉冲信号进行计数,确定当所述第二脉冲信号的输出达到预设个数时,所述第一脉冲信号的实际输出个数。
使用预设异步时钟对第一脉冲信号Q1和第二脉冲信号Q2进行计数,并将对第一脉冲信号Q1的计数结果存入寄存器R1中,将对第二脉冲信号Q2的计数结果存入寄存器R2中。
103:计算当所述第二脉冲信号的输出达到预设个数时,所述目标时钟输出的第一脉冲信号的理论输出个数。
104:比较所述第一脉冲信号输出的实际个数和理论输出个数,当实际个数和理论输出个数的差在预设范围内时,确定目标时钟的晶振频率漂移在允许范围内。
由以上可知:本申请公开了一种时钟晶振频率检测方法和装置。该方法通过触发目标时钟输出第一脉冲信号,预设异步时钟输出第二脉冲信号,并对第一脉冲信号和第二脉冲信号进行计数。当第二脉冲信号的输出达到预设个数时,比较第一脉冲信号的理论输出个数和实际输出个数,当第一脉冲信号的理论输出个数和实际输出个数在允许范围内时,则说明系统时钟的晶振频率的漂移是在系统允许的范围内。
实施例二
本实施例采用动态检测的方法实现对监测装置的自动检错功能,当监测硬件发生故障时,能够自动识别故障的原因。
该方法包括:
S1:对目标时钟M进行N倍分频操作,得到时钟M1;
对预设异步时钟C进行N倍分频操作,得到时钟C1;
使用脉冲产生电路,使用时钟M从M1得到第一脉冲信号P1。
使用脉冲产生电路,使用时钟C从C1得到第二脉冲信号P2。
使用异步信号同步电路,使用时钟C对P1进行同步,得到第一脉冲信号Q1。
使用异步信号同步电路,使用时钟C对P2进行同步,得到第二脉冲信号Q2。
使用时钟C对第一脉冲信号Q1进行计数,计数得到的结果存入寄存器R1。
使用时钟C对第二脉冲信号Q2进行计数,计数得到的结果存入寄存器R2。
使用比较器,当寄存器R2示数到达预设的观察点时,通过比较器比较R1的示数是否在漂移容忍的范围内,输出比较结果。
S2:自动检查使能。
向寄存器R1中写入随机值X1;
向寄存器R2中写入随机值X2;
分别读出R1和R2的示数,判断其是否正确;
读出比较器的置位结果,判断其是否正确;
自动检查使能清除;
系统自动恢复。
下面以目标时钟M为40MHz,预设异步时钟C为66.667MHz为例,具体介绍该方法的执行过程。
S101:输入时钟M为40MHz,输入时钟C为66.667MHz;
S102:对M和C进行1000倍分频;
S103:使用M1和C1产生脉冲,并对脉冲进行计数。
S104:当寄存器R2的计数结果达到6667时,将寄存器R1的计数结果与[4000-Δ,4000+Δ]进行比较,其中,Δ为频率漂移容忍范围。设精度要求是±2%,因此,Δ为80。
S201:将自动检查位置起;
S202:向R1中写入随机数3919,向R2中写入6667,查看比较器比较结果,向R1中写入随机数4081,向R2中写入6667,查看比较器比较结果,从而判断比较器是否出现故障。
S203:将自动检查位清除。
实施例三
与一种时钟晶振频率监测方法相适用,本发明还公开了一种时钟晶振频率监测装置。参见图2示出了本发明一种时钟晶振频率监测装置的一个实施例的结构示意图。
具体的,该装置包括:
对所述目标时钟和所述预设异步时钟经行降频操作的分频器1。
与所述分频器相连,对经过降频操作的目标时钟和预设异步时钟进行同步操作的同步器2。
与所述同步器2相连的脉冲发生器3,用于触发目标时钟输出第一脉冲信号,预设异步时钟输出第二脉冲信号;
与所述第一脉冲发生器相连的计数器4,用于对所述第一脉冲信号和所述第二脉冲信号进行计数。
与所述计数器相连的比较器5,用于计算当所述第二脉冲信号的输出达到预设个数时,所述第一脉冲信号的理论输出个数,并比较所述第一脉冲信号输出的实际个数和理论输出个数,当实际个数和理论输出个数的差在预设范围内时,确定目标时钟的晶振频率漂移在允许范围内。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。