<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于C8051F320的數據采集系統USB接口方案

基于C8051F320的數據采集系統USB接口方案

作者: 時(shí)間:2012-05-23 來(lái)源:網(wǎng)絡(luò ) 收藏

固件分為兩個(gè)部分:前臺主程序和后臺中斷服務(wù)程序(ISR)。在USB固件程序中,最重要的工作就是USB描述符的定義和USB傳輸中斷的處理。USB描述符是USB協(xié)議定義的一套描述設備功能和屬性的固定結構的描述語(yǔ)言。USB2.0中的描述符包括設備描述符、配置描述符、接口描述符、端點(diǎn)描述符等8種標準描述符和其它一些非標準描述符。USB主機通過(guò)USB描述符完成設備類(lèi)型的識別和配置,客戶(hù)端驅動(dòng)程序通過(guò)這些信息來(lái)正確訪(fǎng)問(wèn)設備并與其通信。本文在對的配置中除了端點(diǎn)0外還用到了端點(diǎn)1和端點(diǎn)2,它們的描述符如表1所示。

1.jpg

USB傳輸中斷的處理也是一個(gè)重要的部分。傳輸中斷的處理由ISR和前臺主程序共同完成。這兩部分的數據交換通過(guò)事件標志和數據緩沖區來(lái)實(shí)現[6]。當的USB引擎從主機收到一個(gè)數據包時(shí),就會(huì )產(chǎn)生一個(gè)中斷請求,C8051F320立即響應中斷,通過(guò)讀取USB功能控制器的三個(gè)中斷寄存器CMINT、IN1INT和OUT1INT來(lái)判斷中斷來(lái)源(USB復位中斷、端點(diǎn)0中斷、端點(diǎn)1輸入中斷、端點(diǎn)2輸出中斷),然后根據不同的中斷來(lái)源跳入相應的處理模塊以進(jìn)行不同的中斷處理,并在處理完畢后返回。其中,端點(diǎn)0是每個(gè)USB
設備都必須支持的默認控制傳輸端點(diǎn),主要用于主機對USB設備的配置、狀態(tài)信息的獲取和設備錯誤的糾正等,它的中斷處理模塊由控制輸出和控制輸入兩部分組成。每次傳輸首先由設置事務(wù)開(kāi)始,然后根據設置事務(wù)數據不同的中斷來(lái)源跳入相應的處理模塊以進(jìn)行不同的中斷處理,并在處理完畢后返回。同時(shí)在ISR中,固件將數據包從C8051F320的USB引擎內部緩沖區移到一個(gè)自定義的數據緩沖區,并在隨后請求清零其內部緩沖區,以使其能夠繼續接收新的數據包。然后返回到主循環(huán),檢查自定義緩沖區內是否有新的數據并開(kāi)始其它的任務(wù)。由于這種結構,主循環(huán)只用檢查自定義緩沖區內需要處理的新數據,專(zhuān)注于新數據的處理,而ISR也能夠以最大速度進(jìn)行數據的傳輸。這樣,程序對USB的操作更加簡(jiǎn)單,也便于程序的維護。主程序和端點(diǎn)0的控制傳輸程序流程分別如圖3、圖4所示。端點(diǎn)1和端點(diǎn)2的程序流程與之類(lèi)似。

4數據的接收和顯示

在主機中安裝基于C8051F320USB設備的驅動(dòng)程序(可以在新華龍網(wǎng)站上下載)之后,該設備就會(huì )被默認成該主機的一個(gè)串口,因此在主機的處理中可以將它當作一個(gè)虛擬的串口進(jìn)行處理,讀取其數據就如讀串口數據一樣方便,很快就能夠建立快速通信平臺。主機軟件采用VC++開(kāi)發(fā)的,串行通信部分采用API函數直接進(jìn)行編寫(xiě)。它為應用程序提供了通過(guò)串行接口收發(fā)數據的方法。主機軟件使用API文件函數進(jìn)行串口通信的控制。具體函數以及使用,可以查閱MSDN。將基于C8051F320的電路應用到倉庫視頻監控系統中,其系統結構框圖如圖5所示。

2.jpg

5結束語(yǔ)

本文利用C8051F320速度快、處理能力強、結構簡(jiǎn)單等特點(diǎn),設計了一種基于C8051F320的方案,給出了電路具體的設計方法,并對主機的數據和顯示進(jìn)行了開(kāi)發(fā)。將設計的USB接口應用到倉庫視頻監控系統中,能夠實(shí)現快速、方便的數據傳輸,數據通信能達到上兆的傳輸速率,滿(mǎn)足了實(shí)時(shí)、快速傳遞數據的要求。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>