Sunteți pe pagina 1din 14

ISTORIC

LIN Bus • LIN (Local Interconnect Network) a fost dezvoltată ca o alternativă


ieftină la protocolul CAN
– Consorţiumul înfiinţat în 1998 pentru dezvoltarea LIN includea: Volvo,
Motorola (azi Freescale), Audi, BMW, Daimler şi Volkswagen.
• În 2003 s-a lansat varianta LIN 2.0 cu caracteristici superioare,
inclusiv posibilitatea de diagnosticare.
• LIN a fost dezvoltat pentru utlizare în sistemele de control auto
simple, cum ar fi:
– Scaune auto
– Închidere uși
– Trape
– Senzori de ploaie
– Senzor de lumină şi controlul iluminării
– Controlul climei interne
O parte din figuri şi exemple sunt prelucrate după: Vector informatik GMBH, e- – Control oglinzi etc.
Learning, LIN Bus, https://elearning.vector.com
2

ISTORIC Reţea tradiţională cu CAN


• CAN este prea scumpă pentru conectarea unor senzori și elementelor de
acționare în zona de confort
• LIN a devenit o sub-magistrală care se găseşte în prezent în aproape
• Conectare unităţi de control electronic (ECU), fiecare vehicul
senzori şi elemente de execuţie, tradiţional prin • Unitatea ECU își asumă şi rolul de gateway CAN-LIN.
fire individuale
– Creșterea numărului de conexiuni Oglindă Modul
exterioară comutatoare
– Cablări mai groase și mai grele de sârmă
– Spaţiu ocupat mare
– Sistemele sensibile la erori Închidere ECU
centralizată uşi
– Dificil de personalizat pentru versiuni diferite de CAN
vehicule
ECU ECU ECU
scaune control climat trapă plafon
3 4
Sub-magistrala LIN Principalele proprietăți ale magistralei LIN

Oglindă exterioară
Modul • Un singur master şi mai mulți sclavi
comutatoare • Implementare de cost scăzut, bazat pe interfaţa UART / SCI
LIN • Auto-sincronizare a nodurilor sclav, fără oscilator cu cuarţ
sau ceramică
• Transmitere deterministă a semnalului, cu timp de
Închidere ECU propagare a semnalului calculabil în avans
centralizată uşi
CAN
• Costuri reduse de implementare, cu un singur fir
• Viteză de până la 20 kbit / s
• Comportament previzibil
ECU ECU ECU
• Reconfigurabilitate
scaune control climat trapă plafon • Suport pentru nivelul de transport și de diagnosticare

5 6

Noţiuni introductive LIN Structura fizică generală a reţelei LIN


• Un cluster LIN este format dintr-un număr de noduri, care sunt
• LIN este o magistrală serială bazată pe magistrala SCI / interconectate printr-un mediu fizic de transmisie
UART, cu transmitere pe octet, protocol de comunicaţie – Nod master - controlează accesul la magistrală
declanşat în timp – Noduri sclav - pot trimite și primi informații.
• LIN este o reţea serială de tip broadcast (difuzare) – nu se • Din motive de cost, nu se implementează un controler dedicat de
folosesc adrese fizice pentru nodurile sclav (la fel ca la CAN) comunicaţie
• La LIN toate mesajele sunt inițiate de master, cu cel mult • Potocolul de comunicaţie este integrat ca o componentă software în
un sclav care răspunde unui identificator al mesajului dat microcontroler (task master / slave)
– Nu există coliziuni şi nu e necesară arbitrare
• Masterul conţine un microcontroler mai de puternic Master Sclav Sclav
• Sclavii pot conţine microprocesoare mai puțin puternice şi Microcontroler Microcontroler Microcontroler
mai ieftine, sau ASIC-uri dedicate.
SCI SCI SCI
• Mecanismul de sincronizare permite recuperarea ceasului
la noduri sclav fără cuarț sau rezonator ceramic LIN Transceiver LIN Transceiver LIN Transceiver
– Numai nodul master va utiliza un oscilator de ceas cu cuarţ
7
LIN bus 8
Structura fizică generală a reţelei LIN Cluster LIN
• Un cluster conţine un task master şi mai multe task-uri sclav
• Microcontrolerul este conectat la transceiver (emisie-recepție) prin • Nodul master conţine ambele taskuri
intermediul interfeței seriale SCI. – Task master decide când și ce cadru va fi transferat pe magistrală
• Transceiverul convertește secvența logică de biți în nivelurile – Taskurile sclav furnizează datele transportate de fiecare cadru.
transmisibile corespunzătoare magistralei, iar pentru recepţie
operaţia este inversă
– Secțiunea Tx este utilizată pentru a genera tensiuni pe magistrală
– Secțiunea Rx permite evaluarea nivelurilor de tensiune primite
– Tranceiverul are în plus un mecanism prin care un nod poate fi trezit Nod master Nod sclav Nod sclav
prin intermediul magistralei (wakeup)
task master
• Pentru a menține emisiile electrice radiate în limite normale, rata
de transmisie este limitată la 20 kbit / s pentru LIN
task sclav task sclav task sclav
• Numărul maxim de noduri recomandat este de 16 noduri.

