大功率LED光学透镜扣帽机飞行视觉系统
2011-07-07苏文友胡跃明
苏文友,陈 安,胡跃明
(华南理工大学 精密电子制造装备教育部工程研究中心,广州 510640)
0 引言
近几年,在科技部、信息产业部等的大力引导下,半导体照明产业人气鼎盛,其中LED封装业由于进入门槛相对较低,吸引了大批资金,取得了可喜成绩,新型LED器件不断涌现,大功率LED器件封装水平接近国际先进水平并可量产。但一个不争的事实是我国LED封装业装备依赖进口,企业规模不够大,封装工艺研究投入不足,工艺水平总体不高。这种状况严重制约了产业的发展[1]。
目前,Luxeon支架式封装作为大功率LED的基本封装形式被广泛采用,这种技术采用表面贴装技术。在Luxeon式封装中,芯片一般通过合金焊料固晶键合在金属热沉上,芯片的阳极和阴极通过金线键合到独立的引线框架上。利用聚碳酸酯(Polycarbonate PC)制成的光学透镜扣在LED框架顶部,在光学透镜和LED框架之间用柔软的硅胶材料进行填充。这里需要解决的关键问题是,由于此处的光学透镜外边缘有注胶孔位和排气孔位,需要将光学透镜精确地扣在LED框架的对应位置上。目前国内大都利用人工或非视觉机械方式完成,效率低,精度不高。本文正是针对此情况进行了光学透镜扣帽机的飞行视觉系统设计,提高生产效率。光学透镜及其安装方式如图1所示。
图1 光学透镜及其安装方式
光学透镜扣帽机的工作原理是吸嘴吸取振动盘送来的光学透镜,然后送到视觉系统对吸取的光学透镜底部扫描成像。由于使用合适的吸嘴保证了吸取的光学透镜纵向倾斜角度α为0,所以只需考虑横向旋转角度β。视觉系统计算出光学透镜横向旋转角度后向执行机构发出旋转指令信号,执行机构最后将光学透镜精确扣在LED框架的对应位置上,完成扣帽工作。
本文针对当前国内LED封装生产设备中对大功率LED光学透镜的自动安装需求,应用高性价比的Blackfin DSP处理器设计了一套嵌入式高速高精度图像处理系统。本系统摒弃了传统的PC视觉系统方案,应用嵌入式技术单机实现了高速图像采集和处理,多任务执行和简易人机交互的操作功能。
1 系统硬件结构设计
系统主要由ADSP-BF533处理器,线阵CCD传感器TCD1209D及相应的驱动IC(如CPLD和CSP),SDRAM,FLASH,键盘串口通信,VGA控制器和DM9000A以太网控制器构成,系统总体硬件结构如图2所示。
图2 系统总体硬件结构框图
1.1 Black fin DSP处理器应用系统
该系统采用了ADI公司Blackfin系列的ADSPBF533作为图像采集和系统控制的主处理器。Blackfin系列处理器采用基于Intel和ADI联合开发的微架构(MSA),一种集成了微控制器(MCU)和DSP功能的高性能器件,兼备一个32位RISC型指令集和双16位乘法累加器,使其集强大的信号处理性能和易用性于一身。BF533处理内核能以最高600MHz的指令执行速率运行,使系统具有1200MMAC的运算能力;还具有并行外设接口PPI,支持ITU-R 656 视频数据格式,易于图像数据的接收。
系统扩展了一片16M×16Bit共32MB的PC133 SDRAM,保证系统的内存使用要求。同时,系统采用8引脚SPI工作方式的FLASH用于程序存储,比一般的NORFLASH体积小,以精简电路设计。此外,系统还扩展了一片NAND FLASH,可实现大容量任务信息记录功能。
1.2 图像采集单元
系统采用了THOSIBA公司的高速线阵CCD传感器TCD1209D,其具有2048个有效像素单元,行扫描频率可到10000Hz。本方案采用ALTERA公司的CPLD产生线阵CCD的驱动时序。同时,采用TI公司高性能的CSP(CCD Signal Processor,CCD信号处理器)芯片VSP1021对CCD信号进行采样。CSP包括三个主要模块:相关双采样(CDS),可编程增益放大器(PGA)和高性能ADC。
相关双采样是根据CCD输出信号和噪声信号的特点而设计,它能消除复位噪声的干扰,可以显著改善信噪比,提高信号检测精度。所采用的CSP提供了一个分辨率为10位、增益范围为0dB-36dB的可编程增益放大器,增益系数可通过串口配置CSP相应寄存器设置。同时,CSP内含一个高速,低功耗的ADC,实现CCD模拟信号采样。
这里CPLD同时完成线阵CCD的驱动时序和CSP的采样时序,最后图像数据通过BF533视频接口接收。
1.2.1 CCD驱动程序设计
采用的线阵CCD需要6路驱动信号才能正常工作,分别是两互为反相的时钟信号CR1和CR2、信号输出时钟信号φ2B与CR2同频、像元复位信号RS、像元钳位信号CP和行转移同步信号SH。各个驱动信号必须严格按照CCD相位时序要求,才能保证CCD的正常工作。CPLD通过计数分频的方式可以方便的得出CCD的驱动信号。为提高信号输出驱动,这些信号事先反相后再经过反相器输出。
同时CSP需要一些驱动信号,主要包括像素时钟信号ADCCLK,相关双采样信号SR、SV,光学暗电平校正信号OBCLP,钳位控制信号CLAMP。这些信号由同一片CPLD提供,按照时序要求和CCD的模拟输入信号的有效信号(2048个像素)的时间段给出CSP的驱动信号,最后直接转换为CCD有效数字信号。
得出的CCD有效数字信号送回CPLD,再由CPLD输出行同步HSYNC,场同步VSYNC,像素时钟PCLK和像素数据D7-D0,最后通过BF533的视频接口PPI接收并以DMA的方式存储在BF533的SDRAM中完成图像采集。CCD和CSP的驱动时序如图3所示。
1.2.2 CCD图像采集参数设置
实际应用中需要根据检测要求调整CCD的行频率,可通过增加光积分时间实现,即增加CCD输出哑像元的个数。
图3 CCD和CSP驱动时序图
系统设置两种方式调整CCD的行频率。一种是内触发方式,通过写入CPLD内部相应寄存器的值以调整光积分时间,调整范围可达1K~10K。另一种是外触发方式,可根据生产线中给出的速度同步信号进行行频率的自动调整,速度同步信号频率不一定适合CCD行频率,此时可对速度同步信号分频以降低行频率,分频比的设置与设置光积分时间同理。
系统通过设置CSP的增益系数可调整CCD的曝光增益。所有参数设置采用模拟SPI的方式,利用DSP的三根IO线,分别用于时钟线SCK、数据线SDA和片选线CE,通过发送地址 + 数据的形式,可分别对CPLD和CSP内部寄存器的值进行设定。当CE为高时,设置CPLD;CE为低时,设置CSP。只用三根IO线即可分别对两片IC进行参数设置,减少了处理器IO资源的利用。
1.3 图像显示与控制
本视觉系统设计了一个简单的人机交互界面,具有VGA输出显示和以太网通信功能,操作人员可以根据外接显示器观察拍摄的图像效果并利用键盘与DSP串口通信进行参数设置,或通过网络连接方式远程监控和设置系统。
构建的VGA控制器结构框图如图4所示,利用成本低的CPLD+SRAM+DAC的方案实现。该控制器具有标准的16bit 8080总线接口,DSP通过异步总线接口EBIU与VGA控制器链接。VGA控制器占用异步总线的一个片选单元,并映射到固定的一段内存区域。DSP把要显示的内容写入这段内存区域,等到要显示内容的时候通过Memory DMA的方式把显示数据发送到VGA控制器,由VGA控制器完成显示器上界面的动态刷新。
系统以DM9000A作为以太网控制器。DM9000A单片集成了10/100M以太网MAC和PHY,带硬件IP/TCP/UDP校验和生成功能,具有较高的集成度和性能。通过网络连接即可对系统进行远程监控和设置。由于其与DSP的链接方式与VGA控制器类似,这里不再详细叙述。
由于采用了Memory DMA的方式发送数据,保证显示器界面更新的同时,也节省了大量的CPU时间。
图4 VGA控制器结构框图
2 软件框架设计及处理算法设计
在嵌入式处理系统中,往往具有多个任务同时运行的情况,使用成熟的嵌入式操作系统管理各个任务有助于提高系统的稳定性和实时性,还可降低开发难度。 由于Black fin处理器不带内存管理单元(MMU),不能运行像Linux之类的大型操作系统,如uC/OS II、uCLinux就比较适合本系统的应用。这里我们采用资源占用较少的uC/OS II系统。
2.1 uC/OS II及uC/TCP-IP在Black fin上的应用
uC/OS II操作系统的移值,一般是根据相应处理器的硬件特性编写os_cpu.h、os_cpu_c.c、os_cpu_a.asm这三个与CPU相关的文件,主要是改写与硬件相关的任务堆栈操作、CPU中断处理、任务切换等关键代码。根据Micrium公司提供的参考移值例程,可以很方便地将uC/OS II操作系统移值到Blackfin BF533处理器中。这里采用较为成熟的2.86版本进行开发,并设置时间片(TICK)为1ms,以满足实时处理要求。
uC/TCP-IP作为专门为嵌入式实时系统设计的TCP/IP协议栈,可与uC/OS II无缝结合,无需进行移植即可使用,大大缩短了开发周期,在8bit/16bit/32bit处理器上都有较高的运行效率,并且与BSD协议兼容,易于移植已有的网络应用程序。
2.2 软件总体架构设计
本视觉系统在软件部分主要由图像采集、图像处理、串口通信、人机界面和以太网控制等五个任务构成,以实现系统的控制和处理工作。各个任务由uC/OS II操作系统统一管理,按照设定的优先级进行任务调度。各任务之间可以并行运行,相互独立。系统总体软件架构如图5所示。
图5 软件总体架构框图
各个任务之间主要应用uC/OS II系统的信号量通信机制进行协调工作,能有效避免多个任务对同一段内存区同时访问,当一个任务请求访问内存区而此内存区被另一个任务占用时,则该任务将自动挂起,空出CPU运算资源以分给其他任务使用。
由于图像采集和图像处理需要频繁访问SDRAM的内存数据,将采集和处理的图像数据分别设置存放在SDRAM上不同的内存BANK中,以减少SDRAM的访问延迟。系统在处理当前帧的同时也开始采集下一帧图像,人机交互界面也会实时显示采集的图像。与此同时,系统也会实时响应以太网和串口数据通信。
2.3 图像处理算法
光学透镜旋转角度识别的图像处理算法步骤:
1)图像分割,由于目标与背景对比度高,故采用全局阈值分割算法即可,如图6(b)所示。
2)边界提取,采用八相邻域边界跟踪算法,如图6(c)所示。
3)对边界信息利用平均值求取中心坐标并得到平均半径。
4)提取距离超过平均半径的边界点,即光学透镜两端圆弧边界,如图6(d)所示。
5)对圆弧边界采用文献[6]方法,为提高精度,利用多组数据求平均的方法得到两圆弧的圆心坐标,如图6(e)所示,其中位于中间十字为边界的中心,长度为平均半径,两端十字为两圆弧圆心位置。
6)根据两圆心坐标计算光学透镜旋转角度。
本算法利用边界特征信息,对内部光照不均、反光等非特征部分无关,稳定性好,且边界数据信息少,速度快。
图6 图像处理结果
3 实验结果
实验时视觉系统对高速运动的LED光学透镜底部进行图像采集。为测试角度测量精度,采用文献[7]提出的边界特征匹配算法与本文算法作了比较,得到部分试验数据如表1所示,其中A代表基于边界特征匹配算法,B代表本文利用圆弧圆心坐标测量角度的识别算法。
由上表可以看出,采用基于边界特征匹配算法对于LED光学透镜的角度测量,测量精度不够高,且不稳定。而本文提出的角度识别算法精度稳定在0.2°以内,已经满足了LED光学透镜扣帽机对于角度测量的精度要求(0.2°),而且在速度和稳定性方面比前者好。
表1 两种算法的比较
4 结束语
本文针对当前国内LED封装生产设备中对LED光学透镜的自动安装需求,应用高性价比的Blackfin DSP处理器设计了一套嵌入式高速高精度图像处理系统。本文通过精简硬件结构和合理的硬件选型以提高系统性能,并应用嵌入式实时操作系统uC/OS II提高系统的实时性并实现多任务处理。现场生产过程表明,本系统性能稳定可靠,而且体积小,成本低,已经满足实际LED封装生产设备对LED光学透镜的自动安装要求,同时也促进了LED自动安装设备的国产化,提高国内LED封装生产行业的自动化水平。
[1] 王垚浩.LED封装必须重视设备和工艺研究[N].中国电子报,2005.
[2] 陈峰.基于Black fin DSP的数字图像处理[M].北京:电子工业出版社,2009.
[3] 任哲.嵌入式实时操作系统uC/OS-II原理及应用[M].北京:北京航空航天大学出版社,2005.
[4] ADSP-BF533 Black fin®Processor Hardware Reference [M].Analog Devices Inc,2009.
[5] 王庆有.图像传感器应用技术[M].北京:电子工业出版社,2003.
[6] 段小武.巧求三点外接圆圆心[J].电脑开发与应用.2002(08).
[7] 黄恢乐,胡跃明,袁鹏等.高速高精度全自动贴片机的元件角度识别算法[J].计算机工程与应用.2005.