在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

從系統標準層面梳理USB標準之架構

Q4MP_gh_c472c21 ? 來源:嵌入式客棧 ? 作者:逸珺 ? 2021-09-24 14:16 ? 次閱讀

[導讀] 大家好,我是逸珺。

前面寫了一些SPI/I2C/RS-485之類的文章,有朋友留言希望能分享一些USB方面的梳理總結,今天就從系統標準層面先來梳理一下。看看有沒有朋友喜歡。先從系統層面來梳理。個人學習,習慣于先從整體上摸個大概,然后再對感興趣的細節逐漸深入。

USB是比較復雜的協議棧,如果發現文章中有錯誤,請幫忙指正。

注:本文主要參考USB2.0規范第4章,將標準中個人認為比較重要的一些點盡量條理清晰的總結出來。我感覺很多朋友可能對于閱讀英文標準有點輕度抗拒,所以整理此文這也是一個起因,希望對朋友們有所幫助。

總線拓撲說到總線拓撲,這張圖大家一定都見過:

USB標準上說USB總線拓撲是一種分層星形結構,這張拓撲圖延申出來的一些要點:

所謂星型是針對Hub而言的,一個Hub下面可以掛Hub或者設備,最頂層就是USB主機控制器

USB主機控制器一般都伴隨有一個根集線器Root Hub。

Hub級聯最多5層

總線上理論最大允許連接127個設備。

Hub級聯遵循向下兼容,USB2.0主機或者高速Hub可以連接USB1.1Hub。

一個USB分層星型結構有且僅有一個USB主機控制器

線纜最長不超過5米

這個最大7層星形結構,代表的是一條USB總線,一個USB分層星型結構有且僅有一個USB主機控制器,但并不是說一臺計算機就只有一個USB總線,比如我的計算機內部就是2個USB主控制器+Root Hub,從Windows設備管理器可以看到:

7層拓撲圖中的第2層只畫了一個Hub,并不意味真正的第2層就只能有一個Hub,但這個圖無法顯示出更為詳細的總線連接關系,用USBTrace軟件來看看:

第1條總線有4個端口,第2條總線的根集線器具有18個端口,其中8、9、10為計算機內部的USB設備占用了。我這臺筆記本對外有兩個USB接口,通過分別將U盤插入這兩個端口,再利用USBTrace探測可以推斷出這兩個端口都屬于第2條總線的Port 3以及Port 4:

那么Hub長什么樣呢?比如下面是一個7口的USB Hub示意圖,來源于USB2.0標準:

物理接口電氣概覽USB 通過四線電纜傳輸信號電源。信令發生在每個點對點網段上的兩條線上。

VBUS/GND:供電

D+/D-:USB差分信號線。

具有三種數據速率:

高速模式 high-speed:480 Mb/s,常縮寫為HS模式

全速模式 full-speed:12 Mb/s,常縮寫為FS模式

低速模式 low-speed:1.5 Mb/s,常縮寫為LS模式

至于數據編碼模式,這里先不管它。

機械概覽機械部分主要定義USB采用什么尺寸的接插件,線纜的顏色定義、線號。線纜的抗拉強度等。主要從以下幾個方面去標準化:

主要連接器類型規范,主要分A、B系列。定義了公頭、母頭。

線纜規范。高速/全速電纜由信號雙絞線、VBUS、GND 和整體屏蔽組成。當高速/全速電纜與低速設備一起使用時,電纜必須滿足所有低速設備要求。低速設備可以不使用雙絞線。雙絞線可有效抵抗共模噪聲。

連接器機械尺寸及材料要求。

連接器腳號信號名線芯顏色

1VBUS紅色

2D-白色

3D+綠色

4GND黑色

外殼屏蔽屏蔽層

A/B系列插座規范

A/B系列插頭規范

電纜尺寸材料規范,這里就不羅列了,知道在哪里查就可以了。

電氣、機械和環境合規性標準

接地規范,屏蔽層一定要焊接在插頭的外殼接地點。

插座PCB尺寸規范。所以對于有繪制接插件需要的,可以參考6.9節的尺寸。

Logo位置

線芯顏色規范。

USB Logo尺寸規范。

協議概述USB采用主從通訊模式,是一種輪詢總線。所有數據傳輸都由主機控制器發起。這是USB標準中最難啃的部分,這里先不總結。

健壯設計標準關于協議健壯性,又稱魯棒性,做了這幾個方面的設計:

從信號完整性角度:使用差分驅動器、差分接收器和以及對信號線纜的屏蔽處理。差分收發策略主要在抵抗共模干擾方面效果顯著,而屏蔽層則有兩方面的作用:其一,有效降低USB線通過無線電波對外界干擾;其二、能有效隔斷外界無線干擾對USB信號線、電源線的干擾。