Magistrală LIN

9 10

Principiul simplificat al interfeţei – driver


Niveluri de tensiune pe linia magistralei
şi niveluri de tensiune

ECU Nod emiţător Nod receptor


VBAT
VBAT VBAT
regresiv regresiv
VBAT Internal
supply VSUP 80%
60%

Rx 40%
LIN
20%
SCI dominant
t dominant
GND GND
GND Tx
GND t t

11 12
Cadrul LIN Cadrul LIN
• Comunicarea poate avea loc de la nodul master (folosind task • Antetul conţine câmpuri:
– apeluri de sincronizare (synchronization breaks)
sclav) la unul sau mai multe noduri sclav, sau de la un nod
– octet de sincronizare
sclav la nodul master și / sau alte noduri sclav – identificatorul (ID) numit şi ID protejat de mesaj (PID)
• LIN foloseşte cadre (frame) pentru comunicaţia de date
• Un cadru constă din: Frame slot

– Header / Antet
– Răspuns
– Unele spaţii de răspuns suplimentare astfel ca sclavii să aibă timp să Message Header Message response
răspundă.
Bus Inter-
• Antetul unui mesaj este transmis de master Synch Synch ID Data Data Data Check
idle frame
Break Field Field Byte 1 Byte 2 Byte 3 sum space
• Antetele sunt stocate în task master
Response
13
space 14

Cadrul LIN Câmp identificator (ID)


• Fiecare câmp component al cadrului LIN începe cu un bit de start şi se • Identificatorul unui mesaj
sfârşeşte cu un bit de stop
– Are lungimea de 6 biţi ID + 2 biți de paritate
• Răspunsul conţine de la 1 la 8 octeţi de date şi un octet cu suma de
control. Maxim 64 de tipuri de identificatori de mesaj
• Mesajele sunt create atunci când nodul master trimite un frame care – Indică conținutul unui mesaj (nu şi destinația !)
conține un antet (header) – Încorporează informații despre transmiţător, receptoare, scopul şi
• Nodul (nodurile) master/sclav vor răspunde apoi, în funcție de antetul lungimea câmpului de date a răspunsului
trimis de la master
• La fel ca la SCI biții de date dintr-un octet sunt trimişi începând cu LSb • Codificarea de lungime se face în cei doi biţi mai semnificativi
– Rezultă o combinaţie de 10 biţi: 1 bit de start (dominant), 8 biţi începând cu ai câmpului ID
LSb, 1 stop bit
• Intervalul de sincronizare (sync break) reprezintă începutul unui cadru • Cei doi biți de paritate sunt folosiţi pentru a proteja câmpul ID
mesaj (PID = Protected ID)
– Conține cel puțin 13 biți dominanţi, inclusiv bitul de start, urmat de cel puțin 1
bit regresiv ca delimitator
– Octetul de sincronizare este utilizat pentru sincronizarea sclavilor

15 16
Câmp identificator (ID) Lungimea câmpului de date
• Lungimea câmpului de date de răspuns de la sclav poate fi de 2, 4 sau 8
Bit Start Bit Stop octeți
– La LIN 1.3 există doar lungimea de 8 octeți

ID5 ID4 NDATA (nr. câmpuri


ID0 ID1 ID2 ID3 ID4 ID5 P0 P1
date în Bytes)
0 0 2

Control lungime Biţi paritate 0 1 2

1 0 4
• Biţii de paritate sunt calculaţi astfel: 1 1 8
P0 = XOR între biţii ID0, ID1, ID2 şi ID4.
P1 = NOT - XOR între biţii ID1, ID3, ID4 şi ID5.

