引言
隨著表面組裝技術(SMT)中所使用的印製電路板(PCB)導體圖形的細線化,SMT元器件的微型化,以及SMT組件的高密度組裝和快速組裝的發展趨勢,採用目檢或人工光學檢測的形式檢測SMT組裝質量已不能適應。為此,自動光學檢測(AOI)技術作為SMT組裝質量檢測的主要技術手段,在SMT中應用越來越普遍。
AOI,也稱為自動視覺檢測,是基於光學原理,綜合採用圖像分析、計算機和自動控制等多種技術,對生產中遇到的缺陷進行檢測和處理,是較新的確認製造缺陷的方法。AOI系統按技術劃分為精密機械、電氣控制、視覺系統、軟體系統4大部分組成,其核心是一套基於CMOS或CCD的圖像採集系統、交流伺服控制x、y工作檯及圖像處理軟體系統。圖1為所設計的PCB板AOI檢測系統框圖。
視覺檢測系統硬體設計
AOI系統究其本質是一套基於機器視覺技術的表面缺陷檢測系統。如何獲取高質量的PCB表面圖像信息成為PCB光學檢測中首要解決的難題和重點,這是PCB表面缺陷檢測的關鍵。由於PCB缺陷的特殊性,AOI系統對視覺採集系統提出了很高的要求:高解析度、高速率、實時檢測等。
視覺採集系統
針對AOI系統要求,選用基於DSP+CPLD的圖像採集處理模式。圖2為視覺採集系統框圖。系統通過DSP給CPLD發出一個採集命令,由CPLD控制CMOS圖像傳感器向FIFO的寫入圖像數據,同時DSP通過DMA將圖像轉移至SDRAM中並進行圖像處理,在處理結束後,將處理的結果通過DSP內置的USB接口傳給微機或其他設備。I/O接口經擴展後,將控制觸發信號交由工作檯及電氣控制系統,完成系統採集控制的目的。
圖2視覺採集系統框圖
USB通信接口電路
本設計採用的DSP晶片TMS320VC5509A集成了一個USB控制模塊(USB2.0fullspeed),可以完成和USB主機系統之間的讀寫操作,具有無需外加邏輯電路、使用方便等優點。使用TMS320VC5509A的片上USB模塊,完成DSP前端圖像採集系統與後臺PC機之間的通信硬體電路設計,簡化了圖像採集系統的硬體控制軟體和後臺PC機的驅動程序。
圖3TMS320VC5509A的USB接口電路
軟體程序設計
圖4視覺系統中USB通信數據流
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