数字信号测试系统
本发明属于测试系统领域,具体的说是一种用于数字信号测试的集成化片上系统。
一个基于微型计算机的测试系统通常分为上位机部分和下位机两大部分,下位机完成测试数据的采集和预处理功能,而上位机完成测试数据的后处理及人机界面的功能,上位机和下位机通过一定的通信端口相连,如串口、并口或者总线等方式相连。上位机通常是由通用的个人微型计算机(简称PC机)实现,下位机通常由专门开发的硬件来实现,上位机通过友好的图形界面或文本界面与用户沟通,接受用户的测试命令并通过通信端口下发给下位机,从而控制下位机的现场操作,下位机采集的现场测试数据或者经过下位机预处理后的测试结果通过通信端口上报给上位机,经过上位机对测试数据的最后处理,将最终的测试结果反馈给用户。
一般来说,测试系统的下位机部分通常由中央控制模块、数据采集模块(输入)、数据处理模块和数据通信模块(输出)等模块组成,在中央控制模块控制下,数据采集模块采集的数据经过数据处理模块的处理,测试结果由数据通信模块输出后通过计算机串口或者并口传递给PC机。
在一般数字测试系统的下位机中,为了实现数据的采集、处理和数据通信,中央控制模块通常由单片机等通用微处理器来实现,通过微处理器的软件控制数据采集和处理,并且在微处理器的控制下,通过数据通信模块直接与上位机实现信息交互。而且由于可以随时对软件进行修改,给整个测试系统带来了很大的灵活性。
然而由于在一定的环境条件下,微处理器软件存在着程序跑飞的可能,势必影响系统的稳定性和可靠性,如果采用专用微处理器或者高档微处理器,也势必影响系统的成本。特别是对于一些可靠性要求较高,但是测试要求较为简单的测试系统,如果采用这种由通用微处理器组成的测试系统的下位机,一方面由于存在程序跑飞的现象,稳定性不是很高,无法满足高可靠性的要求;另一方面同时由于通用微处理器的采用,使得系统集成比较困难,无法做到将该系统在片上实现,而且成本很高,修改的灵活性不是很方便。
本发明的目的在于提供一种数字信号测试系统,该数字信号测试系统集成于一块现场可编程门阵列上,且该系统在接收到PC机通过串行端口传送来的测试命令后,能够及时地做出响应并与PC机建立通信链路,执行相应的数据采集和数据处理的任务,最后将测试结果通过串行端口传送给PC机,从而实现高效灵活可靠的测试。
为了实现上述的任务,本发明采用的解决方案是:提供一种数字信号测试系统,该数字信号测试系统包括:信号采集测试单元,用于数据的采集和测试;由发送先进先出队列、接收先进先出队列及读写状态控制器组成的数据存储单元;数据通信单元,用于数据的收发;时钟模块,为所述系统的各个单元提供工作时钟;其特点在于:还包括由有限状态机形式的专用微处理器组成的微控制器单元;所述微控制器单元向所述信号采集测试单元发送一测试模式信号和一使能测试信号;所述信号采集测试单元将一反馈信号送回所述微控制器单元,将一数据输出信号送入数据存储单元之中的发送先进先出队列;所述数据存储单元将一数据输出信号、状态信号送入微控制器单元,将一数据输出信号、一读控制信号、一写控制信号送到所述数据通信单元;所述数据通信单元将一数据输出信号送入所述数据存储单元。
由本发明的结构特征可知,本发明和传统的数字信号测试系统相比具有如下有益效果:本系统采用了专用的微控制器单元、通用的数据通信单元、信号采集测试单元和数据存储单元的组成,其中所有单元均由硬件来实现,在微控制器单元之中用一个简易的专用微处理器单元替代了传统的通用微处理器。由于整个测试流程由专用微处理器的硬逻辑门来控制,大大提高了测试系统的可靠性和稳定性,克服了采用通用微处理器软件存在程序跑飞的可能性。由于可以在一个芯片上实现整个系统,整个测试系统的体积也大大减小。正是由于采用了有限状态机的设计,使得可以将系统在片上实现,进而带来了成本降低、程序稳定性增加防止程序跑飞、修改灵活的特点。本发明对于数字单板的生产测试尤为实用,可以根据不同的测试对象灵活的修改相应的有限状态机,测试结果通过RS232接口上报给PC机,实现快速、高效、灵活的测试。
下面结合附图对本发明的具体实施方式再作一详细的描述。
图1是整个测试系统的系统结构图。
图2是数据存储单元的结构图。
图3是专用的微控制器单元的状态转移图。
图4是专用的微控制器单元的单一状态内的执行流程图。
从图1可以看到,整个测试系统可以由时钟模块、信号采集测试单元、微控制器单元、数据存储单元和数据通信单元所组成,并且集成在一块ALTERA公司的型号为FLEX1030KA的现场可编程门阵列(FPGA)上。
时钟模块为整个系统提供系统工作所需要的各种时钟,其中包括:向信号采集测试单元提供数据采集时钟CLK1、向数据通信单元提供串口数据发送时钟和串口数据接收时钟CLK4、向微控制器单元提供专用微处理器主频时钟CLK2、向数据存储单元提供数据读写同步时钟CLK3。
微控制器单元和信号采集测试单元的信号走向如下:该微控制器单元向信号采集测试单元发送测试模式信号TEST_MODE和使能测试信号TEST_ENABLE,信号采集测试单元将反馈信号TEST_OVER送回到微控制器单元,同时信号采集测试单元将数据输出信号DATA_IN送入数据存储单元之中的发送先进先出队列(发送FIFO)。
在使用时,微控制器单元通过测试模式信号TEST_MODE控制数据采集测试单元选择不同的测试模式,再通过使能测试信号TEST_ENABLE控制以便于允许测试,信号采集测试单元将测试状态通过反馈信号TEST_OVER反馈给微控制器单元,同时微控制器单元的允许发送使能信号TX_EN有效,此时信号采集测试单元可以将测试数据通过数据输出信号DATA_IN传送到数据存储单元之中的发送先进先出队列(发送FIFO)中。
微控制器单元和数据通信单元之间通过数据存储单元实现消息和数据缓冲,从图2可以看到,数据存储单元实际上就是一个发送先进先出队列(发送FIFO)、一个接收先进先出队列(接收FIFO)及一个读写状态控制器所组成的,发送FIFO是一个用于存放发送数据的先进先出队列(FIFO),接收FIFO是一个用于存放接收数据的先进先出队列(FIFO),其信号走向为:数据存储单元将数据输出信号DATA_OUT、状态信号RF_EPT、状态信号XF_FUL送入微控制器单元,将数据输出信号XDATA、读控制信号RD、写控制信号WR送到数据通信单元。数据通信单元将数据输出信号RDATA送入数据存储单元;其中所述数据存储单元之中的读写状态控制器将读控制信号RD、写控制信号WR及数据输出信号XDATA输出到所述数据通信单元,并接收来自所述数据通信单元的数据输出信号RDATA。
还有数据存储单元之中的接收先进先出队列是通过接收来自读写状态控制器的写控制信号RF_WR并输出给读写状态控制器状态信号RF_FUL来接收数据的。数据存储单元之中的发送先进先出队列是通过接收来自读写状态控制器的读控制信号XF_RD并输出给读写状态控制器状态信号XF_EPT来发送数据的。
在使用时,微控制器单元根据判断状态信号XF_FUL作为发送FIFO是否满的标志,用写控制信号XF_WR作为发送FIFO的写控制操作以便于对发送FIFO进行写入,同时微控制器单元根据判断状态信号RF_EPT作为接收FIFO是否空的标志,用读控制信号RF_RD作为接收FIFO的读控制操作以便于对接收FIFO进行读取。数据存储单元之中的读写状态控制器根据状态信号XF_EPT作为发送FIFO是否空的标志,用读控制信号XF_RD作为发送FIFO的读控制操作以便于对发送FIFO进行读取,读出的数据经由写控制信号WR控制写入数据通信单元用于发送。同时读写状态控制器根据状态信号RF_FUL作为接收FIFO是否满的标志,经由读控制信号RD的控制读出从数据通信单元接收到的数据,用写控制信号RF_WR作为接收FIFO的写控制操作以便于对接收FIFO进行写入。这样实际上就完成了一个数据和消息的两级缓冲机制,避免了消息和数据在意外情况下的溢出。
微控制器单元是由专用微处理器所组成,是一个利用硬件的有限状态机来实现的,它是利用可编程逻辑器件设计的一个具有几种状态的状态机,由硬件来实现状态机的功能,如接收上位机下发的命令,根据接收的命令进行状态转移,也即是根据接收的命令执行相应的功能。请参阅图3所示,由图中可以看出,这个有限状态机由IDLE、STEP1、STEP2、STEP3、STEP4、STEP5各状态以及C1、C2、C3、C4、C5、C6各测试命令所构成,系统初始状态处于IDLE状态,只有当收到上位机下发的测试命令C1后,系统才执行状态转换进入测试状态STEP1并开始相应的测试流程;如果收到的测试命令非C1(N0 C1),系统维持原状态不变。
如图4所示,当系统进入测试流程后,微控制器单元首先将本状态锁定,在状态未解锁之前不允许执行状态转换,接着微控制器单元向上位机上报测试状态和测试数据,然后根据相应的测试命令选择相应的测试模式,开始进行信号采集测试,微控制器单元不断地检查测试是否完成,直到测试完成以后将测试结果存储在相应的存储区中。最后微控制器单元将状态解锁,STEP1测试流程结束,这时允许执行状态转换。微控制器单元继续监测数据通信单元收到的命令,如果收到测试命令非C2(N0 C2),系统仍旧维持原状态不变,如果收到测试命令C2,则状态发生转换,进入测试状态STEP2。如此一步一步根据收到的上位机的命令,以消息触发的模式完成一系列的测试流程,也即是完成从IDLE、STEP1、STEP2、STEP3、STEP4、STEP5的各测试状态转换。
根据以上所述的本发明,由于整个测试流程由专用微处理器的硬逻辑门来控制,大大提高了测试系统的可靠性和稳定性,克服了采用通用的微处理器软件存在程序跑飞的可能性。同时由于片上测试系统的实现,整个测试系统的体积也大大减小。正是由于采用了有限状态机的设计,使得可以将系统在片上实现,进而带来了成本降低、程序稳定性增加防止程序跑飞、修改灵活的特点。本发明对于数字单板的生产测试尤为实用,可以根据不同的测试对象灵活的修改相应的有限状态机,测试结果通过RS232接口上报给PC机,实现快速、高效、灵活的测试。