O privire asupra avantajelor HSIC faţă de USB şi procedurile de conexiune implicate.
de Andrew Rogers, Inginer de aplicaţii, Microchip Technology Inc.
Interfaţa HSIC (high-speed inter-chip) devine din ce în ce mai cunoscută datorită avantajelor notabile faţă de USB pentru aplicaţiile inter-cipuri conectate prin fire. Interfaţa sincronizată prin două semnale poate oferi transfer de date USB de mare viteză la 480Mbit/s. Transferul de date este 100% compatibil cu driverul gazdă din topologiile tradiţionale USB. Formatul nu suportă FS (Full-speed) şi LS (low-speed), dar totuşi un hub cu HSIC poate furniza suport pentru FS şi LS.
Interfaţa diferă faţă de USB numai la nivel fizic. Caracteristicile semnificative includ faptul că nu există protocol de chirp (semnal sinusoidal cu frecvenţă variabilă), transmisie de date serială cu sursă sincronă şi nu există îndepărtare sau conectare în timpul funcţionării deoarece interfaţa este mereu conectată.
Ea are nivele de semnal de 1,2V proiectate pentru aplicaţii de joasă putere ca standard la nivele LV CMOS. Lungimea maximă a traseului este de 10cm.
Protocolul pentru transferul de date între gazdă şi dispozitiv prin HSIC este acelaşi ca la USB, după cum se poate observa în figura 1.
Diferenţa principală este aceea că toate informaţiile sunt transmise printr-o singură linie de date, iar un semnal stroboscopic anunţă când să se eşantioneze semnalul digital recepţionat. HSIC utilizează semnalizare cu viteză de date dublă DDR (double data rate); datele sunt eşantionate atât pe frontul crescător, cât şi pe cel descrescător al semnalului stroboscopic. Acest semnal oscilează la o frecvenţă de 240MHz, ceea ce oferă o viteză totală de transfer de date de 480Mbit/s.
Avantaje faţă de USB
După cum s-a menţionat, HSIC are avantaje semnificative faţă de USB. Pentru început, el este un standard complet digital şi de aceea nu este necesară nicio parte finală analogică. Lipsa de necesitate a acestei părţi analogice însemnă că dimensiunea poate fi redusă, şi de asemenea şi costul. O reducere suplimentară poate fi de asemenea făcută datorită cantităţii reduse de logică digitală solicitată de protocolul de conectare simplificat.
Standardul HSIC nu reduce în mod inerent consumul energetic, dar eliminarea părţii analogice poate conduce la scheme de putere redusă, în special pentru că circuitele analogice nu sunt neapărat scalabile unu la unu cu circuitele digitale. HSIC este în special de joasă putere atunci când este plasat în stare suspendată, deoarece nu este pierdere de curent pe semnalul stroboscopic şi pe liniile de date. Prin comparaţie, în modul suspendat, USB-ul standard consumă un minim de 200μA pe D+ printr-o rezistenţă de pull-up de 1,5kΩ.
Deoarece HSIC este diferită de USB la nivel fizic, migrarea de la USB la HSIC nu este precum trecerea la un standard complet nou. Acest lucru înseamnă că pachetele software USB existente şi cunoştinţele de bază legate de protocolul USB pot fi uşor transferate către HSIC.
Eşantionare de date
Cu USB standard, fiecare pachet de date începe cu un model de sincronizare pentru a permite ceasului receptorului să se sincronizeze cu faza datelor recepţionate. Semnul diferenţial al semnalului D+/D- este apoi eşantionat conform modelului de sincronizare. HSIC utilizează o linie separată de semnal stroboscopic pentru a spune receptorului când sosesc eşantioanele datelor de intrare. Semnalul de date HSIC este eşantionat pe fronturile crescător şi descrescător ale semnalului stroboscopic. Dacă semnalele stroboscopic şi de date devin distorsionate din orice motiv, datele eşantionate pot deveni corupte. Specificaţiile electrice HSIC definesc o distorsiune maximă permisă de 15ps.
Pentru siguranţa că distorsiunile nu devin o problemă, traseele HSIC trebuie să fie cât de scurte posibil şi trebuie să nu fie mai lungi de 10cm. Traseele de date şi de semnal stroboscopic trebuie să aibă aceeaşi lungime şi trebuie rutate către o impedanţă single-ended de 50Ω. Pentru a ilustra mărimea distorsiunii posibilă în lumea reală, figura 2 prezintă începutul unui pachet de test transmis de la o gazdă la un dispozitiv cu lungimi egale.
În figura 3 este prezentat acelaşi pachet trimis de la aceeaşi gazdă cu un traseu al semnalului stroboscopic mai lung cu aproape 10 cm decât traseul de date. Distorsiunea rezultată este de aproape o jumătate de nanosecundă. Acesta este un exemplu extrem, dar rezultatele sugerează că şi o mică nepotrivire de lungimi poate conduce la o violare a specificaţiilor HSIC.
Natura single-ended şi diferenţele în terminarea semnalului cauzează unele dificultăţi atunci când se încearcă examinarea liniilor HSIC. Semnalele standard USB pot fi uşor monitorizate şi descifrate prin plasarea unei sonde diferenţiale conectate la un osciloscop preluând date fie de la transmiţător, fie de la receptor. Semnalele HSIC sunt mult mai sensibile şi de aceea, când se preiau valori de la ele, trebuie ţinut cont de teoria liniei de transmisie.
Un bun ghid general este de a se testa pe partea opusă sursei semnalului ce trebuie să fie observat. De exemplu, pentru a observa semnalele care provin de la un dispozitiv, sonda trebuie plasată la terminalele de pe partea gazdei. Pentru a observa semnalele care provin de la o gazdă, sondele trebuie plasate la terminalele din partea dispozitivului.
Atunci când se încearcă măsurarea semnalelor care provin de la un dispozitiv cu sondele plasate pe partea dispozitivului, semnalul devine distorsionat. Acest lucru se petrece datorită interferenţelor cauzate de reflectarea semnalului înapoi către el însuşi. Mijlocul traseului poate fi de asemenea sondat, dar rezultatele sunt tipic nu aşa de curate cum ar fi dacă sondele ar fi plasate corect pe o parte. Ideal ar fi să se sondeze simultan la ambele capete. Un analizor de protocol serie poate fi capabil să eşantioneze precis semnalele în ambele direcţii, dar restricţiile legate de lungimea traseului de 10 cm face nepractică această opţiune.
Realizarea conexiunii
Interfaţa HSIC este structurată astfel încât o gazdă sau periferic pot fi alimentate în orice ordine. Pentru a se asigura că nu este detectată o falsă conexiune, gazda, hub-ul şi perifericele trebuie să asigure că liniile de date sau semnal stroboscopic nu iau o valoare nedeterminată, uzual cunoscută sub denumirea de a treia stare.
Figura 4 arată o captură de la un osciloscop cu o secvenţă de conectare. Această secvenţă de conectare este mult mai simplă decât secvenţa de conectare USB pentru că nu există viteze de negociat. Această secvenţă poate fi gestionată cu o maşină de stări foarte simplă, reducând dimensiunile circuitului.
Cu USB standard, gazda poate determina dacă un port de descărcare (downstream) a fost deconectat prin monitorizarea mărimii tensiunii semnalelor DP/DM. Dacă tensiunea depăşeşte pragul de tensiune de deconectare, gazda poate concluziona că dispozitivul a fost deconectat. HSIC nu asigură suport pentru protocol de deconectare deoarece a fost realizat intenţionat ca o conexiune permanent conectată. Totuşi, este încă posibilă o situaţie în care un dispozitiv de downstream poate apărea ca fiind deconectat, şi trebuie avută atenţie ca gazda să nu piardă permanent legătura cu dispozitivul.
Această deconectare aparentă sau impas poate apărea pentru că gazda menţine întotdeauna o stare de inactivitate atunci când magistrala nu este utilizată, iar această stare este identică cu o stare de suspendare din punctul de vedere al unui semnal. Gazda nu are nicio cale de a şti dacă sau când unui dispozitiv de downstream i s-a oprit alimentarea sau a fost deconectat. Atâta vreme cât semnalul de suspendare este identic celui de inactivitate, este posibil atingerea unei stări în care dispozitivul de downstream crede că a fost suspendat, în timp ce gazda crede că nu există dispozitiv de downstream şi aşteaptă indefinit apariţia unui semnal de conectare. O condiţie similară de impas poate apărea dacă gazda dezactivează portul în vreme ce dispozitivul crede că a fost suspendat.
Această condiţie nu este probabil să apară între gazdă şi dispozitivele care nu au niciodată cicluri de putere sau reiniţializare soft. Dacă această problemă este întâlnită, ea trebuie rezolvată într-o manieră specifică aplicaţiei fie la nivel de legătură, fie la nivel de pachet software. Acest lucru poate fi făcut prin programarea pachetului software sau proiectarea legăturii într-un fel în care să prevină apariţia condiţiei în primul rând. Alternativ, SoC poate încerca să aibă de-a face cu un dispozitiv de downstream după deconectare prin reiniţializarea hub-ului HSIC. Va începe secvenţa de descoperire a dispozitivului, iar conexiunea va fi restabilită.
Pe dispozitivele Microchip USB254x, USB3613, USB3813, USB4604 şi USB4624, SoC poate utiliza pinul VBUS_- DET pentru restabilirea conexiunii. Acest pin în stare de nivel logic inferior suspendă hub-ul, iar în stare logică superioară îl activează.
Concluzie
Standardul HSIC are avantaje faţă de USB pentru proceduri de conectare şi deconectare corecte. Aceste proceduri sunt în mod particular importante când se rezolvă anumite probleme ce implică o conectivitate HSIC ■
Microchip Technology
www.microchip.com