Protocoalele de bus ale reţelelor locale de interconectare (LIN) definesc o reţea pentru conectarea controalelor simple precum: comutatoare, afişoare, senzori şi acţionări în aplicaţii auto la un preţ scăzut ce poate fi realizat folosind CAN (reţele cu arie controlată), MOST, sau Formaţie de biţi (ByteFlight). Dar deşi el era iniţial proiectat pentru automobile, bus-ul LIN este un protocol deschis care poate fi la fel de bine folosit în aplicaţii industriale sau domestice. El furnizează robusteţe, reţea de dimensiuni limitată care este mai bine adecvată pentru conectarea controalelor simple pe distanţă scurtă unde împrăştierea nu este un factor critic.
Bus-ul LIN standard include specificaţii pentru protocolul transmisiei, mediul de transmisie şi interfaţa dintre uneltele de dezvoltare şi are următoarele calităţi:
• Un singur master / slave-uri multiple;
• Cost scăzut de implementare cu siliciu, bazat pe interfaţa hard USART / SCI;
• Uşor de implementat;
• Sincronizare proprie fără cuarţ sau rezonatoare ceramice în noduri slave;
• Timpul de întârziere garantat pentru semnalul transmis;
• Cost scăzut, implementare numai cu fire;
• Viteză până la 20 Kbiţi/sec.
Master-ul transmite la secundare, iar acestea transmit numai când sunt chestionate de master. Momentul de iniţiere a transmisiei de slave este atunci când el trebuie să furnizeze un semnal de trezire. Nodurile secundare identifică mesajul lor prin biţii de identificare, care înseamnă că o serie de noduri pot recepţiona acelaşi mesaj. Un cadru standard de date al magistralei LIN este arătat în figura 1.
Un cadru de date standard iniţiază procesul de comunicaţie cu o pauză de sincronizare, care este urmat de un delimitator de sincronizare de 1 la 4 Tbiţi. După ce delimitatorul este trimis, câmpul de sincronizare este transmis, permiţând astfel nodurilor slave să-şi ajusteze rata lor de transmisie la semnalul transmis.
O dată ce câmpul de sincronizare este transmis, câmpul de identificare este furnizat; acesta include biţii de identificare şi doi biţi de paritate. Biţii de paritate identifică datele cărui slave sunt relevante şi spune ce să facă cu datele. După identificarea câmpului este trimisă adresa modulului slave care răspunde la mesaj sau master-ul păstrează datele de transmitere. O secvenţă anume a biţilor de identificare poate fi folosită la recepţionarea datelor de la nodurile slave, unde alţi biţi de identificare pot indica ce tip de date urmează. Cadrul de date se sfârşeşte cu o sumă de control, care este calculată peste toţi biţii de date (nu include biţii de identificare şi câmpul de sincronizare).
Alt cadru furnizat de bus-ul LIN principal este cadrul de adormire care pune bus-ul şi nodurile într-un mod de alimentare scăzut. Cadrul de adormire este similar la un cadru de date exceptând atunci când câmpul de identificare conţine valoarea 0x80. Proiectantul sistemului are opţiunea să transmită date care să urmeze sau nu câmpul de identificare. Modul de adormire a bus-ului încetează când un semnal de trezire este recepţionat. Master-ul sau oricare nod secundar poate trimite un semnal de trezire.
Când master-ul sau un slave trebuie să trimită un semnal de trezire, valoarea 0x80 este urmată de un delimitator de trezire de 4 la 64 Tbiţi. După aceasta master-ul trimite un cadru de date. Dacă master-ul sfârşeşte să transmită pauza de sincronizare după 128 Tbiţi, un nou semnal de trezire este trimis. Acest procedeu nu este repetat mai mult de trei ori.
Bus-ul LIN într-o aplicaţie de “bunuri albe”
Într-o aplicaţie tipică de uscător de rufe, utilizatorul selectează temperatura, timpul de uscare, perioada de răcire joasă de la un panou de control de pe uscător. La acel punct electronica preia controlul în uscător. Senzorii ce controlează temperatura, gradul de uscare, ciclul de răsucire, etc., sunt direct cablaţi la panoul de control. Această abordare este scumpă deoarece fiecare fir a fost cablat la panoul de control. Dar dacă toţi senzorii, motoarele şi unităţile de afişare sunt conectaţi la un singur bus, atunci numai un singur fir este cablat prin maşina de spălat, reducând considerabil costurile de service şi costurile de producţie.
Figura 2 arată un exemplu de reţea pentru un uscător.
De exemplu, într-un uscător care încorporează un bus LIN, după ce utilizatorul selectează un program pentru ciclul de uscare, procesorul principal (care funcţionează ca master) preia controlul. Înainte de pornirea procesului de uscare, master-ul baleiază senzorul modulului uşă să vadă dacă zăvorul este închis. Dacă zăvorul este deschis un mesaj poate fi afişat pe panoul de control sau un sunet poate fi generat. Dacă zăvorul este închis, master-ul trimite o comandă la elementul de încălzire să pornească încălzirea şi o comandă la motor să pornească răsucirea. Utilizând un singur identificator se îndeplinesc ambele sarcini. Motorul şi elementul de încălzire selectează acest identificator şi porneşte încălzirea şi răsucirea.
O dată ce uscătorul porneşte ciclurile sale, senzorul de temperatură baleiază la fiecare secundă spre a vedea dacă temperatura prescrisă a fost atinsă, şi dacă a fost realizată, master-ul indicând apoi elementului de încălzire să se oprească. Temperatura va continua să fie monitorizată spre a se asigura că aceasta nu scade mai jos de o valoare minimă.
Pe durata ciclului de uscare master-ul verifică continuu spre a vedea dacă zăvorul uşii este închis. Dacă zăvorul arată că este deschis pe durata ciclului de uscare, master-ul trimite o comandă la bus să oprească încălzirea şi motorul.
Unitatea master are un contor de timp special programat de ciclul de uscare. După ce procesul de uscare este terminat, master-ul porneşte procesul de rând elementul de încălzire este oprit, dar uscătorul continuă să răsucească. După ce ciclul de răcire este terminat, master-ul trimite un mesaj la panoul de control să afişeze că ciclul este terminat. Unitatea de afişare va arăta un mesaj text sau utilizând un buzer va genera un sunet.
Dezvoltarea şi depanarea prin bus-ul LIN
Nodurile de depanare a bus-ului LIN pot fi accesate folosind un PC. De exemplu, master-ul poate fi programat să intre în modul de depanare/dezvoltare când două taste sunt apăsate pentru mai mult de două secunde. În acest mod el poate activa modurile de depanare sau să descarce o nouă secvenţă în noduri.
Bus-ul LIN permite uscătorului să fie programat pentru diferite trăsături ca sarcină de control automată. Fie că are un modul diferit pentru fiecare caracteristică (care înseamnă că modulul necesită a fi stocat şi menţinut), fie acelaşi modul de control de bază poate fi folosit pentru toate caracteristicile. Caracteristica poate fi permisă pe durata procesului de producţie de trimiterea unei comenzi de configurare prin bus-ul LIN la noduri, unde ele sunt memorate într-un EEPROM. În fiecare moment un nod este alimentat să-şi încarce configuraţia sa din EEPROM.
Altă opţiune este că fiecare moment când uscătorul este pornit master-ul trimite o configurare prin bus-ul LIN la noduri, care are elimina nevoia unui EEPROM.
Folosind un bus LIN se economisesc bani prin eliminararea necesităţii de module multiple de program şi fire suplimentare. Testarea şi depanarea pot fi realizate prin bus-ul LIN, şi caracteristicile pot fi permise sau dezactivate. Astfel pot fi realizate semificative economii atât de către producător cât şi de consumator.
Thomas Schmidt
Senior Automotive Application Engineer
Microchip Technology Inc.
www.microchip.com