嵌入式微处理器应用系统中时钟丢失和毛刺检测方法技术方案

技术编号:2883671 阅读:206 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种嵌入式微处理器应用系统中时钟丢失和毛刺检测方法。本发明专利技术通过待检时钟与系统时钟的频率比进行检测和比较,实现对待检时钟的丢失或毛刺进行检测。整个过程可在可编程逻辑器件内部实现。上述方法已在目前广泛使用的Motorola的MPC860CPU内部的多通道通信控制器(QMC)中的使用,效果良好,不仅省略了芯片,而且实现了芯片所不能实现的功能和性能。(*该技术在2020年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术属于计算机时钟检测领域,具体地说,涉及一种嵌入式微处理器应用系统中通用的时钟品质的检测方法。目前,在嵌入式微处理器应用系统中,除需要系统时钟以外,还有其它种类的时钟(如串行同步通信时钟、交换电路时钟等等)。这些时钟有时将产生毛刺或暂时的丢失(毛刺指在标准的时钟波形上叠加的高频杂波,时钟的暂时丢失表现为时钟信号呈现单一的高电平或低电平),这些毛刺或丢失有时对整个系统的影响不大,因此常采用单稳电路(如74HC123等)来检测时钟的丢失并告知微处理器。但也有相当的应用中,毛刺与丢失的情况一旦出现,就会产生严重的影响,如在目前广泛使用的Motorola的MPC860 CPU内部的多通道通信控制器(QMC)的使用中,如果供给它的时钟产生毛刺或暂时丢失,即使时钟很快恢复,多通道通信控制器也无法恢复,会一直进行错误包的收发,导致多通道通信控制器功能的丧失。该状况的出现,对于整个系统来说是个非常严重的问题。这时用上述现有技术电路已不能达到要求。在一些专利中(如专利号为JP02226432A和EP00676695B1等),针对时钟故障提出的具体电路,要使用到嵌入式微处理器应用系统中,存在通用性和精度的可控性不高以及不便于实施等问题,而对于时钟较高频率的毛刺故障检测方法尚无相关文献的报道。因此,提供一种嵌入式微处理器应用系统具备通用性和精度的可控性的时钟检测方法将具有十分重要的现实意义。本专利技术的目的在于针对目前嵌入式微处理器应用系统的特点,提出一种以系统时钟为基准,并结合可编程逻辑器件对时钟的丢失或时钟的毛刺进行检测的方法。本专利技术的构思是这样的嵌入式微处理器应用系统中,以系统时钟作为基准,当待检时钟(如串型通信时钟,交换网络的同步与比特时钟)正常时,系统时钟与待检时钟的频率比应为一定值n,如果允许两者频率比有误差,则频率比应在n1~n2之间(n1<n<n2),当待检时钟时钟丢失时,此时待检时钟呈现一直为高或为低的状态,相当于频率为零的时钟,两者频率比大于误差上限n2;当待检时钟出现毛刺时,此时待检时钟相当于变为一个高频时钟,则两者频率比小于误差下限n1。由此,只要对待检时钟与系统时钟的频率比进行检测和比较,即可实现对待检时钟的丢失或毛刺进行检测。实现本专利技术目的的技术方案依次包括如下步骤①预先设定系统时钟与待检时钟的频率比(n=系统时钟频率/待检时钟频率),n1和n2(n1<n<n2),n1=n-i,n2=n+j,根据精度要求可设i=1、2或3,j=1、2或3。n1和n2的值分别设定时钟毛刺比较器和时钟丢失比较器中;②由脉冲信号控制一个系统时钟计数器的清零,清零后,计数器从头开始对系统时钟进行计数;③通过一个触发器捕获待检时钟的上升沿(即信号由低电平转为高电平的时刻);④通过一个脉冲发生器对触发器捕获的状态发出相应的脉冲信号;⑤通过两个比较器,时钟丢失比较器和时钟毛刺比较器,将计数器的计数值分别与设定的n1、n2进行比较;⑥将比较结果告知CPU。整个过程可在可编程逻辑器件内部实现。所说的可编程逻辑器件可采用市售产品,如Altera公司的可编程逻辑器件。下面将结合附图对本专利技术的详细内容进行阐述。附图说明图1为待检时钟正常时的波形仿真结果。图2为待检时钟丢失时的波形仿真结果。图3为待检时钟出现毛刺时的波形仿真结果。图4为逻辑流程图。图5为可编程逻辑实现电路图。图1~3中各波形的意义为波形1为系统时钟,即为嵌入式微处理器应用系统中的系统工作时钟;波形2为待检时钟,即为要检测的时钟,(如串型通信同步时钟,交换网络的同步与比特时钟),波形3为脉冲信号,是由脉冲发生器根据待检时钟产生的脉冲,用于控制计数器清零等;波形4为时钟丢失表示出现时钟丢失时产生高电平;波形5为时钟毛刺表示出现毛刺时信号由低电平变为高电平;波形6为清零控制,指CPU用来复位该时钟检测电路;波形7为至CPU是指当时钟丢失或毛刺产生时,该检测电路将产生一高电平到CPU的中断口或I/O口,当CPU检测到该信号后,应将清零控制端置零以清除该信号,然后将清零控制端置高,使得检测电路继续检测。由图1可见,当待检时钟正常时,脉冲信号在一个待检时钟的周期内产生两个脉冲;由图2可见,当待检时钟短暂丢失时,待检时钟表现为高电平,脉冲信号的间隔超过一个正常待检时钟周期;由图3可见,当待检时钟出现毛刺时,待检时钟表现为一较窄宽度的高频波形,此时脉冲信号的间隔低于一个正常待检时钟周期。由图4可见,该方法包括以下步骤①启动检测电路;②通过计数器8开始对系统时钟进行计数;③通过触发器9捕获待检时钟的上升沿。如上升沿到来,触发器翻转,其状态输入脉冲发生器10;④脉冲发生器发出相应的脉冲信号,该脉冲信号一方面指令系统时钟计数器8清零,重新开始计数;另一方面将清零前计数器8的计数值与时钟毛刺比较器11中的设定值误差下限n1进行比较,时钟毛刺比较器11的工作原理是,脉冲发生器的脉冲信号作为其使能信号,当存在脉冲信号时,如果计数值小于n1,输出高电平,反之为低电平。⑤如果待检时钟丢失,则上升沿不会到来,此时由时钟丢失比较器12随时将计数值和设定值误差上限n2进行比较。时钟丢失比较器12的工作原理是,当计数值大于n2时,输出为高电平,反之为低电平;⑥如果时钟丢失比较器12和时钟毛刺比较器11的比较结果为真,即信号由低电平变为高电平,则报送CPU13说明产生了时钟丢失或时钟毛刺现象;⑥计数器8在脉冲信号控制下不断进行,因此整个时钟检测不断进行。对该方案有三点说明(1)采用上升沿作为计数基准,是考虑到毛刺本身的特点,一般毛刺较窄,即使下降沿先出现,随后便会出现上升沿,因此以上升沿作为计数基准是可行的,如要求以下降沿为计数基准,只需加一反相器即可,也可将两种电路接合起来,同时以毛刺的上升和下降沿为计数基准;(2)对于宽度小于系统时钟的毛刺,仍然可以捕捉到,这在下面的详细描述中给予说明;(3)实际使用该方法时,判断丢失时钟和毛刺出现的计数值可根据要控制的精度灵活设定,即合理设定误差下限n1和误差上限n2的大小,类似于一个带通滤波器,在n1<计数值<n2时为正常,n1和n2的范围越大,检测的精度越低,反之则越高。一般,n可根据系统时钟和待检测时钟的频率比来确定,n=系统时钟频率/待检时钟频率,如用64M的系统时钟来检测4M的时钟,则n=64/4=16,可选定n1=15,n2=17,如果容许4MHz时钟的相位等有较大误差,可适当放宽取值范围,如n1=14,n2=18。图5为可编程逻辑实现电路图。根据图4所示的方案框图的具体可编程逻辑的实现电路图如附图5所示,该图可用Altera公司的MaxPlusⅡ软件实现。在可编程逻辑设计软件环境中将可编程逻辑实现电路画好,编译并烧入可编程逻辑器件,将系统时钟和待检时钟输入器件管脚,而将输出管脚和CPU相连即可实现该方法。图中以系统时钟64M,待检测时钟4M为例,则两者关系为16倍,在图中电路以大于18和小于14作为判决条件,判断时钟是否丢失或出现毛刺。由图5可见,该实现电路包括一个具有同步清零端的计数器25、时钟丢失比较器14、比较器26和带使能端的D触发器15构成的时钟毛刺比较器16、T触发器17和D触发器18构成的触发器19、D触发器20和异或门本文档来自技高网...

【技术保护点】
一种嵌入式微处理器应用系统中时钟丢失和毛刺检测方法,其特征在于,该方法依次包括如下步骤: ①启动检测电路; ②通过计数器(8)开始对系统时钟进行计数; ③通过触发器捕(9)获待检时钟的上升沿;如上升沿到来,触发器翻转,其状态输入脉冲发生器(10); ④脉冲发生器(10)发出相应的脉冲信号,该脉冲信号一方面指令系统时钟计数器(8)清零,重新开始计数;另一方面将清零前计数器的计数值与时钟毛刺比较器的设定值误差下限n↓[1]进行比较; ⑤如果待检时钟丢失,则上升沿不会到来,时钟丢失比较器(12)随时将计数值和设定值误差上限n↓[2]进行比较; ⑥如果时钟丢失比较器(12)和时钟毛刺比较器(11)的比较结果为真,即报送CPU(13); ⑦计数器(8)在脉冲信号控制下连续进行计数,使整个时钟检测连续进行。

【技术特征摘要】

【专利技术属性】
技术研发人员:谢建良许俊文文峰
申请(专利权)人:深圳市中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1