<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于C8051F320的數(shù)據(jù)采集系統(tǒng)USB接口設(shè)計(jì)

          基于C8051F320的數(shù)據(jù)采集系統(tǒng)USB接口設(shè)計(jì)

          作者: 時(shí)間:2009-10-16 來源:網(wǎng)絡(luò) 收藏

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

          本文引用地址:http://www.ex-cimer.com/article/202632.htm

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



          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();