CRC報文校驗。報文中數據如果出錯,可以檢測出來,可以做相應的處置。

熱插拔檢測及對相應硬件設備的系統配置管理。這個設計有助于提升用戶體驗,用戶隨用隨插,而無需關機插拔。

利用對數據丟失或數據損壞超時檢測實現通訊自恢復機制,以增強協議的健壯性。

對流數據的進行流量控制以確保同步以及底層收發硬件緩沖區管理。

數據管道和控制管道分離

配置管理USB支持熱插拔,所謂熱插拔就是,設備插入,系統需要正確識別設備加載驅動程序,斷開后,系統需要從軟件層面識別到設備已經從總線上移除了。這里所謂的系統,有可能是帶操作系統的計算機,也有可能是不帶操作系統的嵌入式設備。

比如下面這個U盤插入移除的過程:

連接檢測所有的USB設備都必須經過集線器上的USB端口連接到總線。從總線拓撲圖可以看出,總線上有一個主控制器,位于金字塔的頂端。上面動圖中也可以看出,即便是計算機內部USB設備也是經由Hub的端口連接到總線的,現在的計算機內部很多設備也會采用USB總線進行互聯,比如內置的藍牙設備。

主機控制器位于頂端,設備是經過集線器的端口連接到總線,那么主控制器怎么知道設備插入呢?這是由于集線器具有用于報告USB設備在其端口之一上的連接或移除的狀態位。主控制器查詢集線器檢索這些狀態位。在設備插入時,主控制器啟用端口并通過設備的控制管道在默認地址對USB設備進行尋址。主機為設備分配一個唯一的USB地址,然后確定新連接的USB設備是集線器還是功能設備。主機使用分配的USB地址和端點編號0為USB設備建立其控制管道的端點。

如果新連接的USB設備是集線器,如果這個新連接的集線器的端口上有USB 設備,則對每個連接的USB設備執行上述識別操作。

如果連接的USB設備是一個功能設備,則連接通知將由適用于該功能的主機軟件處理。如果是基于通用操作系統的計算機系統,則由一般驅動程序處理,如果主機控制器是單片機類嵌入式設備,則由單片機程序負責處理。

斷開檢測同樣移除時,從標準設計角度來看,也需要考慮兩種情況。

如果是設備從集線器移除,集線器會禁用該端口并向主機提供設備移除的指示。然后主機控制器從軟件層面做相應的移除處理。

如果是集線器移除,需要從軟件層面移除該集線器所有端口的USB設備或級聯集線器,當然如果集線器又連集線器,則有點遞歸的意思。

總線枚舉總線枚舉是主控制器識別連接到總線的設備并為該設備分配唯一地址的活動。由于USB允許USB設備隨時連接到USB總線或從USB總線斷開,因此總線枚舉是 USB系統軟件的持續進行的過程。USB總線枚舉還包括移除的檢測和處理。

傳輸模式USB利用單向或雙向管道在USB主機控制器和USB設備之間進行應用數據和功能數據傳輸。管道Pipe是一個底層軟件及硬件邏輯概念,數據就像水一樣從管道中的一側流向另一側,就對應著主機控制器與設備的兩個端點endpoint。endpoint就像管道的兩頭,也是軟件邏輯概念。將主機與設備側的端點邏輯關聯起來,就是所謂的管道了。當然這管道之所以能傳輸數據,是因為主端、設備端兩側相應的代碼配合芯片內部硬件實現的。

數據流經由一側的端點通過邏輯管道傳輸到另一側端點,USB架構包含四種基本類型的數據傳輸:

控制傳輸

批量傳輸

中斷傳輸

同步傳輸

下表是這四類傳輸在不同速度模式下支持的最大包長度,放在這里有一個整體概念:

速度模式低速全速高速

控制傳輸88/16/32/6464

同步傳輸不支持10231024

中斷傳輸0~80~640~1024

批量傳輸不支持8/16/32/64512

控制傳輸控制傳輸,主要用于在設備首次連接時配置設備;并可用于其他設備自定義的傳輸目的,比如控制設備上的其他管道。

USB系統軟件在設備首次連接時使用控制傳輸進行設備配置。其他驅動程序軟件也可以選擇以自定義方式使用控制傳輸。控制傳輸主要使用管道0,數據傳輸是無損的。

每個USB設備都必須有控制端點,支持控制傳輸來進行命令和狀態的傳輸。此外,控制傳輸是雙向傳輸。