17 18

LIN Frame Header LIN Frame Header


• SCI = Serial Communication Interface
• PID = Protected Identifier • Sync Break are minim 13 biţi dominanţi ca să se anunţe start
• DEL= SYNC Break Delimiter transmisie şi pentru nodurile mai lente
Frame • Sync Break nu poate fi transmis într-un cadru normal SCI pentru că
formează o secvență unică de biți fără biţi de start şi stop
Frame header Frame Response – Rezolvare: masterul transmite această secvenţă într-un cadru SCI cu
valuare 0x00 la o viteză de transmisie redusă
– Acest lucru este adesea implementat prin reducerea la jumătate a
ratei de transmisie tipică.
• Break Delimiter are cel puțin unul și cel mult patru biți regresivi
SYNC Break Field SYNC Field PID Field
• Câmpul de sincronizare începe cu un bit de start dominant (start
D SCI), iar câmpul Sync conține valoarea 0x55
E – Pentru a detecta ceasul, sclavii măsoară timpul dintre primul și ultimul
L front descrescător a câmpului de sincronizare și îl împart la 8
SYNC Break:
– Rezultatul corespunde unui timp de bit
minim 13 biţi SCI Frame: 0x55 SCI Frame

19 20
Identificatori rezervaţi Utilizare cadre SCI în cadrul LIN frame
Frame
Valoare Valoare Descriere
zecimală hexazecimală
Start LSb MSb Stop IS Start LSb MSb Stop IS IS Start LSb MSb Stop
Diagnostic Request
60 0x3C
Master Request Frame
SCI Frame SCI Frame SCI Frame
Diagnostic Response
61 0x3D
Slave Response Frame
Reserved for future
62 0x3E
enhancements
Reserved for future LSb MSb
Start Stop
63 0x3F 1 2 3 4 5 6 7 8
enhancements
Data bits

21 22

Câmpul de răspuns al cadrului Câmpul de răspuns al cadrului


(Frame Response ) (Frame Response )
• Sclavi folosesc un răspuns cadru pentru a răspunde la o solicitare de Frame
la master
• Fiecare sclav citeşte identificatorul din antet pentru a determina ce Frame header Frame Response
răspuns trebuie să fie generat (recepţie, transmisie, sau neglijare ID)
– În mod tipic un frame este format din antetul de master și răspunsul
de la un sclav
Câmp date (maxim 8 Bytes)
• Într-un răspuns de cadru se pot transmite maxim opt octeți de date
– Transmisia se face în ordine crescătoare, de la cel mai puţin
semnificativ Byte (LSB) la MSB.
• Între cererea de la master (header) şi răspunsul sclavului există un
interval de timp de pauză numit RS - Response space
SCI Frame SCI Frame SCI Frame
– RS este necesar ca nodul să comute de la stare de recepţie la cea de
Data Byte 1 Data Byte n Checksum
emisie
23 24
Câmp: suma de verificare Câmp: suma de verificare
• Există două concepte de sumă de control: • Pentru calculul sumei de control, octeţii individuali de date sunt adunaţi în
aritmetică modulo 256, inclusiv biții ce rezultă prin depăşire la unele
– Suma de control clasică: sunt protejate doar datele transmise rezultate intermediare
– Suma de control sporit: se protejează datele transmise și PID • Rezultatul general este inversat, iar task-sclav transmite informaţia ca
• Suma de control sporit este utilizată pentru ID-uri în sumă de control
intervalul 0-59, implementat doar la versiunea 2.0 a • Receptorul calculează suma de control pentru biții de date primite cu
protocolului același algoritm, cu excepția inversiunii
• Receptorul detectează o eroare de transmisie în cazul în care suma
• Pentru a păstra compatibilitatea în jos, cadrele de octeților de date și suma de control primită nu este 0xFF.
diagnosticare sunt întotdeauna protejate cu control clasic. • Exemplu sumă de control clasică, cu Data 1 = 0x00, Data 2 = 0x01
• Checksum se calculează conform următoarei formule:
0000 0000 +
0000 0001
Checksum = INV (data byte 1 ⊕ data byte 2 ⊕ ... ⊕ data byte 8) ____________
0000 0001
inversat: 1111 1110

25 26

Exemplul 2 pentru sumă de control clasică ANTETE şi RĂSPUNSURI

• Data 1 = 0xFF, Data 2 = 0xFF

