USB集線器不僅可向下游的USB端口提供數(shù)據(jù)和電源,還允許主機(jī)通過軟件對連接到下游端口的設(shè)備進(jìn)行電源管理。USB 2.0集線器系統(tǒng)中的電源分配與管理堪稱決定系統(tǒng)是否完全符合USB規(guī)范(2.0版)的主要因素。
電源分配
所有連接到USB端口的設(shè)備可配置成低功率或高功率,這取決于設(shè)備的電壓和電流要求。
首先將所有USB設(shè)備枚舉為低功率器件。主機(jī)在枚舉完成后檢查設(shè)備配置描述符的bMaxPower字段。如果bMaxPower表明該設(shè)備屬于高功率,并且可提供相應(yīng)電源,那么主機(jī)會允許將該設(shè)備轉(zhuǎn)為高功率。
USB設(shè)備可被分為自供電和總線供電。圖1給出了這兩種集線器配置。
總線供電集線器系統(tǒng)
在這種配置下,集線器的內(nèi)部工作及其下游端口都由集線器上游端口的VBUS供電。這種配置無需本地電源。
在總線供電的系統(tǒng)中,所有下游設(shè)備必須是低功率設(shè)備。這是因為集線器從上游電源消耗的最大電流為500mA,且集線器自身工作還要使用一部分電流,所以無法將500mA電流完全提供給下游設(shè)備。因此,在超過四個端口或下游包含高功率設(shè)備的設(shè)計中不建議使用總線供電的集線器配置。
重要的設(shè)計考慮因素
● 切勿將兩個總線供電的集線器進(jìn)行串聯(lián)。
● 總線供電的集線器無法提供超過100mA的電流,因此不能為其下游端口上連接的集線器供電。
● 總線供電的集線器不能為高功率設(shè)備進(jìn)行供電。
● 總線供電的集線器要求具有電源開關(guān)(如“電源管理”中所述)。
[page]
自供電集線器系統(tǒng)
自供電集線器將來自本地電源的功率分配到其下游端口。這種集線器控制器的功率既可以來自本地電源,也可以來自VBUS。自供電集線器自身工作消耗的最大電流為100mA。通過VBUS為其USB接口供電的自供電集線器可被稱為混合供電集線器。使用混合供電集線器可區(qū)分?jǐn)嚅_連接的設(shè)備和關(guān)閉電源的設(shè)備。
使用自供電集線器會增加設(shè)計的復(fù)雜性。USB規(guī)范(2.0版)的7.2.1節(jié)要求用一種機(jī)制來識別VBUS的存在,并相應(yīng)地為D+/D-上拉電阻進(jìn)行供電。當(dāng)VBUS移除后,設(shè)備必須在10秒內(nèi)關(guān)斷D+/D-上拉電阻的電源。違反這一要求可能會引起各種系統(tǒng)故障,而且將無法通過USB合規(guī)性測試。一種有文件記錄的故障就是上游設(shè)備的復(fù)位問題。復(fù)位問題可能導(dǎo)致PC冷啟動故障或集線器無法枚舉下游設(shè)備。此外,其它故障還包括無法從掛起狀態(tài)中正確恢復(fù)以及強(qiáng)制其它枚舉設(shè)備斷開總線等。混合供電集線器設(shè)計則無需進(jìn)行VBUS監(jiān)視。
重要的設(shè)計考慮因素
● 自供電集線器需要一種機(jī)制來檢查VBUS的存在并相應(yīng)地驅(qū)動D+/D-線路。
● 自供電集線器需要為下游端口實現(xiàn)過流保護(hù)。
● 在具有超過四個下游端口的系統(tǒng)中使用自供電集線器。
● 在包含高功率設(shè)備的系統(tǒng)中使用自供電集線器。
電源管理
出于安全考慮,USB規(guī)范(2.0版)要求為所有自供電集線器設(shè)計提供過流保護(hù)。利用外部電源開關(guān)實現(xiàn)過流檢測和電源切換。過流保護(hù)可利用聚合物PTC或固態(tài)開關(guān)來實現(xiàn)。
電源切換意味著您的USB集線器能關(guān)閉下游設(shè)備的電源。所有總線供電集線器設(shè)計都要有電源切換功能。此外,自供電集線器還能為下游端口實現(xiàn)電源切換,但這并不是必需的。電源切換能以群組模式和單個模式實現(xiàn)。在群組模式下,如果組中所有端口消耗的總電流超出了預(yù)設(shè)限制,那么集線器就可將這組端口一同關(guān)閉。在單個模式下,集線器僅關(guān)閉超過限制的單個端口。
當(dāng)單個端口處于未配置或關(guān)閉狀態(tài)時,此單個端口的電源就會被關(guān)閉。在群組模式下,只有組中所有端口都處于未配置或關(guān)閉狀態(tài)時,集線器才會關(guān)閉這組端口。如果群組中任意一個端口收到SetPortFeature(PORT_POWER)請求,集線器就會打開端口組。
單個模式電源切換
單個模式端口保護(hù)功能為每個端口使用專用開關(guān)。當(dāng)端口出現(xiàn)電源浪涌時,集線器會將其電源關(guān)閉。由于單個模式需要為每個端口配備專用開關(guān),因此成本更高。圖2給出了單個模式電源切換的實例。
[page]
電源開關(guān)引腳:
● 當(dāng)下游端口出現(xiàn)過流時,F(xiàn)LAG A和FLAG B會向集線器發(fā)出告警。
● OUT A和OUT B為下游端口進(jìn)行供電。
● EN1和EN2通過切換OUT A和OUT B來啟用或禁用下游端口的電源。
群組模式電源切換
群組中包含的任何一個端口出現(xiàn)電源浪涌都會導(dǎo)致集線器關(guān)閉群組中所有端口的電源。這種方法中由于多個端口共用一個開關(guān),因此成本比較低。但是,顯而易見的缺點是組中一個端口出現(xiàn)浪涌就會使所有端口斷電。圖3給出了群組模式電源切換的實例。
掛起狀態(tài)
所有USB設(shè)備都應(yīng)支持掛起狀態(tài),從而最大限度地降低功耗。USB設(shè)備能夠從任何其它USB狀態(tài)轉(zhuǎn)為掛起狀態(tài)。若上游數(shù)據(jù)線路維持空閑狀態(tài)超過3ms,設(shè)備就會進(jìn)入掛起狀態(tài)。在掛起狀態(tài)下,USB集線器需要為D+或D-線路提供電流,從而讓其下游設(shè)備保持正確狀態(tài)。總線上的任何活動都會將設(shè)備從掛起狀態(tài)喚醒。在掛起狀態(tài)下,設(shè)備從上游端口最大消耗2.5mA電流。
盡管USB協(xié)議是以主機(jī)為中心的,但支持遠(yuǎn)程喚醒的設(shè)備也可通知主機(jī)讓設(shè)備退出掛起狀態(tài),并恢復(fù)事務(wù)處理。本文介紹了USB 2.0集線器系統(tǒng)的配置和電源管理等選項,并可作為參考指南,用于設(shè)計完全滿足USB規(guī)范(2.0版)的集線器系統(tǒng)。
相關(guān)閱讀:
USB 2.0與USB 3.0功能特性對比分析
http://m.hunt-properties.com/connect-art/80013232
實現(xiàn)智能手機(jī)USB 2.0端口共享的方案
http://m.hunt-properties.com/connect-art/80011900