PCI测试卡及其测试方法
技术领域
本发明涉及计算机周边设备领域,特别是有关一种PCI测试卡及其测试方法。
背景技术
当前的电路***(如主板)中,由于芯片选择、设计思想及器件差异的不同,各个电路***信号的建立时间和保持时间的容限是不同的,而这些参数对于衡量***的稳定性具有重要的指导意义。
现有的PCI(Peripheral component interconnection)测试卡往往针对PCI协议进行测试,测出PCI信号是否满足协议,并可在示波器上显示出信号的变化情况,如中国专利第02117679号中的批量测试装置。或者作为调试卡,如中国专利第00134858号中的单步纠错装置,考察***在上电自检时是否运行正常。这些设计方法都不能检测PCI信号某些时间参数的容限。
为了在现有条件下测出各个电路***信号的建立时间和保持时间的容限,一般采用示波器测试,并对其波形信号进行解读计算,得出时间容限参数。但是这项工作需要有专门的技术人员来计算解读示波器波形,而且一般来说工作人员读取示波器的波形不够精确,如果采用先进的高精密度的示波器则价格比较昂贵,总之目前采用人工解读示波器波形来测算建立时间、保持时间容限的方法,费时费力而且代价昂贵。
发明内容
本发明的目的在于提供一种PCI测试卡,以克服上述现有技术的不足,解决现有技术无法直接测量PCI信号时间的问题。
为实现上述目的,本发明提供一种PCI测试卡,包括:信号发生器、基准时钟发生器、锁相环、控制电路和显示单元,其中信号发生器产生所需的测试信号,基准时钟发生器产生基准时钟信号,锁相环将该信号分等为若干个相位,并通过其移相功能将信号逐次向前或向后移动一个或数个相位,显示单元显示当前的信号向前或向后所移动相位的个数,并将所移位的每个相位延迟的时间叠加而直接显示延迟时间,控制电路产生控制信号以及信号移位的方向和相位个数。
其中,所述的信号发生器产生所需的测试信号;基准时钟发生器产生基准时钟信号;控制电路可由用户通过加装应用软件的计算机***进行控制。在信号分成的若干个相位是等分的情况下,显示单元可以将所移位的相位数乘以延迟的时间叠加而直接显示延迟时间。所述的信号发生器、锁相环和控制电路由可编程逻辑器件构成,该可编程逻辑器件是FPGA(Field programmable Gates Array,现场可编程门阵列);所述的基准时钟发生器由石英晶振构成;所述的显示单元是LED(light-emitting diode,发光二极管)。
本发明的另一目的在于提供一种PCI***的测试方法,解决现有技术无法直接测量PCI信号的建立时间的问题。
为实现上述目的,本发明提供一种PCI***的测试方法包括以下步骤:a.给出测试信号和基准时钟信号;b.用锁相环将基准时钟信号等分为若干个相位;c.将测试信号中的时钟信号逐次向前移动一个或数个基准时钟的等分相位,直到测试信号无效为止;d.记录测试信号无效时测试信号中的时钟信号所向前移位的相位的个数;e.利用测试信号无效时测试信号中的时钟信号所移动的相位的个数乘以每个相位的时间,算得信号的建立时间容限。
在完成所述步骤c之后,计算测试信号无效时间点距下一个时钟信号的上升沿之间的时间段,所得值即为信号的最小建立时间。
本发明的再一目的在于提供一种PCI***的测试方法,解决现有技术无法直接测量PCI信号的保持时间的问题。
为实现上述目的,本发明提供一种PCI***的测试方法,包括以下步骤:a.给出测试信号和基准时钟信号;b.用锁相环将基准时钟信号等分为若干个相位;c.将测试信号中的时钟信号逐次向后移动一个或数个基准时钟的等分相位,直到测试信号无效为止;d.记录测试信号无效时测试信号中的时钟信号所向后移位的相位的个数;e.利用测试信号无效时测试信号中的时钟信号所移位的相位的个数乘以每个相位的时间,算得信号的保持时间容限。
在完成所述步骤c之后,计算测试信号无效时间点距当前测试信号的下降沿之间的时间段,所得值即为信号的最小保持时间。
本发明通过对信号进行移相以测得信号的建立时间和保持时间的容限以及最小建立时间和最小保持时间。本发明不需要专门的技术人员操作,而且测量精确度较高,结果无需复杂的解读计算,能够从仪器上读出,因而具有较高的测试效率。此外,根据本发明的测试卡结构简单,具有较佳的可靠性,设备价格也比较便宜。
以下结合附图与实施例对本发明作进一步的说明。
附图说明
图1为本发明的一个实施例的结构示意图。
图2为本发明的一个实施例的锁相环内部结构示意图。
图3为建立时间容限的测试原理示意图。
图4为保持时间容限的测试原理示意图。
具体实施方式
有关本发明的详细说明及技术内容,现就结合附图说明如下:首先参阅图1,图1是本发明的一个实施例的结构示意图。本实施例中的PCI测试卡,信号发生器、锁相环和控制电路由一片FPGA构成,信号发生器产生的测试所需的信号,包括被测信号,采用FPGA本身具有的锁相环来作为延时门阵列对信号进行移相后输出。显示单元是一片LED。所述的基准时钟发生器由石英晶振构成,产生基准时钟信号,基准时钟信号是用来倍频的。该PCI测试卡在使用时插在计算机***的PCI插槽内。用户可以通过计算机***中的应用程序来控制FPGA来产生测试所需的时钟信号和测试信号,在这里FPGA相当一个PCI设备,FPGA的另一个功能是利用其锁相环对信号进行相位等分,以及控制指令锁相环对信号进行移相,从而实现延时。显示单元显示当前的信号所经的基准时钟相位移动的个数,也可以将基准时钟相位的个数换算成延迟时间而直接显示延迟时间。
如图2为本发明的一个实施例的锁相环内部具有多路输出,每一路设有相应的移相电路。如图2中的实施例设有m路输出,其中第一路将时钟信号移相N分之一个时钟;第二路将时钟信号移相N分之二个时钟,以此类推直至第m路移相N分之m个时钟。锁相环将时钟信号等分成N分,该N的取值根据测试的精度来具体确定。该m的值应当满足使其足够大以至能够使***当机,在此基础上m值应当尽量小,以简化电路节约成本。很显然m应当小于N。这样锁相环根据FPGA的指令选择不同的时钟信号输出电路就可以获得不同的时钟移相延时信号。当然在另外的一些实施例中为了简化电路或其它目的也可以将时钟信号不等份分割,例如相邻电路之间延时差值不等。
在测试中,测试人员可通过应用程序来启动锁相环移相功能,PC***通过PCI总线告知FPGA开始进行移相测试。FPGA一方面告知锁相环开始启用移相功能,另一方面开始不停地向PC***发送数据。应用程序会先对时钟信号向前或向后移动一个相位,之后一个一个逐次增加。LED会显示当前移动相位的个数。当被测信号的时间容限小于PCI协议的要求时,***会自动当机,PCI总线停止工作。LED一直显示当机时移动相位的个数。
本实施例在FPGA中用硬件描述语言编程满足PCI协议,所以设计的PCI卡可以直接插在PCI插槽中,PCI信号通过FPGA进行移相处理和比较分析。如果在时钟信号延迟的情况下出现了测试信号由有效变为无效的情况,操作***当机,就测出了对应的建立时间容限和保持时间容限。
以下根据测试原理示意图对本发明提供的测试方法进行介绍、分析:首先请参阅图3,图3是建立时间容限的测试原理示意图。其中,图中标注的需要的建立时间,通常来说是PCI协议规定的最小信号建立时间;当机时提供的建立时间是指测试过程中,***当机时,按照建立时间定义,所测的时间值;正常情况下提供的建立时间是指PCI时钟未经过移相时,按照建立时间定义,所测的时间值;建立时间容限是指正常工作时建立时间和信号无效时(当机状态)的建立时间差值。在测试建立时间容限的过程中,固定测试信号,让FPGA产生的时钟信号经过锁相环电路实现向前移相,当在锁相环中的移动相位的个数达到一定的数目,测试信号针对时钟上升沿由有效变为无效,如图3中分别示出时钟信号向前移相1/N时,测试信号在该时钟信号上升沿有效,时钟信号向前移相2/N时,测试信号在该时钟信号上升沿仍有效,直到时钟信号向前移相m/N时,测试信号在时钟信号的上升沿无效情况的出现,此时的测试信号就是无效信号。那么此时,无效信号的上升沿直到该时钟信号的上升沿的范围就是信号的最小建立时间,而测试信号从时钟信号未经过相移的原始信号到出现无效信号的时间就是锁相环中移动相位的时间,也就是建立时间容限。这样,就测出了信号的建立时间容限,也就相应地测出了最小建立时间。也就是说建立时间容限等于测试信号无效时的时钟信号所向前移相的个数乘以每个相位的延迟时间。这样,只要知道测试信号无效时的时钟信号所向前移相的个数,就测出了信号的建立时间容限,也就相应地测出了最小建立时间。
请参阅图4,图4是保持时间容限的测试原理示意图。其中,图中标注的需要的保持时间,通常来说是PCI协议规定的最小信号保持时间;当机时提供的保持时间是指测试过程中,***当机时,按照保持时间定义,所测的时间值;正常情况下提供的保持时间是指PCI时钟未经过移相时,按照保持时间定义,所测的时间值;保持时间容限是指正常工作时保持时间和信号无效时(当机状态)的保持时间差值。在测量保持时间容限时,固定测试信号,让时钟信号经过锁相环电路实现向后移相,当在锁相环中的移动相位的个数达到一定的数目,在某个时钟上升沿的测试信号由有效变为无效。图4中分别示出时钟信号向后移相1/N时,测试信号在该时钟信号上升沿有效,时钟信号向后移相2/N时,测试信号在该时钟信号上升沿仍有效,直到时钟信号向后移相m/N时,测试信号在时钟信号的上升沿无效情况的出现,此时的测试信号就是无效信号。此时,利用测试信号无效时的时钟信号所经的向后移相的个数乘以每个相位延迟的时间可以算得信号的保持时间容限。计算测试信号无效时间点距该测试信号的下降沿之间的时间段,所得值即为信号的最小保持时间。
以上所介绍的,仅仅是本发明的较佳实施例而已,不能以此来限定本发明实施的范围。本技术领域内的一般技术人员根据本发明所作的等同的变化,例如将以上实施例中的各个步骤进行组合,或加入本发明提及的元器件以外的元器件,对测试流程作等同变化或显而易知的推导,以及本领域内技术人员熟知的改进,都应仍属于本发明专利涵盖的范围。