分享

高速贴片机线阵CCD图像采集处理系统

 dgfang113 2014-01-14
高速贴片机线阵CCD图像采集处理系统
        

陈 安  胡跃明  杜联平

(华南理工大学精密电子制造装备教育部工程研究中心 自动化学院 华南理工大学 广州 中国)

摘要:本文介绍了以高速线阵CCD和高性能FPGA作为核心构建的高速贴片机图像采集处理系统,它较好的满足了贴片机图像处理系统中数据量大,实时性强的要求。同时,在FPGA中用硬件描述语言实现了图像的预处理算法,相对于软件实现的预处理算法具有极大的速度优势,简化了后续处理软件的工作量,大大提高整个图像处理系统的速度和效率。
关键词: CCD;FPGA;灰度拉伸转换;FIFO
Line Scan CCD Image processing System Applied to SMD Placer
Chen An  Hu Yue Ming  Du Lian Ping
(Engineering  Research  Centre  for  Precision  Electronic  Manufacturing
Equipments  of  Ministry  of  Education,  South  China  University  of
Technology, Guangzhou, China)
Abstract: This image processing system is based on line scan CCD and FPGA , it meets the requirements of large amount of data and hard real time. FPGA is adopted to realize primary image processing, this leads to high efficiency in the following process.
Key Words: CCD; FPGA; Gray Degree Transfer; FIFO
引言:
SMT贴片机是SMT生产线中的关键设备,其生产速度往往成为SMT生产线产能的瓶颈。在贴片机图像处理系统中,为了能提高生产速度,演化出了贴片机的“飞行采图”技术。该技术允许贴装头在拾取了元器件后直接运动到贴装位置进行贴装,而在贴装头高速运动的同时,位于贴装头经过路径上的线阵CCD图像采集处理系统对贴装头拾取的元器件进行图像采集处理和矫正。该技术简化了贴片机图像采集系统的采图方式,减少了贴装头加减速的次数,提高了生产速度。
本文描述的就是在国产贴片机中采用的具有自主知识产权的线阵CCD图像采集处理系统。该系统采用高速线阵CCD和高性能FPGA为核心,构建了具有大数据吞吐,强实时处理特性的贴片机图像采集/处理系统,能够满足贴片机的“飞行采图”技术要求。图1为该系统的结构框图。

1 高速线阵CCD
    为了能够在贴装头高速运动的同时采集图像,该系统采用了Dalsa公司的IL-P1系列高速线阵CCD。该系列线阵CCD最高数据率虽然只有25M,但是由于采用了单双通道同时输出的技术,因此其最高线扫描频率可以达到87kHz。以该扫描频率,在贴片机图像采集处理系统中可以采集到线速度达到3米/秒的元器件而拥有足够的采集精度。
2 图像处理模块
    该处理系统可以实现多种图像预处理,例如:图像增强、灰度变换、去除噪声、灰度拉伸等。为了说明问题且结合实际需要,这里只对图像的灰度拉伸作一详细介绍。由于拍摄对象的灰度值一般都比较集中,要对它们实现准确定位,就需要清晰地分辨出元件的轮廓以及管脚位置。这就要求把窄的灰度范围拉宽,使得元件的轮廓更加清晰。由于不同元件的灰度值有所不同,因此设置了8个不同的灰度值区间,可以通过选择信号,选择合适的拉伸范围。拉伸模型见图2。

为了方便计算并结合现场应用,设置了s0(0~64)、s1(25~89)、s2(50~114)、s3(75~139)、s4(100~164)、s5(125~189)、s6(150~214)、s7(175~239)八个拉伸区间,通过状态机实现不同状态的轮转。假如选择了s0(0~64),将对位于该区间内的灰度值映射到(0~255)的范围内,大大拉伸了灰度范围,使得元件的轮廓更加清晰突出。这些范围可以根据具体需要,灵活设置。下面的程序通过一个状态机实现了八个选择区间的转换。图3是通过set信号转换拉伸区间已经在s0和s1内实现拉伸的效果。从图3可以看出,拉伸后比拉伸前仅有很小的延迟,基本实现了实时处理,可见硬件处理速度之高。

下面是对一个TQFT贴片元件在s5125189)区间上做上述处理的试验结果。从图4可以看出,图像采集部分采集的图像背景和管脚周围存在很多亮点,这对于后续处理和元件管脚的定位都是非常不利的。利用灰度拉伸除去了这些亮点,得到了一幅更加清晰的图像,见图5