1111 1111 +
1111 1111
____________
1 1111 1110 +
1 carry
___________
1111 1111
Inversat: 0000 0000 = suma de control transmisă

27 28
Protocol LIN – flux de lucru LIN - Flux de lucru
• Standardul LIN definește, de asemenea, un flux de lucru uniform care
permite o dezvoltare rapidă și simplă a rețelelor System defining
• Componenta de bază este LDF (LIN Description File), care descrie întreaga tool
rețea.
– LDF definește toate proprietățile unei rețelei
– Pe baza LDF se generează automat componentele software pentru Node Capability System LIN Description
comunicare Files (NCF) generator File (LDF)
– LDF poate furniza informații necesare pentru diverse analize, măsurători și
instrumente de testare sau emulatoare de magistrală.
• LIN Configuration Language Specification descrie sintaxa pentru crearea
unui LDF LIN Cluster
– Creare LDF cu ajutorul unui instrument numit System Defining Tool
– În principiu un LDF simplu poate fi creat şi manual "Off the shelf" Bus analizer
• Începând cu specificaţiile 2.0 este disponibil suplimentar un limbaj LIN Slave LIN Slave LIN Master
Emulator
uniform de descriere a nodurilor (LIN Node Capability Language)
– Permite descrierea nodurilor standard disponibile LIN Bus
– Informațiile sunt salvate într-un fișier NCF (definirea de mesaje şi semnale,
precum și funcțiile de diagnosticare ale unui nod)

29 30

Example LIN communication process Example LIN communication process


(from Vector Informatik GmbH) (from Vector Informatik GmbH)
Matricea de comunicare Frame header Matricea de comunicare
Master Task LIN Slave Task Slave Task Slave Slave ID=0x10 LIN Slave Task Slave Task Slave Slave
MASTER

MASTER
Schedule Frame Master Task A Task B Schedule Frame Master Task A Task B
Send Send
T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender
Slave Routine Slave Routine
T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver
Task Task
Receive T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Receive T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Master Routine
Master Routine
T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver
T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender
Send Send
T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver
Slave Routine Slave Routine
SLAVE

SLAVE
Task A Task A
Receive Receive
Routine Routine
Masterul controlează comunicaţia în cluster printr-o Masterul porneşte operaţia de comunicare la momentul
Send planificare (LIN Schedule). Planificarea descrisă aici Send de timp T1, prin transmiterea antetului de cadru cu
Slave Routine constă din 6 sloturi de cadru. Un cadru necondiţionat Slave Routine ID=0x10
SLAVE

SLAVE

Task B este atribuit fiecărui slot cadru. Matricea de comunicare Task B


Receive descrie transmiţătorul şi receptorul pentru fiecare cadru Receive
Routine Routine
LIN Bus

de răspuns. LIN Bus


Example LIN communication process Example LIN communication process
(from Vector Informatik GmbH) (from Vector Informatik GmbH)
Matricea de comunicare Matricea de comunicare
Master Task LIN Slave Task Slave Task Slave Slave Master Task LIN Slave Task Slave Task Slave Slave
MASTER

MASTER
Schedule Frame Master Task A Task B Schedule Frame Master Task A Task B
Send Send
T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender
Slave Routine Slave Routine
T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver
Task Task
Header T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Receive T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Master ID=0x10
Master Routine
T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver
T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender
Send Send
T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver
Slave Routine Slave Routine
SLAVE

SLAVE
Task A Task A
Header Receive
ID=0x10 Routine
Antetul de cadru este evaluat de fiecare sclav. Un sclav Sclavul B transmite răspunsul cadrului corespunzător
Send poate reacţiona fie prin transmitere de răspuns, fie prin Response antetului ID=0x10 prin termediul propriului task sclav
Slave Routine recepţie, fie neglijează ID Slave
SLAVE

SLAVE
Task B Task B
Header Receive
ID=0x10 Routine
LIN Bus

LIN Bus
Example LIN communication process Example LIN communication process
(from Vector Informatik GmbH) (from Vector Informatik GmbH)
Matricea de comunicare Frame header Matricea de comunicare
Master Task LIN Slave Task Slave Task Slave Slave ID=0c12 LIN Slave Task Slave Task Slave Slave
MASTER

