《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 设计应用 > 视觉自动对准系统的设计
视觉自动对准系统的设计
来源:电子技术应用2011年第8期
胡 胜1, 宋 跃1, 李 君2, 胡必武1, 李 明1
(1. 东莞理工学院 电子工程学院, 广东 东莞 523808;2. 东莞理工学院 计算机学院, 广
摘要: 设计了一种视觉自动对准系统,分析了系统设计时各关键技术环节。基于双核控制,设计了基于FPGA控制CCD图像采集和基于Nios II的多种内核,重点介绍了传动轴的角度量控制模型,设计了基于Nios II的LCD驱动以实现液晶显示、基于ARM的触摸屏输入以实现人机交互以及AT91SAM7S64驱动以实现ARM与PC的数据传输等。实验结果表明,本系统具有应用价值高、速度高、可靠性高、故障少等优点。
中图分类号: TP274
文献标识码: A
文章编号: 0258-7998(2011)08-082-04
Design of vision automatic alignment system
Hu Sheng1, Song Yue1, Li Jun2, Hu Biwu1, Li Ming1
1. College of Electronics Engineering,Dongguan University of Technology, Dongguan 523808, China; 2. College of Computer, Dongguan University of Technology, Dongguan 523808, China
Abstract: A sort of design technique of vision automatic alignment system was given. All kinds of key techniques were analyzed in system design. This system was based on two core control. Data acquisition of CCD image signal based on FPGA and many core based on Nios II were devised. This paper mainly introduced the control model of angular metric of power drive shaft, the design of LCD drive based on Nios II for realizing LCD display, the design of touch screen based on ARM for realizing human-computer interaction, the design of AT91SAM7S64 drive for realizing data transmission of ARM and PC and so on. Experiments showed that this system had advantages of high application value, high rate, high reliability and less accident.
Key words : vision automatic alignment system; touch screen;ARM; Nios II


    IC成型、分离和自动排管作为芯片封装的后工序,可以完成芯片封装后的成型、芯片分离和芯片排列入管。成型、分离和自动排管系统的性能决定了生产IC的速度及产品质量等指标。目前国内大多数芯片封装企业的成型、分离和自动排管系统的功能单一,速度一般在40~60次/min,噪声大、速度慢、精度也不高。本设计采取光机电一体化技术及凸轮带动冲头传料片机构同步冲压机台设计方案,电脑控制CCD图像识别装置通过取像、找参考点、图像分析几个步骤来对产品方向性、引脚数及外型进行检测判断,设备具有噪声低、精度高、可靠性高、速度快等优点,芯片、封装、系统协同优化。
1 系统总体结构
  整个系统由自动上料、导料和收料等几个部分组成。CCD图像识别装置对产品方向性、脚数及外形进行检测判断。控制系统的输入输出接口与被控电机的连接关系如图1所示。CPU通过输出控制可以完成X、Y、Z与A轴的控制[1]。

    如图2所示,视觉定位由光学对准系统工作台、CCD摄像部分、FPGA、ARM及计算机控制系统等部分组成[2]。它对采集到的图片进行滤波、特征提取、色泽分析,从而得到基准点的坐标,使定位精度和贴片效率显著提高,是全自动高速集成电路成型与分离系统的核心部分。它利用CCD检测目标的光强度分布,通过A/D转换模块变成数字图像。计算机将所获得的数字图像与模板图像进行匹配,根据匹配的结果控制光学对准工作台及冲头的运动。在对准过程中,先沿X、Y 轴方向移动光学对准系统工作台,使芯片、基底进入视场范围,沿Z轴方向移动,并对准工作台和冲头直到基底和芯片成像清晰,然后利用匹配算法测量基底、芯片上定位标志的距离, 根据此偏差,控制单元调整主工作台,从而使基底到达目标位置,完成芯片和基底的对准。

 

 


    系统采用了一种数字相机模块,该模块采用130万像素摄像头,该摄像头的传感器是ov9650芯片。摄像头通过SCCB(Serial Camera Control Bus)总线进行控制。SCCB是双向、两线总线,具有总线仲裁机制。选定在FPGA内设计SCCB控制核的方法,实现对ov9650参数的配置。模拟信号采样电路部分由A/D转换器ADC0832构成。FPGA选择Altera公司的CycloneII系列EP2C20型,该芯片的资源非常丰富,可满足本系统设计的需要。利用有限状态机设计了A/D采样控制模块,它的任务就是根据ADC0832的转换时序图,在芯片的引脚发出相应的时序控制信号,使ADC0832完成启动、配置和数据读取等操作。当CS=0,并且在第一个脉冲下降之前DI=1,状态机启动。ARM采用AT91SAM7S64,它是基于ARM7TDMI的高性能、工业级的32位RISC微控制器。
2 图像处理
        
     图像处理使用硬件模板匹配算法,这种算法来源于软件模板匹配算法和硬件中值滤波算法。设计中采用quartus II的LPM库中的移位寄存器。模块选取的是5×5大小,有25个PE(处理单元),每个PE都是一个时钟同步的阈值计算电路。模板处理结构能同时产生25个阈值,再送入加法电路进行模板总阈值大小的计算,计算结果与预先设置的阈值进行比较,如果小于设置的阈值则表示模板匹配成功。硬件图像处理算法结构如图3所示。
3 传动轴的角度量控制模型
    工作台的运动轨迹是通过传动轴的角度量控制的,控制模型如图4所示。系统采用一个闭环神经网络控制模型,驱动电机控制传动轴的运动。通过传动轴的角度检测装置,形成角度P、I、D三个分量,然后送入网络。同时把预设角度曲线的前一个值、当前值和下一个值也送入网络。人工神经网络选用的是径向基函数(RBF)神经网络,它是具有单隐层的三层前馈网络。伺服电机选用安川SGML-01AF12,它能够自动测定机械的必要参数,实现最佳驱动,并且配备了与计算机的接口。驱动选用TT MOTOR公司智能型直流无刷电机驱动芯片GSG3PWM6-S/SN。
4 基于FPGA接口的设计
       FPGA构成框架如图5所示,包括CCD模块、SDRAM模块、SD卡读写器、LCD显示模块等资源。FPGA控制CCD采集图像,把像素阵列放入SDRAM中缓冲,而SDRAM采用双口SDRAM控制方法,这样再从SDRAM中读取数据,实现模板匹配算法[3]。SD卡用于存放图像数据,图片在SD卡中按簇存储,Nios II在读取时根据图片的起始地址和所占簇的数量读出图像数据。用户可通过显示掌握控制信息,系统选用NS-TFT6448液晶控制板模块实现显示,它可实现256色、双页显示,并提供一个高速的8位总线接口,可直接连接CPU。图像数据进行图像处理及位置坐标计算,在图像功能上完成灰阶化处理、边缘检测及二元图像处理。图像边缘检测方面,使用Sobel算法,二元图像处理部分的临界值由Otsu算法来决定。

5 基于ARM的触摸屏设计
  整个系统的运行是一个与用户不断交互的过程,嵌入式触摸屏装置是一种人机交互设备[4,5]。用户通过触摸操作,就可以实现对相应的设备的控制。系统采用专用的控制器件(ADS7483)控制触摸屏。它的主要作用是从触摸点检测装置上接收触摸信息,并把它转化成触点坐标,再发送给CPU,同时接收CPU发来的命令并加以执行。工作流程是:触摸屏完成数据的采集,ADS7483一方面完成对触摸屏的电极间的电压转换,另一方面完成触摸屏接触点的电压值的采集,并实现数据的A/D转换。ARM对ADS7483发送过来的数据进行处理,并完成触摸屏位置坐标的显示。触摸屏扫描任务程序包括设备的初始化、设备读写及中断响应等模块。触摸屏的电路连接如图6所示。

6 软件设计
6.1 触摸屏软件实现

    触摸屏工作流程如图7所示。


    函数ADS7843_init()实现ADS7843的初始化。读函数Uint32 ADS7843_Read(Uint8 Number)读触摸点值并返回Number位测量结果。写函数Void ADS7843_Send(Uint8 command)发送控制字给ADS7843。函数Void Read_Touch(Uint32 *X, Uint32 *Y)功能为读取触摸屏的触摸位置,结果保存在X,Y指针变量中。ADS7843_init( )代码如下:
    Void ADS7843_init(Void)
    {PINSEL0= PINSEL0&OX0FFFFFFF;
                           //设置CS PENIRQ为GPIO口
    PINSEL1= PINSEL1&OXFFFFFF03;    
                        //设置DIN DOUT DCLK为GPIO口
    IO0DIR=IO0DIR|CS|DCLK|DIN; //CS、DCLK、DIN为输出
    … …
    IO0DIR=IO1DIR&(~BUSY);                //BUSY为输入
    }
6.2 基于Nios II的SDRAM驱动和LCD实现
    使用Nios II软核对LCD进行驱动时,片内的存储器资源一般满足不了系统的设计要求,系统使用片外SDRAM作为程序存储器和数据存储器。SDRAM控制器内核为FPGA片外的SDRAM提供一个Avalon_MM接口,SDRAM控制器内核可以与多个SDRAM相连,并处理所有的SDRAM的协议请求。使用Avalon_MM总线访问SDRAM控制器内核时, 可以通过函数IOWR(BASE、REGNUM、DATA)和IORD(BASE、REGNUM)进行读写操作。
    在设计中实现的主要操作有:LCD模块的检测闲忙、初始化、显示字符、显示汉字、打点、画线和画图等,并将这些操作设计成相应的函数。显示汉字流程如下:首先通过公式转换计算,定位对应的点阵信息在字模库的地址;然后从字库中取出该汉字点阵信息,将这些信息送到显示缓冲存储器中;最后显示器的控制器把点阵信息整屏顺次读出,即可将汉字显示出来[6]。
6.3 计算机与ARM通信的实现
    AT91SAM7S64的USB接口与USB2.0全速标准兼容,通信速率12 Mb/s[7]。包含4个端点,端点0是8 B,端点1和端点2是64 B,端点3是64 B。USB接口电路如图8所示。

    在打开USB端口时,可通过一个AT91_USB_Open()函数来实现。
    Void AT91_USB_Open(Void)
    {AT91C_BASE_CKGR->CKGR_PLLR|= AT91C_CKGR_US
        BDIV_1;                    //设置USB锁相环驱动
    AT91C_BASE_PMC->PMC_SCER = AT91C_PMC_UDP;
    …
         AT91_PIO_Cfgoutput(AT91C_BASE_PIOA,AT91C_PIO_
        PA16);                       //设置PIO模式及配置输出
    AT91_PIO_Clearoutput(AT91C_BASE_PIOA,AT91C_PIO_
        PA16);                                    //给上拉电阻清0
    AT91_CDC_Open(&PCDC,AT91C_BASE_UDP);
                       //通过CDC结构初始化CDC设备
    }
    Static uint AT91_UDP_Write(AT91PS_CDC Pcdc,const char *pdata,uint length)函数用于USB端口的数据发送,每一次发送都按照数据包的形式发送。
    Static uint AT91_UDP_Read(AT91PS_CDC Pcdc, char *pdata, uint length)函数用于USB端口的数据读取,在读的过程中,依次把接收到的数据写入缓冲区中。
  Atmel公司为AT91SAM7S64ARM处理器的USB端口提供了动态链接库DDL,同时还提供了一个PC端通用INF驱动配置文件atm6124.inf,可以直接使用它们实现PC端的应用。
6.4 系统程序设计及工作控制界面的实现
    视觉自动对准系统程序整体流程为图9所示。

    系统具有成型、分离和成品自动入管功能,自动化水平和生产效率很高。机台成型与分离速度达到140次/min,相比传统的40次/min~60次/min的产品速度明显提高。马达驱动机械凸轮带动冲头传送料片机构同步成型与分离机台设计,先进的闭环随动驱动和定位技术,定位精度极高,误差小于0.007 mm。CCD图像识别装置辨识产品方向性,脚数、外型检测判断,随着料片的不同,模具可供选择配用,提高了产品的合格和优秀率。配有让门设计,反应快速有效,并配有急刹系统设计,可避免产品及冲模损坏。系统的应用价值较高。
参考文献
[1] 胡必武,余成. 高速集成电路切筋系统设计[J].电子与封装,2009(05):24-27.
[2] 梁锡汉. 自动贴片视觉系统的研究与设计[J].工业控制计算机,2005(05):61-62.
[3] 李立,金华标,陈智君. 基于FPGA和DSP的高分辨率图像采集系统[J] 数据采集与处理,2008(01):117-122.
[4] 史蕊,蔡浩,王振. 基于S3C4480X+uCOSⅡ的触摸屏设计[J].电测与仪表,2007(02):50-53.
[5] 葛化敏,郑静,杨利青. 基于ARM-Linux的LCD显示模块设计[J].仪表技术与传感器,2009(07):75-77.
[6] 黄菊生,周慧,谭季秋.单片机仿真实验仪在汉字LCM开发中的应用[J].湖南工程学院学报,2005(02):41-44.
[7] 叶文良. 基于ARM的嵌入式小型飞行参数测试系统的设计[D].南京:南京航空航天大学,2008.

此内容为AET网站原创,未经授权禁止转载。