<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          USB入門總結(jié)——數(shù)據(jù)包闡述

          共 2388字,需瀏覽 5分鐘

           ·

          2021-09-17 16:54

          前言:

              把最近的學(xué)習(xí)usb的筆記結(jié)合一些資料來總結(jié)一下,本文僅代表個人觀點,盡可能保證內(nèi)容準(zhǔn)確性。



          數(shù)據(jù)包闡述:

          步驟一:了解USB上傳的什么東西,以什么格式傳數(shù)據(jù);

              1.各種總線(USB也是一種總線)的數(shù)據(jù)傳輸都是以固定的層次協(xié)議進(jìn)行的;

              2.所謂的層次是表達(dá)一種依附關(guān)系,上層要依賴于底層,上層以底層為基礎(chǔ),上層只需要關(guān)心自己的東西就行了;

              3.要實現(xiàn)兩個機(jī)器(機(jī)器的范圍比較廣,可以是電腦,交換機(jī),單片機(jī))的通信總是要有一個載體才可以,對于機(jī)器當(dāng)然是電平高低為載體;

          具體的說:機(jī)器甲要告訴機(jī)器乙一件事情(比如說一條指令),那么機(jī)器甲可以通過一根線(串行數(shù)據(jù)總線)連到機(jī)器乙的一個IO口上,甲發(fā)送一個個的高低電平,乙固定時間    檢測自己的這個IO口,然后逐個記錄下放到自己的緩沖里,這樣乙就收到甲送的數(shù)據(jù)了。


          這里也打個比方:比如人與人進(jìn)行交流,我們當(dāng)然是通過說話了,物理層就是空氣和傳輸?shù)穆暡ǎ瑪?shù)據(jù)鏈路層就是我們說的每一個字,物理層就是空氣,負(fù)責(zé)把我們說的話轉(zhuǎn)換成聲波傳給對方,數(shù)據(jù)鏈路層負(fù)責(zé)讓對方能正確的聽到每個字,如果聽的不清可以告訴對方重新說一遍。經(jīng)過上述的兩個底層,就可以保證每一位數(shù)據(jù)可以正確的傳到對方那里去。



           

          步驟二:解析數(shù)據(jù)代表了什么,一般來說,數(shù)據(jù)都是以一串?dāng)?shù)為單位,一般稱為一個包,機(jī)器間傳輸都是以一個以包為單位傳出的,就像人們說話都是以一句話為單位輸出一樣。每一個包包含有許多位數(shù)據(jù),這些數(shù)據(jù)又分段表示不同的意義。





          這是一個USB令牌階段的包:(數(shù)據(jù)包 ->數(shù)據(jù)位 ->每段數(shù)據(jù)位的意義)

             1.   Sync是同步數(shù)據(jù)(相當(dāng)于說話時先打個招呼,告訴對方要跟他說話了);

             2.   PID是包標(biāo)示(告訴對方這個包是干什么用的);

             3.   ADDR是對方的地址(叫對方的名字);

             4.   ENDP是用端點幾通訊(----------);

             5.   CRC5是校驗位(判斷這個包是否在傳輸中出錯),EOP是包結(jié)束。

               

           Sync |  PID  | ADDR  |  ENDP |  CRC5  | EOP     


           



                                

          USB 的數(shù)據(jù)包又分為三種,一個是令牌包,一個是數(shù)據(jù)包,另一個是握手包。

              一、每一次的USB通訊事務(wù)處理都是以令牌包開頭,告訴對方要跟誰說話,這句話是干嘛的。

              二、如果要求有數(shù)據(jù)傳輸,則下一步就是數(shù)據(jù)包,

              三、另外如果要求對方要有反饋,則會發(fā)出握手包。

              四、令牌包又簡單的包括OUT,IN,STEP三種類型;

             (1).OUT是用于主機(jī)告訴設(shè)備主機(jī)要向USB設(shè)備發(fā)送數(shù)據(jù),

             (2).IN是用于主機(jī)告訴設(shè)備要上傳數(shù)據(jù),

             (3).而STEUP是用于主機(jī)向USB設(shè)備發(fā)送配置信息,在枚舉過程中會用到。

          ▲另外數(shù)據(jù)包和握手包的具體格式什么的,可以參照詳細(xì)的協(xié)議。

          ▲可以看到在所以的通訊過程中,主機(jī)都是發(fā)起者,不管是主機(jī)發(fā)送數(shù)據(jù)到USB設(shè)備還是USB設(shè)備發(fā)送數(shù)據(jù)到主機(jī),都必須受主機(jī)控制。





          一次事務(wù)的過程:

                  令牌階段—> 數(shù)據(jù)階段—> 握手階段

                                          

              這個過程可以這樣描述,甲和乙對話,甲是老板,乙是職員。第一節(jié)已經(jīng)講過了,乙面試就是枚舉,在這個過程中,甲多段的發(fā)送STEP令牌包給乙,乙收到后如果要反饋數(shù)據(jù),就發(fā)數(shù)據(jù)包給甲,甲正確接收后,跟甲握握手,表示這次對話成功。乙被錄取后,甲會分派任務(wù)(OUT),這時甲對乙說有任務(wù)給你(令牌階段),然后乙就開始聽,甲說你的任務(wù)就是記錄數(shù)據(jù)并且上報(這段話就是數(shù)據(jù)包),乙說好的(握手包)。乙開始正式工作,并且記錄數(shù)據(jù)。過了一段時間,甲開始要求提交數(shù)據(jù)(IN),乙把數(shù)據(jù)報告給甲(數(shù)據(jù)階段),甲說好(握手成功)。這里乙不能主動的去向老板匯報,只能被動的干活。





          記錄
          點點滴滴的筆記
          歡迎關(guān)注,共同學(xué)習(xí)


          小浩筆記

          瀏覽 63
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  秋霞午夜福利 | 国产无码AV毛片 | 欧美日韩黄色一级视频 | 一级肏屄视频 | 黄片成人网站 |