批量傳輸批量傳輸Bulk Transfer就像其名字一樣,數據量相對較大,具有突發性。這種突發性可能來源于用戶對USB設備的操作,比如對U盤的讀寫操作就會觸發批量傳輸。批量傳輸這種突發性也就意味著是非周期性的,一般用于沒有實時性要求、數據量比較大設備。比如用于打印機或掃描儀的數據。批量傳輸數據是連續的。通過在硬件中使用錯誤檢測并采用前面所說的錯誤重傳機制,可以在硬件級別確保可靠的數據交換。此外,大量數據占用的帶寬可能會有所不同,具體取決于其他總線活動,這是由主機控制器動態仲裁管理的。

批量傳輸是單向的,使用單向大容量端點來實現。

中斷傳輸一般用于需要實時可靠的傳輸場景。此類數據可隨時由設備傳輸,并以不低于設備指定的速率進行傳輸。中斷數據通常由一個或多個字節的事件通知、字符或坐標組成。比如USB鼠標就是一個采用中斷傳輸的實例。

同步傳輸占用預先約定好的USB帶寬以及傳輸延遲,也稱為流式實時傳輸。所需要的帶寬以及延遲要求,與特定設備的相關數據吞吐率以及端點的緩沖管理有關,比如用于音頻會議USB耳麥,對于音頻的采樣率是有參數要求的。

帶寬分配USB標準定義了如何允許每種傳輸類型訪問總線的規則。帶寬分配主要在從兩個方面進行規定:

帶寬在管道之間分配。當管道建立時,USB會為一些管道分配帶寬。USB底層軟硬件需要提供數據緩沖,帶寬需求大的場景需要提供更大的緩沖區。

帶寬可以在許多不同的數據流之間分配。從而能實現將各種設備連接到USB總線。此外,可以同時支持具有寬動態范圍的不同設備比特率需求。所謂寬動態范圍是指其帶寬需求是隨著使用場景在動態變化的。

好了,先總結這么多,繼續慢慢啃~。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    112

    文章

    16413

    瀏覽量

    178746
  • usb
    usb
    +關注

    關注

    60

    文章

    7963

    瀏覽量

    265249
  • 信號
    +關注

    關注

    11

    文章

    2797

    瀏覽量

    76938

