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

          新聞中心

          EEPW首頁 > 網絡與存儲 > 設計應用 > USB2.0 信號分析技巧

          USB2.0 信號分析技巧

          作者:徐偉哲時間:2012-01-09來源:電子產品世界收藏

            有熱插拔的特性,當裝置插入主機時,主機會偵測到,并且軟件會對其作規劃,即插即用。的連接線供應裝置電源,可提供DC +5V的電壓,電流供應約100mA~500mA。USB的連接線共有四條,其中兩條是電源與地線,另兩條是訊號線,分別是D+與D-。一般情況兩條線的訊號是相反的,若其中一條的訊號為High,則另一條的訊號就為Low。如此的差動訊號能提升訊號抗噪聲抗干擾的能力,USB就是利用D+ D-兩條訊號線的差動訊號,來達成高速傳輸的目的。

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

            USB主機端在沒有裝置連接時,D+ D-上會有一個1.5K奧姆的電阻接地,確保這兩條線是在接地狀態??芍С种?27個地址,也就是說,一個USB系統最多支持127個裝置,主機會周期性的探詢每個集線器以便得知裝置的連接狀態。以USB2.0而言,分為低速、全速及高速三個模式。低速傳輸率為 1.5Mb/s ,全速為 12Mb/s,高速為480Mb/s。高速模式時,每個bit的寬度約2.08ns。

            USB包簡介

            包是組成USB傳輸的最小單位。一個Transaction通常由三個包組成,但依傳輸型態而定,一個Transaction可能包含一個、兩個、三個包。

            Token 包 :每個Transaction以Token 包做起始,Token 包定義裝置、Endpoint數量,傳輸的方向。其中SOF (Start Of Frame) Token包含目前的frame數,而且會廣播 (broad­cast) 給所有的full-speed裝置知道。SOF也是唯一一個不指定目標的Token。Token Packet 長度固定為4個Byte。

             包 :包包含處理此動作的數據,一個Transaction中,包最大的資料量為1023個Bytes,高速模式時可達1024個Bytes以上,其中Data0及Data1是兩個基本的數據包,這些數據包都是接續在Address之后,且Data0及Data1采取交互出現方式以達到同步與除錯的效果;另外在USB2.0當中更增加了Data2及MData數據包,用于執行高速的實時傳輸(Isochronous Transfers)。

            Handshake包:除了實時型傳輸(Isochronous)之外,所有的傳輸都保證數據的傳遞正確。Hand­shake包響應資料是否正確的被收到。若執行處理動作中發生錯誤,此處理動作將重新執行。

            包格式

            包是執行所有處理動作的機制。圖2是USB包的基本格式。包緊跟在同步序列(Synchronization sequence,SYNC) 之后,使USB裝置能跟包中的位速率同步。包的類型由一個包 ID來定義。包ID之后是隨著包Type而定義的信息,如Address或Data。最后,每個包以一個CRC (Cyclic Redundancy Check)做結尾。CRC是用來確認數據是否正確的傳輸。每個包始使用EOP (End Of Paekct) 狀態來做辨識。

            同步序列

            圖3是同步序列的波形。同步序列由八個bit組成,數值是二進制的00000001,依照NRZI編碼原理,數據0代表訊號要轉換,所以前七個0之中的每個Bit都會在相對應的Bit時間中轉換,作用就好像提供了一組可用來同步的Clock。

          模擬信號相關文章:什么是模擬信號




          關鍵詞: USB Data 信號分析 201112

          評論


          相關推薦

          技術專區

          關閉
          看屁屁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); })();