新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于單片機和USB接口的數(shù)據(jù)采集系統(tǒng)設計

        基于單片機和USB接口的數(shù)據(jù)采集系統(tǒng)設計

        作者: 時間:2009-05-06 來源:網(wǎng)絡 收藏

        固件程序?qū)X2配置為異步Slave FIFl0模式,總線寬度8位,在4個端點中,EP4和:EP8未被使用,EP2和EP6的配置如表1所示。由于采用自動輸入/輸出模式,主機和通過旁路FX2的CPU直接連接,所有數(shù)據(jù)被直接通過FIFO管道提交,不需固件程序干預。在FX2的slave FIF0模式下,F(xiàn)IFOADR[1:0]引腳作為地址線選擇某個端點,SLCS相當于片選信號,SLwR(寫)與的wR引腳相連,SLRD(讀)和SLOE(輸出使能)與的RD引腳相連。單片機通過訪問地址為0x00的外部存儲器的方式就可以實現(xiàn)對EP2的訪問,同理可訪問EP6端點。

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

        單片機通過FX2的3個標志引腳(FALGA,F(xiàn)LAGB,F(xiàn)LAGC)來全面掌握FX2的各端點FIFO的狀況。FLAGA定義為輸入端點EP6的滿標志,當輸入數(shù)據(jù)滿時該引腳為低電平;FLAGB被定義為輸出端點EP2的空標志,當主機傳來的數(shù)據(jù)被讀空時該引腳為低電平;FLAGC定義為當EP2端點整個FIF0中的字節(jié)數(shù)大于等于1時為低電平。假設當前主機沒有傳送命令,則FLAGC為高電平,當主機發(fā)送命令后,EP2的字節(jié)數(shù)大于等于1,則FLAGC變?yōu)榈碗娖?。這樣在FALGC引腳上產(chǎn)生了一個下降沿,將此引腳與單片機的INTO引腳相連,則當主機發(fā)送命令后單片機會觸發(fā)INT0中斷,在INTO的中斷處理程序中單片機讀取并執(zhí)行傳來的命令。

        2 軟件
        2.1 驅(qū)動程序
        在EZ― FX2開發(fā)包中,提供有通用的驅(qū)動程序包,對該程序包稍加修改就可生成一個具有下載固件并完成設備重枚舉功能的設備驅(qū)動程序。文獻對驅(qū)動程序的開發(fā)步驟有詳細的記述,這里采用的就是這個通用驅(qū)動程序(GPD)。
        2.2 主機應用程序
        主機應用程序主要實現(xiàn)向設備發(fā)送命令數(shù)據(jù)包,接收設備傳送的數(shù)據(jù)并進行顯示,主機應用程序通過通用驅(qū)動程序來完成對設備的控制和通信。應用程序采用VC6.O編寫,與設備通信時,首先通過調(diào)用win32函數(shù)CreateFile()來取得訪問設備驅(qū)動程序的句柄。該函數(shù)的語句實例如下:


        用戶得到設備句柄后,就可以使用win32函數(shù)DevicelontroI()來向設備提交相應的IOCTL控制碼,進行讀寫和控制操作,完成相應操作后應用程序通過Win32函數(shù)CloseHandle()關閉設備句柄結束1次操作。以下是部分操作的代碼實例:



        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 柳江县| 应城市| 东宁县| 扶余县| 朝阳区| 德昌县| 延吉市| 和政县| 东宁县| 洪江市| 修文县| 贞丰县| 涞源县| 上饶市| 舒城县| 新泰市| 临武县| 济南市| 长宁区| 鄂尔多斯市| 江孜县| 米林县| 竹山县| 新密市| 健康| 万山特区| 荥经县| 秭归县| 霍州市| 大竹县| 太保市| 莱西市| 汶川县| 家居| 从化市| 荔波县| 道真| 山阴县| 金山区| 永康市| 盱眙县|