MASTER
Schedule Frame Master Task A Task B Schedule Frame Master Task A Task B
Send Send
T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender
Slave Routine Slave Routine
T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver
Task Task
Receive T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Receive T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Master Routine
Master Routine
T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver
T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender
Send Send
T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver
Slave Routine Slave Routine
SLAVE

SLAVE
Task A Task A
Response Receive
Routine
Sclavul A recepţionează răspunsul din cadru (prin La momentul T2 masterul transmite frame header cu
Send intermediul task sclav) aparţinând de antetul ID=0x10. Send ID=0x12
Slave Routine Masterul nu este interesat de acest răspuns. Slave Routine
SLAVE

SLAVE

Task B Task B
Receive Receive
Routine Routine
LIN Bus

LIN Bus
Example LIN communication process Example LIN communication process
(from Vector Informatik GmbH) (from Vector Informatik GmbH)
Matricea de comunicare Matricea de comunicare
Master Task LIN Slave Task Slave Task Slave Slave Master Task LIN Slave Task Slave Task Slave Slave
MASTER

MASTER
Schedule Frame Master Task A Task B Schedule Frame Master Task A Task B
Send Send
T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender
Slave Routine Slave Routine
T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver
Task Task
Header T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Receive T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Master ID=0x12
Master Routine
T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver
T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender
Send Response
T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver
Slave Routine Slave
SLAVE

SLAVE
Task A Task A
Header Receive
ID=0x12 Routine
Antetul de cadru este evaluat de fiecare sclav. Un sclav Prin intermediul propriului task-sclav, sclavul A transmite
Send poate reacţiona fie prin transmitere de răspuns, fie prin Send răspunsul corespunzător frame cu header ID=0x12.
Slave Routine recepţie, fie neglijează ID Slave Routine
SLAVE

SLAVE
Task B Task B
Header Receive
ID=0x12 Routine
LIN Bus

LIN Bus
Example LIN communication process Example LIN communication process
(from Vector Informatik GmbH) (from Vector Informatik GmbH)
Matricea de comunicare Frame header Matricea de comunicare
Master Task LIN Slave Task Slave Task Slave Slave ID=0x18 LIN Slave Task Slave Task Slave Slave
MASTER

MASTER
Schedule Frame Master Task A Task B Schedule Frame Master Task A Task B
Send Send
T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender
Slave Routine Slave Routine
T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver
Task Task
Receive T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Receive T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Master Routine
Master Routine
T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver
T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender
Send Send
T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver
Slave Routine Slave Routine
SLAVE

SLAVE
Task A Task A
Receive Receive
Routine Routine
Prin intermediul propriului task de sclav, sclavul B La moment T3, masterul transmite header cu ID=0x18
Response recepţionează răspunsul ce aparţine frame cu antetul cu Send
Slave ID=0x12. Masterul nu este interesat de răspuns. Slave Routine
SLAVE

SLAVE

Task B Task B
Receive Receive
Routine Routine
LIN Bus

LIN Bus
Example LIN communication process Example LIN communication process
(from Vector Informatik GmbH) (from Vector Informatik GmbH)
Matricea de comunicare Matricea de comunicare
Master Task LIN Slave Task Slave Task Slave Slave Master Task LIN Slave Task Slave Task Slave Slave
MASTER

MASTER
Schedule Frame Master Task A Task B Schedule Frame Master Task A Task B
Send Send
T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender
Slave Routine Slave Routine
T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver
Task Task
Header T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Receive T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Master ID=0x18
Master Routine
T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver
T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender
Send Send
T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver
Slave Routine Slave Routine
SLAVE

SLAVE
Task A Header Task A
Receive
ID=0x18 Routine
Antetul de cadru este evaluat de fiecare sclav. Un sclav Prin intermediul propriului task-sclav, sclavul B transmite
Send poate reacţiona fie prin transmitere de răspuns, fie prin Response răspunsul corespunzător frame cu header ID=0x18.
Slave Routine recepţie, fie neglijează ID Slave
SLAVE

SLAVE
Task B Task B
Header Receive
ID=0x18 Routine
LIN Bus

LIN Bus
Example LIN communication process Example LIN communication process
(from Vector Informatik GmbH) (from Vector Informatik GmbH)
Matricea de comunicare Frame header Matricea de comunicare
Master Task LIN Slave Task Slave Task Slave Slave ID=0x1C LIN Slave Task Slave Task Slave Slave
MASTER

