Sunteți pe pagina 1din 10

Cuprins Curs

• Introducere
• Structura sistemelor de calcul
• Metode de transfer a datelor
• Comunicaţia paralelă

1
• Comunicaţia serială
• USB
• CAN, LIN, FlexRay
Protocolul CAN
• CAN – Controller Area Network
• Dezvoltată în 1990 de firma Bosh
• Permite interconectarea dispozitivelor cu inteligentă
înglobată
• Foloseşte adresarea prin conţinut
• Adresă de 11 biţi amplasată la începutul mesajului care
defineşte şi prioritatea mesajului
• Fiecare identificator este unic în cadrul reţelei
• Corespunde nivelului legăturii de date în modelul de
referinţă ISO OSI
• Nu foloseşte mesaje de confirmare
• Formatul mesajelor
CAN 2.0a - identificator 11 biţi
2
CAN 2.0b – identificator 29 biţi
Nivel fizic

• Foloseşte codificarea NRZ (Non-Return-to-Zero)


• „1” – prezentă tensiune
• „0” – lipsă tensiune
• După 5 biţi consecutivi de acelaşi tip
transmiţătorul inserează automat un bit de
valoare complementară.
• La recepţie nu trebuie niciodată să se detecteze
6 biţi consecutivi de aceeași valoare

3
Arbitrajul pe magistrală

• Control descentralizat al magistralei


• Fiecare modul care transmite verifică dacă linia este pe starea dorită
• Dacă nu: - se opreşte din transmisie şi va încerca să transmită data viitoare
• Dacă da: - va continua transmisia
• Linia este păstrată în „1” iar transmiţătorul forţează „0” când are
nevoie
• Prioritatea unui mesaj este codificată în identificatorul de 11 biţi.
Identificatorul cu valoarea binară minimă are prioritatea cea mai mare
• Priorităţile sunt fixe şi se specifică în faza de proiectare
• Cererile de magistrală sunt servite în ordinea importanţei mesajelor

4
Protocol CAN

• Protocol bazat de pachete de date – Data Packet


• Servicii de comunicaţie
• Write Object – producătorul transmite un cadru către
unul sau mai mulţi consumatori. Aceştia vor accepta
cadrul dacă sunt interesaţi de informaţia
recepţionată.
• Read Object – cererea unui mesaj specific de către
unul sau mai mulţi consumatori.
• Formatul mesajelor CAN
• Cadru de Date (Data Frame)
• Cerere de date (Remote Frame)

5
Data Frame
Bus SOF Arbitration Field Control Data Field CRC Field ACK EOF Inter-
idle Field Mission
1 bit 12 Bit or 32 bit 6 bit 0 to 8 byte 16 bit 2 bit 7 bit 3 bit

• Orice cadru de date începe cu un bit denumit SOF (Start of Frame) –


pentru sincronizare (bit dominant – pe „0”)
• Câmpul de arbitrare – conţinutul şi prioritatea pachetului
• Câmpul de control – nr. de octeţi de date
• CRC – pentru detectarea erorilor de transmisie ( 15 biţi CRC + un bit
delimitator nedominant )
• ACK – modulul transmiţător transmite un bit nedominant – el este
forţat în „0” (transformat în bit dominant) de către nodurile care au
recepţionat corect mesajul
• EOF – câmp sfârşit de cadru (7 biţi nedominanţi)
• Între 2 mesaje trebuie să existe un număr de minim 3 biţi nedominanţi
6
Arbitration Field
• Formatul Standard (CAN 2.0a)
Arbitration Field Control Field
11 bit identificator RTR IDE r0 DLC
• RTR – Remote Transmision Request. Specifica mesaj de tip Date (RTR =0) sau de tip Remote
Field (RTR = 1)

• Formatul Extins (CAN 2.0b)


Arbitration Field Control Field
11 bit identificator SRR IDE 18 bit Identificator RTR r1 r0 DLC
• Bitul SRR (Substitute Remote Request) înlocuiește bitul RTR – are valoarea „1”
• IDE (Identifier Extension Bit) –
• valoare „0” înseamnă cadru standard
• valoare „1” înseamnă cadru extins

7
Control Field
RTR IDE/r1 r0 DLC3 DLC2 DLC1 DLC0 Data/ CRC

• Similar pentru ambele formate


• Formatul standard conţine IDE = 0, 4 biţi DLC (Data Length Code) şi 1 bit rezervat r0=0)
• Formatul extins conţine 4 biţi DLC şi 2 biţi rezervaţi (r1 = 0 şi r0 = 0)

Br. Of Data Length Code


Data
Bytes DLC3 DLC2 DLC1 DLC0

0 d d d d
1 d d d n
2 d d n d
3 d d n n
4 d n d d
5 d n d n
6 d n n d
7 d n n n
8 n d/n d/n d/n
8
Data Frame

• Data Field
• Poate avea de la 0 la 8 octeţi
• CRC Field
• 15 biţi CRC + un bit CRC nedominant
• ACK Field
• 1 bit pus de transmiţător pe 1 (nedominant) şi forţat în 0 de către nodurile receptoare + un
bit delimitator
• EOF Field
• 7 biţi nedominanţi – a fost introdus deoarece un cadru de eroare cauzat de o eroare CRC
trebuie transmis pe durata unui cadru de date sau tip cerere de date

• REMOTE FRAME
• Un nod destinaţie poate cere date de la nodul sursă transmiţând un mesaj de tip cerere de
date.
• Diferenţe între pachet de date şi pachet cerere de date
• bitul RTR este transmis ca si dominant la pachet cerere date
• Lipseşte câmpul de date

9
Detecția erorii

• Erorile locale care apar într-un nod sunt făcute cunoscute tuturor
nodurilor prin transmiterea unui şir de 6 biţi dominanţi
• După un câmp delimitator de 8 biţi şi spaţiul minim dintre cadre de
3 biţi transmiţătorul încearcă retransmisia mesajului eronat
• Protocolul CAN nu foloseşte mesaje de confirmare
• Mecanisme de detecţie a erorilor
• La nivel de mesaj
• Codul CRC
• Verificare încadrare
• Bitul de confirmare (ACK)

• La nivel de bit
• Ascultarea liniei (Bus monitoring)
• Inserţia de biţi (bit stuffing)

10