• 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
3
Arbitrajul pe magistrală
4
Protocol CAN
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
7
Control Field
RTR IDE/r1 r0 DLC3 DLC2 DLC1 DLC0 Data/ CRC
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