當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]針對(duì)印制電路板AOI系統(tǒng),設(shè)計(jì)了視覺(jué)系統(tǒng)硬件電路和軟件程序,完成了對(duì)PCB板圖像的采集。所設(shè)計(jì)系統(tǒng)成功用于印制電路板AOI視覺(jué)檢測(cè)系統(tǒ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,也稱(chēng)為自動(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)程序,也稱(chē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)中斷程序。

DSP端的固件程序
    USB固件程序的結(jié)構(gòu)一般是基于中斷處理的。主程序完成必要的初始化之后就等待USB中斷,接收到USB中斷后依據(jù)中斷的類(lèi)型進(jìn)入不同中斷服務(wù)程序。USB協(xié)議的主從模式?jīng)Q定了USB總線上傳輸?shù)陌l(fā)起和終止都是主機(jī)控制的,因此,固件編程中只要滿足了主機(jī)的要求,或者說(shuō)對(duì)主機(jī)的請(qǐng)求給予了及時(shí)的響應(yīng),那么固件的編程也就完成了。
USB固件應(yīng)用程序主函數(shù)例程:
void main()

    EnableAPLL( );
     //使能USB模塊的模擬鎖相環(huán)
    CSL_init( ); 
    //  DSP的CSL庫(kù)初始化函數(shù)
    INT_DisableGlobal();       //  關(guān)閉全局中斷
    INT_SetVec(0x03ff00);  
 //  設(shè)置中斷向量表在RAM中的地址
  PLL_Init(48);  //  將USB模塊
  的時(shí)鐘調(diào)整到48MHz
  Collect_main(); //  CMOS圖像
   采集程序
  USBTest_Init(); //  初始化USB
  模塊,初始化完畢打開(kāi)全局中斷
    while(1); //  循環(huán)等待狀態(tài)

    端點(diǎn)0的控制傳輸是USB枚舉的默認(rèn)傳輸端口,其中斷服務(wù)程序是USB固件程序設(shè)計(jì)的難點(diǎn)和關(guān)鍵。

PC端的驅(qū)動(dòng)程序及上位機(jī)應(yīng)用程序
    PC端的驅(qū)動(dòng)程序及上位機(jī)應(yīng)用程序設(shè)計(jì)相對(duì)比較簡(jiǎn)單,選用Driver Studio開(kāi)發(fā)工具開(kāi)發(fā)USB驅(qū)動(dòng)程序,Driver Studio對(duì)設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)工具DDK中操作進(jìn)行封裝,減少了開(kāi)發(fā)時(shí)間,提高了效率。通過(guò)Driver Studio的工具Driver wizard生成的驅(qū)動(dòng)程序?yàn)殚_(kāi)發(fā)者提供了一個(gè)基本框架,使用者只需修改較少的或者基本不用代碼就可以實(shí)現(xiàn)相應(yīng)的功能了。
    Windows XP中的上位機(jī)程序不能直接訪問(wèn)底層的硬件,需要通過(guò)驅(qū)動(dòng)程序進(jìn)行(讀、寫(xiě)、中斷等)操作。設(shè)備的驅(qū)動(dòng)程序由I/O管理器管理和調(diào)動(dòng)。上位機(jī)程序在用戶模式下通過(guò)Win32子系統(tǒng)對(duì)Win32API函數(shù)進(jìn)行調(diào)用。Win32API函數(shù)通過(guò)I/O管理器向內(nèi)核模式下的驅(qū)動(dòng)程序傳遞IRP。驅(qū)動(dòng)程序通過(guò)處理IRP,來(lái)完成應(yīng)用程序和硬件程序信息的交互。訪問(wèn)USB設(shè)備驅(qū)動(dòng)的Win32API函數(shù):
(1) CreatFile 函數(shù)創(chuàng)建或打開(kāi)文件,并返回一個(gè)可用于訪問(wèn)文件的句柄。
(2) DeviceIoControl 函數(shù)直接給指定的設(shè)備驅(qū)動(dòng)程序發(fā)送控制代碼,使得相應(yīng)的設(shè)備執(zhí)行指定操作。函數(shù)若成功,返回一個(gè)非0值,否則返回0。
(3) ReadFile 函數(shù)讀由文件指針表示的位置開(kāi)始處的文件讀數(shù)據(jù),讀操作完成后,文件指針調(diào)整實(shí)際讀的字節(jié)數(shù)。函數(shù)若成功,返回一個(gè)非0值,否則返回0。
(4) CloseHandle 函數(shù)關(guān)閉打開(kāi)的文件句柄。函數(shù)若成功,返回一個(gè)非0值,否則返回0。

實(shí)驗(yàn)與結(jié)論
    筆者設(shè)計(jì)實(shí)現(xiàn)了一種印制電路板AOI視覺(jué)檢測(cè)系統(tǒng),包括硬件電路和軟件程序。硬件結(jié)構(gòu)簡(jiǎn)單,可以實(shí)現(xiàn)通信傳輸?shù)母叨燃苫瑐鬏斔俾蕽M足AOI檢測(cè)系統(tǒng)的實(shí)時(shí)性要求。圖5為實(shí)驗(yàn)中采集到的PCB板圖像。


圖5 實(shí)驗(yàn)中采集到的PCB板圖像

參考文獻(xiàn):
1.  賈建祿等,基于以太網(wǎng)的嵌入式視覺(jué)傳感器,電子產(chǎn)品世界,2008.3
2.  Moti Yanuka, Yossi Pinhassi, AOI vs. AFI in PCB Defect Detection, Circuitree, July 2001
3.  TMS320VC5509 DSP Universal Serial Bus (USB) Module Reference Guide, Texas Instruments Incorporated
4.   TMS320C55x CSL USB Programmer‘s Reference Guide, Texas Instruments Incorporated
5.  武安河、邰銘、于洪濤,Windows 2000/XP WDM設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā),電子工業(yè)出版社,2004

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