A trecut deja ceva vreme de la lansarea ideii că e timpul pentru Ethernet in Automotive. În toată această perioadă, metodele s-au îmbunătățit, modelele de implementare s-au desăvârșit și ideea poate fi aplicată. De aceea, pentru a vă face o impresie cât mai bună, detaliile prezentate în rândurile următoare sunt sugestive în acest sens.
În ziua de astăzi o mașină din gama de top, conține puțin peste 100 de ECU-uri și vă puteți imagina că partea de software depășește pragul de GBytes. Așadar, o rețea funcțională care să confere încredere deplină nu este o chestiune numai de dorit dar este chiar obligatorie. Practic, industria automotive a dezvoltat în fiecare moment soluții menite să-i asigure nevoile, pe baza diverselor tehnologii ca: LIN (Local Interconnection Network), CAN (Control Area Network), FlexRay … MOST (Media-Oriented System Transport). Fiecare dintre acestea au fost și sunt în continuare foarte bune dar niciuna dintre variante nu oferă o opțiune comună pentru interconectare din moment ce sunt bazate pe protocoale de comunicație specifice. Mai mult decât atât, nu există un model cu nivele multiple care să ofere utilitatea de a crea o rețea cu posibilități de comutare. Dar Ethernetul (ENET) poate oferi acest lucru.
În contrast cu soluțiile deja existente, ENET-ul vine cu această flexibilitate a nivelelor care merge de la nivelul aplicației unde alegerile de software pot fi multiple, refolosirea și interschimbarea pe aceleași nivele de protocol, viteze diferite pe nivele, până la faptul că adăugarea unui nou participant la rețea nu va duce la perturbarea tuturor celor conectați și limitarea benzii de comunicație, ci doar a acelui participant la care se face conexiunea în mod direct. De asemenea, veți beneficia de un mediu capabil să treacă testele de emisie și imunitate până la reducerea de costuri și disponibilitatea de noi funcționalități.
Însă a nu se înțelege că se poate beneficia de toate aceste avantaje aduse de implementarea ENET-ului în arhitectura unei mașini prin simpla lui înglobare, fără a avea o interfață de comunicare Ethernet PHY (ENET PHY), care este una dintre componentele cheie a nivelului fizic. Modulul de ENET (integrat ca periferic în arhitectura unui microcontroller) nu este îndeajuns pentru ca un NODE_A să trimită date către un NODE_B al rețelei Ethernet. Ca parte a nivelului fizic, fiecare nod (modul de ENET) are nevoie de un ENET PHY ce are grija să-l interconecteze. înseamnă că acesta va întruni toate cerințele legate de modulația semnalelor. Interesant de menționat este că mai multe PHY-uri (pana la 32) pot fi conectate la un modul de ENET.
Actualmente există mai multe soluții pentru interfețele de ENET PHY, dar toți furnizorii folosesc o interfață standard de semnale pentru a crea posibilitatea de interconectare între PHY și modulul de bază. Această interfață standard se numește Media Independent Interface (MII) și este folosită pentru a lega nivelul de MAC (Media Access Control) al unui modul ENET cu PHY-ul aferent.
Semnalele unei interfețe MII sunt prezentate în figura de mai jos:
MII conține 18 pini în două grupuri diferite:
Pe de o parte, pentru configurația PHY-ului, ne folosim de comenzile SMI (Serial Management Interface) pe doi pini: MDC (Management Data Clock) și MDIO (Management Data Input/Output) așa cum sunt ele definite de către standardul IEEE802.3. Semnalul de tact este generat de către MAC pe pinul de MDC și trebuie să respecte frecvența maximă a PHY-ului specificată de furnizor. O frecvență tipică este 2.5 MHz. MDIO este un pin bidirecțional pe care sunt trimise comenzile de configurare și este citită starea registrelor.
Pe de altă parte, sunt pinii de date și de control. Sunt folosiți 16 pini pentru a transmite și recepționa date. TXD [3:0] si RXD [3:0] sunt pinii efectivi de date. TX_CLK si RX_CLK sunt pinii de tact pentru transmisie și receptive și sunt furnizați de către PHY. Ținând cont că sunt 4 pini de date și frecvența este de 100MBS, rezultă ca TX si RX au câte 25MHz. Acest semnal de ceas este furnizat de un oscilator extern atașat PHY-ului. Pentru reducerea interferențelor EMI, în cadrul unui PHY care este folosit doar pentru recepție, semnalul de ceas TX poate fi dezactivat. Restul de pini stabilesc o legătură corectă între modulul gazdă și PHY. De exemplu, dacă PHY-ul primește date și RX_CLK este activ, RX_DV este activat de către PHY și modulul ENET, gazda va primi datele. Când modulul ENET gazda vrea să trimită date, dacp TX_CLK este activ, TX_EN este activat de către gazdă și astfel PHY-ul va recepționa datele.
Cu scopul de a simplifica layoutul circuitelor mai complicate, ca de exemplu al switchurilor (unde sunt o sumedenie de semnale) au fost create câteva variante ale MII. Cele mai comune sunt:
MII-lite: are numai 14 pini (12 pentru date) și pot atinge aceeași capacitate de transfer de date. Semnalele CRS (Receive Carrier Sense), TX_ERR, RX_ERR si COL (Collision signal) lipsesc. În afară de cele menționate, interfața MII-lite funcționează în mod similar.
RMII: Folosește jumătate din semnalele lui MII. TX_CLK si RX_CLK sunt combinate într-un singur semnal de ceas furnizat de un circuit extern (sau de către gazdă în unele cazuri). Din moment ce pinii de date sunt și ei înjumătățiți (TXD [1:0] si RXD [1:0]) pentru a atinge 100MBS, frecvența de ceas este de 50MHz.
Într-un switch, router sau PC, PHY-ul folosit este de tipul 10/100BASE-TX pentru legătura între modulul ENET gazdă și o mufă de tip RJ45. Pe de o parte, dacă ne gândim la o schemă bloc, PHY-ul este conectat prin interfața MII la gazdă, iar în cealaltă parte are 4 pini conectați la mufa de tip RJ45. Adică două perechi de fire diferențiale care transmit date pe cablul UTP. Se transmit 100Mbits/s pe fiecare dintre perechile răsucite, la viteza de 125MBaud unidirecțional folosind Block Coding (4B5B) si MLT-3 (Multi Level Transmit pe trei nivele).
Cablurile de tip UTP Cat-x au 4 perechi de fire răsucite. În total sunt 8 fire din care sunt folosite 4 pentru transmisia de date de către 10/100BASE-TX ENET PHY's. Din perspectiva domeniului automotive, aceasta înseamnă costuri mari, emisii EMI și poate cel mai important … un punct de îmbunătățire. De aceea, a fost dezvoltat PHY-ul de tip BroadR-Reach. Cea mai mare inovare ar fi faptul că BroadR-Reach PHY are nevoie de doar o pereche de fire răsucite și este totuși full-duplex. Este așadar o soluție mai ieftină ce reduce costurile pentru cablare din moment ce cablul de tip CAT-x nu este necesar. Modularea semnalelor folosită în acest caz ajută la mai mult decât satisfacerea standardelor de automotive în ceea ce privește zgomotul și nivelul de jitter, fiind astfel o variantă perfectă pentru înlocuirea 100BASE-TX în automotive.
BroadR-Reach este dezvoltat și promovat de către OPEN Alliance SIG (One-Pair Ether-Net Alliance Special Interest Group) sub standardul IEEE 802.3 pentru 100BASE-T1 [3].
Așa cum deja am menționat, datele sunt transmise pe o singură pereche de fire de cupru folosind Physical Coding Sublayer (PCS) și 3 bits per simbol - PAM3 (Pulse-amplitude Modulation pe trei nivele). Suportă doar formatul de comunicare full duplex, transmițând date în ambele direcții simultan. Perechea de fire răsucite trebuie să suporte 100Mbps, pentru o lungime de maxim 25m. Datele sunt transmise cu 66Mbaud bidirecțional. Nu are nevoie de un conector specific.
O mențiune importantă este faptul că pentru o conexiune de tipul BroadR-Reach între două PHY-uri, unul trebuie configurat ca master și celălalt ca slave. Când facem referire la un nod, acesta poate fi un microcontroller, un PC sau portul unui switch sau router. Dacă PHY-ul conectat la microcontroller (pe interfața MII) este de tip master atunci portul de la switchul/routerul cu care este în legătură trebuie configurat ca slave. În comparație cu PHY-urile de tip 100BASE-TX, aceasta este o diferență importantă.
Practic, transceiverul fizic constă într-un cip integrat de tip CMOS ce poate fi găsit la Broadcom ca BCM89810, pentru un singur port de comunicație sau de la NXP ca si TJA1100.
Ca exemplu de utilizare, în faza de dezvoltare a fost necesară conectarea modulului de ENET (de la microcontroller) într-o rețea de test, folosind un router. Mai multe noduri au fost conectate pentru a comunica pe TCP/IPV4. Numai un singur nod a folosit BroadR-Reach PHY care nu poate fi direct conectat la 10/100BASE-TX PHY. Vă amintiți că interfața fizică de 100BASE-TX folosește două perechi răsucite unidirecționale în timp ce BroadR-Reach folosește o pereche răsucita bidirecțională. Problema a fost rezolvată utilizând un media convertor (în acest caz de tip Easy CON Converter care poate fi configurat ca master sau slave) care să lege PHY-ul BroadR-Reach la PHY-ul 10/100BASE-TX (ce poate fi un alt nod, switch sau router).
Astfel, dintre toate cele prezentate aici, avantajul clar al compatibilității software-ului, ușurința în implementare și eficiența costurilor îl recomandă drept cea mai bună soluție existentă în acest moment.
NXP internal documentation
de Lucian Torje
de George Bara