色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于USB通信的印制電路板AOI視覺檢測系統(tǒng)

          基于USB通信的印制電路板AOI視覺檢測系統(tǒng)

          作者: 時(shí)間:2008-05-06 來源:網(wǎng)絡(luò) 收藏

          引言
          隨著表面組裝技術(shù)(SMT)中所使用的(PCB)導(dǎo)體圖形的細(xì)線化,SMT元器件的微型化,以及SMT組件的高密度組裝和快速組裝的發(fā)展趨勢,采用目檢或人工光學(xué)檢測的形式檢測SMT組裝質(zhì)量已不能適應(yīng)。為此,自動(dòng)光學(xué)檢測()技術(shù)作為SMT組裝質(zhì)量檢測的主要技術(shù)手段,在SMT中應(yīng)用越來越普遍。
          ,也稱為自動(dòng)檢測,是光學(xué)原理,綜合采用圖像分析、計(jì)算機(jī)和自動(dòng)控制等多種技術(shù),對生產(chǎn)中遇到的缺陷進(jìn)行檢測和處理,是較新的確認(rèn)制造缺陷的方法。系統(tǒng)按技術(shù)劃分為精密機(jī)械、電氣控制、系統(tǒng)、軟件系統(tǒng)4大部分組成,其核心是一套CMOS或CCD的圖像采集系統(tǒng)、交流伺服控制x、y工作臺及圖像處理軟件系統(tǒng)。圖1為所設(shè)計(jì)的PCB板AOI框圖。


          圖1PCB板AOI框圖

          硬件設(shè)計(jì)
          AOI系統(tǒng)究其本質(zhì)是一套機(jī)器視覺技術(shù)的表面缺陷檢測系統(tǒng)。如何獲取高質(zhì)量的PCB表面圖像信息成為PCB光學(xué)檢測中首要解決的難題和重點(diǎn),這是PCB表面缺陷檢測的關(guān)鍵。由于PCB缺陷的特殊性,AOI系統(tǒng)對視覺采集系統(tǒng)提出了很高的要求:高分辨率、高速率、實(shí)時(shí)檢測等。

          視覺采集系統(tǒng)
          針對AOI系統(tǒng)要求,選用基于DSP+CPLD的圖像采集處理模式。圖2為視覺采集系統(tǒng)框圖。系統(tǒng)通過DSP給CPLD發(fā)出一個(gè)采集命令,由CPLD控制CMOS圖像傳感器向FIFO的寫入圖像數(shù)據(jù),同時(shí)DSP通過DMA將圖像轉(zhuǎn)移至SDRAM中并進(jìn)行圖像處理,在處理結(jié)束后,將處理的結(jié)果通過DSP內(nèi)置的接口傳給微機(jī)或其他設(shè)備。I/O接口經(jīng)擴(kuò)展后,將控制觸發(fā)信號交由工作臺及電氣控制系統(tǒng),完成系統(tǒng)采集控制的目的。


          圖2視覺采集系統(tǒng)框圖

          接口電路
          本設(shè)計(jì)采用的DSP芯片TMS320VC5509A集成了一個(gè)控制模塊(USB2.0fullspeed),可以完成和USB主機(jī)系統(tǒng)之間的讀寫操作,具有無需外加邏輯電路、使用方便等優(yōu)點(diǎn)。使用TMS320VC5509A的片上USB模塊,完成DSP前端圖像采集系統(tǒng)與后臺PC機(jī)之間的硬件電路設(shè)計(jì),簡化了圖像采集系統(tǒng)的硬件控制軟件和后臺PC機(jī)的驅(qū)動(dòng)程序。


          圖3TMS320VC5509A的USB接口電路

          圖3為DSP片內(nèi)USB模塊與PC機(jī)進(jìn)行數(shù)據(jù)的硬件接口電路。其中左邊3個(gè)引腳PU、DP、DN是TMS320VC5509A的片上引腳,右邊的6個(gè)引腳組成了一個(gè)MiniUSB接口,利用USB連接線就可以完成與PC機(jī)的連接。中間的阻容電路起加強(qiáng)輸入輸出可靠性的作用。

          軟件程序設(shè)計(jì)


          圖4視覺系統(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)完成對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ī)對DSP作為USB設(shè)備配置、枚舉時(shí)的應(yīng)答。而原本在CCS中運(yùn)行的DSP采集主程序也必須改寫成中斷程序,這樣才能完成對DSP固件程序和DSP采集程序的整合,使之整合到一個(gè)main()運(yùn)行程序中,程序運(yùn)行時(shí),啟動(dòng)對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ù)中斷的類型進(jìn)入不同中斷服務(wù)程序。USB協(xié)議的主從模式?jīng)Q定了USB總線上傳輸?shù)陌l(fā)起和終止都是主機(jī)控制的,因此,固件編程中只要滿足了主機(jī)的要求,或者說對主機(jī)的請求給予了及時(shí)的響應(yīng),那么固件的編程也就完成了。
          USB固件應(yīng)用程序主函數(shù)例程:
          voidmain()

          EnableAPLL();
          //使能USB模塊的模擬鎖相環(huán)
          CSL_init();
          //DSP的CSL庫初始化函數(shù)
          INT_DisableGlobal();//關(guān)閉全局中斷
          INT_SetVec(0x03ff00);
          //設(shè)置中斷向量表在RAM中的地址
            PLL_Init(48);//將USB模塊
          的時(shí)鐘調(diào)整到48MHz
            Collect_main();//CMOS圖像
          采集程序
            USBTest_Init();//初始化USB
          模塊,初始化完畢打開全局中斷
          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ì)相對比較簡單,選用DriverStudio開發(fā)工具開發(fā)USB驅(qū)動(dòng)程序,DriverStudio對設(shè)備驅(qū)動(dòng)程序開發(fā)工具DDK中操作進(jìn)行封裝,減少了開發(fā)時(shí)間,提高了效率。通過DriverStudio的工具Driverwizard生成的驅(qū)動(dòng)程序?yàn)殚_發(fā)者提供了一個(gè)基本框架,使用者只需修改較少的或者基本不用代碼就可以實(shí)現(xiàn)相應(yīng)的功能了。
          WindowsXP中的上位機(jī)程序不能直接訪問底層的硬件,需要通過驅(qū)動(dòng)程序進(jìn)行(讀、寫、中斷等)操作。設(shè)備的驅(qū)動(dòng)程序由I/O管理器管理和調(diào)動(dòng)。上位機(jī)程序在用戶模式下通過Win32子系統(tǒng)對Win32API函數(shù)進(jìn)行調(diào)用。Win32API函數(shù)通過I/O管理器向內(nèi)核模式下的驅(qū)動(dòng)程序傳遞IRP。驅(qū)動(dòng)程序通過處理IRP,來完成應(yīng)用程序和硬件程序信息的交互。訪問USB設(shè)備驅(qū)動(dòng)的Win32API函數(shù):
          (1)CreatFile函數(shù)創(chuàng)建或打開文件,并返回一個(gè)可用于訪問文件的句柄。
          (2)DeviceIoControl函數(shù)直接給指定的設(shè)備驅(qū)動(dòng)程序發(fā)送控制代碼,使得相應(yīng)的設(shè)備執(zhí)行指定操作。函數(shù)若成功,返回一個(gè)非0值,否則返回0。
          (3)ReadFile函數(shù)讀由文件指針表示的位置開始處的文件讀數(shù)據(jù),讀操作完成后,文件指針調(diào)整實(shí)際讀的字節(jié)數(shù)。函數(shù)若成功,返回一個(gè)非0值,否則返回0。
          (4)CloseHandle函數(shù)關(guān)閉打開的文件句柄。函數(shù)若成功,返回一個(gè)非0值,否則返回0。

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


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

          參考文獻(xiàn):
          1.賈建祿等,基于以太網(wǎng)的嵌入式視覺傳感器,電子產(chǎn)品世界,2008.3
          2.MotiYanuka,YossiPinhassi,AOIvs.AFIinPCBDefectDetection,Circuitree,July2001
          3.TMS320VC5509DSPUniversalSerialBus(USB)ModuleReferenceGuide,TexasInstrumentsIncorporated
          4.TMS320C55xCSLUSBProgrammer‘sReferenceGuide,TexasInstrumentsIncorporated
          5.武安河、邰銘、于洪濤,Windows2000/XPWDM設(shè)備驅(qū)動(dòng)程序開發(fā),電子工業(yè)出版社,2004



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