PCBA在线烧写和测试系统的开发和应用
2020-08-03石云皓
杨 清,石云皓
(1.科世达(上海)智能设备有限公司,上海 200241;2.国核示范电站有限责任公司,山东 威海 264312)
0 引言
伴随电子科技的进步以及表面贴装技术(surface mounted technology,SMT)的发展,印刷电路板组件(printed circuit board assembly,PCBA)上的电子元器件功能越来越复杂,性能也越来越强大。该趋势主要体现在体积不变或减少的情况下,元器件引脚密度的急剧增加[1-2]。譬如现场可编程门阵列(field programmable gate array,FPGA)芯片,伴随其产品的迭代和发展,内部逻辑单元数量逐渐增多,随之而来的则是外部I/O口数量的上升[3]。用户对电子产品的需求逐年上升,电子产品厂商如何在保证产能的基础上提高产品生产效率、保证产品的良率、对不良品进行拦截以防止流入客户,是PCBA生产商面临的重要问题[10]。同时,随着电子产品的智能化的普及,需要进行固件烧写的产品也在增加。烧写的过程如果过于冗长,可能增加PCBA的不良率并且延长生产时间,从而降低生产效率[4]。
本文旨在开发一套可对PCBA进行在线烧写和测试的设备,其包含硬件和软件两部分。在硬件上,为了保证设备的功能和拓展性,设计了一种可兼容多种PCBA和测量仪表且可快速更换的针床式治具。在软件上,基于模块化开发的前提[5-10],使用C#开发了配套的测试客户端和各类仪表对应的动态链接库文件,以适应多样化的测试需求。相较于传统的PCBA测试设备,系统加入了在线烧写的过程,将烧写和测试集成于一台设备,减少了生产流程,提高了生产效率。该系统选题来源于上海某汽车零部件制造企业,开发完成后成功应用于该企业的多种汽车电子类零部件产品测试。同时,由于在设计之初考虑到了拓展性,该设备可应用于其他多种PCBA的烧写和测试,具有良好的应用范围和前景。
1 研究现状和方法
随着电子科技的发展,电路的复杂程度和集成度越来越高。这对PCBA测试工作带来了巨大的挑战。PCBA生产商和用户都在致力于提升PCBA的检测手段,以保证PCBA的出厂良率、返修效率、问题定位速率等。目前,市场上常见检测手段有人工目测(manual visual inspection,MVI)、在线测试(in-circuit test,ICT)、自动光学检测(automatic optical inspection,AOI),以及自动X射线检测(automatic x-ray inspection,AXI)。常见的PCBA检测手段和特点如表1所示[1-2,6]。考虑到应用范围、成本等因素,本系统采用了ICT测试技术。
2 设计原则
2.1 PCBA常见故障
PCBA作为电子行业的重要部件之一,其故障原因和故障率一直是许多人研究的方向。经过长期的实践累积,PCBA故障主要有以下几个方面原因[5]。
①布局结构不合理,受布线、周围元器件电磁干扰。
②PCBA组件损坏,系统无法正常工作。
③器件自身不稳定,导致设备无法稳定工作。
④虚焊、漏焊、错焊导致电路开路或短路。
PCBA常见的故障类型如图1所示。
图1 PCBA常见的故障类型
根据相关统计可知,PCBA中常见的故障通常是器件故障。故本系统在设计过程中,主要以PCBA上的器件作为主要测试对象。
2.2 测试技术和方法
根据测试对象电气特性不同,可采用的ICT测试技术如下[7-8]。
①电阻:普通电阻,三线法、六线法。
②小电阻:大脉冲电流法、直流恒流源测量法、低频交流电流测量法。
③电容:回路阻抗法、谐振法、振荡法、充放电法、交流电桥法、双谐振电容测量法。
④电感:谐振法、相位差法。
⑤二极管:利用其正向导通反向截止特性,测量正向压降和反向漏电流。
⑥三极管:测试其放大倍数。
⑦互感器:测试器变比和角差。
⑧变压器:测试器源边和副边的直流电阻。
⑨门电路/非时序集成电路:向量测试法,根据数字电路真值表,在输入端输入电平,测量其输出是否符合真值表;非向量测试法,假设数字器件功能正常,测试数字器件与电路板连接故障。
2.3 测试流程规划
在规划测试流程时,除了要保证测试内容覆盖的范围足够广、选择的测试技术有效外,测试原则作为指导流程的基础,其制定直接影响了测试的效率和测试的准确性。通常测试流程按照以下原则规划[5]。
①先看后量:在进行测试之前,人工的目视检查环节不可忽略,通过目视检查,可以发现最基本的问题(如PCBA完整性,明显的漏焊、虚焊,引脚错误等),可以在正式测量开始之前将部分不良件排除在外。
②先外后内:通常情况下,处于外围和次外围的元器件最容易导致PCBA的损坏(电源/隔离/保护/转换/通信等元器件)。优先检测外围元器件,有助于快速定位问题、节约检测时间。
③先易后繁:越简单的元件,其问题往往越容易发现,因此在进行测试时,通常从简单元件入手,逐步测量更加复杂的元件。同时,在测量过程中采用排除法,即“测试一个,通过一个”,对测量结果进行实时记录。
④先静后动:首先在PCBA未上电的情况下对电路板上的元器件进行检测,该检测属于静态检测;完成静态检测后,可对PCBA进行上电,再对其进行检测,这属于动态检测,动态检测偏向于PCBA的功能性能检测,需要对PCBA的内部结构(如集成IC各引脚功能)有一定程度的了解才可以进行。
3 设备开发与应用
3.1 概念与开发模型
系统开发流程如图2所示。
图2 系统开发流程图
系统采用敏捷模型指导开发过程,以需求为开发导向,开发内容随着需求变更而变更。同时,在执行开发时,通过建立并维护需求库、测试流程集、软件模块库实现开发的可迭代性和工作量的最小化,并为用户保留拓展和二次开发的可能。
3.2 系统框架
本系统分为硬件和软件两部分。系统框架图如图3所示。
图3 系统框架图
3.2.1 硬件部分
(1)针床式治具。
针床式治具用于固定被测PCBA,同时,将其测点、I/O点(包含AI、DI、AO、DO等)、烧写点等与其他硬件连接。针床式治具三维示意图如图4所示。
图4 针床式治具三维示意图
主要部件功能如下。
①顶盖把手:放入被测PCBA。
②针床:使用透明亚克力板作为底板,根据PCBA被测点位置确定探针位置,可根据被测件实际情况进行定制和替换,将被测点引至D、E。
③顶盖:使用透明亚克力板以方便观察PCBA可能存在的观测点(如LED灯),根据PCBA实际外形和尺寸,确定固定柱位置和长度,以固定PCBA。
④接插件板:从B引出的测点、I/O点,连接至继电器矩阵卡、测量仪表、电气设备等。接插件可根据被测件实际情况进行定制和替换。
⑤端口板:从B引出的烧写,连接至特殊信号等标准端口(如RJ45/RS-232等),接插件可根据被测件实际情况进行定制和替换。
(2)继电器矩阵卡。
在测试过程中,需保证被测点在需要时处于连通状态,在不需要时及时断开,以保证其不会干扰其他测点。
本系统使用继电器矩阵卡实现上述功能。根据项目应用的实际情况。选择Pickering的50-513A-021、50-635-002以及50-132-002等型号的继电器矩阵卡。其基于PCI总线,具有速度快、稳定性高、耐用性好、二次开发简单等特点。
(3)烧写设备。
烧写设备用于被测件的在线仿真/烧写。本系统采用MicroPE的Cyclone Universal。其可应用于如Kinetis、S32、LPC、S12Z、HCS08等多个8/16/32位架构芯片的仿真/烧写。同时,该设备支持远程控制和多种编程语言的二次开发,具有良好的测试应用场景。用户也可根据自身需求选择其他型号的仿真器。
(4)测量仪表。
测量仪表用于产生测量所需的各种信号,并且接收PCBA的反馈信号。本系统中主要包括:数字式万用表Agilent 34465A,函数信号发生器 Keysight 33511B,示波器Agilent DSO-X2012A,电子负载Chroma 63600等。用户可根据测量内容和需求自行配制。
(5)工控计算机。
工控计算机用于运行操作系统和测试系统的配套客户端软件,同时连接与客户端相关的硬件以实现远程控制等操作,包括继电器矩阵卡、烧写设备、测量仪表等。本系统使用的型号是Advantech IPC-610。
(6)电气设备。
电气设备用于给硬件供电供气,在本系统中供电包括220 V AC电源、可控直流电源Keysight E3644A、直流电源MEAN WELL MDR-60-12等。供气主要用于针床式治具的机械动作,在本系统中包括Bechoff EK110、Bechoff EL1859以及SMC SY3100等。
3.2.2 软件部分
(1)产品固件。
烧写设备将固件烧写入被测PCBA中,产品固件由PCBA生产商提供。
(2)驱动模块。
驱动模块主要用于驱动继电器矩阵卡以及部分治具机械动作,以实现测量过程中所需的通断连接或治具替换。该部分基于C#开发。
(3)算法模块。
算法模块主要用于测量过程中涉及的被测值计算,验收条件判定以及测量结果处理等。该模块的输入需求主要由生产商提供或用户自行定义。
(4)显示模块。
显示模块各子界面功能说明如下。
①向用户提示当前测试步骤执行情况和用户应执行的操作。
②当前测试所花费的时间,为生产现场判定效率或产能等提供参考。
③测试计数:通过计数是统计目前已通过完整测试的产品数量;失败计数是统计目前未通过完整测试的产品数量;计数清零是对当前通过计数和失败计数置零。
④输入密码可进入管理员模式。管理员模式下,可进行一些高级权限的操作,如硬件调试、设置断点、查看后台通信数据等。
⑤控制按钮:控制软件的相应操作。
(5)烧写模块。
该部分用于实现PCBA的仿真/烧写,同时在动态测量前和动态测量时对其进行仿真/烧写,通过C#调用Cyclone的API接口,实现固件的烧写。
(6)数据/日志模块。
数据/日志模块用于保存测试过程中产生的数据和日志等,数据文件以日期和时间或生产商要求(如产品序列号)命名,作为追溯依据。
3.3 应用
该系统研制成功后,已应用于上海某汽车零部件企业电子车间部分PCBA的烧写、标定以及测试,有效降低了产线人工作业量,并且提高了相关PCBA的生产效率和质量。同时,由于在进行概念规划时保留了可供拓展的硬件软件设计,在后期进行较小工作量的硬件和软件更改后,该系统即可成功应用于多条PCBA产线。
4 结论
本文介绍了一种可实现PCBA在线烧写和测试的系统。相较于传统的PCBA测试系统,在概念设计上,该系统采用了敏捷开发模型,以用户需求为导向,通过建立和维护需求集、测试流程以及软件模块的方式实现了对用户需求的快速响应,而该系统在硬件设计上又具有可快速更换以及可拓展的特性。同时,在软件上,通过集成多个模块的方式,涵盖了常规用户的主要需求。
在实际应用中,该系统具有成本低、功能全面,结果准确可靠、效率高且维护和二次开发容易的优点。
面对PCBA集成度越来越高的趋势,采用针床式
治具引出测点的模式执行起来将会越来越困难,这就需要在产品设计之初就要规划后期需求。除此之外,还需要考虑整个产品线中如PCBA生产制造和针床式治具的加工精度等问题。这将是整个PCBA行业需要面临的一项挑战。