標籤:

USB傳輸數據的原理是什麼?


這個問題問的太大了,或者說題主因為你可能不了解USB傳輸的具體方式,所以實際上你這個問題問的讓人不太好回答。

以網路作為例子吧,不知道題主你是否知道七層網路協議之類的說法:

網路可以是有線也可以是無線,其物理層上傳輸的模型是完全不同的。

物理層之上還有數據鏈路層,這一層上有MAC地址、ARP協議之類的概念。

數據鏈路層往上才有IP/TCP/UDP這些結構,而你瀏覽網頁、聊QQ工作的都在更上層。

同樣的,USB也是分層的,雖然跟網路的分層方法區別很大。

USB底層使用串列信號,使用NRZI編碼(NRZI_百度百科),之上有USB frame(高速的還有微幀的概念),以及各種封包方式,比如SETUP/IN/OUT/DATA之類的。

在這一層之上,定義有傳輸模型,包括interrupt、Bulk、ISO、control四種模式,以及endpoint(代碼中也有pipe的概念)。

在傳輸模型之上,才是device、interface等更高層的概念。

想想看USB 2.0的規範都是幾百頁的,想要在一個回答里說清楚是很困難的事情,如果題主真的有興趣,可以看看USB2.0的規範,在USB-IF的官網上就有:USB.org - USB 2.0 Documents

規範有中文翻譯的,但不全(我6年前學的時候不太全,現在不清楚)。

對於一個USB來說,具體使用的傳輸協議也不完全一樣,因為不同的設備類(class driver)用的通信方式都不同,比如鍵盤滑鼠多用interrupt傳輸,U盤以bulk為主,音頻設備則用ISO傳輸。

對於U盤來說你還要學習SCSI命令才能理解為什麼U盤這樣工作。

總之,你這個問題問的太大了,建議閱讀各種技術規範,不是一個回答能講清楚的。


基本原理:香農的資訊理論

載體:經過調製的電流

USB是基於以上兩者的一種信息傳遞協議。USB標準對硬體的介面和類型有具體的要求來使USB設備可以按照可控的方式進行操作,數據傳輸方面有操作系統和硬體的控制器提供支持。

以上是最基本的原理,至於如何基於這些原理去實現。篇幅所限,無法奉告。


0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101


推薦閱讀:

「無法識別的 USB 設備」,系統是如何識別的?
求問滑鼠是如何做到一插USB就安裝驅動的?我應該怎麼找這方面的資料?怎麼找USB上的電路圖? ?
滑鼠左鍵一點擊或者選定桌面文件就會顯示刪除這個文件是怎麼回事?
如何看待樂視宣稱自己引領了Type-C的潮流?
如何給樹莓派usb hub供電?

TAG:USB |