原文標題:USB標準之架構最強梳理!

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    AWG與其他標準電纜的比較

    ,如國際電工委員會(IEC)標準和英國標準(BS)。 AWG標準概述 AWG標準定義了0000(最大直徑)到40(最小直徑)的電線尺寸。A
    的頭像 發表于 01-13 18:07 ?239次閱讀

    揚杰科技USB PD快速充電標準的ESD EOS保護方案

    USB PD快速充電標準的ESD EOS保護方案 Universal Serial Bus,通常稱為USB,是一種定義計算機和外圍設備之間的通信、電源和連接器的行業標準。常見的
    的頭像 發表于 01-05 10:05 ?710次閱讀
    揚杰科技<b class='flag-5'>USB</b> PD快速充電<b class='flag-5'>標準</b>的ESD EOS保護方案

    是德科技亮相第三屆車載網絡和通信架構技術及標準研討會

    近日,由中國汽車技術研究中心有限公司中國汽車標準化研究院主辦,是德科技協辦的“2024第三屆車載網絡和通信架構技術及標準研討會”在武漢圓滿進行。該會議以“標準助力車載通信協同發展”為主
    的頭像 發表于 11-07 15:38 ?356次閱讀

    物聯網設備的標準與規范

    物聯網(IoT)正在改變我們的生活方式,智能家居到工業自動化,再到智慧城市,物聯網設備正在滲透到我們生活的方方面面。隨著物聯網設備的普及,制定一套統一的標準和規范變得尤為重要,以確保這些設備
    的頭像 發表于 10-29 11:34 ?738次閱讀

    淺談虛擬電廠標準化現狀與需求分析

    摘要: 虛擬電廠是新型電力系統建設的典型實踐。針對當前虛擬電廠適用技術標準較少、標準體系建設滯后的問題,對虛擬電廠相關標準進行收集、梳理
    的頭像 發表于 10-16 15:35 ?501次閱讀
    淺談虛擬電廠<b class='flag-5'>標準</b>化現狀與需求分析

    使用符合USB 2.0標準的低發射480Mbps隔離器保護您的設計

    電子發燒友網站提供《使用符合USB 2.0標準的低發射480Mbps隔離器保護您的設計.pdf》資料免費下載
    發表于 09-23 11:09 ?0次下載
    使用符合<b class='flag-5'>USB</b> 2.0<b class='flag-5'>標準</b>的低發射480Mbps隔離器保護您的設計

    USB 3.1和USB 3.2有哪些區別

    USB由于標準眾多,即便是之前已經確定的,隨著新一代的推出,標準又出現了新的變化。本期我們將單獨拿出USB 3.1和USB 3.2,它們外觀
    的頭像 發表于 09-09 14:59 ?2113次閱讀
    <b class='flag-5'>USB</b> 3.1和<b class='flag-5'>USB</b> 3.2有哪些區別

    電力系統無功自動投切標準

    在電力系統中,無功自動投切通常涉及使用自動化設備和控制系統來根據系統運行狀況和需求自動操作電容器或其他無功補償設備。以下是一些關于電力系統無功自動投切的常見
    的頭像 發表于 06-20 14:22 ?523次閱讀
    電力<b class='flag-5'>系統</b>無功自動投切<b class='flag-5'>標準</b>

    技術分享 | AEC-Q007中組件焊點開裂原因分析及相關車規標準介紹

    本文系統梳理了焊點開裂典型失效模式、失效機理,并整理了AEC-Q007及業內日系、德系等主機廠對應檢驗標準
    的頭像 發表于 06-11 16:06 ?4094次閱讀
    技術分享 | AEC-Q007中組件焊點開裂原因分析及相關車規<b class='flag-5'>標準</b>介紹

    芯盾時代參與的國家標準《網絡安全技術 零信任參考體系架構》發布

    近日,國家市場監督管理總局、國家標準化管理委員會發布中華人民共和國國家標準公告(2024年第6號),芯盾時代參與編寫的國家標準GB/T 43696-2024《網絡安全技術 零信任參考體系架構
    的頭像 發表于 05-16 14:21 ?1038次閱讀
    芯盾時代參與的國家<b class='flag-5'>標準</b>《網絡安全技術 零信任參考體系<b class='flag-5'>架構</b>》發布

    芯盾時代深度參編的行業標準《總體架構》即將施行

    近日,工信部發布公告,芯盾時代深度參與編寫的行業標準:YD/T 4598.1-2024《面向云計算的零信任體系 第1部分:總體架構》(以下簡稱《總體架構》)將于2024年7月1日正式施行。
    的頭像 發表于 04-29 14:30 ?383次閱讀
    芯盾時代深度參編的行業<b class='flag-5'>標準</b>《總體<b class='flag-5'>架構</b>》即將施行

    請問USB CDC host怎么與多串口的機通信?

    USB CDC host怎么與多串口的機通信? 有一個設備的USB虛擬了3個串口,作為主設備,如何分別識別出每個串口,分別于每個串口通信? 我的主設備使用的是官方單獨的
    發表于 04-11 06:11

    應用場景:USB轉以太網標準模塊

    本帖最后由 lockyymc 于 2024-3-25 15:59 編輯 USB轉以太網標準模塊 AG32支持USB FS+OTG和以太網MAC,并且提供了標準例程,包括網絡Lwi
    發表于 03-24 10:41

    請問F4標準庫如何實現USB MSC和FATFS SDIO功能?

    如題,本人在STM32F407ZGT6跑通了正點原子的USB SD卡模擬U盤功能,和移植了官方例程跑通了FATFS在SD卡上建立文件系統管理的功能。 請問現在如何將二者結合到一起。使之實現如下功能
    發表于 03-14 06:11

    淺論新標準下應急照明系統在地鐵站的應用和選型

    本文通過對比GB51309-2018《消防應息照明及疏散指示系統技術標準》和以往應急照明系統標準的差異,提出了地鐵站應急照明系統
    的頭像 發表于 02-04 15:25 ?814次閱讀
    淺論新<b class='flag-5'>標準</b>下應急照明<b class='flag-5'>系統</b>在地鐵站的應用和選型
    主站蜘蛛池模板: 欧美日一区| 国精视频一区二区视频| 亚洲国产精品久久久久婷婷老年| 久久在线精品| 国产拳头交一区二区| 国产成人精品高清免费| 国产精品久久在线| 亚洲第一区二区快射影院| 性欧美视频在线观看| 四虎国产精品永久在线网址| 日韩中文字幕电影| 六月天婷婷| 大片毛片女女女女女女女| 91正在 播放| 日韩一级视频| 2019天天操夜夜操| 亚洲一区二区在线| 最新午夜宅男| 四虎影视地址| 美女很黄很黄是免费的·无遮挡网站| 国产三级在线观看| 天天撸视频| 51xx嘿嘿午夜| 免费一区二区| 色综久久| 国产三级精品最新在线| 亚洲午夜日韩高清一区| 九九天天影视| 日本亚洲视频| 四虎最新影院| 九色综合伊人久久富二代| 欧美zo| 亚洲一区二区三区在线播放| 国产亚洲欧美一区二区| 色综合婷婷| 国产三区视频| 奇米影视777狠狠狠888不卡| 国产hs免费高清在线观看| 一区二区视频在线| 猛操女人| 天天av天天翘天天综合网|