《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 視覺自動(dòng)對(duì)準(zhǔn)系統(tǒng)的設(shè)計(jì)
視覺自動(dòng)對(duì)準(zhǔn)系統(tǒng)的設(shè)計(jì)
來源:電子技術(shù)應(yīng)用2011年第8期
胡 勝1, 宋 躍1, 李 君2, 胡必武1, 李 明1
(1. 東莞理工學(xué)院 電子工程學(xué)院, 廣東 東莞 523808;2. 東莞理工學(xué)院 計(jì)算機(jī)學(xué)院, 廣
摘要: 設(shè)計(jì)了一種視覺自動(dòng)對(duì)準(zhǔn)系統(tǒng),分析了系統(tǒng)設(shè)計(jì)時(shí)各關(guān)鍵技術(shù)環(huán)節(jié)?;陔p核控制,設(shè)計(jì)了基于FPGA控制CCD圖像采集和基于Nios II的多種內(nèi)核,重點(diǎn)介紹了傳動(dòng)軸的角度量控制模型,設(shè)計(jì)了基于Nios II的LCD驅(qū)動(dòng)以實(shí)現(xiàn)液晶顯示、基于ARM的觸摸屏輸入以實(shí)現(xiàn)人機(jī)交互以及AT91SAM7S64驅(qū)動(dòng)以實(shí)現(xiàn)ARM與PC的數(shù)據(jù)傳輸?shù)?。?shí)驗(yàn)結(jié)果表明,本系統(tǒng)具有應(yīng)用價(jià)值高、速度高、可靠性高、故障少等優(yōu)點(diǎn)。
中圖分類號(hào): TP274
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 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成型、分離和自動(dòng)排管作為芯片封裝的后工序,可以完成芯片封裝后的成型、芯片分離和芯片排列入管。成型、分離和自動(dòng)排管系統(tǒng)的性能決定了生產(chǎn)IC的速度及產(chǎn)品質(zhì)量等指標(biāo)。目前國內(nèi)大多數(shù)芯片封裝企業(yè)的成型、分離和自動(dòng)排管系統(tǒng)的功能單一,速度一般在40~60次/min,噪聲大、速度慢、精度也不高。本設(shè)計(jì)采取光機(jī)電一體化技術(shù)及凸輪帶動(dòng)沖頭傳料片機(jī)構(gòu)同步?jīng)_壓機(jī)臺(tái)設(shè)計(jì)方案,電腦控制CCD圖像識(shí)別裝置通過取像、找參考點(diǎn)、圖像分析幾個(gè)步驟來對(duì)產(chǎn)品方向性、引腳數(shù)及外型進(jìn)行檢測(cè)判斷,設(shè)備具有噪聲低、精度高、可靠性高、速度快等優(yōu)點(diǎn),芯片、封裝、系統(tǒng)協(xié)同優(yōu)化。
1 系統(tǒng)總體結(jié)構(gòu)
  整個(gè)系統(tǒng)由自動(dòng)上料、導(dǎo)料和收料等幾個(gè)部分組成。CCD圖像識(shí)別裝置對(duì)產(chǎn)品方向性、腳數(shù)及外形進(jìn)行檢測(cè)判斷。控制系統(tǒng)的輸入輸出接口與被控電機(jī)的連接關(guān)系如圖1所示。CPU通過輸出控制可以完成X、Y、Z與A軸的控制[1]。

    如圖2所示,視覺定位由光學(xué)對(duì)準(zhǔn)系統(tǒng)工作臺(tái)、CCD攝像部分、FPGA、ARM及計(jì)算機(jī)控制系統(tǒng)等部分組成[2]。它對(duì)采集到的圖片進(jìn)行濾波、特征提取、色澤分析,從而得到基準(zhǔn)點(diǎn)的坐標(biāo),使定位精度和貼片效率顯著提高,是全自動(dòng)高速集成電路成型與分離系統(tǒng)的核心部分。它利用CCD檢測(cè)目標(biāo)的光強(qiáng)度分布,通過A/D轉(zhuǎn)換模塊變成數(shù)字圖像。計(jì)算機(jī)將所獲得的數(shù)字圖像與模板圖像進(jìn)行匹配,根據(jù)匹配的結(jié)果控制光學(xué)對(duì)準(zhǔn)工作臺(tái)及沖頭的運(yùn)動(dòng)。在對(duì)準(zhǔn)過程中,先沿X、Y 軸方向移動(dòng)光學(xué)對(duì)準(zhǔn)系統(tǒng)工作臺(tái),使芯片、基底進(jìn)入視場(chǎng)范圍,沿Z軸方向移動(dòng),并對(duì)準(zhǔn)工作臺(tái)和沖頭直到基底和芯片成像清晰,然后利用匹配算法測(cè)量基底、芯片上定位標(biāo)志的距離, 根據(jù)此偏差,控制單元調(diào)整主工作臺(tái),從而使基底到達(dá)目標(biāo)位置,完成芯片和基底的對(duì)準(zhǔn)。

 

 


    系統(tǒng)采用了一種數(shù)字相機(jī)模塊,該模塊采用130萬像素?cái)z像頭,該攝像頭的傳感器是ov9650芯片。攝像頭通過SCCB(Serial Camera Control Bus)總線進(jìn)行控制。SCCB是雙向、兩線總線,具有總線仲裁機(jī)制。選定在FPGA內(nèi)設(shè)計(jì)SCCB控制核的方法,實(shí)現(xiàn)對(duì)ov9650參數(shù)的配置。模擬信號(hào)采樣電路部分由A/D轉(zhuǎn)換器ADC0832構(gòu)成。FPGA選擇Altera公司的CycloneII系列EP2C20型,該芯片的資源非常豐富,可滿足本系統(tǒng)設(shè)計(jì)的需要。利用有限狀態(tài)機(jī)設(shè)計(jì)了A/D采樣控制模塊,它的任務(wù)就是根據(jù)ADC0832的轉(zhuǎn)換時(shí)序圖,在芯片的引腳發(fā)出相應(yīng)的時(shí)序控制信號(hào),使ADC0832完成啟動(dòng)、配置和數(shù)據(jù)讀取等操作。當(dāng)CS=0,并且在第一個(gè)脈沖下降之前DI=1,狀態(tài)機(jī)啟動(dòng)。ARM采用AT91SAM7S64,它是基于ARM7TDMI的高性能、工業(yè)級(jí)的32位RISC微控制器。
