引言
GPIB(通用接口总线)是国际通用的标准仪器接口。测试仪器供应商一般都提供丰富的GPIB指令集,用户可以直接调用通讯命令,从而大大缩减底层搭建的工作量。
计算机打印接口应用扩展
计算机打印接口(LPT1,也可称为并行口)有三个端口,包括数据输出端口(端口地址为0378H)、状态输入端口(0379H)和命令输出端口(037AH)。一般情况下,计算机打印接口的三个端口通过25脚D型插接件与打印机连接,实现数据、状态和命令信息的传送。本文设计的SoC自动化测试方案主要应用数据输出端口,该端口有一个8位数据输出寄存器,其I/O特性如表1所示。
表1 并行端口数据输出位特性
对数据输出端口发出一条OUT指令可将数据直接写到插接件的引脚上。端口寄存器及其所连引脚状态可通过同一端口读出,其目的是为了检验数据输出端口传输的正确性。状态输入端口由5个三态门缓冲器构成,缓冲器输入端与插接件的引脚连接。
SoC测试系统中需要的数字信号较多,在使用外部数据作为控制信号且要求传输速率不高于10MHz的情况下,支持24路并行信号输出的计算机打印接口是该测试系统的理想选择。
测试平台的构建
本文将测试平台中的并行控制端口部分、可编程逻辑芯片配置部分以及测试部分独立,分别设计后再进行各模块间的连接和通信。这样避免了各模块之间的设计干扰,提高了测试平台搭建效率,另外只要保证物理连接和通信的有效性,就可以充分利用上位机和下位机软件进行控制,并可以随时修改。图1所示为并行控制端口的原理图设计方案。并行接口设有三根时钟信号输出端,用以控制寄存器芯片正确写入数据,同时达到片选的目的。74HC574芯片的片选端口通过PC_CONTROL置高或者置低,用以控制测试平台工作在自动测量或手动单片测试两种模式。由于计算机对并行口数据有正向输出和反向输出两种数据结构,所以利用74HC14反相器搭建了时钟驱动电路。如图1所示,
图1 并行控制端口原理图
10、12、13端口外接电阻,使计算机可以通过查找电阻判断系统是否存在以及是否工作正常。
软件系统设计
本测试系统的软件部分由两个主体模块组成,外围利用Visual C++编写可视化测试软件EBS(评估板系统)。EBS的编写在许多Visual C++教程中阐述的非常多,本文代码段可参见电子设计信息网博客gump.spaces.eaw.com.cn。基于批处理文件的测试系统是软件部分的核心。经过分析可知,测试系统最主要的工作是利用WinIo标准输入/输出模块准确地输出数字控制信号,对每一个测试仪器、每一个测试的指标参数及每一个测试操作都定义一个类,以便调用。完成上述工作后即可在命令行界面下通过输入指令分步骤完成测试,利用批处理文件可以使完整测试一次性完成。
测试流程及结论
利用之前设计的硬软件模块可以完成SoC自动化测试。图2为测试系统框架,
图2 测试系统框架
图3为利用该系统测试得到的一个数模转换器输出信号的时域波形,
图3 合成信号时域波形
图4所示为利用该系统得到的该信号的频谱特性。
图4 合成信号频谱特性
通过相关的GPIB接口总线对设备的控制指令控制频谱仪,可以使频谱的捕捉在4秒钟内完成,整个测试流程在1分钟内完成,有效地节约了测试时间。在多片测试中,测试员启动批处理文件就可以完成快速测试流程。对比传统测试方案,该方案不需要反复更换测试仪器探头及调试测试仪器,只需要更换开关电源及待测芯片即可。