本发明涉及一种晶振频率测量方法,尤其涉及一种利用嵌入式软件测量cpu外置晶振的频率的方法。
背景技术:
晶振是数字电路的源泉,是维持cpu工作的必备器件。传统测量cpu晶振频率的方法是采用示波器或者频率计,通过人工将测试探头连接到晶振引脚,然后通过示波器或者频率计读取,测试比较繁琐。人工的加入也容易引入静电,可能使晶振及相关电路产生内部损伤。
技术实现要素:
本发明提供一种通过嵌入式软件测量cpu外置晶振的频率的方法,以解决现有技术存在的问题。
本发明采用以下技术方案:
一种cpu外置晶振频率测量方法,包括:
对cpu内部的定时器施加频率为f1的脉冲,并获取该脉冲在n1个周期内的震荡时间,将该震荡时间作为时间基准t1,利用cpu内部的定时器设置系数设置定时器分频系数mt,依据该分频系数mt对cpu外置晶振分频后产生中断,并获取时间t2内的cpu外置晶振的中断次数,根据系统预先设定的cpu的分频系数m和cpu的倍频系数nk,获取cpu外置晶振的频率fx;
所述获取cpu外置晶振的频率fx的方法为:
首先设定t1=t2,即在获取上述两个时间时,获取相同的两个时间;
则有:
其中,将已知频率为f1的脉冲的周期数n1取为1,则可得到:
其中,
f1为施加给cpu内部的脉冲的频率,该参数预先已知;
fx为cpu外部晶振的频率;
mt为预先设定的定时器的分频系数,该参数为预先设定;
m为cpu的分频系数,该参数为预先设定;
nk为cpu的倍频系数,该参数为预先设定;
n为在已知频率为f1的脉冲的一个周期内计时器的计数,该参数在cpu运行后获取。
所述对cpu内部施加的脉冲为:通过cpu内部的rtc单元产生的频率为f1的秒中断源,此时,时间基准t1为秒中断源在n1个周期内的震荡时间。
所述对cpu内部施加的脉冲为:从外部对cpu的某一管脚施加一频率f1的脉冲,使得内部的定时器单元产生秒中断,获取该定时器在n1个周期内的震荡时间作为已知的时间基准t1。
本发明的有益效果:
本发明能够很好的解决传统测量cpu晶振频率时的繁琐过程,能够避免人工的加入可能引入静电导致的晶振及相关电路产生内部损伤,实现高效安全的测量。
附图说明
图1为本发明的示意框图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细说明。
本发明提供一种cpu外置晶振频率测量方法,利用嵌入式软件进行测量。
本发明的使用嵌入式软件进行测量的方法包括:
对cpu的定时器单元施加频率为f1的脉冲,并获取该定时器的脉冲在n1个周期内的震荡时间,将该震荡时间作为时间基准t1;然后利用cpu内部的定时器设置系数设置定时器分频系数mt,依据该分频系数mt对cpu外置晶振分频后产生中断,并获取时间t2内的cpu外置晶振的中断次数,根据系统预先设定的cpu的分频系数m和cpu的倍频系数nk,获取cpu外置晶振的频率fx。
为方便计算,上述依据该分频系数mt对cpu外置晶振分频后产生中断后,获取时间基准t1内的cpu外置晶振的中断次数,作为计算的依据,即t1=t2。
获取cpu外置晶振的频率fx的方法为:
由于t1=t2,
则有
其中,将已知频率为f1的脉冲的周期数n1取为1,则可得到:
其中,f1为施加给cpu内部的脉冲的频率,该参数为施加给cpu内部的脉冲,在发送之前已经预先获知其频率;fx为cpu外部晶振的频率,即待测频率;mt为通过嵌入式软件预先设定的定时器的分频系数,该参数已知;m为通过嵌入式软件设置的cpu的分频系数,该参数为已知;nk为通过嵌入式软件设置的cpu的倍频系数,该参数为预先已知;n为在已知频率为f1的脉冲的一个周期内计时器的计数,该参数在嵌入式软件运行后,能够从嵌入式软件中获取。
本发明脉冲的产生有两种方法,即两种秒中断的基准不同。一种是内部rtc产生的f1脉冲,通过施加给内部定时器,通过内部定时器产生秒中断。一种外部施加到cpu输入管脚的f1脉冲,也是施加给内部定时器,通过内部定时器以产生秒中断。
当cpu内部具有rtc单元和rtc振荡器,即实时时钟单元时,通过cpu内部的rtc单元产生频率为f1的脉冲,该脉冲施加给cpu内部定时器单元,通过内部定时器单元产生秒中断源,获取秒中断源在n1个周期内的震荡时间作为已知的时间基准t1,通过cpu内部的定时器设置系数设置定时器的分频系数mt,对cpu外置晶振分频后产生中断,并获取时间t2内的中断次数,根据系统设定的cpu的分频系数m和cpu的倍频系数nk,在t1=t2的情况下,通过上述的公式(1)和公式(2)获取cpu外置晶振的频率fx。
当cpu内部不具有rtc单元时,从外部对cpu的某一管脚向cpu内的定时器单元施加一频率f1的脉冲,使得内部的定时器单元产生秒中断,获取该定时器在n1个周期内的震荡时间作为已知的时间基准t1。通过cpu内部的定时器设置系数设置定时器的分频系数mt,对cpu外置晶振分频后产生中断,并获取时间t2内的中断次数,根据系统设定的cpu的分频系数m和cpu的倍频系数nk,通过上述的公式(1)和公式(2)获取cpu外置晶振的频率fx。
以上所述的仅是本发明的优选实施方式,应当指出,对于本领域的技术人员来说,在不脱离本发明整体构思前提下,还可以作出若干改变和改进,这些也应该视为本发明的保护范围。