当前位置 - 股票行情交易網 - 股票交易 - USB主機控制器驅動的整體結構?

USB主機控制器驅動的整體結構?

前面寫了壹些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 和整體屏蔽組成。當高速/全速電纜與低速設備壹起使用時,電纜必須滿足所有低速設備要求。低速設備可以不使用雙絞線。雙絞線可有效抵抗***模噪聲。連接器機械尺寸及材料要求。

A/B系列插座規範A/B系列插頭規範電纜尺寸材料規範,這裏就不羅列了,知道在哪裏查就可以了。電氣、機械和環境合規性標準接地規範,屏蔽層壹定要焊接在插頭的外殼接地點。插座PCB尺寸規範。所以對於有繪制接插件需要的,可以參考6.9節的尺寸。Logo位置線芯顏色規範。USB Logo尺寸規範。協議概述

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

健壯設計

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

從信號完整性角度:使用差分驅動器、差分接收器和以及對信號線纜的屏蔽處理。差分收發策略主要在抵抗***模幹擾方面效果顯著,而屏蔽層則有兩方面的作用:其壹,有效降低USB線通過無線電波對外界幹擾;其二、能有效隔斷外界無線幹擾對USB信號線、電源線的幹擾。CRC報文校驗。報文中數據如果出錯,可以檢測出來,可以做相應的處置。熱插拔檢測及對相應硬件設備的系統配置管理。這個設計有助於提升用戶體驗,用戶隨用隨插,而無需關機插拔。利用對數據丟失或數據損壞超時檢測實現通訊自恢復機制,以增強協議的健壯性。對流數據的進行流量控制以確保同步以及底層收發硬件緩沖區管理。數據管道和控制管道分離