PCB制造相关
随着各种电子设备使用的PCB日益精密复杂,光靠人工检测PCB背板故障不仅繁琐且可靠性低,本文介绍的基于PLD的PCB背板自动测试仪可提高工作效率并保证检测可靠性。
随着电子技术的快速发展,被广泛应用于各种电子设备的印刷电路板(PCB)的产量大幅增加,技术人员需要快速确定背板上的短路、断路故障或对超标的电阻进行定位,如果单纯依靠人工检测则非常繁琐,且可靠性低,因此对电路板背板自动测试的需求大大增加。本文提出使用基于EPM7128控制多路选择开关ADG732实现电路板背板自动测试系统的方法,并给出了具体的实现,应用于电路板背板测试后表明,该测试方法快速有效。
系统硬件组成
自动测试仪的系统结构如图1所示,它由微型机、USB总线DIO接口卡、PLD控制块、多路选择开关、测试夹具等几个部分组成。该系统可以快速测试单面、双面和多层电路板背板的开路和短路故障。
微型机没有特殊要求,一般可采用普通计算机。系统接口采用价格便宜的由宏拓测控技术有限公司生产的USB-7802ADIO工控模板,输入输出电压为0~5V,符合USB总线+5V标准。USB-7802A是32路通用数字TTL电平输入/输出板,具有4个8位数字输入口及4个8位数字输出锁存口,共有32路输入及32路输出;提供Win95/98/2000/NT下测试程序和动态链接程序(DLL)。由于是USB总线, USB协议自动分配该板的基地址。
多路选择开关采用ADG732组成。其有32通道模拟多路复用器,双/差分16到1通道多路复用器,TTL/CMOS兼容输入。
译码控制采用PLD器件EPM7128。EPM7128是Altera公司生产的CPLD芯片,其内部有2,500个门可用,128个宏单元,允许对外有68个输入、输出引脚。该CPLD可编程逻辑器件支持在线现场可编程操作,只要用一根专用电缆接到芯片的特定引脚上,无需拆下芯片,不需要编程器及芯片适配器,通过上位机打印口就可对芯片编程。EPM7128利用逻辑信号来控制ADG732选择电路板的被测节点,同时EPM7128通过USB-7802A DIO工控模板向计算机输出被测节点间的通断信号。在EPM7128输入口通过连接一定的电阻,可以实现设置被测电路板背板节点间通断电阻的阀值,如果被测电路板背板两节点间的阻值大于所设定的阀值,则可以判定两节点间为断路。在整个系统中PLD芯片除了起到控制译码作用以外还有对数据进行中转传输的作用。
微机通过测试设备的USB总线DIO卡输出控制信号,EPM7128控制多路选择开关ADG732向底板上的节点施加激励信号,同时控制多路选择开关选择出底板上的一个或多个节点(选择多个节点时可以显著提高测试速度),多个节点的状态信号通过USB接口卡并行读入微机的数据总线。由计算机处理采集到的数据并判断电路板上节点的连通性,于是自动测试仪自“学习”到电路板的电路连接图,诊断模块利用标准电路板的电路连接图同采集到的故障电路板的电路连接图比对,便能够准确判断故障电路板的开路和短路故障位置,并记入故障数据库以备统计分析。
本文应用设计为可以测试4,096个节点的PCB背板,为了便于测试,测试仪的PLD控制电路和多路选择开关部分根据需要可以分布在多块电路板上,由微机选择出多块电路板中的一块电路板。在每块电路板上,能完成对所要测的节点激励信号的发送和状态信号的接收;由一块EPM7128选择出测试孔中的一个测试节点输入+5V激励信号,由一块EPM7128控制ADG732每次选择出3个测试节点作为响应信号,然后并行输入USB数据采集卡的3个输入端口。测试的基本原理如图2所示。
测试时,在多路选择开关部分,由DIO卡的输出端口输出的开关量信号作为控制信号,控制EPM7128选择出电路板中的一块,再由DIO卡的输出端口1输出的开关量信号作为译码信号选择出每块电路板上的节点中的1个节点,在选择出的这个节点上施加+5V的电压激励信号。在多路受控开关部分,由DIO卡的端口3输出的高位数字量信号作为译码信号选择出多块电路板中的1块电路板和在这块电路板上选择出有响应的节点,输入信号为1则代表有激励信号的节点与有响应信号的节点连通, 无响应信号则代表两节点不相连通,由计算机测试软件对采集的信号进行处理,从而建立电路板的电路连接图。
另外,测试夹具的设计很关键。我们选用针床作为被测板与测试平台的夹具,针床一次性投入成本低,测试效率高,但随着产品的变化需要不断制作新的测试针床,后期需要不断投入。通常一个针床只能连接一类电路板,因此针床必须与相应的电路板成套同时使用。
系统软件设计
厂家根据USB7502ADIO工控模板提供了USB7502A.dll动态链接库,是用VC编写的,供VC调用,通过VC++6.0调用USB7502A.dll动态链接库完成测试系统地址扩展译码器译码信号的输出和被测对象的状态信号的采集。而译码控制采用的PLD器件EPM7128需要VHDL语言编程实现其控制。
PCB电路自动测试仪的软件在Windows XP操作系统平台上,采用VC++6.0编程语言进行设计编程,实现窗口、事件和消息的WINDOWS工作方式与USB7502A硬件驱动程序相融合,软件完全按事件驱动顺序来执行程序,而非按“过程化”来执行程序;同时软件本着方便仪器测试使用和提高可靠性的原则设计,改善人机接口界面,便于软件功能扩充和系统维护。按照系统的功能划分,软件系统功能可分为以下几块:
1. 主控模块,利用VC++6.0编程,能提供良好人机接口界面,使熟悉Windows XP操作系统的人员能够迅速掌握和使用;
2. 系统设备自检模块,自检时,由自检板代替被测试电路板,主控程序调用自检模块对测试设备的功能进行自检。全开路测试时,检测全部测试点两两间有无短路故障存在,全短路测试时,检测全部测试点两两间有无开路故障存在;
3. PCB电路连接采集模块,该模块按照一定的数据结构对电路板的电路连接进行提取,注意采取好的算法和数据结构避免多余的连线测试;
4. 电路板诊断模块,把标准PCB电路连接图和待测PCB电路连接图进行比对,准确判断故障位置并把故障情况录入数据文件或故障数据库;
5. 测试诊断结果报告模块,显示、打印或者存储PCB的测试诊断结果。
结语
基于PLD和多路选择开关ADG732的电路板自动测试仪实现了对4,096个节点的电路板背板的故障检测,该系统模型能够很好地提高工作效率,减少测试现场的劳动强度和人为因素引起的记录错误,产生了较好的经济效益。
全部0条评论
快来发表一下你的评论吧 !