MASTER
Schedule Frame Master Task A Task B Schedule Frame Master Task A Task B
Send Send
T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender
Slave Routine Slave Routine
T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver
Task Task
Response T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Receive T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Master Master Routine
T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver
T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender
Send Send
T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver
Slave Routine Slave Routine
SLAVE

SLAVE
Task A Task A
Receive Receive
Routine Routine
Prin intermediul propriului task de sclav, masterul La moment T4, masterul transmite header de frame cu
Send recepţionează răspunsul ce aparţine frame cu antetul cu Send ID=0x1C
Slave Routine ID=0x18. Sclavul A nu este interesat de răspuns. Slave Routine
SLAVE

SLAVE

Task B Task B
Receive Receive
Routine Routine
LIN Bus

LIN Bus
Example LIN communication process Example LIN communication process
(from Vector Informatik GmbH) (from Vector Informatik GmbH)
Matricea de comunicare Matricea de comunicare
Master Task LIN Slave Task Slave Task Slave Slave Master Task LIN Slave Task Slave Task Slave Slave
MASTER

MASTER
Schedule Frame Master Task A Task B Schedule Frame Master Task A Task B
Send Send
T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender
Slave Routine Slave Routine
T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver
Task Task
Header T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Receive T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Master ID=0x1C
Master Routine
T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver
T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender
Send Response
T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver
Slave Routine Slave
SLAVE

SLAVE
Task A Task A
Header Receive
ID=0x1C Routine
Antetul de cadru este evaluat de fiecare sclav. Un sclav Prin intermediul propriului task-sclav, sclavul A transmite
Send poate reacţiona fie prin transmitere de răspuns, fie prin Send răspunsul corespunzător frame cu header ID=0x1C.
Slave Routine recepţie, fie neglijează ID Slave Routine
SLAVE

SLAVE
Task B Task B
Header Receive
ID=0x1C Routine
LIN Bus

LIN Bus
Example LIN communication process Example LIN communication process
(from Vector Informatik GmbH) (from Vector Informatik GmbH)
Matricea de comunicare Frame header Matricea de comunicare
Master Task LIN Slave Task Slave Task Slave Slave ID=0x20 LIN Slave Task Slave Task Slave Slave
MASTER

MASTER
Schedule Frame Master Task A Task B Schedule Frame Master Task A Task B
Send Send
T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender
Slave Routine Slave Routine
T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver
Task Task
Response T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Receive T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Master Master Routine
T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver
T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender
Send Send
T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver
Slave Routine Slave Routine
SLAVE

SLAVE
Task A Task A
Receive Receive
Routine Routine
Prin intermediul propriilor taskuri de sclav, masterul şi La moment T5, masterul transmite header de frame cu
Send Sclav B recepţionează răspunsul ce aparţine frame cu Send ID=0x20
Slave Routine antetul cu ID=0x1C Slave Routine
SLAVE

SLAVE

Task B Task B
Response Receive
Routine
LIN Bus

LIN Bus
Example LIN communication process Example LIN communication process
(from Vector Informatik GmbH) (from Vector Informatik GmbH)
Matricea de comunicare Matricea de comunicare
Master Task LIN Slave Task Slave Task Slave Slave Master Task LIN Slave Task Slave Task Slave Slave
MASTER

MASTER
Schedule Frame Master Task A Task B Schedule Frame Master Task A Task B
Send Send
T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender
Slave Routine Slave Routine
T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver
Task Task
Header T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Receive T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Master ID=0x20
Master Routine
T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver
T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender
Send Send
T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver
Slave Routine Slave Routine
SLAVE

SLAVE
Task A Task A
Header Receive
ID=0x20 Routine
Antetul de cadru este evaluat de fiecare sclav. Un sclav Prin intermediul propriului task-sclav, sclavul B transmite
Send poate reacţiona fie prin transmitere de răspuns, fie prin Response răspunsul corespunzător frame cu header ID=0x20
Slave Routine recepţie, fie neglijează ID Slave
SLAVE

SLAVE
Task B Task B
Header Receive
ID=0x20 Routine
LIN Bus

LIN Bus
Example LIN communication process Example LIN communication process
(from Vector Informatik GmbH) (from Vector Informatik GmbH)
Matricea de comunicare Frame header Matricea de comunicare
Master Task LIN Slave Task Slave Task Slave Slave ID=0x24 LIN Slave Task Slave Task Slave Slave
MASTER