2 圖像處理
        
     圖像處理使用硬件模板匹配算法,這種算法來源于軟件模板匹配算法和硬件中值濾波算法。設(shè)計(jì)中采用quartus II的LPM庫中的移位寄存器。模塊選取的是5×5大小,有25個(gè)PE(處理單元),每個(gè)PE都是一個(gè)時(shí)鐘同步的閾值計(jì)算電路。模板處理結(jié)構(gòu)能同時(shí)產(chǎn)生25個(gè)閾值,再送入加法電路進(jìn)行模板總閾值大小的計(jì)算,計(jì)算結(jié)果與預(yù)先設(shè)置的閾值進(jìn)行比較,如果小于設(shè)置的閾值則表示模板匹配成功。硬件圖像處理算法結(jié)構(gòu)如圖3所示。
3 傳動(dòng)軸的角度量控制模型
    工作臺(tái)的運(yùn)動(dòng)軌跡是通過傳動(dòng)軸的角度量控制的,控制模型如圖4所示。系統(tǒng)采用一個(gè)閉環(huán)神經(jīng)網(wǎng)絡(luò)控制模型,驅(qū)動(dòng)電機(jī)控制傳動(dòng)軸的運(yùn)動(dòng)。通過傳動(dòng)軸的角度檢測(cè)裝置,形成角度P、I、D三個(gè)分量,然后送入網(wǎng)絡(luò)。同時(shí)把預(yù)設(shè)角度曲線的前一個(gè)值、當(dāng)前值和下一個(gè)值也送入網(wǎng)絡(luò)。人工神經(jīng)網(wǎng)絡(luò)選用的是徑向基函數(shù)(RBF)神經(jīng)網(wǎng)絡(luò),它是具有單隱層的三層前饋網(wǎng)絡(luò)。伺服電機(jī)選用安川SGML-01AF12,它能夠自動(dòng)測(cè)定機(jī)械的必要參數(shù),實(shí)現(xiàn)最佳驅(qū)動(dòng),并且配備了與計(jì)算機(jī)的接口。驅(qū)動(dòng)選用TT MOTOR公司智能型直流無刷電機(jī)驅(qū)動(dòng)芯片GSG3PWM6-S/SN。
