關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于USB2.0的紅外數(shù)據(jù)傳輸系統(tǒng)的設(shè)計與實現(xiàn)

基于USB2.0的紅外數(shù)據(jù)傳輸系統(tǒng)的設(shè)計與實現(xiàn)

作者: 時間:2010-03-12 來源:網(wǎng)絡(luò) 收藏

在整個固件程序中,EZ-USB FX2設(shè)備上電或復(fù)位后,首先初始化所有內(nèi)部狀態(tài)變量,隨后調(diào)用任務(wù)初始化函數(shù)TD_Init(),開啟中斷,此時固件程序不斷檢測控制端口0是否收到SETUP包。一旦收到,固件程序就開始調(diào)用用戶函數(shù)TD_Poll(),其中用戶需要完成的功能代碼在TD_Poll()函數(shù)中。調(diào)用完成后,重復(fù)檢測端口O是否收到SETUP包,若有,繼續(xù)執(zhí)行設(shè)備請求,調(diào)用TD_Poll()函數(shù);否則檢測USB核是否有USB掛起信號。若有則調(diào)用用戶函數(shù)TD_Suspend(),其返回值為真時,檢測USB核是否有重新開始事件,沒有時,設(shè)備進(jìn)入掛起狀態(tài),反之,調(diào)用TD_Resume()進(jìn)行下一次循環(huán);當(dāng)。TD_Suspend()函數(shù)返回值為假時,直接轉(zhuǎn)入下次循環(huán)。
此外,固件程序框架中還定義許多中斷處理函數(shù),當(dāng)用到時可在相應(yīng)的位置加入用戶編寫的代碼,這樣既清晰又便于理解,就可在無需改變整個程序的前提下,僅通過改變相應(yīng)的模塊,來實現(xiàn)用戶設(shè)置的功能,本系統(tǒng)采用串口中斷處理函數(shù)實現(xiàn)傳輸數(shù)據(jù)的接收。
3.2 驅(qū)動程序設(shè)計
USB系統(tǒng)驅(qū)動程序采用分層結(jié)構(gòu)模型(WDM),該模型定義分層的驅(qū)動程序,USB設(shè)備驅(qū)動程序不直接與硬件對話,而是通過USB驅(qū)動程序接口將USB請求快速提交到總線驅(qū)動程序進(jìn)而完成硬件操作。從系統(tǒng)的角度來說,在USB設(shè)備插入主機(jī)后,主機(jī)檢測到USB設(shè)備,讀取設(shè)備描述符,然后主機(jī)根據(jù)設(shè)備描述符中提供的廠商ID和產(chǎn)品ID等,啟用相應(yīng)USB設(shè)備驅(qū)動程序,讀取USB設(shè)備中的配置描述符、接口描述符和端點描述符,根據(jù)需要選擇恰當(dāng)?shù)呐渲?、接口和端點,確定傳輸方式。這一過程完成后,PC機(jī)與USB設(shè)備之間就可傳輸數(shù)據(jù)。
3. 3 應(yīng)用程序設(shè)計
應(yīng)用程序是測試系統(tǒng)軟件的核心,其對USB設(shè)備的操作功能為:開啟或關(guān)閉USB設(shè)備,檢測USB設(shè)備,設(shè)置USB數(shù)據(jù)傳輸管道。設(shè)置數(shù)據(jù)端口的初始狀態(tài),通過USB接口回傳數(shù)據(jù)、存儲、顯示并分析數(shù)據(jù)。

4 結(jié)論
本文設(shè)計的具有低功耗、控制簡單、實施方便等特點,系統(tǒng)將.O接口技術(shù)與傳輸技術(shù)結(jié)合,實現(xiàn)了測試儀與PC機(jī)之間的無線數(shù)據(jù)傳輸,達(dá)到了設(shè)計應(yīng)用要求。
為了保證傳輸數(shù)據(jù)的正確性,避免其他光波對傳輸數(shù)據(jù)的干擾,系統(tǒng)殼體安裝濾光片:一方面,消除或減少散射輻射或背景輻射的有害影響:另一方面,分出具有特定波長區(qū)的紅外波長。經(jīng)多次試驗證明,該系統(tǒng)能夠可靠穩(wěn)定傳輸數(shù)據(jù),具有很好的實用性。




上一頁 1 2 3 4 下一頁

評論


相關(guān)推薦

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

關(guān)閉