MASTER
Schedule Frame Master Task A Task B Schedule Frame Master Task A Task B
Send Send
T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender
Slave Routine Slave Routine
T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver
Task Task
Response T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Receive T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Master Master Routine
T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver
T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender
Send Send
T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver
Slave Routine Slave Routine
SLAVE

SLAVE
Task A Task A
Receive Receive
Routine Routine
Prin intermediul propriului task de sclav, masterul La moment T6, masterul transmite header de frame cu
Send recepţionează răspunsul ce aparţine frame cu antetul cu Send ID=0x24
Slave Routine ID=0x20. Sclavul A nu este interesat de răspuns. Slave Routine
SLAVE

SLAVE

Task B Task B
Receive Receive
Routine Routine
LIN Bus

LIN Bus
Example LIN communication process Example LIN communication process
(from Vector Informatik GmbH) (from Vector Informatik GmbH)
Matricea de comunicare Matricea de comunicare
Master Task LIN Slave Task Slave Task Slave Slave Master Task LIN Slave Task Slave Task Slave Slave
MASTER

MASTER
Schedule Frame Master Task A Task B Schedule Frame Master Task A Task B
Send Response
T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender
Slave Routine Slave
T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver
Task Task
Header T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Receive T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender
Master ID=0x24
Master Routine
T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver
T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender
Send Send
T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver
Slave Routine Slave Routine
SLAVE

SLAVE
Task A Header Task A
Receive
ID=0x24 Routine
Antetul de cadru este evaluat de fiecare sclav. Un sclav Prin intermediul propriului task-sclav, masterul transmite
Send poate reacţiona fie prin transmitere de răspuns, fie prin Send răspunsul corespunzător frame cu header ID=0x24
Slave Routine recepţie, fie neglijează ID Slave Routine
SLAVE

SLAVE
Task B Task B
Header Receive
ID=0x24 Routine
LIN Bus

LIN Bus
Example LIN communication process
(from Vector Informatik GmbH) LIN Sleep and Wakeup
Matricea de comunicare • Somn = economisire de energie
Master Task LIN Slave Task Slave Task Slave Slave – Prin specificaţiile LIN 2.0 toți sclavii pot fi forțaţi în modul sleep de către
MASTER

Schedule Frame Master Task A Task B master prin trimiterea unui cadru master cerere de diagnosticare (ID = 60) cu
Send primul octet de date egal cu zero (Frame go-to-sleep)
T1 Frame Slot 1 Unconditional Frame ID=0x10 Receiver Sender
Slave Routine – Sclavii intră automat în modul sleep dacă LIN este inactiv pentru mai mult de
T2 Frame Slot 2 Unconditional Frame ID=0x12 Sender Receiver patru secunde
Task
Receive
Master Routine
T3 Frame Slot 3 Unconditional Frame ID=0x18 Receiver Sender • Deșteptarea poate fi inițiată de către orice nod pe magistrală (sclav sau
T4 Frame Slot 4 Unconditional Frame ID=0x1C Receiver Sender Receiver master)
T5 Frame Slot 5 Unconditional Frame ID=0x20 Receiver Sender – Pentru specificația LIN 2.0, cererea de deșteptare este emisă forțând
Send magistrala să fie dominantă 250 µS până la 5 ms
T6 Frame Slot 6 Unconditional Frame ID=0x24 Sender Receiver
Slave Routine – Fiecare sclav ar trebui să detecteze cererea de reactivare şi să fie gata să
SLAVE

Task A proceseze antetele în termen de 100 ms


Response
– Masterul trebuie să detecteze, de asemenea, cererea de reactivare și începe
trimiterea de antete atunci când nodurile sclav sunt gata (în termen de 100 ms
Prin intermediul propriului task de sclav, Sclavul A la 150 ms după primirea cererii de deșteptare).
Send recepţionează răspunsul ce aparţine frame cu antetul cu – Dacă masterul nu emite antete în termen de 150 ms după primirea primei
Slave Routine ID=0x24. Sclavul B nu este interesat de răspuns. cereri de reactivare, atunci sclavul solicitant poate încerca emiterea unei noi
SLAVE

Task B cereri de deșteptare (și aşteaptă încă 150 ms)


Receive
Routine
LIN Bus

56

S-ar putea să vă placă și