1寫在前面
USB:Universal Serial Bus,通用串行總線。
USB最初由英特爾與微軟倡導(dǎo)發(fā)起,最大的特點是盡可能的實現(xiàn)熱插拔和即插即用。
USB總線是差分信號嗎? 什么是USB 2.0、USB 3.0? 什么是低速、全速、高速? 什么是Type-A、Type-B、Type-C?
針對這些疑問,本文講述USB相關(guān)的一些基礎(chǔ)知識。
2USB發(fā)展歷程
較早版本
USB 0.7:1994年11月發(fā)布。
USB 0.8:1994年12月發(fā)布。
USB 0.9:1995年4月發(fā)布。
USB 0.99:1995年8月發(fā)布。
USB 1.0 RC:1995年11月發(fā)布。
USB 1.0:1996年1月發(fā)布
數(shù)據(jù)傳輸速率為1.5Mbit/s(Low-Speed)。無預(yù)測及通過檢測功能。僅極少數(shù)出現(xiàn)在市場上。
USB 1.1:1998年9月發(fā)布
修正1.0版已發(fā)現(xiàn)的問題,大部分是關(guān)于USB Hubs。最早被采用的修訂版。數(shù)據(jù)傳輸速率為12Mbit/s(Full-Speed)。
USB 2.0:2000年4月發(fā)布
增加更高的數(shù)據(jù)傳輸速率480Mbit/s(現(xiàn)在稱作Hi-Speed),但受限于BOT傳輸協(xié)議和NRZI編碼方式,實際最高傳輸速度只有35MByte/s左右。
USB OTG(On-The-Go)是USB2.0規(guī)格的補充標(biāo)準(zhǔn)。
USB 3.0:2008年11月發(fā)布
速度由480Mbps大幅提升到5Gbps,USB 3.0插座通常是藍色的,并向下兼容USB 2.0。
USB 3.1:2013年7月31日發(fā)布
傳輸速度提升為10Gb/s,比USB3.0的5Gb/s快上一倍,并向下兼容USB 2.0/1.0,電力供應(yīng)可高達100W。
USB 3.2
在現(xiàn)有的USB Type-C數(shù)據(jù)在線實現(xiàn)雙通道,使用USB 3.2主機連接USB 3.2存儲設(shè)備,可以實現(xiàn)兩條通道10Gb/s的傳輸速度,理論上也就是相當(dāng)接近于20Gb/s。
USB 4:2019年9月3日發(fā)布
采用Thunderbolt 3協(xié)議規(guī)格,使Thunderbolt 3設(shè)備將能兼容于USB 4,現(xiàn)有3.2及2.0也向下兼容。速度方面加倍來到兩條通道總共40Gb/s的傳輸速度。
3USB版本
USB-IF當(dāng)前正式的主版本號只有USB 2.0和USB 3.2兩個。
(USB-IF:USB Implementers Forum,USB標(biāo)準(zhǔn)化組織)
USB標(biāo)準(zhǔn)化組織主版本只有兩個,但現(xiàn)在USB標(biāo)準(zhǔn)中,按照速度等級和連接方式分為以下幾種版本:USB 1.0、 1.1、 2.0、 3.0、 3.1、 3.2。
下面給一張圖:
之前寫過一篇文章:USB4規(guī)范正式公布,傳輸帶寬高達40Gbps。
準(zhǔn)確的說,主版本號除了USB 2.0和USB 3.2,還應(yīng)該有一個USB4。
上面那張圖信息量有點大,你會發(fā)現(xiàn)我們學(xué)習(xí)、開發(fā)板上使用的基本都是USB 2.0版本(低速、全速、高速),也是眾多嵌入式產(chǎn)品中常用的一種。
4USB接口
現(xiàn)在流行于手機中的一種接口【Type-C】,相信絕大部分人都知道。
Type-C屬于USB中一種較新的接口,在這之前其實還有Type-A和Type-B(可能很多人不知道)。
下面給一張圖:
你會發(fā)現(xiàn)接口的觸點有4個的,也有5個的。其中多的那個引腳為USB_ID,主要用于OTG(On-The-Go)主設(shè)備和從設(shè)備。
OTG設(shè)備使用插頭中的ID引腳來區(qū)分A/B Device,ID接地被稱作為A-Device,充當(dāng)USB Host,A-Device始終為總線并提供電力。
ID懸空被稱作為B-Device,充當(dāng)USB Device。設(shè)備的USB Host/USB Device角色可以通過HNP(主機交換協(xié)議)切換。
5USB設(shè)備識別
USB信號使用分別標(biāo)記為D+和D- 的雙絞線傳輸,它們各自使用半雙工的差分信號并協(xié)同工作,以抵消長導(dǎo)線的電磁干擾。
因為USB設(shè)備類型有很多,同時又做了兼容,因此就需要對不同設(shè)備進行識別。
這里講述一下低速、全速和高速設(shè)備的識別原理(官方有手冊)。
5.1 低速和全速設(shè)備識別
低速(Low Speed)和全速(Full Speed)設(shè)備區(qū)分方法比較簡單:在設(shè)備端有一個1.5k的上拉電阻,當(dāng)設(shè)備插入hub或上電(固定線纜的USB設(shè)備)時,有上拉電阻的那根數(shù)據(jù)線就會被拉高,hub根據(jù)D+/D-上的電平判斷所掛載的是全速設(shè)備還是低速設(shè)備。
低速設(shè)備1.5K上拉電阻位于D-
全速設(shè)備1.5K上拉電阻位于D+
如下圖:
5.2 高速設(shè)備識別
(上面)USB低速和全速的識別比較簡單,但只有一對D+和D-數(shù)據(jù)線,高速設(shè)備就不能再像上面那樣僅依靠數(shù)據(jù)線上拉電阻來識別。
高速設(shè)備初始是以一個全速設(shè)備的身份出現(xiàn),和全速設(shè)備一樣,D+線上有一個1.5k的上拉電阻。USB2.0的hub把它當(dāng)作一個全速設(shè)備,之后,hub和設(shè)備通過一系列握手信號確認(rèn)雙方的身份。
如上圖,hub檢測到有設(shè)備插入/上電時,向主機通報,主機發(fā)送Set_Port_Feature請求讓hub復(fù)位新插入的設(shè)備。設(shè)備復(fù)位操作是hub通過驅(qū)動數(shù)據(jù)線到復(fù)位狀態(tài)SE0(Single-ended 0,即D+和D-全為低電平),并持續(xù)至少10ms。
具體識別過程相對復(fù)雜,具體可見下面描述:
6USB更多
更多關(guān)于USB協(xié)議和標(biāo)準(zhǔn),可進入官方網(wǎng)站了解。
文檔:
https://www.usb.org/documents
發(fā)布評論請先 登錄
相關(guān)推薦
評論