4 基于FPGA接口的設(shè)計(jì)
       FPGA構(gòu)成框架如圖5所示,包括CCD模塊、SDRAM模塊、SD卡讀寫器、LCD顯示模塊等資源。FPGA控制CCD采集圖像,把像素陣列放入SDRAM中緩沖,而SDRAM采用雙口SDRAM控制方法,這樣再從SDRAM中讀取數(shù)據(jù),實(shí)現(xiàn)模板匹配算法[3]。SD卡用于存放圖像數(shù)據(jù),圖片在SD卡中按簇存儲(chǔ),Nios II在讀取時(shí)根據(jù)圖片的起始地址和所占簇的數(shù)量讀出圖像數(shù)據(jù)。用戶可通過顯示掌握控制信息,系統(tǒng)選用NS-TFT6448液晶控制板模塊實(shí)現(xiàn)顯示,它可實(shí)現(xiàn)256色、雙頁顯示,并提供一個(gè)高速的8位總線接口,可直接連接CPU。圖像數(shù)據(jù)進(jìn)行圖像處理及位置坐標(biāo)計(jì)算,在圖像功能上完成灰階化處理、邊緣檢測(cè)及二元圖像處理。圖像邊緣檢測(cè)方面,使用Sobel算法,二元圖像處理部分的臨界值由Otsu算法來決定。

5 基于ARM的觸摸屏設(shè)計(jì)
  整個(gè)系統(tǒng)的運(yùn)行是一個(gè)與用戶不斷交互的過程,嵌入式觸摸屏裝置是一種人機(jī)交互設(shè)備[4,5]。用戶通過觸摸操作,就可以實(shí)現(xiàn)對(duì)相應(yīng)的設(shè)備的控制。系統(tǒng)采用專用的控制器件(ADS7483)控制觸摸屏。它的主要作用是從觸摸點(diǎn)檢測(cè)裝置上接收觸摸信息,并把它轉(zhuǎn)化成觸點(diǎn)坐標(biāo),再發(fā)送給CPU,同時(shí)接收CPU發(fā)來的命令并加以執(zhí)行。工作流程是:觸摸屏完成數(shù)據(jù)的采集,ADS7483一方面完成對(duì)觸摸屏的電極間的電壓轉(zhuǎn)換,另一方面完成觸摸屏接觸點(diǎn)的電壓值的采集,并實(shí)現(xiàn)數(shù)據(jù)的A/D轉(zhuǎn)換。ARM對(duì)ADS7483發(fā)送過來的數(shù)據(jù)進(jìn)行處理,并完成觸摸屏位置坐標(biāo)的顯示。觸摸屏掃描任務(wù)程序包括設(shè)備的初始化、設(shè)備讀寫及中斷響應(yīng)等模塊。觸摸屏的電路連接如圖6所示。

