protocoale seriale bazate pe uart
Post on 18-Nov-2021
9 Views
Preview:
TRANSCRIPT
protocoale seriale
bazate pe UART
LIN
Local Interconnect Network
LIN
• Proiectat pentru comunicatii de cost redus intre senzori inteligenti si actuatori in aplicatiile din industria auto (automotive).
• Folositor atunci cand nu este nevoie de comunicatii de mare viteza
• Este bazat pe UART
•
•
• Un singur Master (de obicei un procesor mediu), pana la 15 noduri sclav (pot sa nu aiba oscilator precis)
• comunicatie pe un singur fir
• Transmisii de data intre 1 si 20 Kbits/s : 2400, 9600, 19200 baud sunt uzuale (in automotive)
• Mesajele pot fi trimise catre mai multe noduri
• Sclavul se auto-sincronizeaza cu masterul (numai mastrul trebuie sa aia un quartz precis)
• Mesaje de dimensiune 2,4,8 octeti + 3 octeti de control
• Detectie erori: suma de control + 2 biti de paritate
• Posibilitate de “sleep” si “wake-up”
Protocoale folosite in industria auto
nodul LIN Master are de obicei si
interfata CAN
Varianta folosita in trecut (stanga)
Varianta folosita acum (dreapta)
• Lungime max.40m, maxim 16 devices
Un Frame LIN
0 to 8 data fields checksum
message response
0 to 8 data fields checksum
message response
synch break
13 bit
synch field identifier
message header
Synchronisation
frame
Synchronisation field
Identifier byte
Message
Octetii din header
0 to 8 data fields checksum
message response
0 to 8 data fields checksum
message response
synch break
13 bit
synch field identifier
message header
Synchronisation
frame
Synchronisation field
Identifier byte
Message
ID
• ID [0...3] = numarul (ID) mesajului
• ID [4...5] = Dimensiunea datelor: – 2, 4, sau 8 octeti
• P [0...1] = biti de paritate pentru ID – P0 = not (ID1 xor ID3 xor
ID4 xor ID5)
– P1 = ID0 xor ID1 xor ID2 xor ID4
Receptie
transmisie
(atentie la axa timp
e in directia opusa sagetilor)
Receptie
(atentie la axa timp
e in directia opusa sagetilor)
IrDA
Infrared Data Association • Principalul obiectiv este de a furniza comunicaţii pe distante scurte intre 2 dispozitive
• Comunicatie 1 la 1
• Standardul initial (v1.0) suporta viteze de transfer intre 2400 si 15200 bps, pe distante de aproximativ 1m.
• Comunicatia initiala se realizeaza cu viteza de 9600 bps si dispozitivele negociaza o rata de comunicatie pentru transfer, mai mare sau mai mica (depinzand de capabilitatile fiecarui dispozitiv)
• Standardul a fost extins sa suporte viteze de comunicatie mai mari, de 1.152 Mbps si 4 Mbps.
Codarea
• IrDA foloseste o schema de codare Return-to-Zero (RZ).
• In codarea RZ, un cadru este format dintr-un interval de transmisie care este divizat in subintervale reprezentand biti individuali.
• Un zero logic este reprezentat de un impuls cu durata de 3/16 din latimea intervalului pentru un bit
• Un unu logic este reprezentat prin absenta unui puls
• Impulsul este mai scurt, pentru a economisi energie
• Transmiterea unui sir de zerouri => impulsuri de sincronizare
• Pentru orice baud, pulsul de lumina poate fi
ingust de 1.7 microsecunde (pt “0“)
• 1.7 us == 3/16 din perioada unui bit la 115200
• La viteze de 4 Mbps
se folosete PPM
(Pulse Position
Modulation):
• pozitia pulsului
variaza (4 coduri)
EncoderDecoder
• IR LED +
• IR fotodioda
•
• IrDA transceiver
(encoder+decoder)
Q: 1.8432 MHz
(multiplu de 115200
=115200x16, pentru a
realiza impulsul de
3/16)
R1 – reglaj curent LED IR
V=2.1, I=250mA
Pentru MAX3100 interfata de
comunicatie cu uC e SPI,
pozele sunt in special pentru a vedea
quartzurile folosite
Emisie/receptie cu uC
top related