USB的前世今生_風聞
半导体行业观察-半导体行业观察官方账号-专注观察全球半导体最新资讯、技术前沿、发展趋势。2020-09-09 14:56
來源:內容由半導體行業觀察翻譯自techspot。
在過去25當中,USB在為電子產品提供連接和供電的過程中扮演着重要的角色。隨着時間的推移,USB接口發生了變化,但無論用户使用了哪種USB,主機總是能夠識別出其所連接的設備是什麼。
但這到底是怎麼發生的呢?它如何知道何時連接了鼠標而不是打印機?USB 2.0和USB 3.2的SuperSpeed有什麼區別?
在這裏,我們將為您介紹USB的內部工作原理,以及為什麼USB能夠淘汰其他技術而被市場所青睞。
故事要從20世紀90年代説起,那時,USB還沒有出現。在那個時代,奔騰處理器是最流行的選擇,Windows系統是3.1版本,個人電腦還是米色的。當時還沒有無線連接和雲服務,因此打印、複製照片或使用外部存儲都需要採用物理連接的方式連接到電腦上。
與當今的PC不同,30年前的計算機配備了大量不同的接口和通信系統。由於每個接口的差異和侷限性,使得連接並不順利。
(1個DE-15 VGA插槽,2個DE-9串行端口和1個DB-25並行端口以及2個PS / 2連接器,來源:Recycled Goods)
鼠標和鍵盤幾乎總是使用串行PS / 2端口,每個端口都有專用的6針接口。打印機和掃描儀通過25針連接器連接到並行端口,而其他所有端口則通過經典串行端口連接。
如果不小心將鼠標插入鍵盤接口中會出現什麼情況?由於PC不知道插入了錯誤的設備,因此它根本無法工作。實際上,這些端口並不能識別出來它所連接的設備,用户必須告訴電腦它是什麼,然後手動為它安裝正確的驅動程序。
如果一切順利,在安裝驅動程序後快速重啓,便可以正常運行。但通常情況下,PC用户需要深入研究Windows的控制面板或主板的BIOS,以使其順利運行。
(九十年代嘗試連接外圍設備的PC用户熟悉的景象。資料來源:WinWorld)
消費者自然希望有更好的東西,即所有外設都可以通過一個接口來運行。您可以在無需重新啓動機器的情況下進行插拔,同時,還可以立即識別和配置其所連接的設備。
系統供應商也想要一些更通用的東西,以取代對大量不同接口的需求,並降低生產成本。在保持向後兼容性的同時,還需要在以後的歲月中有開發和改進的空間。
這樣看來,那時的需求很簡單。
同心協力的時刻
在計算機的世界中,行業企業聯合起來將會產生巨大的能量,來造福整個社會。1994年,Intel,Microsoft,IBM,Compaq,DEC和Nortel一致認為這是創建一種新的連接系統的時候了,因此,這些企業共同建立了一個聯盟,來滿足市場的願望和需求。
英特爾領導了這項技術的開發,Ajay Bhatt成為了項目的主架構師——他還為AGP(加速圖形端口)和PCI Express做了同樣的工作。在短短兩年的時間裏,一個完整的規範發佈了,同時發佈的還有控制芯片。
這樣就誕生了通用串行總線——作為串行、並行和PS/2端口的替代品。它擁有乾淨、簡單的設計和出色的性能。然而,新系統的應用在一開始推進的很緩慢,直到1998年1.1版本發佈,一切才真正開始。
(資料來源:微軟)
這個版本的改動相當小,主要是關於電源管理和設備兼容性,這並不是促使USB被市場採用的主要原因。其主要原因是,微軟在1997年秋天的一次更新中在Windows 95添加了USB 1.1支持,這才使得USB有了發展的機會。
微軟還大力推廣了“ 即插即用 ” 一詞,即PC的設計理念和系統要求,旨在消除設置計算機和外圍設備的複雜性。儘管不是最強大的系統,但USB還是它的理想之選。
蘋果的全身心投入對USB的推廣起到了最明顯的效果,當年,其發佈的產品震撼了整個PC行業。
(蘋果的第一台iMac。資料來源:維基百科)
第一代iMac於1998年8月推出,它既鮮明又大膽,是第一批所謂的“無傳統”的PC之一。該術語用來表示計算機避開了所有舊端口和設備:其所採用的都是最新的硬件。儘管一開始它並沒有受到批評者的歡迎,但它繼續大量銷售——它的普及使USB很好地進入了市場,儘管他比基於Windows的同類計算機出售早了幾年。
USB規範進行了多次修訂,其中主要的修訂是2001年的2.0、2008年的3.0以及去年發佈的最新規範(4.0)。這些我們稍後會再講。現在,讓我們看一下通用串行總線的實際工作原理,以及它能取代其他系統的原因。
外觀很簡單
讓我們首先看一下典型PC中連接的總體佈局。
下圖顯示了Intel X299 Skylake-X系統中的各種設備如何相互通信:
如上圖所示,左下方的USB接口可以直接連接到Intel稱為PCH的平台控制器中樞。在USB首次出現的日子裏,這種芯片通常稱為南橋(Southbridge),它可以管理指令和數據流向硬盤,網絡適配器,音頻芯片等組件。
PCH至今仍然扮演着相同的角色,儘管現在它需要處理的事情更多。順帶一提,AMD Ryzen CPU實際上直接處理這些任務:它們不需要PCH /南橋,儘管大多數Zen主板都帶有一個額外的控制器,以提供更多的端口和接口。
X299芯片的內部深處有一個稱為USB主機的部分,它包含兩個關鍵元素:USB 控制器和根集線器。前者是一個小型處理器,可以發佈所有指令,管理電源傳輸等。像所有此類集成電路一樣,它需要驅動程序才能運行,但是這些驅動程序幾乎總是內置在操作系統中。
根集線器是將USB設備連接到計算機的主要階段,但並非每個系統都以這種方式設置。有時,設備會連接到其他集線器,這些集線器又會以菊花鏈的方式回到USB主機(圖像頂部的綠色框)。
最新的規範允許最多5個集線器鏈,雖然這可能聽起來不是很多,同樣的標準還規定一個USB控制器必須支持多達127個設備。如果需要連接更多,則只需添加另一個控制器——這實際上是USB 3.0標準的默認要求。
集線器和設備通過一組邏輯管道相互通信,每個連接的外圍設備最多具有32個通信通道(上游16個,下游16個)。不過,大多數只使用少數幾個,並且只在需要時才啓用它們。
(這樣的多功能設備需要來回移動大量數據。)
可以根據通信管道的工作對其進行簡單分類:發送/接收指令或傳輸數據。對於後者,使用的邏輯系統是單向的,而指令始終是雙向的。
例如,USB掃描儀只能將數據發送到集線器,而打印機只能接收數據。硬盤驅動器,網絡攝像頭和其他多功能設備兩者兼有,因此將有更多活動的管道在運行。
那麼所有的這些信息是如何傳輸?
在USB 1.0到2.0的情況下,只需使用2條線即可完成,這明顯少於舊的並行端口。
(USB 2.0引腳——接地,數據對,電源)
該規格的連接器包含4個引腳:一個用於5伏電源,兩個用於數據,另一個則用於接地。5 V引腳提供了操作連接器中的電子設備和設備本身所需的所有電流,但最高限制為:
USB 2.0 = 2.5 WUSB 3.0/3.1 = 4.5 WUSB 3.2/4 = 7.5 W
通過USB 2.0或更高版本,或通過電池充電或供電模式來突破這些限制。這樣使用時,數據無法傳輸,但可以提供更多的電能——這是傳統端口永遠無法做到的。
數據線採用差對(differential pair)的方式工作——它們兩端的電壓模式為主機控制器提供比特流。將設備插入USB端口後,控制器會拾取一個數據引腳上的電壓變化,這將啓動一個稱為設備枚舉的過程。首先要復位外設,以防止其處於錯誤狀態,然後控制器會讀取所有相關信息(例如設備類型和最大數據速度)。
USB設備屬於許多類別之一,每個類別都有一個設置代碼——例如,藍牙適配器屬於無線適配器類別,而具有力反饋的steering wheel則屬於物理接口設備。
了市場當中。最初是為外部硬盤驅動器和CD刻錄機之類的設備而設置的,多年來,它已擴展到包括閃存棒,數碼相機和智能手機——後者的存儲容量有了巨大的增長,且通常使用USB連接將文件傳輸到計算機中。
一次只能管理一台設備(因此它是串行總線),但是控制器可以在它們之間快速切換,這就讓人感覺它們是在同一時間處理的。例如,雖然總線的速度不如SATA接口,但是使用USB驅動器的計算機可以從它們啓動,也可以從設備上運行便攜式應用程序,而無需安裝它們。
説到速度,讓我們深入瞭解一下通信系統的這個方面。
野蠻發展的年代
在USB 1.0規範的早期草案中,接口中的數據線設計為僅以一種速度運行:5 MHz。由於線路成對工作,因此總線本身為1位寬,因此最大帶寬為每秒5 Mbit(或640 kB / s)。
這是對傳統串行端口所進行的巨大改進,但與在ECP模式(20 Mbits / s)中配置的並行端口所取得的進步相比,它的進步卻要小得多。當時,達到這種速度排除了許多非常簡單的設備(例如鼠標和鍵盤),因此,該規範擴展為以兩種時鐘速率下進行工作,從而提供1.5 Mbit / s或2 Mbits / s的數據速率。由於在規範當中沒有明確的表述,因此,設計師將之命名為低速和全速。
當USB 2.0在2001年定版時,總線提供了一個市場非常需要的更高的時鐘速率,峯值帶寬為480 Mbit / s——還有什麼比“全速”更快呢?當然是高速。7年後,當3.0版本出現時,這種命名混亂達到了頂峯。
(用於1.1 / 2.0的4個引腳和用於3.0的5個數據引腳(背面))
傳統的兩條數據線所提供的帶寬已達到了其最大容量,而繼續提高帶寬的唯一方法就是增加更多的引腳。最初的USB設計考慮到了這種變化,這就是為什麼接口都是相對寬敞和整潔的原因。
這些額外的引腳使數據可以同時雙向流動(即雙工模式),理論峯值帶寬為每秒5 Gbits,是原始規格的400倍以上。由於這些通道位於舊通道上方的空間中,因此USB 3.0保留了完全的向後兼容性。
然後接下來的發展就變得很迷幻…
3.1版於2013年推出,擁有更快的數據通道(10 Gbits / s),但由於某種原因,該版本被標記為USB 3.1 Gen 2。為什麼是第二代?因為3.0被重命名為3.1 Gen 1。
當USB 3.2規範在5年後問世時,幫助制定並同意USB標準的組織決定3.2更強大的功能(最高20 Gbits / s)需要重新命名:
USB 3.1 Gen 1 --> USB Gen 3.2 1x1USB 3.1 Gen 2 --> USB Gen 3.2 2x1
新系統在此基礎上有兩個版本:Gen 3.2 1x2和2x2,其中兩組數據線並行使用。有了這麼多不同的規格和速度,您會認為會有一個固定的標準來幫助識別他們。但我們都錯了——看看Gigabyte主板的背板:
總共有10個USB端口,涵蓋了3.2版規範的兩個不同版本和兩種類型的連接器(稍後將對此進行詳細介紹)。顏色編碼和Gigabyte自己的網站都沒有確切告訴您它是哪個版本——它們都被標記為USB 3.2,但是為什麼有些是藍色而有些是紅色?
製造商可以使用官方標識來表明它是哪個版本,但由於這些標識的使用沒有被強制執行,因此它們很少被使用。去年的另一項重命名活動(廠家被推薦使用 SuperSpeed USB 5 Gbps、SuperSpeed USB 10 Gbps等等)只是強調了USB變得多麼令人困惑。
當USB4(不是錯字,不是USB 4.0)在2019年推出時,人們希望事情會變得更加清楚。不幸的是,事實並非如此,儘管幾乎看不到USB4設備,但可以肯定的是,由於出現了更多支持不同速度的標準,使得這種混亂持續了下去。
像A,B,C一樣容易嗎?
在設計USB時,工程師希望使系統儘可能地簡單,不必要將時間浪費在嘗試配置一切的事情上。這個概念在接口的格式中得到體現——一種形狀用於USB主機,另一種形狀用於所連接的設備。它們最終被稱為Type A和Type B。
( Type A(左)和 Type B(右)。資料來源:Lindy)
其背後的想法是使用户可以清楚地知道線纜的哪一端將連接到哪裏。但不幸的是,設計人員還希望該系統的實施成本儘可能低,而Type A的設計有時會很難插入。
第一代USB的另一個問題是,對於小型設備(例如媒體播放器和移動電話),Type B插頭太大了。因此,在1998年發佈1.1版時,引入了縮小的版本,稱為Mini-A和Mini-B。儘管它們也因其脆弱而聞名,但它們很快被手機和平板電腦採用了。
但當智能手機製造商開始追求更輕薄的設備時,這些設備也太大了。USB 2.0的出現解決了這個問題,它不僅提供了更快的速度,而且還提供了Micro-A和B連接器。
(Baby micro-B next to Big Daddy Type A. Source: Lindy)
USB 2.0還提供了Micro-AB接口(可以插micro-A和micro-B),雖然USB 3.0的Type A接口可以向後兼容USB 2.0,但Type B接口卻不能——它無法插入2.0的Type B接口。
另外一方面,相同規格的Micro-B SuperSpeed連接器也有些笨重,無法達到``微型’‘的效果。
(The dysfunctional family of older USB connectors. Source: Wikipedia)
所有這些變化都是為了追求更多的性能(您可以清楚地看到USB 3.0中的額外數據引腳),通過不斷增加產品種類來豐富整個體系,即眾所周知的USB Implementers Forum(USB-IF)。
顯然,我們需要更好的東西……
製造商和消費者都希望有一個小巧的連接器,它對於主機和設備來説都是一樣的,並且還能提供更好的性能。因此,隨着USB 3.1(單獨開發)一起,USB-C插頭誕生了。
它不僅代替了對不同A / B接口的要求,還可以按任何方向插入,並且可用於USB以外的連接系統(例如DisplayPort,HDMI和Thunderbolt)。
USB-C連接器的數據線比USB 3.0 Type A(對不起,USB 3.2 SuperSpeed)要多得多——其中兩個完全專用於USB 2.0支持,另外四組差分對提供雙向通信。這些變化在最新規範中提供了高達40 Gbits / s的帶寬。
有了USB4,與傳統接口的聯繫就永遠被拋棄了——要麼使用USB-C,要麼就什麼都不用了——但在我們告別PC和其他設備上的Type A接口之前,還需要很多年。
USB的一路成長
明年,USB就25歲了,雖然最新版本的USB與最初的設計只有一些相似之處,但它的基本前提仍然適用:即插即用。每一個規範修訂都提供了更好的性能(版本4比1.1快3000倍以上),並能夠為設備提供更高的功率(目前功率輸送模式下的功率可達100瓦)。
但是為什麼USB持續了這麼長時間?有沒有更好的辦法可以提供更多的帶寬或功率?簡單來説並沒有,或者至少現在不是。
十年前,英特爾發佈了Thunderbolt。當時,它肯定比USB 3.0更具吸引力,具有更大的帶寬和更大的靈活性。但是,最新版本仍使用了USB-C連接器,而放棄了其原來的專有接口,並具有與USB4相同的最大帶寬。它仍然提供更多功能,例如能夠提供更多的功率來運行設備,但它不會很快就能取代USB。
(那是USB-C連接器,但它實際上是Thunderbolt線纜)
還有IEEE 1394(更好地稱為FireWire)——像Thunderbolt一樣,它提供了比USB 2.0和3.0更好的性能,但是由於後者的規範已經進行了更新以改進這些方面,FireWire(以及Thunderbolt)提供的主要優勢是以標準的形式出現的。
USB對系統供應商和製造商的吸引力的一部分在於它的相對開放的規範。與Thunderbolt和FireWire不同的是,它可以製作一個“USB 3.2”線纜並以此銷售,但並不完全符合規格中的所有細節。例如,它可能不支持全部帶寬或提供可用的最大功率。
雖然這使得這些產品的製造和購買都很便宜,但當你真正需要線纜的時候,這確實意味着它是一個潛在的雷區。USB提供了多種傳輸速度和電源模式,這讓問題變得更加複雜——在可預見的未來,這種情況將會出現
但是,儘管存在鬆散的標準、令人困惑的命名方案和多種類型接口的缺陷,但是,USB仍然像以前一樣無處不在。幾乎每個計算機外設都用它連接到主機上——即使是無線的,也幾乎肯定會使用USB dongle。
也許終有一天USB將會被其他技術所取代,但就目前的市場情況而言,合理的價格和簡單的訴求和持續不斷的改進是促使USB前進的動力。USB確實是一個忠實的老朋友。