在算法速度上,用软件对图4实现同样的操作得到图5,所需时间大约100ms,而由硬件几乎可以做到实时处理。可见,用硬件实现图像处理的速度是软件无法相比的。由于CYCLONE系列FPGA功能非常强大,用户还可以根据需要嵌入Altera公司的软核处理器NiosII,在这个处理器上可以直接运行由C/C++编写的复杂的图像处理程序,也可以在内置IDE编译环境下编译C/C++程序,做后续处理,这将极大提高整个系统的处理速度。
3 图像存储传输模块
该系统使用了两个FIFO模块做为数据缓冲:myfifo1、myfifo2。myfifo1用来做SDRAM的输入缓冲器,myfifo2用来做SDRAM的输出缓冲器。它们可以通过Altera公司免费提供的基本宏功能来实现。为了提高SDRAM的存取速度,将其设置为页猝发读写方式,也就是一次性读出或写入SDRAM一整行数据,对于本卡采用的K4S60832H存储器来说,每次读写512个字节。用QuartusII中的MegaWizard Plug-In Manager工具可以根据需要进行定制,定制完成后生成的FIFO模块如图6所示,直接调用该模块就可以实现FIFO功能。

高速图像采集处理系统由于采集速度快,数据量非常大,要系统在短时间内把数据都传输出去是很困难的,这就要用到数据存储。小规模数据存储可以用SRAM存储,操作简单,实现起来很方便,但价格昂贵,且容量小。由于本系统数据处理量大,而且速度快,综合考虑,采用了三星公司的SDRAM存储器K4S60832H,2M x 8bit x 4Bank。实现对SDRAM的控制,有两种方法:一是使用专用的接口芯片,这种方法容易操作但这种控制器接口固定,访问容量有限。二是基于FPGA的SDRAM控制器,目前FPGA的技术比较成熟,编程方便,设计灵活,便于构造大容量的SDRAM存储器。本系统采用的是第二种方法。为了实现SDRAM的控制,使用了图7所示的状态机,经过仿真,可以满足SDRAM的时序要求。SDRAM控制的复杂之处在于,每次上电之后都要经过图8所示的初始化阶段,分别对应于状态机中的s0~s3。初始化完成后,进入空闲状态,为了保持已经存储的数据,SDRAM必须定时刷新所有存储单元,对于K4S60832H来说,必须每64ms至少刷新所有的4k行一次。刷新完成后,返回到空闲状态s4,如果读或者写信号有效,则进入s6状态激活将要进行读、写的行,也就是确定要读、写的行地址,然后进入s7实施写操作或者s8实施读操作。每一次读写完成后,都要进入s9进行一次预充电,然后返回空闲状态,等待下一次读、写信号的到来,重复上面的循环。

4 USB控制模块
为了快速的将图像处理内容和处理结果传递到贴片机控制系统的其他部分,该系统采用Cypress公司的CY7C68001芯片USB2.0接口。该芯片集成了USB2.0收发器(物理层)、USB2.0串行接口引擎SIE(链路层,实现底层通信协议)。USB的应用协议层由FPGA内部编程实现,CY7C68001芯片采用并行异步存储器接口与FPGA相连,FPGA可以配置USB,主机也可以配置USB。

5 结束语
    该图像处理系统虽然是针对贴片机系统设计的,但它应用广泛,可以用在很多图像采集和处理领域。它以FPGA作为核心控制芯片,实现了初级处理、数据缓冲和图像存储的功能。图像的处理功能不限于灰度拉伸,也可以进一步实现去噪、滤波等功能。随着FPGA性能的不断提高,加上其灵活的可编程性,设计者可以摆脱传统的FPGA+DSP进行图像处理的思路,直接用FPGA来实现,不但可以减小PCB尺寸,也能够降低元件之间相互连线带来的信号失真,增加了系统可靠性和稳定性。


参考文献:
1. 王庆有 编著.CCD应用技术.天津:天津大学出版社,2002.7
2. Rafael C.Gonzalez  Richard E. Woods 著,阮秋琦 阮宇智等译. 数字图像处理(第二版).北京:电子工业出版社,2005.3
3. 王诚 吴继华等 编著.Altera FPGA/CPLD设计.北京:人民邮电出版社,2005.7
4. 陈荣 陈华 编著.VHDL芯片设计.北京:机械工业出版社,2006.1
5. 刘韬 楼兴华 编著.FPGA数字电子系统设计与开发实例导航.北京:人民邮电出版社,2005.6

 【 收藏信息 】  【推荐给朋友】  【我要评论

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多