基于机器视觉技术的军用集成电路测试序列号读取装置
2022-05-30邹巧云陈光耀
唐 震,戴 莹,邹巧云,陈光耀,朱 涛
(中国电子科技集团公司第五十八研究所,江苏无锡 214072)
1 引言
身份证是个人独有的、终身不变的唯一身份代码,对于电路来说,序列号就是它独一无二的身份证。序列号由一组规则数字组成,通过追溯这些数字,可获悉这只电路从原材料、生产到检验、运输等过程中的经历。目前,检测单位在军品集成电路(特别是宇航产品)测试过程中,需要提取电路中的序列号来一一对应测试数据,用于追溯每只电路的过程状态。军品集成电路结构多为对称分布,无论正向放置或反向放置均可放入插座,一旦方向错误(放反)就有可能造成集成电路的损坏甚至报废。手动输入测试序列号需要裸眼正确识别并正确输入到测试机中,耗时大于测试时间,严重影响测试机产出效率,且人工裸眼识别核对电路放置方向有判断错误或漏判导致放反的风险。
技术的革新带动了生产的变革。机器视觉识别技术已趋于成熟,将其应用到序列号的识别过程中,已不存在技术瓶颈。机器视觉技术模拟人的视觉功能,从客观事物的图像中提取信息进行处理并加以理解,最终用于实际检测、测量和控制,既能避免因人而异的检测结果,减小误差,又能提高效率和准确度。
基于爱德万V93K 测试平台,本文设计了一款军用集成电路在线检测的序列号自动识别装置。它能够将电路表面的序列号通过机器视觉识别技术识别、记录,并对应到测试机的测试数据中;而且,它可实现在电路测试之前识别电路摆放角度,避免电路在测试机台上放反,导致测试数据错误或电路被烧毁。
2 序列号读取装置设计
本设计基于V93K 测试机,设计序列号读取装置,自动读取序号,并与测试数据一一对应。为适应军用集成电路的特点,该系统针对序列号的识别与读取,需解决如下几个关键技术问题。
(1)通用性问题:系统需要支持不同型号的电路,如不同封装形式、不同打标方式、不同尺寸等。
(2)与测试机数据同步传输问题:序列号信息需要同步存储到测试数据中,保证序列号与测试项数据一一对应。
(3)异常字符处理:字符难免有一些异常的情况,例如油污、破损、划痕及特殊字符干扰等。
为实现序列号的自动读取与应用,将对上述关键问题进行研究。
2.1 序列号读取装置设计
基于V93K 平台军用集成电路测试序列号读取装置设计如图1 所示。此结构包括工业相机、镜头、光源、工控机、电源、显示器和伸缩套筒机械臂等,经过组装安装在一个可移动小车上,通过伸缩套筒机械臂可使工业相机进行上下、左右、前后位置的调节,并通过TCP/IP 或COM 通信协议与V93K 测试系统进行通讯,实现军用集成电路序列号自动读取测试。
图1 V93K 平台军用集成电路测试序列号读取装置
由于军用集成电路小批量、多品种的特点,序列号读取装置需要支持多种封装类型的集成电路表面序列号识别,因此对该装置的技术指标高于单一集成电路序号的识别。该装置主要功能和技术指标如下:
1)系统两种光源可调,可适应不同的电路,可支持的电路封装材料类型包含金属、陶瓷和塑料,可支持的字符类型包括油墨印刷、激光打印;
2)单个电路的识别时间小于700 ms,可支持的电路尺寸为最小3 mm×3 mm,最大50 mm×50 mm;
3)序列号的识别误判率低于0.5%;
4)放置角度不对时,软件界面上以红色报警灯进行提示;
5)序列号信息通过TCP/IP 网络协议传送给测试机,作为测试项参数自动写入测试数据;
6)在线创建模板,以电路型号作为唯一标识记录在系统中;
7)检测开始后,系统调用对应的模板进行角度和序列号的识别;
8)结构在xyz方向上可调,易于拆装和重复定位。
序列号读取装置满足上述指标后,与V93K 测试平台搭配进行工作,可有效减少人工读取的差错,提高工作效率。
2.2 实现视觉识别的上位机软件
实现视觉识别的上位机软件用于识别电路放置方向以及电路表面的序列号字符,包括集成图像采集、字符识别、方向判别、数据传输、模板创建等功能。打开软件后左边窗口会实时显示相机视野中电路的成像情况,利用窗口中电路的位置,再次微调相机的前后左右位置,使电路位于图像中心位置。然后调整相机上下工作距离,一般保持相机与电路的垂直距离为280 mm 为佳。若没有测量条件,也可通过图像的清晰度来判断相机垂直方向的距离是否合适,当图像上显示的电路轮廓以及字符清晰可见即证明调整到位。
序列号测试流程如图2 所示。电路第一次检测时需要建立比对标件模板即创建新的模板,新建模板时将随机样品电路以正确方向放置到测试插座中,插座盖呈打开状态,软件启动后先确认图像中的芯片轮廓和序列号字体是否清晰,同时调节软件界面上的光源亮度进度条,增强芯片轮廓、字符与背景的对比度后用鼠标框出需要识别的区域。系统通过采集电路待识别区域的表面标识,将其存储为一帧图片并可按照使用需要作为模板重新命名,下次可以直接调用。若需要检测的芯片是已经创建过模板的,只需要在软件主界面上输入芯片的型号,点击“输入型号”即可。创建好新的模板或者输入已有模板之后,可以开始检测。
图2 序列号测试流程
V93K 检测时,将待检测样品放置在插座中,插座盖呈打开状态,点击空格键,软件将自动识别出的电路标识状态与标件进行比对以获得方向角度信息,通过视觉技术识别出电路打印数字序列号,方向正确时(电路正放)绿灯亮起,表示当前放置的电路方向正确,序列号已读取,如图3(a)所示;方向错误时(电路反放)红灯亮起,表示放置的电路方向出错,需要重新摆放,如图3(b)所示。(本文研究的装置需进行手动调整,理论上可通过搭配机械手臂实现自动调整。)在完成正确摆放后序列号信息通过网口发送到V93K 通讯接口上,供V93K 测试机读取。
图3 电路放置方向测试
2.3 实现V93K 平台测试系统程序的网口通讯
V93K 测试系统底端权限开放相对灵活,可以通过网口或串口的方式与序列号识别系统进行通讯。另外,在研究与V93K 测试系统的同步传输时调研了国内其他测试平台同步传输的可行性,发现除泰瑞达需用户进行定制UI 开发外,一般国产测试系统厂家均可通过网口或串口方式实现。
序列号识别系统连接局域网,将检测出来的序列号按照TCP/IP 或COM 通信协议发送给V93K 测试系统,作为测试项参数记录在测试机输出的测试数据中。V93K 测试系统无需变化,原程序只需要增加一个testSuit 即可。步骤如下:
1)增加TestMethod,XLH.cpp;
2)确认序列号识别系统IP 地址,若IP 不一致,需要更改XLH.cpp 中对应IP 地址,位置代码如下:remote_addr.sin_addr.s_addr=inet_addr("10.119.82.231");
3) testFlow 中调用XLH.cpp,直接复制接触testSuit,放在接触测试后面,和接触采用相同bin,更改TestMethod 为XLH。
目前识别的最大序列号为9999999999 (10 个9),如果序列号识别系统识别异常,会给V93K 发送-1,测试程序会上报FAIL。程序执行时间1.5 ms,基本不影响原程序测试时间。V93K 测试系统序列号显示如图4所示,测试项XLH_number 值为3181042.0000,该电路的序列号即为3181042。
图4 V93K 测试系统序列号显示
2.4 识别验证
(1)在线创建模板,模板数据储存在系统中,一次创建可重复使用,模板数据包括芯片本身图像数据、序列号的位置信息、当前光照条件信息;
(2)系统可支持网口和串口通讯,将每一次识别的序列号通过通讯接口,保证数据传输同步,序列号作为芯片的测试项保存在测试数据中;
(3)算法中通过对字符区域不规则性进行判断,提前剔除异常或者对异常进行修复,以提高识别的准确度。
视觉算法验证初期对不同封装形式的油墨打印、激光打印标识进行了测试,收集了大量的数据模型。在光照条件调整到位的情况下,识别出每个电路上打印的序列号的准确率可达99.5%以上,电路序列号识别结果如图5 所示,这些电路序列号均能正常识别。
图5 电路序列号识别正常
3 序列号读取测试效果
为了对比使用该自动读取装置配合V93K 平台进行序列号测试与采用人工读取的传统方式进行测试的效果,针对3 种型号,分别用手动改号和自动识别两种方式对1195 个芯片进行2891 次测试统计,结果如表1 所示。时间节省率分别为51.02%、47.90%、43.08%。根据统计,使用该设备之后,序列号自动识别测试效率、识别准确性均得到提高,节约测试机时约47%。
表1 V93K 平台军用集成电路测试序列号读取比对表
以1 台V93K 测试系统为例,所节约的机时用于生产,可增加1100 只电路的月通量,每台机时节约价值按照一年机台工作天数×每天测试时间×电路占用产能比×节约的机时×机时费(平均200 元/h)计算,每台设备每年机时节约价值约为350 天(扣除春节休假)×20 h×40%×47%×200 元/h=263200 元,扣除系统成本约10 万元,每台直接节约经济成本163200 元。除了有形成本(产能、准确度)外还有无形成本,自动识别系统能大大降低人工改号错误、重复返工的几率,提高了产线数据核查流转的效率,其产生的附加值更高。
4 结论
基于V93K 平台军用集成电路测试序列号读取设计实现了电路方向“防呆”,对电路放置位置提出预警,避免人为或机械性操作带来的疏忽,序列号获取的准确度大大提升,避免了人为因素导致对测试结果可信度的追溯,将机器视觉识别技术与测试平台相结合产生的检测系统在行业内尚属首例,将为后续技术革新提供参考。