6 軟件設(shè)計(jì)
6.1 觸摸屏軟件實(shí)現(xiàn)

    觸摸屏工作流程如圖7所示。


    函數(shù)ADS7843_init()實(shí)現(xiàn)ADS7843的初始化。讀函數(shù)Uint32 ADS7843_Read(Uint8 Number)讀觸摸點(diǎn)值并返回Number位測(cè)量結(jié)果。寫函數(shù)Void ADS7843_Send(Uint8 command)發(fā)送控制字給ADS7843。函數(shù)Void Read_Touch(Uint32 *X, Uint32 *Y)功能為讀取觸摸屏的觸摸位置,結(jié)果保存在X,Y指針變量中。ADS7843_init( )代碼如下:
    Void ADS7843_init(Void)
    {PINSEL0= PINSEL0&OX0FFFFFFF;
                           //設(shè)置CS PENIRQ為GPIO口
    PINSEL1= PINSEL1&OXFFFFFF03;    
                        //設(shè)置DIN DOUT DCLK為GPIO口
    IO0DIR=IO0DIR|CS|DCLK|DIN; //CS、DCLK、DIN為輸出
    … …
    IO0DIR=IO1DIR&(~BUSY);                //BUSY為輸入
    }
6.2 基于Nios II的SDRAM驅(qū)動(dòng)和LCD實(shí)現(xiàn)
    使用Nios II軟核對(duì)LCD進(jìn)行驅(qū)動(dòng)時(shí),片內(nèi)的存儲(chǔ)器資源一般滿足不了系統(tǒng)的設(shè)計(jì)要求,系統(tǒng)使用片外SDRAM作為程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。SDRAM控制器內(nèi)核為FPGA片外的SDRAM提供一個(gè)Avalon_MM接口,SDRAM控制器內(nèi)核可以與多個(gè)SDRAM相連,并處理所有的SDRAM的協(xié)議請(qǐng)求。使用Avalon_MM總線訪問SDRAM控制器內(nèi)核時(shí), 可以通過函數(shù)IOWR(BASE、REGNUM、DATA)和IORD(BASE、REGNUM)進(jìn)行讀寫操作。
    在設(shè)計(jì)中實(shí)現(xiàn)的主要操作有:LCD模塊的檢測(cè)閑忙、初始化、顯示字符、顯示漢字、打點(diǎn)、畫線和畫圖等,并將這些操作設(shè)計(jì)成相應(yīng)的函數(shù)。顯示漢字流程如下:首先通過公式轉(zhuǎn)換計(jì)算,定位對(duì)應(yīng)的點(diǎn)陣信息在字模庫的地址;然后從字庫中取出該漢字點(diǎn)陣信息,將這些信息送到顯示緩沖存儲(chǔ)器中;最后顯示器的控制器把點(diǎn)陣信息整屏順次讀出,即可將漢字顯示出來[6]。
6.3 計(jì)算機(jī)與ARM通信的實(shí)現(xiàn)
    AT91SAM7S64的USB接口與USB2.0全速標(biāo)準(zhǔn)兼容,通信速率12 Mb/s[7]。包含4個(gè)端點(diǎn),端點(diǎn)0是8 B,端點(diǎn)1和端點(diǎn)2是64 B,端點(diǎn)3是64 B。USB接口電路如圖8所示。

    在打開USB端口時(shí),可通過一個(gè)AT91_USB_Open()函數(shù)來實(shí)現(xiàn)。
    Void AT91_USB_Open(Void)
    {AT91C_BASE_CKGR->CKGR_PLLR|= AT91C_CKGR_US
        BDIV_1;                    //設(shè)置USB鎖相環(huán)驅(qū)動(dòng)
    AT91C_BASE_PMC->PMC_SCER = AT91C_PMC_UDP;
    …
         AT91_PIO_Cfgoutput(AT91C_BASE_PIOA,AT91C_PIO_
        PA16);                       //設(shè)置PIO模式及配置輸出
    AT91_PIO_Clearoutput(AT91C_BASE_PIOA,AT91C_PIO_
        PA16);                                    //給上拉電阻清0
    AT91_CDC_Open(&PCDC,AT91C_BASE_UDP);
                       //通過CDC結(jié)構(gòu)初始化CDC設(shè)備
    }
    Static uint AT91_UDP_Write(AT91PS_CDC Pcdc,const char *pdata,uint length)函數(shù)用于USB端口的數(shù)據(jù)發(fā)送,每一次發(fā)送都按照數(shù)據(jù)包的形式發(fā)送。
    Static uint AT91_UDP_Read(AT91PS_CDC Pcdc, char *pdata, uint length)函數(shù)用于USB端口的數(shù)據(jù)讀取,在讀的過程中,依次把接收到的數(shù)據(jù)寫入緩沖區(qū)中。
  Atmel公司為AT91SAM7S64ARM處理器的USB端口提供了動(dòng)態(tài)鏈接庫DDL,同時(shí)還提供了一個(gè)PC端通用INF驅(qū)動(dòng)配置文件atm6124.inf,可以直接使用它們實(shí)現(xiàn)PC端的應(yīng)用。
