1. 程式人生 > >USB介面圖和工作原理

USB介面圖和工作原理

通用序列匯流排(英語:Universal Serial Bus,縮寫:USB)是連線計算機系統與外部裝置的一種串列埠匯流排標準,也是一種輸入輸出介面的技術規範。
它只有4根線,兩個電源(5V,地線),兩個資料線(D+,D-)。,故訊號是序列傳輸的,即按照傳輸時鐘脈衝的節奏一位一位的傳輸。usb介面也稱為序列口。

usb介面的4根線一般是下面這樣分配的,需要注意的是千萬不要把正負極弄反了,否則會燒掉usb裝置或者電腦的南橋晶片:黑線:gnd 紅線:vcc 綠線:data+(DP) 白線:data-(DM)

一、介面結構圖

下圖就是介面圖,分別是+5V(電源)、DATA+(傳輸資料端+ DP)、DATA-(傳輸資料端- DM)、和GND(地線)。

(DM,DP是用來傳輸資料的,VCC,GND充電。)

 


二、資料傳輸過程

參考網頁:http://bbs.eeworld.com.cn/forum.php?mod=viewthread&tid=98448 謝謝大神的分享~

注:後文中將USB裝置均舉例為U盤。

2.1 首先是主機識別U盤

先說說USB主機是怎麼識別一個U盤的吧,當你把一個U盤插到電腦上的時候,電腦的USB介面上會發生一些變化。U盤會把DP(D-)拉高,使DP,DM保持一個J狀態(即:DP為高DM為低),電腦主機板的USB主機晶片檢測到這個J狀態(DP(D-)拉高),知道有裝置連線上了(這裡提到的主機和裝置是指連線在USB線兩端的USB介面晶片),電腦的驅動會對連線上的這個裝置進行識別,我們把它叫做列舉

,這個過程是為了讓電腦知道連線上的這個裝置是什麼東西(是U盤,還是USB滑鼠,還是USB鍵盤,或是其他的什麼)。

2.2 然後開始傳輸資料

然後再看USB資料是怎麼在DM,DP上傳輸的,當主機檢測到有裝置連線上,驅動先會對這個裝置作些必備的事情,識別他的速度(這個過程又有很多協議,要了解的仔細研究協議),然後就是復位等等。之後就開始在匯流排(DM,DP)上傳送1ms間隔的SOF包(全速)或125us間隔的SOF包(高速)。

USB資料都是以包的形式發出的,包都有固定的格式,它以一個sync(synchronous 同步)開始,以一個eop(end of packet,包結束)結束,SOF 包也是一樣的。 下面是包的結構圖:



其中PID(packet  ID 包的ID)是說明這個包是什麼包,即包的型別。

備註:這裡的資料傳輸原理為了便於理解,省略了很多內容。具體包括資料包、幀、TCP/IP協議等,可以參考下面的網頁進行了解和學習

http://baike.baidu.com/item/TCP%2FIP%E5%8D%8F%E8%AE%AE

http://baike.baidu.com/link?url=Ho0hNKm_Q6lsDkl7nWK-49ag6yzOJgwPJvM70ftNaJJb1alxEu-uJ3X6I8KQGaJQrKUIpXZKGp0T4ZVflDn1N-Qw33C1vyNRZc2SG1geV3clX8Umog1_UDBplSjSWE7g

喜歡就留個腳印吧~ 大笑