USB (Universal Serial Bus) este la ora actuală cea mai utilizată interfaţă de computer din lume. A început ca magistrală de extensie pentru computere personale, dar a proliferat rapid datorită flexibilităţii sale, performanţelor şi capabilităţii de utilizare în timpul funcţionării. Majoritatea dispozitivelor electronice portabile ce necesită conectivitate la PC, utilizează USB. Printre aceste dispozitive se pot evidenţia MP3 playere, camere digitale, telefoane mobile şi tablete.
Deoarece un port standard de magistrală USB poate oferi un curent de cel puţin 500mA (USB 2.0) sau 900mA (USB 3.0), a fost convenabilă utilizarea sa pentru încărcare. Dar dacă limita de curent ar putea fi crescută, încărcarea ar putea fi mult mai eficientă. Acest lucru poate fi realizat utilizând controlerul de hub MICROCHIP USB2534 cu funcţie de încărcare rapidă (RapidCharge).
Dacă curentul necesar depăşeşte limitele, atunci atât dispozitivul de încărcat, cât şi portul de încărcare trebuie să urmeze un protocol pentru a activa încărcarea bateriilor. Un port de încărcare a bateriei în aval este responsabil pentru furnizarea de semnale de handshake potrivite către dispozitivul de încărcare pentru a semnala faptul că este atașat la un port de încărcare și poate trage curent peste limitele USB standard.
Semnalizarea potrivită variază în funcţie de dispozitivele portabile. Unele dispozitive portabile urmează protocoalele USB-IF BC1.2, dar există o bază instalată a dispozitivului ce utilizează protocoale de handshake brevetate, cunoscute de asemenea ca moduri vechi de încărcare a bateriilor.
Dispozitivele vechi suportă unele forme de detecţie a încărcării bateriei realizate pentru încărcătoare dedicate. Unele dintre aceste încărcătoare conectează direct D+ la D- sau le conectează printr-o rezistenţă serie. Pentru detecţia încărcătorului, unele dispozitive vechi susţin o tensiune pe D+ şi apoi detectează tensiunea pe D-. Dacă este detectată o tensiune pozitivă, dispozitivul poate constata că este conectat la un încărcător dedicat şi nu la un port standard USB. Alte dispozitive pun nivel inferior pe o linie de date şi nivel superior pe o alta. Odată ce dispozitivul detectează un încărcător prin prezenţa unei tensiuni pe D-, el poate începe încărcarea prin conexiunea Vbus la nivele de curent care depăşesc specificaţiile USB.
Alte dispozitive mai vechi se bazează pe încărcător, pentru a comanda tensiuni fixe (mai mult de 1V) pe liniile de date D+ şi D-. Acestea sunt numite încărcătoare SE1. Dacă aceste tensiuni sunt detectate de către încărcător, dispozitivul recunoaşte conectarea la încărcătorul dedicat şi începe încărcarea. Un port USB standard nu ar prezenta aceste tensiuni fixe pe liniile D+ şi D-.
Detecţia încărcătorului
Dispozitivul portabil este responsabil pentru detecţia încărcătorului, iar figura 1 prezintă hardware-ul care este necesar.
În figura 1 sunt prezente cinci blocuri funcţionale – detectare Vbus, detectare contact date, detectare primară, detectare secundară şi detectare ACA. Un dispozitiv portabil include un comparator de validare a sesiunii. Vbus trebuie să fie peste tensiunea de prag înainte de iniţierea detecţiei încărcătorului. Acest lucru este prezentat pe schemă ca VOTG_SESS_VLD.
Detecţia contactului de date este un bloc opţional utilizat pentru a confirma că liniile de date au făcut contact în timpul ataşării. Sunt pornite o sursă de curent pe D+ şi o rezistenţă de coborâre pe D-. Dacă linia D+ coboară, acest lucru indică ataşarea la un port de încărcare sau la un port standard, iar logica trece la detectarea primară. Un circuit de temporizare este necesar pentru a asigura că detecţia primară începe după un timp stabilit în urma conectării sau blocul de detecţie al contactului de date nu este prezent.
Pentru implementarea detecţiei primare este nevoie de un dispozitiv portabil, ce este necesar pentru a distinge între un port standard (SDP) şi unul de încărcare. Figura 2 prezintă ce se întâmplă atunci când un dispozitiv este conectat la un port de încărcare dedicat (DCP), figura 3 când este conectat la un port de încărcare în aval (CDP) şi figura 4 când este încărcat la un port standard SDP.
Detecţia secundară este utilizată pentru a distinge între un DCP şi un CDP. Dacă un dispozitiv portabil este gata pentru specificare într-un interval dat de timp după detecţia Vbus, el poate trece peste detecţia secundară, altfel trebuind să o implementeze. Numai dispozitivele portabile cu conector USB Micro-AB pot suporta detecţie ACA şi de aceea este opţională. Detecţia este realizată prin măsurarea rezistenţei pinului ID.
Încărcarea bateriei
Controlerul hub Microchip USB2534 include tehnologie de încărcare rapidă (RapidCharge) pentru a oferi semnale corespunzătoare de handshake către dispozitivele portabile pe porturi în aval pentru a activa încărcarea. El include de asemenea capabilitate de detecţie şi a unui încărcător de baterii în amonte. Pentru încărcarea majorităţii dispozitivelor portabile este necesară oferirea de semnale de handshake corespunzătoare pentru încărcătoare vechi, încărcătoare SE1, încărcătoare conforme cu specificaţiile industriei de telecomunicaţii din China YD/T 1591-2009 şi dispozitive conforme BC1.2. Controlerul hub include toate aceste protocoale pentru a implementa soluţii complete de încărcare a bateriilor suportând dispozitive precum Apple, Samsung şi alţii.
Dacă un port USB în aval este configurat pentru a suporta încărcare de baterii, portul este un CDP dacă poate specifica dispozitivul sau DCP dacă nu îl poate specifica. Dacă portul nu este configurat pentru a suporta încărcare de baterii, acesta este un SDP. Porturile în aval pot fi activate pentru încărcare de baterii prin adăugarea unei rezistenţe pull-up (10kΩ) pe bareta din configuraţia de încărcare a bateriei pentru portul corespunzător. Aceste barete sunt evaluate la reiniţializare şi dacă au valoare ridicată, atunci portul corespunzător este activat pentru încărcare baterii.
Încărcarea bateriilor poate fi de asemenea activată prin utilizarea unor registre de încărcare a bateriilor rezidente pe USB2534. Aceste registre de configurare sunt utilizate de firmware-ul intern ROM pentru a configura funcţionalitatea de încărcare a bateriei pentru fiecare port. Aceste registre pot fi modificate printr-o configuraţie programată în memorie OTP (one time programmable) utilizând unealta de programare ProTouch.
ProTouch este o unealtă dezvoltată de Microchip pentru configurarea şi programarea controlerului hub USB2534. Ea poate fi utilizată pentru dezvoltare şi prototipare acolo unde o singură componentă este programată sau pentru componente multiple într-un mediu de fabricaţie.
Atunci când nu există Vbus în amonte şi, în consecinţă, nu există nicio gazdă USB conectată în amonte, porturile din aval activate pentru încărcarea bateriilor vor opera ca porturi DCP. Porturile activate pentru încărcarea bateriilor vor ieşi din acest mod dacă apare o conexiune gazdă în amonte. Modul DCP va fi de asemenea activat dacă USB2534 este suspendat şi activarea de la distanţă este dezactivată. În modul DCP de încărcare, portul va încerca un semnal de handshake pentru a identifica dacă dispozitivul este capabil de BC. În modul DCP dispozitivul porneşte întotdeauna în mod SE1. El nu poate detecta dacă este ataşat un dispozitiv SE1, dar poate detecta dacă este ataşat un dispozitiv non-SE1, moment în care dispozitivul trece pe DM sau DP.
La intrarea în modul RapidCharge, USB2534 intră în modul de încărcare SE1, iar portul prezintă nivelele de tensiune SE1. Dacă este ataşat un dispozitiv SE1, el va detecta pasiv nivelele SE1 şi va începe să se încarce. DCP nu va fi capabil să detecteze prezenţa dispozitivului SE1. Portul rămâne în modul de încărcare SE1 cât timp se încarcă SE1 PD.
Dacă este ataşat un dispozitiv BC 1.2, curentul său este suficient de puternic pentru a trage în jos linia D-. De asemenea, la dispozitivele de încărcare vechi s-a observat că trag în jos linia D- atunci când sunt ataşate. Pentru a se potrivi acestui lucru, tranziţiile portului din aval pentru modul de încărcare vechi au loc dacă starea liniei D- este de nivel jos. Starea liniei D- este făcută să varieze la început pentru a evita false detecţii. Modul de încărcare vechi este prezentat în figura 5.
Porturile activate pentru încărcarea bateriilor vor ieşi din modul DCP şi vor intra în modul CDP dacă portul din amonte va primi o conexiune gazdă. La detecţia comenzii de adresă gazdă USB, orice port activat BC va fi oprit pentru cel puţin 250ms înainte de a putea fi pornit pentru a permite puterii pe port să slăbească. Dacă gazda trimite o comandă pentru a porni puterea pe port, comanda va fi întârziată corespunzător. Dacă recepţia comenzii se face după expirarea intervalului de timp, ea va fi executată imediat. Un microcontroler extern poate suprascrie secvenţa de detecţie automată a încărcării prin modificarea registrelor de încărcare a bateriilor. Deoarece pornirea detecţiei încărcării bateriei este prevăzută să apară implicit, MCU trebuie să scrie în registrul de control a încărcării sau în registrul de configurare pentru a dezactiva secvenţa automată înainte ca aceasta să apară. Dacă secvenţa automată este dezactivată, MCU poate să o iniţieze manual.
Concluzie
Încărcarea bateriilor prin USB oferă un mecanism foarte convenabil de reîncărcare a bateriilor dispozitivelor portabile precum telefoane mobile şi tablete. USB-IF a publicat specificaţiile de încărcare BC1.2 pentru a ajuta la standardizarea protocoalelor utilizate între încărcătoare şi dispozitivele încărcate pentru a activa în siguranţă încărcarea bateriilor. Controlerul hub Microchip USB2534 cu funcţie RapidCharge oferă protocoale de încărcare a bateriilor ce includ mod vechi, SE1, Industria de Telecomunicaţii din China YD/T 1591-2009 şi USB-IF BC1.2 pentru a implementa suport de încărcare pentru dispozitive precum Apple, Samsung şi majoritatea celorlalte dispozitive. Controlerul hub suportă de asemenea detecţia încărcării bateriei pentru utilizare la dispozitive portabile ce necesită capabilitate de detecţie a încărcătorului USB ■
Microchip Technology
www.microchip.com