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