新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于USB通信的印制電路板AOI視覺檢測系統*

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

        作者:■ 何梓濱 段發階 賈建祿 嚴海領 天津大學精密測試技術和儀器國家重點實驗室(天津 300072) 時間:2008-04-30 來源:電子產品世界 收藏

        DSP端的固件程序

        本文引用地址:http://www.104case.com/article/82037.htm

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

        USB固件應用程序主函數例程:
        void main()
        {
            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端的驅動程序及上位機應用程序設計相對比較簡單,選用Driver Studio開發工具開發USB驅動程序,Driver Studio對設備驅動程序開發工具DDK中操作進行封裝,減少了開發時間,提高了效率。通過Driver Studio的工具Driver wizard生成的驅動程序為開發者提供了一個基本框架,使用者只需修改較少的或者基本不用代碼就可以實現相應的功能了。

          Windows XP中的上位機程序不能直接訪問底層的硬件,需要通過驅動程序進行(讀、寫、中斷等)操作。設備的驅動程序由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。

        實驗與結論

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

        圖5 實驗中采集到的PCB板圖像
          
        參考文獻:

        1.  賈建祿等,基于以太網的嵌入式視覺傳感器,電子產品世界,2008.3
        2.  Moti Yanuka, Yossi Pinhassi, 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設備驅動程序開發,電子工業出版社,2004


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 读书| 南江县| 南投县| 广饶县| 余江县| 梁山县| 石柱| 梨树县| 和政县| 莎车县| 郓城县| 昌乐县| 潜江市| 砀山县| 浮梁县| 唐山市| 尼勒克县| 大姚县| 新田县| 游戏| 凤凰县| 盐池县| 福清市| 德格县| 五河县| 漯河市| 西吉县| 车险| 荥阳市| 潼南县| 乌鲁木齐县| 邢台县| 东宁县| 罗山县| 当阳市| 新化县| 临邑县| 越西县| 城口县| 政和县| 于都县|