Témakör:
Magasabb USB-áramlimit
Megjelent: 2015. június 12.
Ahány hordozható készülék, annyiféle speciális töltő… Ennek szerencsére vége. Az egységes, USB-alapú tápellátó rendszerre támaszkodó akkumulátortöltés hatékonyságát azonban maga a szabvány korlátozza. Mint arra a Microchip cikke is utal, az áramkorlátozás határát „feljebb tolhatjuk”, ha figyelembe vesszük, hogy a számos egymás mellett létező megoldás összetett azonosítási eljárást igényel a töltő és a hordozható készülék között.
A hordozható készülékek hatékonyabb töltéséért
Az USB (Universal Serial Bus) ma a világ legelterjedtebben használt számítógépes interfésze. Eredetileg ugyan a személyi számítógépek perifériáinak csatlakoztatására tervezték, de ezt a korlátozott szerepkört hamar „kinőtte” rugalmassága, teljesítőképessége és üzem közben is megváltoztatható csatlakoztatása miatt. A legtöbb – PC-csatlakoztatást igénylő – hordozható készülék (MP3-zenelejátszó, digitális kamera, mobiltelefon és táblagép stb.) az USB-interfészt használja a fájlok átvitelére.
Mivel egy szabványos USB-buszos hosztcsatlakozó legalább 500 mA (USB 2.0) vagy 900 mA (USB 3.0) áramterhelhetőségű tápfeszültséget is szolgáltat, önként kínálkozik a lehetőség, hogy vele töltsük a rácsatlakoztatott mobil készülék akkumulátorát. Ha azonban ezeket az áramkorlátokat megnöveljük, a töltési folyamat gyorsabbá – tehát hatékonyabbá – válik. Ezt a változást például a Microchip USB2534 hubvezérlő csipjének használatával is előidézhetjük.
A szabványos töltőáramkorlátok azonban csak akkor léphetők túl, ha abba a töltődő készülék és a töltőáramot szolgáltató USB-port is „beleegyezik”. Ehhez egy adott protokollt kell követniük. A töltőáramot előállító USB-csatlakozó a felelős azért, hogy kezdeményezze azt a „kézfogásos” (handshake[1]) jelzésváltást, amellyel jelezheti a töltés céljából rácsatlakoztatott mobil eszköznek, hogy a töltés igényeinek megfelelően kialakított portra csatlakozik, és engedélyezi számára a szabványos USB-áramkorlát túllépését. Az ezt követő jelzésváltás a töltőre kapcsolt mobil készüléktől függ. Néhány hordozható készülék az USB-IF BC1.2 protokollt követi, de létezik egy olyan „alapprotokoll”, az úgynevezett hagyományos (legacy) üzemmód, amit minden készülék fel tud használni az akkumulátor töltéséhez. A hagyományos készülékek támogatnak egyfajta töltőkészülék-detektálást a kifejezetten töltésre tervezett csatlakozások felismerésére. Ezen töltők némelyikében a D+ és D‑ differenciális adatvezeték közvetlenül vagy egy soros ellenálláson keresztül össze van kötve. Más hagyományos töltőcsatlakozású mobil készülékek a D+ vezetékre egy bizonyos feszültséget kapcsolnak, és érzékelik a D‑ vezetéken visszajövő feszültséget. Ha ez a feszültség pozitív előjelű, ez azt jelzi a töltött készüléknek, hogy nem egy szabványos USB-portra, hanem töltőkészülékre csatlakozik.
Más készülékek „lehúzzák” az egyik adatvezetéket, és „felhúzzák” a másikat. Ha a töltött készülék a D‑ vezetéken jelenlevő feszültségből töltőkészülék jelenlétére következtet, megkezdheti a töltést a Vbus-csatlakozópontról az USB-szabványban meghatározott áramterhelést meghaladó töltőárammal.
Ismét más készülékek működése azon alapul, hogy a töltő egy fix (1 V-nál nagyobb) feszültséget kapcsol mind a D+, mind a D‑ vezetékekre. Ezeket SE1-típusú töltőknek nevezzük. Ha ezeket a feszültségeket a töltött készülék érzékeli, felételezi, hogy kifejezetten töltőkészüléknek tervezett eszközre csatlakozik, és megkezdi a töltést.
A szabványos USB-adatcsatlakozók viszont nem adnak ilyen fix feszültségeket a D+ és D‑ vezetékekre, ezért az USB-aljzatból felvett áram nem haladhatja meg a szabványban rögzített maximumot.
1.ábra A töltésdetektáló hardver
Töltőkészülék-detektálás
A hordozható (töltött) készülék a felelős a töltőkészülék felismeréséért. Az ehhez szükséges hardvereszközöket az 1. ábra mutatja. Az ábrán öt funkcionális blokk látható: a „Vbus érzékelés”, az „Adatkapcsolat érzékelés”, az „Elsődleges érzékelés”, a „Másodlagos érzékelés” és az „ACA-érzékelés”. A hordozható készülékben van egy – az egész kapcsolat alatt működő – komparátor. A Vbus-feszültségnek meg kell haladnia a küszöbértéket, mielőtt a töltőkészülék-detektálás elkezdődhet. Ezt az ábrán a VOTG_SESS_VLD jelöli.
Az „Adatkapcsolat-érzékelés” egy nem kötelezően alkalmazott, opcionális blokk, amely jelzi, ha a csatlakoztatás időtartama alatt adatforgalom történik. A D+ vezetékre kapcsolódó áramgenerátor és a D‑ vezetékre kapcsolódó lehúzó-ellenállás bekapcsolódik. Ha a D+ vezetéken alacsony szint jelenik meg, az azt jelzi, hogy a hordozható készülék töltőcsatlakozóra vagy szabvány USB-portra csatlakozik, és a logikai folyamat az elsődleges érzékeléssel folytatódik. Egy időzítő áramkör gondoskodik arról, hogy az elsődleges érzékelés akkor is elkezdődjön egy bizonyos, előre beállított idő múlva, ha a csatlakozás nem érzékelhető, vagy az opcionális adatkapcsolat-érzékelés nincs megvalósítva.
2.ábra Kifejezetten töltésre kialakított eszköz elsődleges érzékelése
3.ábra Töltésre is alkalmas USB-port elsődleges érzékelése
A hordozható készüléket úgy kell kialakítani, hogy megvalósítsa az elsődleges érzékelést, amely arra szolgál, hogy különbséget tegyen egy szabványos USB-csatlakozás (Standard Downstream Port – SDP) és egy töltőkészülék (Dedicated Charging Port – DCP) között. A 2. ábrán látható, hogy mi történik, miután a készüléket egy DCP-re csatlakoztattuk, a 3. ábra pedig a töltésre alkalmas USB-csatlakozó (megnövelt áramterhelhetőségű, de szabványos megjelenésű USB-csatlakozóaljzat – Charging Downstream Port, CDP) használatakor kialakuló állapotot mutatja. A 4. ábrán a szabványos áramterhelhetőségű (SDP) USB-portra csatlakozáskor kialakuló helyzet látható.
A másodlagos érzékelés különbözteti meg egymástól a DCP- és CDP-csatlakozásokat. Ha egy hordozható készülék a Vbus-feszültség érzékelését követően egy előre megadott időn belül képes „feliratkozni” az aktív USB-eszközök jegyzékébe (enumeráció), akkor kihagyhatja a másodlagos érzékelést, különben meg kell valósítania. Csak az USB Micro-AB-csatlakozóval rendelkező hordozható eszközök támogatják az ACA-érzékelést, amely eszerint opcionálisnak tekinthető. Az érzékelést az ID-csatlakozóponton történő ellenállás-méréssel valósítja meg a készülék.
4. ábra Szabványos USB-csatlakozóaljzat elsődleges érzékelése
Az akkumulátor töltése
A Microchip USB2534 hub- (USB-csomópont) vezérlője a töltőcsatlakozóban a RapidCharge-technológiát használja az előírásos handshake-jelzésváltás megvalósítására a hordozható készülékkel.
A csip képes az ellenirányú (upstream) USB-töltési lehetőség felismerésére is. A legtöbb hordozható készülék töltéséhez szükséges a hagyományos, az SE1, az YD/T 1591-2009 BC1.2 kínai telekommunikációs ipari szabványnak megfelelő handshake-jelzésrendszerben való részvétel képessége is. Az USB2534 csipbe épített hubvezérlő képes mindezeket a protokollokat végrehajtani, és ezzel gyakorlatilag minden akkumulátortöltésre képes eszközzel együttműködni (az Apple, a Samsung és mások sajátos eszközeit is beleértve).
Ha egy USB-csatlakozóaljzatot arra konfiguráltak, hogy az elemtöltést támogassa, akkor az a port CDP, ha képes „jegyzékbe venni” (enumerálni) a készülékeket. Ha erre nem képes, akkor a port DCP. Ha viszont egyáltalán nem készítették fel a szabványosnál nagyobb tápáram előállítására, akkor az a port SDP.
Az USB-csatlakozóaljzatokon úgy lehet engedélyezni az akkumulátortöltő üzemmódot, hogy egy 10 kΩ-os felhúzó-ellenállást kapcsolunk a teleptöltést konfiguráló vezetékre. Ezen vezetékek állapotát a rendszer az alaphelyzetbe állítási (reset) fázisában mintavételezi, és ha ott magas szintet érzékel, akkor engedélyezett a szabványosnál nagyobb áramú akkumulátortöltés. Az USB2534 csip esetében azonban a töltési üzemmódot másképp, a csipbe épített és az elemtöltést konfiguráló regiszter segítségével is beállíthatjuk. Ezeket a konfiguráló regisztereket a belső ROM-tárolóba írt firmware használja fel arra, hogy ezek alapján határozza meg az egyes portok akkumulátortöltési funkcionalitásait. A regiszterek tartalmát a ProTouch programozóeszköz segítségével, az eszköz egyszer programozható memóriájába lehet beégetni.
A Microchip által fejlesztett ProTouch az USB2534 hubvezérlő csip konfigurálására és programozására szolgál. Éppúgy használható egyedi példányok programozására a fejlesztés és protoípusgyártás során, mint nagy sorozatú egyforma példány előállítására a szériagyártásban.
Ha nincs Vbus-feszültség a visszavezető (upstream) porton, következésképpen nincs rácsatlakoztatva USB-hoszt, az USB-aljzat töltésre képes kialakítású portja DCP-portként működik. Ha viszont az upstream porton hosztcsatlakozás van, a töltésre képes kialakítású port kilép a DCP-üzemmódból. A DCP-üzemmód akkor is működésbe lép, ha az USB2534 csip felfüggesztett állapotban van, és a távoli ébresztés le van tiltva. A DCP-üzemmódú teleptöltésnél a port megkísérli a handshake-kommunikációt a töltésre képes eszközzel, és megpróbálja azt azonosítani. A DCP-üzemmódban az eszköz mindig a SE1-üzemmódban kezdi a működést. Annak megállapítására, hogy SE1-képességű eszköz van csatlakoztatva, nem képes, de felismeri a „nem SE1-képességűeket”, amikor az eszköz D+ vagy D‑ jele változik.
A RapidChange üzemmódba kapcsoláskor az USB2534 csip SE1 töltési üzemmódba kapcsol, és a port kiadja az SE1-re jellemző feszültségszinteket. Ha egy SE1-készülék van csatlakoztatva, az passzívan érzékeli a SE1-feszültségszintek jelenlétét és elkezdi a töltést. A DCP nem képes érzékelni a SE1-készülékek jelenlétét. A port ekkor SE1-üzemmódban marad, míg az SE’-típusú hordozható készülék töltődik.
Ha egy BC 1.2 készülék van csatlakoztatva, az elég nagy árammal terheli a D‑ vezetéket ahhoz, hogy alacsony szintre húzza. Hasonlóképpen a hagyományos töltőkészülékek arról ismerhetők fel, hogy a D‑ vezeték alacsony szintre kerül, ha csatlakoztatják őket. A töltésre alkalmas USB-aljzatok is hagyományos töltési üzemmódba kapcsolnak, ha a D‑ vezeték alacsony szintre húzását észlelik. A D‑ vezetéket „pergésmentesítik” annak érdekében, hogy ne kerüljön sor a többszörös érintkezés miatt ismételt készülékcsatlakoztatás-érzékelésre. A hagyományos töltési üzemmódot az 5. ábra mutatja.
5. ábra A hagyományos töltési üzemmód tömbvázlata
A töltésre alkalmassá tett USB-portok kilépnek a DCP-üzemmódból, és belépnek a SCP-be, ha a visszavezető (upstram) porton hosztcsatlakozás van. Az USB-hoszt címbeállítás (ste address) parancsának észlelésekor minden elemtöltésre alkalmas port legalább 250 ms-ra kikapcsolódik, mielőtt újra bekapcsolódna. Ennek célja, hogy időt hagyjon a port tápvezetékén levő feszültség nullára csökkenéséhez.
Ha a hoszt parancsot küld a tápfeszültség bekapcsolására, a parancs továbbítása egy bizonyos késleltetéssel történik. Ha a parancs vétele egy időzítés lejárta után következik be, azonnal végrehajtódik.
Egy külső mikrovezérlő (MCU) felülbírálhatja a töltési szituáció felismerésének automatikus folyamatát azáltal, hogy módosítja az SMBus futásidőben is módosítható regiszterét, amely az elemtöltéssel kapcsolatos beállításokat tartalmazza. Mivel alapértelmezésként az elemtöltés megkezdése van beállítva, az MCU-nak be kell írnia az elemtöltést vezérlő regiszter vagy a konfigurációs reteszelés (interlock) regisztert annak érdekében, hogy letiltsa az automatikus folyamatot, mielőtt az elkezdődhetne. Ha az automatikus folyamat le van tiltva, szükség esetén az MCU-nak van lehetősége, hogy egyedi paranccsal beindítsa.
Összefoglalás
Az USB-elemtöltés kényelmes módszert kínál a hordozható készülékek (pl. mobiltelefonok vagy tabletek) elemének újratöltésére.
Az USB-IF (USB Implementers’ Forum, az USB-szabványú eszközök egyeztető testülete) a BC1.2 elemtöltési specifikáció kiadásával segítette a töltők és a töltött készülékek között folyó protokollok szabványosítását annak érdekében, hogy az elemtöltés kellőképpen biztonságos legyen mind a töltő, mind a töltött készülék számára. A Microchip USB2534 hubvezérlő csip a beépített RapidCharge-algoritmus révén lehetővé teszi, hogy a hagyományos, az SE1, a kínai YD/T 1591-2009 telekomszabványú és az USB-IF BC1.2 elemtöltési protokollokkal lehetőség legyen az Apple, a Samsung és a legtöbb egyéb mobileszköz-gyártó készülékeinek elemeit feltölteni. A hubvezérlő arra is alkalmas, hogy olyan hordozható készülékekben, amelyekben meg kell valósítani az elemtöltő-detektálást, el tudja látni ezt a feladatot.
[1]A szövegben számos olyan kifejezés fordul elő, amelyet a magyar szaknyelv gyakorlatilag mindig angol változatban használ. Ezekben az esetekben az erőltetett magyar fordítás az érthetőséget rontaná. Mivel azonban a cikk egyébként sem „könnyű olvasmány”, és az USB-alapfogalmak bizonyos mértékű ismerete nélkül amúgy sem követhető, több esetben megtartjuk (vagy alternatív megnevezésként közöljük) a szokásos angol terminológiát a jobb olvashatóság érdekében. A nem közismert rövidítéseket (legalább egyszer) mindenütt feloldjuk és megkíséreljük érthetővé tenni, de a fogalom ismétlődő előfordulásainál számos helyen minden további értelmezés nélkül használjuk a rövidítést. Ha ez gondot okoz, javasoljuk, hogy keresse fel újra a cikk korábbi fejezetét, ahol a rövidítést definiáltuk. – A ford. megj.
Még több Microchip
Címkék: USB elemtöltés | USB | hubvezérlő | USB2534