6.4 系統(tǒng)程序設(shè)計(jì)及工作控制界面的實(shí)現(xiàn)
    視覺自動(dòng)對(duì)準(zhǔn)系統(tǒng)程序整體流程為圖9所示。

    系統(tǒng)具有成型、分離和成品自動(dòng)入管功能,自動(dòng)化水平和生產(chǎn)效率很高。機(jī)臺(tái)成型與分離速度達(dá)到140次/min,相比傳統(tǒng)的40次/min~60次/min的產(chǎn)品速度明顯提高。馬達(dá)驅(qū)動(dòng)機(jī)械凸輪帶動(dòng)沖頭傳送料片機(jī)構(gòu)同步成型與分離機(jī)臺(tái)設(shè)計(jì),先進(jìn)的閉環(huán)隨動(dòng)驅(qū)動(dòng)和定位技術(shù),定位精度極高,誤差小于0.007 mm。CCD圖像識(shí)別裝置辨識(shí)產(chǎn)品方向性,腳數(shù)、外型檢測(cè)判斷,隨著料片的不同,模具可供選擇配用,提高了產(chǎn)品的合格和優(yōu)秀率。配有讓門設(shè)計(jì),反應(yīng)快速有效,并配有急剎系統(tǒng)設(shè)計(jì),可避免產(chǎn)品及沖模損壞。系統(tǒng)的應(yīng)用價(jià)值較高。
參考文獻(xiàn)
[1] 胡必武,余成. 高速集成電路切筋系統(tǒng)設(shè)計(jì)[J].電子與封裝,2009(05):24-27.
[2] 梁錫漢. 自動(dòng)貼片視覺系統(tǒng)的研究與設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2005(05):61-62.
[3] 李立,金華標(biāo),陳智君. 基于FPGA和DSP的高分辨率圖像采集系統(tǒng)[J] 數(shù)據(jù)采集與處理,2008(01):117-122.
[4] 史蕊,蔡浩,王振. 基于S3C4480X+uCOSⅡ的觸摸屏設(shè)計(jì)[J].電測(cè)與儀表,2007(02):50-53.
[5] 葛化敏,鄭靜,楊利青. 基于ARM-Linux的LCD顯示模塊設(shè)計(jì)[J].儀表技術(shù)與傳感器,2009(07):75-77.
[6] 黃菊生,周慧,譚季秋.單片機(jī)仿真實(shí)驗(yàn)儀在漢字LCM開發(fā)中的應(yīng)用[J].湖南工程學(xué)院學(xué)報(bào),2005(02):41-44.
[7] 葉文良. 基于ARM的嵌入式小型飛行參數(shù)測(cè)試系統(tǒng)的設(shè)計(jì)[D].南京:南京航空航天大學(xué),2008.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。