USB設備的電源設計考慮
根據USB規(guī)范,從電源方面來講,USB設備分為自供電和總線供電兩種設備類型,設備通過枚舉過程的設備描述符聲明自己的電源要求。自供電設備不使用HSOT/HUB的電源,而是自身有電源供應;總線供電即指設備電源來自VBUS。如果是總線供電設備,USB規(guī)范按照設備工作時吸取的電流大小又規(guī)定了兩種設備:lowpwer和highpower設備,lowpower設備任何情況下不得吸取超過100mA的電流,highpower設備在正確配置之前不得吸取超過100mA的電流,如果已經配置,任何情況下不得吸取超過500mA的電流。如果設備進入suspend狀態(tài),lowpower設備任何情況下不得吸取超過500uA電流,highpower設備在已經正確配置并且遠程喚醒功能被主機使能的情況下不得吸取超過2.5mA的電流,否則不得超過500uA(2008年USB-IF對suspend電流規(guī)定進行了變更,原來的500uA電流的規(guī)定過于嚴格,因此所有USB設備suspend電流放寬到2.5mA。)。從規(guī)范的規(guī)定來看,USB對電源管理是有嚴格要求的,因此,有些USB設備或者非USB設備不管三七二十一就從VBUS取電是違反USB規(guī)范的。還有一種自供電和總線供電混合類型設備,其對VBUS的使用規(guī)定和總線供電設備相同。
但是在實際使用中,USB電源往往被濫用。許多廠商的USB設備并不送到USB-IF進行認證,此種情況下,其USB電源的設計往往未必滿足USB規(guī)范。
從duoduo所觀察過的PC主板和HUB來看,許多主板/HUB并沒有在VBUS的供電上嚴格遵從USB規(guī)范,通常是直接從電源模塊送+5V到VBUS上,有的甚至連VBUS過流檢測電路都沒有。主板的VBUS供電能力還和主機使用的開關電源有很大關系,一些劣質電源向VBUS提供的電流根本就達不到500mA或者是大電流下VBUS電壓降的很厲害導致設備不能正常工作;而沒有VBUS過流檢測的主板在USB外設故障情況下有導致主板燒毀的危險。HUB有無源和有源兩種,有源HUB和HOST的VBUS指標相同,無源HUB由于本身沒有電源,掛在其下的所有設備吸取的電流總和不能超過該HUB上行端口所能夠獲得的電流。目前市面上流行的各種USB設備,在VBUS電源設計上能夠滿足規(guī)范的其實也不多,很大一個原因是一些終端用戶喜歡的功能特性其實無法滿足USB規(guī)范;不過,USB是一個發(fā)展變化很快的技術,需求與規(guī)范的矛盾都在逐漸的解決中,典型的如USB-IF新發(fā)布的USB充電器規(guī)范就是為了解決此前USB設備既想滿足規(guī)范但又希望利用VBUS電源給電池充電的矛盾。
但是如果你的USB設備需要通過USB-IF的認證以獲得在設備上使用USBlogo的權利,那麼電源設計就將真的要小心了,你的設備必須嚴格遵從USB規(guī)范中的電源規(guī)定,否則功虧一簣,數千美金的認證費就會白白扔掉了。在設備使用VBUS供電的時候除了考慮電流大小之外還必須考慮VBUS的電壓以及設備剛接入時的浪涌電流大小,USB規(guī)范中VBUS電壓在4.4V-5.5V之間,根據HOST/HUB的不同,少數劣質HOST/HUB會超出這個規(guī)定,如果設備使用3.3V或更低電源,簡單從VBUS加個低功耗LDO就可以了,但是如果設備直接使用VBUS作為自身電源則必須考慮設備能否在4.4V-5.5V下都能夠正常工作,否則兼容性問題會讓你大傷腦筋。另外據說有的筆記本電腦僅能向VBUS提供100mA電流,這個duoduo沒有研究,哪位可以補充一下。至于浪涌電流,是USB-IF認證中的一項,我們通常習慣性的在設備電源入口加一個數十uF乃至數百uF電容的做法此時根本是不可能通過浪涌測試的;從duoduo的經驗上來看,這個電容一般取小于4.7uF或者2.2uF,由于后面的電路也在設備的VBUS電源入口處存在等效電容,因此實際取值應該根據浪涌測試結果進行調整。
評論