protocoale seriale bazate pe uart

21
protocoale seriale bazate pe UART

Upload: others

Post on 18-Nov-2021

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: protocoale seriale bazate pe UART

protocoale seriale

bazate pe UART

Page 2: protocoale seriale bazate pe UART

LIN

Local Interconnect Network

Page 3: protocoale seriale bazate pe UART

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”

Page 4: protocoale seriale bazate pe UART

Protocoale folosite in industria auto

Page 5: protocoale seriale bazate pe UART

nodul LIN Master are de obicei si

interfata CAN

Page 6: protocoale seriale bazate pe UART

Varianta folosita in trecut (stanga)

Varianta folosita acum (dreapta)

Page 7: protocoale seriale bazate pe UART

• Lungime max.40m, maxim 16 devices

Page 8: protocoale seriale bazate pe UART

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

Page 9: protocoale seriale bazate pe UART

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

Page 10: protocoale seriale bazate pe UART

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

Page 11: protocoale seriale bazate pe UART

Receptie

Page 12: protocoale seriale bazate pe UART

transmisie

(atentie la axa timp

e in directia opusa sagetilor)

Page 13: protocoale seriale bazate pe UART

Receptie

(atentie la axa timp

e in directia opusa sagetilor)

Page 14: protocoale seriale bazate pe UART
Page 15: protocoale seriale bazate pe UART

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.

Page 16: protocoale seriale bazate pe UART

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

Page 17: protocoale seriale bazate pe UART

• 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

Page 18: protocoale seriale bazate pe UART

• La viteze de 4 Mbps

se folosete PPM

(Pulse Position

Modulation):

• pozitia pulsului

variaza (4 coduri)

Page 19: protocoale seriale bazate pe UART

EncoderDecoder

• IR LED +

• IR fotodioda

• IrDA transceiver

(encoder+decoder)

Page 20: protocoale seriale bazate pe UART

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

Page 21: protocoale seriale bazate pe UART

Emisie/receptie cu uC