• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 關 閉

    新聞中心

    EEPW首頁 > 工控自動化 > 設計應用 > 基于USB通信的印制電路板AOI視覺檢測系統

    基于USB通信的印制電路板AOI視覺檢測系統

    作者: 時間:2008-05-06 來源:網絡 收藏

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


    圖1PCB板AOI框圖

    硬件設計
    AOI系統究其本質是一套機器視覺技術的表面缺陷檢測系統。如何獲取高質量的PCB表面圖像信息成為PCB光學檢測中首要解決的難題和重點,這是PCB表面缺陷檢測的關鍵。由于PCB缺陷的特殊性,AOI系統對視覺采集系統提出了很高的要求:高分辨率、高速率、實時檢測等。

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


    圖2視覺采集系統框圖

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


    圖3TMS320VC5509A的USB接口電路

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

    軟件程序設計


    圖4視覺系統中USB通信數據流

    如圖4所示,本系統中USB通信的軟件程序主要由四部分組成。在設備端:設備端驅動程序,也稱之為固件程序;設備端應用程序,主要完成數據搬運,以及與其他硬件設備的交互工作。在主機端:主機端驅動程序;主機端應用程序。由于USB是分層結構,主機端驅動和設備端驅動完成對USB設備的枚舉和配置;而在主機端應用程序和設備端應用程序之間實現數據的通信。
    本系統中,DSP作為USB傳輸的設備端,同時由于USB是嚴格的主從結構,所有的配置、枚舉及數據傳輸命令都必須由主機下達,所以在設備端的程序設計時,固件程序設計成一個復雜的中斷服務程序,用以主機對DSP作為USB設備配置、枚舉時的應答。而原本在CCS中運行的DSP采集主程序也必須改寫成中斷程序,這樣才能完成對DSP固件程序和DSP采集程序的整合,使之整合到一個main()運行程序中,程序運行時,啟動對DSP的初始化,時鐘配置和USB模塊初始化;當主機發出采集圖像命令時,DSP程序進入采集中斷程序,執行實時采集中斷程序;當主機發出USB模塊配置枚舉命令時,USB中斷服務程序對主機做出回應;當主機發出傳輸圖像命令時,DSP程序進入數據搬運中斷程序。

    DSP端的固件程序
    USB固件程序的結構一般是基于中斷處理的。主程序完成必要的初始化之后就等待USB中斷,接收到USB中斷后依據中斷的類型進入不同中斷服務程序。USB協議的主從模式決定了USB總線上傳輸的發起和終止都是主機控制的,因此,固件編程中只要滿足了主機的要求,或者說對主機的請求給予了及時的響應,那么固件的編程也就完成了。
    USB固件應用程序主函數例程:
    voidmain()

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

    端點0的控制傳輸是USB枚舉的默認傳輸端口,其中斷服務程序是USB固件程序設計的難點和關鍵。

    PC端的驅動程序及上位機應用程序
    PC端的驅動程序及上位機應用程序設計相對比較簡單,選用DriverStudio開發工具開發USB驅動程序,DriverStudio對設備驅動程序開發工具DDK中操作進行封裝,減少了開發時間,提高了效率。通過DriverStudio的工具Driverwizard生成的驅動程序為開發者提供了一個基本框架,使用者只需修改較少的或者基本不用代碼就可以實現相應的功能了。
    WindowsXP中的上位機程序不能直接訪問底層的硬件,需要通過驅動程序進行(讀、寫、中斷等)操作。設備的驅動程序由I/O管理器管理和調動。上位機程序在用戶模式下通過Win32子系統對Win32API函數進行調用。Win32API函數通過I/O管理器向內核模式下的驅動程序傳遞IRP。驅動程序通過處理IRP,來完成應用程序和硬件程序信息的交互。訪問USB設備驅動的Win32API函數:
    (1)CreatFile函數創建或打開文件,并返回一個可用于訪問文件的句柄。
    (2)DeviceIoControl函數直接給指定的設備驅動程序發送控制代碼,使得相應的設備執行指定操作。函數若成功,返回一個非0值,否則返回0。
    (3)ReadFile函數讀由文件指針表示的位置開始處的文件讀數據,讀操作完成后,文件指針調整實際讀的字節數。函數若成功,返回一個非0值,否則返回0。
    (4)CloseHandle函數關閉打開的文件句柄。函數若成功,返回一個非0值,否則返回0。

    實驗與結論
    筆者設計實現了一種AOI視覺檢測系統,包括硬件電路和軟件程序。硬件結構簡單,可以實現通信傳輸的高度集成化,傳輸速率滿足AOI檢測系統的實時性要求。圖5為實驗中采集到的PCB板圖像。


    圖5實驗中采集到的PCB板圖像

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



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 嘉善县| 迁西县| 铜梁县| 格尔木市| 疏勒县| 大石桥市| 五华县| 翁牛特旗| 磐安县| 无锡市| 石棉县| 凤阳县| 灌云县| 江门市| 贺州市| 桐柏县| 深泽县| 铜梁县| 当阳市| 忻州市| 内黄县| 定西市| 虞城县| 神农架林区| 包头市| 即墨市| 汨罗市| 宣化县| 南平市| 民丰县| 建宁县| 仙居县| 平顺县| 徐闻县| 昌江| 嫩江县| 嵩明县| 琼中| 昭苏县| 九龙县| 黄冈市|