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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > USB通信協(xié)議——傳輸類型

          USB通信協(xié)議——傳輸類型

          作者: 時間:2013-10-17 來源:網(wǎng)絡(luò) 收藏
          由于最初在設(shè)計時,即是為了能夠針對具備如傳輸率、響應(yīng)時間以及錯誤幀錯等特性的許多不同的外圍類型來加以考慮的。而其中,4種數(shù)據(jù)傳輸?shù)拿恳粋€能夠掌握不同的需求。在此,根據(jù)不同外圍設(shè)各的類型與應(yīng)用,定義了4種,分別是控制傳輸(control transfer)、中斷傳輸(interrupt transfer)、批量傳輸(bulk transfer)以及等時傳輸(isochronous transfer)。其中,需要特別注意的是低速設(shè)各僅支持控制傳輸與中斷傳輸。

            控制傳輸是傳輸中最重要的,只有正確執(zhí)行完控制傳輸,才能進一步執(zhí)行其他的。這種傳輸是用來提供給介于主機與設(shè)各之間的配置、命令或狀態(tài)的之用的??刂苽鬏斈軌蚴鼓苤鳈C去讀取與此設(shè)各相關(guān)的信號,并去設(shè)置設(shè)備地址,以及選擇配置與其他的設(shè)置等。此外,控制傳輸也能夠送出自定義的要求,以針對任何目的送出與接收數(shù)據(jù)。因此須以雙向傳輸來達到這個要求。當然,所有的設(shè)各必須支持控制傳輸。

            中斷傳輸原本屬于單向傳輸,并且僅從設(shè)各輸人到PC主機,作IN的傳送模式(但在規(guī)范書1.1版中,已改為雙向傳輸,增加了OUT的傳送模式)。這是由于最早在開發(fā)USB外圍設(shè)備時,先以人工接口設(shè)各為設(shè)計考慮,其數(shù)據(jù)只須做輸入IN傳輸,如鼠標或鍵盤等設(shè)備。而由于USB不支持硬件的中斷,所以必須靠PC主機以周期性的方式加以查詢,以便獲知是否有設(shè)各需要傳送數(shù)據(jù)給PC。如果因為錯誤而發(fā)生傳送失敗的話,可以在下一個查詢的期間重新再傳送一次。

            批量傳輸屬于單向或雙向的傳輸。顧名思義,這類型的傳輸用來傳送大量的數(shù)據(jù)。這些大量的數(shù)據(jù)必須準確地加以傳輸,但相對的卻無傳輸速度上的限制(即沒有固定傳輸?shù)乃俾剩?。例如,送出一個文件給打印機,或是從掃描機掃描一張圖片,并傳送至PC主機上。這是由于批量傳輸是針對未使用到USB帶寬來向主機提出要求的。如此,須根據(jù)目前的總線的擁擠狀態(tài)或是可用的帶寬,以所有可使用到的帶寬為基準,不斷地調(diào)整本身的傳輸速率。因此,如果總線上充滿了具各保證帶寬的其他傳輸?shù)脑挘绲葧r傳輸或是中斷傳輸,那么批量傳輸就必須持續(xù)地加以等待。反之,如果整個總線是處于閑置狀態(tài)的話,批量傳輸就可以傳輸?shù)梅浅??。因此,并沒有設(shè)置查詢的時間間隔。

            等時傳輸可以是單向或雙向的傳輸。此種傳輸需要維持一定的傳輸速度,因此相對的就須犧牲些微錯誤的發(fā)生。而它采用了預(yù)先與PC主機協(xié)議好的固定帶寬,以確保發(fā)送端與接收端的速度能相互吻合。換而言之,就算發(fā)生了傳輸上的錯誤,也不會重新傳送。應(yīng)用這類型傳輸?shù)脑O(shè)各有:USB麥克風、喇叭或是CCD等設(shè)備,如此可以確保播放的頻率或是傳輸?shù)挠跋癫粫慌で?。僅有全速與快速設(shè)備是支持等時傳輸?shù)摹?/P>



          關(guān)鍵詞: USB 通信協(xié)議 傳輸類型

          評論


          相關(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); })();