
USB電纜的4根線在USB中有固定不變的數字編號以及不同的顏色。這為電纜線的識別和使用提供了方便。下表列出了這些數字和顏色規定。這些數字與PCB尺寸中標注的編號也是一致的。
USB設備和Hub采用2種供電模式,即自供電(Self Powered)和總線供電(BusPowered)。所謂自供電,是指該USB設備或Hub能夠自己提供電源,而無需從VBus上提取電流,這樣做的好處是該設備在工作時功率不必受USB協議的限制,可以根據自身電源的能力任意提取電流;但局限性也是顯而易見的,該設備必須帶有額外的電源設備,增加了體積和成本。而總線供電模式則為耗電量小的設備提供了一種方便的連接方式,能夠完全從USB總線的VBus獲得所需的電流,但是這樣的設備運行時所耗的功率受到USB協議的限制,不能無限制地從總線上取得電流。USB硬件電路的電源線路時需要十分小心,無論是總線供電還是自供電的USB設備或Hub,都只能從VBus獲得電流,而不能向VBus提供電流。
USB供電的工作狀態也被分為2種,即正常工作(Normal)狀態和掛起(Suspend)狀態。如果總線供電設備在3ms內沒有總線操作,即USB總線處于空閑狀態的話,該設備就需要自動進入掛起狀態。這時從總線上提取的電流必須小于500μA。在設備進入掛起狀態后,可以通過喚醒(Resume)操作來恢復到正常工作狀態。喚醒操作既可以由主機發送喚醒或復位信號來觸發,也可以由設備自行通過遠程喚醒來實現。處于掛起狀態的設備通過發送信號給主機,使得主機恢復處理其USB事務。這種遠程喚醒方式是所有USB事務中,惟一能夠由設備發起的事務。
即插即用:
即插即用技術包含2個技術層面,即熱插拔和自動識別配置。熱插拔的關鍵技術在于電路接插件插、拔期間強電流的處理。即插即用另一個關鍵技術層面就是系統設備的自動識別。也就是說,主機系統在沒有人工干預的情況下,能夠自動檢測到設備的接入并能自動配置該設備,也能夠自動檢測到設備的拔出,從而釋放系統資源。USB主要是通過在信號線上的一些特殊處理來實現這一技術。在USB的4線電纜中傳輸信號的是D+和D-這一對差模信號線,該線上使用的是+3.3V的電平,而VBus是+5V。
由上圖可以看到,USB主機或Hub的下行端口的差模信號線D+和D-上均連接有一個下拉電阻,即圖中所示的R1,其阻值為15kΩ。R1一端連接到D+或D-,另一端接地。這樣,當該端口沒有連接任何USB設備時,D+和D-信號線上的電平都恒為0。另一方面,看到設備端的D+和D-信號線的其中一根線上連接有上拉電阻,即R2,其阻值為1.5kΩ。這里,需要特別注意的是,對于全速設備,這個上拉電阻R2是連接在D+信號線上的;而對于低速設備,R2則是連接在D-信號線上的。這也是USB主機識別設備速度的一個重要指標。這個上拉電阻一端連接在信號線上,另一端連接+3.3V。
前面已經分析,USB主機和Hub的下行端口處于斷開狀態時,其D+和D-信號線電平將恒定為0。當USB設備連接到USB主機或Hub下行端口的一瞬間,USB設備端信號線上的上拉電阻將通過USB電纜線與USB主機或Hub端的下拉電阻組成分壓器,這樣會造成USB主機或Hub端信號線電平的上沖,這一過程如下所示。

由于全速設備的上拉電阻是連接在D+信號線上的,因此,當該設備接入時,USB主機或Hub的D+線將有一個從0電平到+3.3V的上沖過程。與此同時,D-信號線仍將維持電平0不變。這樣當USB主機或Hub不斷檢測其信號線狀態時,就能檢測到這個上沖過程,當這個上沖過程的有效段(如圖所示)持續2.5μs以上的時間,USB主機可認定有一全速USB設備接入。同理,低速設備也有這樣一個原理相同的接入過程,不同的是,發生電平上沖的是D-信號線,而D+信號線則基本維持0電平不變,這一點,與全速設備剛好相反。此外,USB協議2.0中定義了高速設備,其設備端的信號線機制與全速設備一樣,也是將D+信號線用1.5kΩ的電阻上拉至+3.3V。然后,USB設備將通過一套更加復雜的方式來通知主機自己的速度模式。
需要強調的是,在各種速度模式下,上拉電平+3.3V,一般需要通過VBus轉換而來,或者是受VBus的控制。這樣做的目的是,一方面使USB設備在沒有接入到USB主機或Hub之前,其信號線沒有電平上拉。另一方面,更重要的是,當設備連接到主機或Hub,并處于被枚舉的過程中時,有一個主機復位(Reset)設備的步驟。所謂復位,對于主機來說,包括兩個行為,一是設備斷開連接(與設備拔出相似,主機或Hub信號線上出現電平回落),二是重新檢測到設備接入。這兩個過程都是要在設備實際沒有拔出的情況下完成,那么,當然能夠實現的方法就是由主機來控制這個+3.3V的上拉電平。功能比較強的USB設備接口芯片,一般都提供這個+3.3V的上拉電平,當其接收到主機的復位命令后,就會自動切斷這個電平,從而順利實現復位。另外一種實現的方法,就是直接將VBus用電壓轉換芯片轉為+3.3V。這樣,當主機發送復位命令后,+3.3V也會隨著VBus一起被切斷。
|