基于USB通信的印制電路板AOI視覺(jué)檢測(cè)系統(tǒng)*
摘要: 針對(duì)印制電路板AOI系統(tǒng),設(shè)計(jì)了視覺(jué)系統(tǒng)硬件電路和軟件程序,完成了對(duì)PCB板圖像的采集。所設(shè)計(jì)系統(tǒng)成功用于印制電路板AOI視覺(jué)檢測(cè)系統(tǒng)中。
關(guān)鍵詞: 自動(dòng)光學(xué)檢測(cè);PCB;USB;WMD驅(qū)動(dòng)程序
引言
隨著表面組裝技術(shù)(SMT)中所使用的印制電路板(PCB)導(dǎo)體圖形的細(xì)線化,SMT元器件的微型化,以及SMT組件的高密度組裝和快速組裝的發(fā)展趨勢(shì),采用目檢或人工光學(xué)檢測(cè)的形式檢測(cè)SMT組裝質(zhì)量已不能適應(yīng)。為此,自動(dòng)光學(xué)檢測(cè)(AOI)技術(shù)作為SMT組裝質(zhì)量檢測(cè)的主要技術(shù)手段,在SMT中應(yīng)用越來(lái)越普遍。
AOI,也稱為自動(dòng)視覺(jué)檢測(cè),是基于光學(xué)原理,綜合采用圖像分析、計(jì)算機(jī)和自動(dòng)控制等多種技術(shù),對(duì)生產(chǎn)中遇到的缺陷進(jìn)行檢測(cè)和處理,是較新的確認(rèn)制造缺陷的方法。AOI系統(tǒng)按技術(shù)劃分為精密機(jī)械、電氣控制、視覺(jué)系統(tǒng)、軟件系統(tǒng)4大部分組成,其核心是一套基于CMOS或CCD的圖像采集系統(tǒng)、交流伺服控制x、y工作臺(tái)及圖像處理軟件系統(tǒng)。圖1為所設(shè)計(jì)的PCB板AOI檢測(cè)系統(tǒng)框圖。
圖1 PCB板AOI檢測(cè)系統(tǒng)框圖
視覺(jué)檢測(cè)系統(tǒng)硬件設(shè)計(jì)
AOI系統(tǒng)究其本質(zhì)是一套基于機(jī)器視覺(jué)技術(shù)的表面缺陷檢測(cè)系統(tǒng)。如何獲取高質(zhì)量的PCB表面圖像信息成為PCB光學(xué)檢測(cè)中首要解決的難題和重點(diǎn),這是PCB表面缺陷檢測(cè)的關(guān)鍵。由于PCB缺陷的特殊性,AOI系統(tǒng)對(duì)視覺(jué)采集系統(tǒng)提出了很高的要求:高分辨率、高速率、實(shí)時(shí)檢測(cè)等。
視覺(jué)采集系統(tǒng)
針對(duì)AOI系統(tǒng)要求,選用基于DSP+CPLD的圖像采集處理模式。圖2為視覺(jué)采集系統(tǒng)框圖。系統(tǒng)通過(guò)DSP給CPLD發(fā)出一個(gè)采集命令,由CPLD控制CMOS圖像傳感器向FIFO的寫(xiě)入圖像數(shù)據(jù),同時(shí)DSP通過(guò)DMA將圖像轉(zhuǎn)移至SDRAM中并進(jìn)行圖像處理,在處理結(jié)束后,將處理的結(jié)果通過(guò)DSP內(nèi)置的USB接口傳給微機(jī)或其他設(shè)備。 I/O接口經(jīng)擴(kuò)展后,將控制觸發(fā)信號(hào)交由工作臺(tái)及電氣控制系統(tǒng),完成系統(tǒng)采集控制的目的。
圖2 視覺(jué)采集系統(tǒng)框圖
USB通信接口電路
本設(shè)計(jì)采用的DSP芯片TMS320VC5509A集成了一個(gè)USB控制模塊(USB2.0 full speed),可以完成和USB主機(jī)系統(tǒng)之間的讀寫(xiě)操作,具有無(wú)需外加邏輯電路、使用方便等優(yōu)點(diǎn)。使用TMS320VC5509A的片上USB模塊,完成DSP前端圖像采集系統(tǒng)與后臺(tái)PC機(jī)之間的通信硬件電路設(shè)計(jì),簡(jiǎn)化了圖像采集系統(tǒng)的硬件控制軟件和后臺(tái)PC機(jī)的驅(qū)動(dòng)程序。
圖3 TMS320VC5509A的USB接口電路
圖3為DSP片內(nèi)USB模塊與PC機(jī)進(jìn)行數(shù)據(jù)通信的硬件接口電路。其中左邊3個(gè)引腳PU、DP、DN是TMS320VC5509A的片上引腳,右邊的6個(gè)引腳組成了一個(gè)Mini USB接口,利用USB連接線就可以完成與PC機(jī)的連接。中間的阻容電路起加強(qiáng)輸入輸出可靠性的作用。
軟件程序設(shè)計(jì)
圖4 視覺(jué)系統(tǒng)中USB通信數(shù)據(jù)流
如圖4所示,本系統(tǒng)中USB通信的軟件程序主要由四部分組成。在設(shè)備端:設(shè)備端驅(qū)動(dòng)程序,也稱之為固件程序;設(shè)備端應(yīng)用程序,主要完成數(shù)據(jù)搬運(yùn),以及與其他硬件設(shè)備的交互工作。在主機(jī)端:主機(jī)端驅(qū)動(dòng)程序;主機(jī)端應(yīng)用程序。由于USB是分層結(jié)構(gòu),主機(jī)端驅(qū)動(dòng)和設(shè)備端驅(qū)動(dòng)完成對(duì)USB設(shè)備的枚舉和配置;而在主機(jī)端應(yīng)用程序和設(shè)備端應(yīng)用程序之間實(shí)現(xiàn)數(shù)據(jù)的通信。
本系統(tǒng)中,DSP作為USB傳輸?shù)脑O(shè)備端,同時(shí)由于USB是嚴(yán)格的主從結(jié)構(gòu),所有的配置、枚舉及數(shù)據(jù)傳輸命令都必須由主機(jī)下達(dá),所以在設(shè)備端的程序設(shè)計(jì)時(shí),固件程序設(shè)計(jì)成一個(gè)復(fù)雜的中斷服務(wù)程序,用以主機(jī)對(duì)DSP作為USB設(shè)備配置、枚舉時(shí)的應(yīng)答。而原本在CCS中運(yùn)行的DSP采集主程序也必須改寫(xiě)成中斷程序,這樣才能完成對(duì)DSP固件程序和DSP采集程序的整合,使之整合到一個(gè)main()運(yùn)行程序中,程序運(yùn)行時(shí),啟動(dòng)對(duì)DSP的初始化,時(shí)鐘配置和USB模塊初始化;當(dāng)主機(jī)發(fā)出采集圖像命令時(shí),DSP程序進(jìn)入采集中斷程序,執(zhí)行實(shí)時(shí)采集中斷程序;當(dāng)主機(jī)發(fā)出USB模塊配置枚舉命令時(shí),USB中斷服務(wù)程序?qū)χ鳈C(jī)做出回應(yīng);當(dāng)主機(jī)發(fā)出傳輸圖像命令時(shí),DSP程序進(jìn)入數(shù)據(jù)搬運(yùn)中斷程序。
評(píng)論