CN1612509A - 可检测周期信号紊乱的方法 - Google Patents
可检测周期信号紊乱的方法 Download PDFInfo
- Publication number
- CN1612509A CN1612509A CNA2003101058730A CN200310105873A CN1612509A CN 1612509 A CN1612509 A CN 1612509A CN A2003101058730 A CNA2003101058730 A CN A2003101058730A CN 200310105873 A CN200310105873 A CN 200310105873A CN 1612509 A CN1612509 A CN 1612509A
- Authority
- CN
- China
- Prior art keywords
- clock
- signal
- level
- register
- rising edge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明提供了一种高频时钟监测周期信号紊乱的检测方法。本发明最根本的出发点在于周期信号的周期性,利用检测时钟采样被检测时钟电平,将相临时刻的电平进行对比,用以判断被测信号是否紊乱,而且可以根据对被测信号精度的不同要求,在一个更宽的范围,将不同时刻的电平值进行对比。本发明可以保证该采样点紧挨着被测信号的上升沿和下降沿,从而不仅可以检测到被测信号的丢失,而且可以检测到被测信号占空比的改变。本方法采用的是硬件描述语言设计,通俗易懂,易于调试。
Description
技术领域
本发明属于电子技术领域,涉及一种高频时钟监测周期信号紊乱的检测方法。
背景技术
在通讯、控制等各种系统中,对各种周期信号(如时钟、帧头等)都有严格的要求,当脉冲紊乱(时钟丢失、占空比改变)时,数据传输就会出现问题,从而导致系统故障,所以当出现时钟脉冲紊乱时,应通过告警或上报状态要求系统进行故障处理。具体来说,若当时钟丢失时,处理器会因为少数一个脉冲而导致错误;若当信号占空比改变时,在某使能时间内(如信号的高电平或低电平内),处理器会因为使能时间变短,从而导致误操作。比如专利号为ZL02232556.5和申请号为00116862.2,这两个专利都是用被测信号的上升沿或下降沿来给计数器清零,因此,当时钟并没有紊乱,而是由于某些外界因素(如电路板的插入)引入毛刺,这些毛刺由于持续时间极短,一般不会影响到系统,但这时会将计数器提前清零,导致误报警。以上方案如果由离散元件搭建,则当时钟频率较高时,器件间的延时将会导致误操作;而在可编程器件中搭建时,由于器件较多,当任一时钟改变时,则检测时钟和被监测时钟之比n改变,因此计数器的清零值改变,相应的上、下拉电阻等器件连接改动麻烦,不利于调试。
发明内容
本发明的目的是提供一种简单有效,便于实现的检测周期信号紊乱的方法。
本方法的最根本的出发点在于周期信号的周期性,即在某一点采样到被检测时钟为高(或低),在经过一个周期以后,该点应仍然为高(或低);而本方法的最大特点是可以保证该采样点紧挨着被检测时钟的上升沿和下降沿,从而不仅可以检测到被检测时钟的丢失,而且可以检测到被检测时钟占空比的改变,根据图1,实现本发明目的的技术方案依次包括如下步骤:
①上电后,同时运行上电检测流程和逼近沿流程;当没有时钟时,上电检测流程根据逼近沿流程运行过程中产生的高电平寄存器和低电平寄存器的值,则判断出时钟为恒高或恒低,产生告警信号;当有时钟时,则上电检测流程在运行一段时间后停止。而逼近沿流程的原理是采样到被检测时钟的一个高电平、一个低电平后,依次分别将高电平寄存器和低电平寄存器置为1,再采样到高电平或低电平就可以开始计数,结果是使两个计数器分别紧挨着被检测时钟的第一个上升沿和下降沿开始计数,然后开始运行上升沿检测流程和下降沿检测流程;如果时钟为恒高或恒低,则只有相应的高电平寄存器或低电平寄存器两者之一被置为1,另一个为0,然后将这两个寄存器值传送给上电检测流程。
②当检测时钟和被检测时钟周期之比为阀值n时,如果计数器紧挨着上升沿后面计数,如图2所示,则当计数器记到0和n时,采样到的被检测时钟电平为低,而记到1和n+1时采样到的电平为高,将n和n+1时刻的电平进行对比就可以判断被检测信号是否紊乱,而且可以根据对被检测时钟精度的不同要求,在一个更宽的范围处将不同时刻的电平值进行对比;对下降沿的检测也同理;
③将以上所有告警信号经过逻辑门输出,就可达到告警目的;
④复位信号可将所有寄存器清0,使本逻辑回到步骤①重新开始。
采用上述的解决方案,当监测时钟与被检测时钟是倍频关系时,可实现对各种周期信号进行监测。
附图说明
图1是系统流程图;
图2是信号的周期性示意图;
图3是上电检测流程图;
图4是上电时为低电平的情况;
图5是逼近沿流程图;
图6是先采到低电平时的情况;
图7是先采到高电平时的情况;
图8是上升沿检测流程图;
图9是下降沿检测流程图;
图10是时钟正常时,当COUNT1计数到n+1,FCK与STATE1状态不同;
图11是上升沿前移时,当COUNT1计数到n+1,FCK与STATE1状态相同;
图12是上升沿后移时,当C0UNT1计数到n+1,FCK与STATE1状态相同;
图13是实例模块图;
图14是任一时刻检测时钟状态流程图。
具体实施方式
本实例已在媒体处理板上实现,是用Verilog语言编写的,该实施例是在Xilinx公司的FPGA器件XC2S50PQ208-7ns实现的,使用的仿真工具是Fondition 4.1。
本实例最少包括三个输入信号:检测时钟CLK、被检测时钟FCK、复位信号RST;一个输出信号:ALM。实例内包括三个告警寄存器:上升沿紊乱告警寄存器ALM1、下降沿紊乱告警寄存器ALM2、初态无时钟告警寄存器ALM3;三个计数器:上升沿检测计数器COUNT1、下降沿检测计数器COUNT2、初态检测计数器COUNT3;三个初始状态寄存器:高电平寄存器EN1、低电平寄存器EN2、初态检测使能寄存器EN3;两个计数使能寄存器:上升沿计数使能寄存器highcnt,下降沿计数使能寄存器lowcnt;两个沿状态寄存器:上升沿前状态寄存器state1,下降沿前状态寄存器state2。
本应用实例是用来监测5MHz信号的,采用的检测时钟CLK是40MHz,两者间的比值是8。
上电时,不论有没有时钟,都会同时运行上电监测流程和逼近沿流程,上电检测流程所需的两个寄存器高电平寄存器EN1和低电平寄存器EN2的值是由逼近沿流程产生的。当没有时钟时,逼近沿流程永远也不会逼近到时钟沿,程序也就永远不会向下执行。上电监测流程和逼近沿流程均只在上电初期或复位后执行一次,不再重复,一直到下一次上电或复位。
上电时如果有时钟,从上电开始,根据图3上电检测流程,当计数器计到阀值9(本阀值应视具体情况而定,最少大于检测时钟和被检测时钟的频率比)时,高电平寄存器EN1和低电平寄存器EN2都已被置1,属于正常情况;如果没时钟,比如时钟恒为低,参考图4,当初态检测计数器COUNT3计数到9时(图中的计数器在记到9时复位,重新从1开始计数,因此看不到9,只能看到01),因为没有高电平的出现,所以只有低电平寄存器EN2被置1,高电平寄存器EN1为0,两个状态不同,所以初态无时钟告警寄存器ALM3告警。
上电后,如果没有时钟,则上电检测流程告警;如果有时钟,程序则进入逼近沿流程,参见图5。假如上电后第一个时钟脉冲采到的是低电平,如图6所示,就先将低电平寄存器EN2置1;等采到高电平时,再将高电平寄存器EN1置1;一旦EN1、EN2都置1以后,采样到高电平时,则表明有一个上升沿来到,就将高电平计数使能寄存器highcnt置1,同时上升沿检测计数器COUNT1开始计数;采样到低电平时,表明有一个下降沿来到,就将低电平计数使能寄存器lowcnt置1,同时下降沿检测计数器COUNT2开始计数。同理,先采到高电平的情况如图7所示。从而可以看出,highcnt的使能,紧跟着上升沿;lowcnt的使能,紧跟着下降沿。所以,上升沿检测计数器COUNT1的计数是为了对比上升沿前后的状态;下降沿检测计数器COUNT2的计数是为了对比下降沿前后的状态。逼近沿流程的结果是使计数器(初始值均为0)记到0和8时,正好在上升沿或下降沿的前面;记到1和9时,正好在上升沿或下降沿的后面。
一旦完成逼近沿流程,就进入监测时钟的过程,图8和图9分别表示检测上升沿和下降沿的流程。如图10波形所示,在注1处,上升沿检测计数器COUNT1计数到8,将采样到的FCK值(低)赋予上升沿前状态寄存器statel,在注2处,COUNT1计数到9(同时被清为1,所以只能看到01),将采样到的FCK值(高)与statel(低)对比,两者不同,表明时钟的上升沿正常。在注3、注4处,对下降沿进行对比,监测时钟的下降沿。如果被检测时钟不太稳或对其精度要求不高,则应该将COUNT1计数到7时采样FCK的值赋予statel,计数到10(此时应将COUNT1清为2,其余情况以此类推)时将采样到的FCK值与statel对比,或在一个更宽的范围内采样进行对比,这样被检测时钟的突变沿就可以在一个更宽的范围内抖动而不报警。
而当上升沿前移时,如图11中标注所示,则当上升沿检测计数器COUNT1计数到8时,采样到的FCK值为1,赋予上升沿前状态寄存器statel;COUNT1计数到9时,将采样到的FCK值(此时值为1)与statel(值为1)对比,两者相同,表明时钟的上升沿抖动,同时ALM报警。
而当上升沿后移时,如图12中标注所示,则当COUNT1计数到8,采样到的FCK值为0,赋予statel;COUNT1计数到9时,将采样到的FCK值(此时值为0)与statel(值为0)对比,两者相同,表明时钟的上升沿抖动,同时ALM报警。
同理,可以对时钟的下降沿进行检测。而时钟沿偏移的极限就是时钟丢失,如上升沿向后无限偏移,即为时钟丢失后电平为低;向前无限偏移,即为时钟丢失后电平为高。所以,可以监测时钟的丢失。
时钟一旦紊乱一次,ALM即告警,直到将程序复位才清0。
而由于各种系统的差别,对时钟的要求也不同。有时候时钟虽然曾经丢失,从而导致报警;但过一阵后,时钟已自动恢复,而且系统也正常。此时,若简单地对系统进行复位,将会导致不必要的错误。因此,本实例又引入了一个外界读信号READ,一个当前状态NOW,一个计数器COUNT4,一个使能信号EN4,再加上前面介绍的若干模块,本实例的模块图如图13所示。
参见图14,当系统告警时,并不立即复位系统,而是由CPU产生一个外界读信号READ,由这个信号将程序复位(RST=0),同时,打开使能开关EN4,使COUNT4开使计数。计数一段时间后(至少要大于上电初态检测的时间阀值),将告警信号ALM赋给当前状态NOW,从而使CPU知道时钟是否已恢复,再决定是否将系统复位。
上述实施例已在单板中实现,因为该板所使用的专用DSP,对时钟信号要求较高,因此加入本电路,检测效果良好。本方法与常规方法相比,采用的是目前国际上流行的硬件描述语言设计,通俗易懂,而且在调试设计时,不需查阅触发器、计数器等大量的芯片资料,易于理解、调试。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (4)
1、一种高频时钟监测周期信号紊乱的检测方法,其特征在于,该方法依次包括如下步骤:
①上电后,同时运行上电检测流程和逼近沿流程;当没有时钟时,上电检测流程根据逼近沿流程运行过程中产生的高电平寄存器和低电平寄存器的值,则判断出时钟为恒高或恒低,产生告警信号;当有时钟时,则上电检测流程在运行一段时间后停止;而逼近沿流程的原理是采样到被检测时钟的一个高电平、一个低电平后,依次分别将高电平寄存器和低电平寄存器置为1,再采样到高电平或低电平就可以开始计数,结果是使两个计数器分别紧挨着被检测时钟的第一个上升沿和下降沿开始计数,然后开始运行上升沿检测流程和下降沿检测流程;如果被检测时钟为恒高或恒低,则只有相应的高电平寄存器或低电平寄存器两者之一被置为1,另一个为0,然后将这两个寄存器值传送给上电检测流程;
②当检测时钟和被检测时钟周期之比为阀值n时,如果计数器紧挨着上升沿后面计数,则当计数器记到0和n时,采样到的被检测时钟电平为低,而记到1和n+1时采样到的电平为高,将n和n+1时刻的电平进行对比就可以判断被测信号是否紊乱,而且可以根据对被测信号精度的不同要求,在一个更宽的范围处将不同时刻的电平值进行对比;对下降沿的检测也同理;
③将以上所有告警信号经过逻辑门输出,就可达到告警目的;
④复位信号可将所有寄存器清0,使本逻辑回到步骤①重新开始。
2、根据权利要求1所述的高频时钟监测周期信号紊乱的检测方法,其特征在于:如果被测时钟不太稳或对其精度要求不高时,利用检测时钟采样被检测时钟电平,将不同间隔时刻的电平进行对比,即在一个更宽的范围,将不同时刻的电平值进行对比。
3、根据权利要求1所述的高频时钟监测周期信号紊乱的检测方法,其特征在于:该方法引入了一个外界读信号,一个当前状态,一个计数器,一个使能信号,当系统告警时,并不复位系统,而是由CPU产生一个外界读信号,由这个信号将程序复位,同时,打开使能开关,使计数器开始计数,计数一段时间后,将告警信号赋给当前状态,从而使CPU知道时钟是否已恢复,再决定是否将系统复位。
4、根据权利要求1所述的高频时钟监测周期信号紊乱的检测方法,其特征在于:采样点紧挨着被检测时钟的上升沿和下降沿。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101058730A CN100502262C (zh) | 2003-10-31 | 2003-10-31 | 可检测周期信号紊乱的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101058730A CN100502262C (zh) | 2003-10-31 | 2003-10-31 | 可检测周期信号紊乱的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1612509A true CN1612509A (zh) | 2005-05-04 |
CN100502262C CN100502262C (zh) | 2009-06-17 |
Family
ID=34757451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003101058730A Expired - Fee Related CN100502262C (zh) | 2003-10-31 | 2003-10-31 | 可检测周期信号紊乱的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100502262C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100435107C (zh) * | 2006-02-11 | 2008-11-19 | 深圳市顶星数码网络技术有限公司 | 上电时序测试装置及方法 |
CN105353212A (zh) * | 2015-10-13 | 2016-02-24 | 珠海格力电器股份有限公司 | 一种检测信号频率的方法及装置 |
CN109597457A (zh) * | 2018-12-03 | 2019-04-09 | 安徽皖兴通信息技术有限公司 | 一种基于可编程逻辑器件的时钟检测方法和装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107872208B (zh) * | 2016-09-28 | 2020-04-03 | 深圳市中兴微电子技术有限公司 | 一种时钟信号丢失检测的装置 |
-
2003
- 2003-10-31 CN CNB2003101058730A patent/CN100502262C/zh not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100435107C (zh) * | 2006-02-11 | 2008-11-19 | 深圳市顶星数码网络技术有限公司 | 上电时序测试装置及方法 |
CN105353212A (zh) * | 2015-10-13 | 2016-02-24 | 珠海格力电器股份有限公司 | 一种检测信号频率的方法及装置 |
CN105353212B (zh) * | 2015-10-13 | 2017-12-29 | 珠海格力电器股份有限公司 | 一种检测信号频率的方法及装置 |
CN109597457A (zh) * | 2018-12-03 | 2019-04-09 | 安徽皖兴通信息技术有限公司 | 一种基于可编程逻辑器件的时钟检测方法和装置 |
CN109597457B (zh) * | 2018-12-03 | 2022-04-19 | 安徽皖兴通信息技术有限公司 | 一种基于可编程逻辑器件的时钟检测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN100502262C (zh) | 2009-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109709475B (zh) | 输入/输出总线中的毛刺检测 | |
CN101995533B (zh) | 一种数字增量式编码器断线实时检测的方法和系统 | |
CN1664600A (zh) | 基于二分法的电路连线导通测试方法 | |
CN117388673A (zh) | Ate设备及其芯片测试方法、电子设备、存储介质 | |
CN100502262C (zh) | 可检测周期信号紊乱的方法 | |
CN107463470B (zh) | 通道冲突检测方法及系统 | |
CN103227558A (zh) | 一种逐波限流方法及装置 | |
CN111049576B (zh) | 一种光模块los告警的方法 | |
CN114064332A (zh) | 时钟检测方法、装置及时钟安全系统 | |
CN113282134A (zh) | 热备份三模冗余计算机时间同步实现装置及方法 | |
CN210863959U (zh) | 一种基于fpga电气信号检测的主板自检装置 | |
CN2713741Y (zh) | 时钟检测电路 | |
JP3806748B2 (ja) | 正及び負のラントパルスを同時に検出するための方法及び装置 | |
CN1309169C (zh) | 一种多路时钟检测装置 | |
CN114527832B (zh) | 脉冲信号边沿测量方法及装置、存储介质及微控制单元 | |
CN103312307B (zh) | 时钟频偏检测方法及装置 | |
CN1806180A (zh) | 时序收敛监控电路和方法 | |
CN1083572C (zh) | 工控机脉冲插入板 | |
Dai et al. | Monitoring circuit based on threshold for fault-tolerant NoC | |
CN114167264B (zh) | 一种核辐射环境下用于检测数字电路保持时间违例的装置 | |
CN221174848U (zh) | 一种改进型峰值检测电路 | |
CN205427042U (zh) | 一种cpld测频模块 | |
JPS5824220Y2 (ja) | グリツチ検出器 | |
RU41940U1 (ru) | Счетчик с коэффициентом счета девять | |
CN2606387Y (zh) | 一种在智能卡中的时钟频率判定电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090617 Termination date: 20141031 |
|
EXPY | Termination of patent right or utility model |