Sistem de achiziție la distanță a datelor furnizate de automobil pe [629952]

Universitatea “Politehnica” din București
Facultatea de Electronică, Telecomunicații și Tehnologia Informației

Sistem de achiziție la distanță a datelor furnizate de automobil pe
magistrala CAN

Lucrare de disertație
prezentată ca cerință parțială pentru obținerea titlului de
Master în domeniul Inginerie electronică, telecomunicații și tehnologii
informaționale,
programul de studii de masterat Tehnologii avansate integrate în
electronica auto

Conducător științific Absolvent: [anonimizat]. Drumea Andrei Ing. Andrei Tamaș

2017

CUPRINS :

INTRODUCERE ………………………….. ………………………….. ………………………….. ………………………….. …………. 15
1. PROTOCOLUL DE COMUNICAȚIE CAN ………………………….. ………………………….. ………………………… 17
1.1 NOȚIUNI INTRODUCTIVE ………………………….. ………………………….. ………………………….. ……………. 17
1.1.1 Prezentare generală ………………………….. ………………………….. ………………………….. ……………………. 17
1.1.2 Avantajele folosirii comunicației multiplexate (magistrală) în comparație cu o comunicație filară:
………………………….. ………………………….. ………………………….. ………………………….. ………………………….. . 17
1.1.3 Tipuri de rețele CAN ………………………….. ………………………….. ………………………….. …………………. 18
1.1.4 Nivelul fizic al m agistralei CAN ………………………….. ………………………….. ………………………….. …. 18
1.1.5 Parametrii fizici transmiși cu ajutorul magistralei CAN ………………………….. …………………………. 20
1.1.6 Diagnoza unei rețele CAN ………………………….. ………………………….. ………………………….. ………….. 22
1.2 TRANSMISIUNI DE DATE PE MAGISTRALA CAN ………………………….. ………………………….. …… 23
1.2.1 Stratificarea în nivele ………………………….. ………………………….. ………………………….. …………………. 23
1.2.2 Principii de funcționare ………………………….. ………………………….. ………………………….. ……………… 24
1.2.3 Transferul mesajelor ………………………….. ………………………….. ………………………….. ………………….. 25
1.2.4 Tipuri de mesaje ………………………….. ………………………….. ………………………….. ……………………….. 25
1.2.5 Cerințe de sincronizare ………………………….. ………………………….. ………………………….. ………………. 28
1.2.5 Formatul CAN extins ………………………….. ………………………….. ………………………….. …………………. 29
2. REȚELE FARĂ FIR – WIRELESS LAN ………………………….. ………………………….. ………………………….. … 31
2.1 NOȚIUNI INTRODUCTIVE ………………………….. ………………………….. ………………………….. ……………. 31
2.1.1 Prezentare generală ………………………….. ………………………….. ………………………….. ……………………. 31
2.1.2 Standardele IEEE 802.11 ………………………….. ………………………….. ………………………….. ……………. 32
2.1.3 Standarde de securitate ………………………….. ………………………….. ………………………….. ………………. 34
2.2 CONFIGURAREA ȘI FUNCȚIONAREA REȚELELOR Wi -Fi ………………………….. ……………………. 34
2.2.1 Noțiuni introductive ………………………….. ………………………….. ………………………….. …………………… 34
2.1.2 Componentele rețelei ………………………….. ………………………….. ………………………….. …………………. 35
2.1.3 Mobilitatea în cadrul unei rețele fără fir ………………………….. ………………………….. ……………………. 37
2.1.4 Nivelele arhitecturale ale unei rețele fără fir ………………………….. ………………………….. ……………… 39
3. MICROCONTROLERE ………………………….. ………………………….. ………………………….. ………………………… 41
3.1 NOȚIUNI GENERALE ………………………….. ………………………….. ………………………….. …………………… 41
3.2 ARDU INO CU ATmega328 ………………………….. ………………………….. ………………………….. …………….. 44
4. REALIZAREA PRACTICĂ A PROIECTULUI ………………………….. ………………………….. …………………… 47
4.1 MODULE COMPONENTE ………………………….. ………………………….. ………………………….. ……………… 47
4.1.1 Platforma de dezvoltare ………………………….. ………………………….. ………………………….. ……………… 47
4.1.2 Ecranul (Display -ul) de tip 16×2 ………………………….. ………………………….. ………………………….. …. 48
4.1.3 Modulul Wi -Fi – ESP8266 ………………………….. ………………………….. ………………………….. …………. 50

4.1.4 Modulul CAN ………………………….. ………………………….. ………………………….. ………………………….. . 53
4.2 PROGRAMAREA SISTEMULUI ………………………….. ………………………….. ………………………….. …….. 55
4.3 REZULTATE ȘI FORMA FINALĂ A SISTEMULUI ………………………….. ………………………….. …….. 59
4.3.1 Rezultate obținute cu ajutorul afișajului ………………………….. ………………………….. ……………………. 59
4.3.2 Rezultate obținute cu ajutorul modulului Wi -Fi ………………………….. ………………………….. …………. 60
4.3.3 Forma finală a sistemului ………………………….. ………………………….. ………………………….. …………… 61
CONCLUZII ………………………….. ………………………….. ………………………….. ………………………….. ……………….. 63
BIBLIOGRAFIE ………………………….. ………………………….. ………………………….. ………………………….. …………. 65

LISTA DE ACRONIME

 ABS = sistem de antiblocare a roților (eng.anti -lock braking system)
 ACK = recunoaștere (eng.acknowledge)
 AP = punct de acces (eng. access point)
 BCM = modul de control principal (eng. body control module)
 BSS = setul serviciului de bază (eng. basic service set)
 CAN = controlul rețelei zonale (eng. controller area network)
 CISC = calculator cu set de instrucțiuni complexe (eng. complex instruction set computer)
 COM = standard pentru interfața binară (eng. component object model)
 CRC = verificarea ciclică a re dundanței (eng. cyclic redundancy check)
 DBPSK = modulație binară cu defazaj (eng.differential binary phase shift keying)
 DC = curent continuu (eng. direct current)
 DLC = codul lungimii de date (eng. data length code)
 DQPSK = modulație diferențială în cuad ratură cu defazaj (eng. diferential quadrature phase
shift keying)
 DS = sistem de distribuire (eng. distribution system)
 DSSS = eng. direct -sequence spread spectrum
 ECM = modulul de control al motorului (eng. engine control module)
 EEPROM = memorie ce poat e fi ștearsă și programată electronic și poate fi doar citită (eng.
electrically erasaable programmable read -only memory)
 EPROM = memorie ce poate fi ștearsă și programată și poate fi doar citită (eng. erasable
prgrammable read -only memory)
 ESP = control d e stabilitate electronic (eng. electronic stability control)
 FA = agent străin (eng. foreign agent)
 FHSS = eng. frequency -hopping spread spectrum
 GFSK = defazaj gaussian al frecvenței (eng. gaussian frequency -shif t keying)
 GND = plan de masă (eng. ground)
 GPIO = intrare/ieșire pentru uz general (eng. general purpose input/outpu)
 GSM = sistemul global pentru comunicații mobile (eng. global system for mobile
communications)
 HA = agent de origine (eng. home agent)
 IBSS = setul independent al serviciului de bază (eng. independent basic service set)
 ID = identificator
 IDE = mediu integrat de dezvoltare (eng. integrated development environment)
 IP = internet protocol
 ISO = organizația intenațio nală pentru standardizare ( eng. international organization for
standardization)
 LAN = rețea locală (eng. local area network)
 LED = diodă ce emite lumină (eng. light -emitting diode)
 LIN = rețea de interconectare locală (eng. local interconnect network)
 LLC = subnivel al nivelului leg ătură de date al stivei OSI (eng. logical link control)
 MAC = control de acces media (eng. media access control)
 MISO = intrare master, ieșire slave (master in, slave out)
 MN = nod mobil (eng. mobile node)
 MOSFET = tranzistor cu efet de câmp din matal -oxid semiconductor (eng. metal -oxide –
semiconductor field -effect transistor)
 MOSI = ieșire master, intrare slave (eng. master out, slave in)
 MOST = sistem de transport orientat media (eng. media oriented system transport)

 OBD = diagnoză la bord (eng. on -board diagnostics)
 OFDM = eng. orthogonal frequency -division multiplexing
 OSI = interconectarea sistemelor deschise (eng. open systems interconnection)
 PC = calculator personal (eng. personal computer)
 PPM = modulație puls – poziție (eng. pulse -modulation positio n)
 PWM = modulație în lățime a pulsului (eng. pulse width modulation)
 RAM = memorie cu acces aleator (eng. random access memory)
 RISC = calculator cu set redus de instrucțiuni (eng. reduced instruction set computer)
 ROM = memorie ce poate fi doar citită (e ng. read -only memory)
 RTR = cerință de transmitere la distanță (eng. remote transmission r equest )
 SCK = semnal de ceas (eng. clock signal)
 SPI = interfață serială periferică (eng. serial pheripheral interface)
 SRAM = memorie statică cu acces aleator (eng . static random access memory)
 SRR = bit de substituție (eng. substitut remote r equest bit)
 SS = selectare slave (eng. slave select)
 STA = stație (eng.station)
 TCU = unitatea de control a transmisiei (eng. transmission contol unit)
 TKIP = protocol cu cheie temporală (eng. temporal key integrity protocol)
 USB = magistrală serială universală (eng. universal serial bus)
 VOIP = voce transmisă cu ajutorul internetului (eng. voice over internet protocol)
 WEP = siguranța privată a rețelelor fară fir (eng. wired eq uivalent privacy)
 Wi-Fi = tehnologie pentru rețelele fară fir (eng. wireless fidelity)
 WLAN = rețea locală fară fir (eng. wireless local area network)
 WPA = acces protejat al rețelelor fără fir (eng.Wi -Fi preotected access)

LISTA DE FIGURI

Figura 1.1 Componente fizice ale unei rețele CAN [1]. ……………………………………………………………18
Figura 1.2 Nivelul fizic al protocolului CAN [1]. ……………………………………………………………………19
Figura 1.3 Exemplu de rețea CAN [1]. …………………………………………………………………………………..19
Figura 1.4 Semnalul de tensiune de pe o rețea CAN [1]. ………………………………………………………….20
Tabelul 1.1 Parametrii fizici transmiși pe magistrala CAN [1]. …………………………………………………21
Figura 1.5 Forma corectă a semnalelor pe o magistrală CAN (CAN -H, CAN -L) [1]. ………………….22
Figura 1.6 Forma incorectă a se mnalelor pe o magistrală CAN (CAN -H, CAN -L) [1]. ……………….22
Figura 1.7 Legătura între nivelele stivei OSI și CAN [2]. …………………………………………………………23
Figura 1.8 Metoda arbitrajului pe baza identificatorului [2] ……………………………………………………..24
Figura 1.9 Nivele de tensiune (dominant și regresiv) [2]. …………………………………………………………24
Figura 1.10 Structura unui mesaj de date [2]. ……………….. ……………………………………………………….25
Tabelul 1.2 Corespondență între câmpul de control și lungimea câmpului de date [2]. ……………….26
Figura 1.11 Structura unui mesaj de cerere [2]. ………………………………. ……………………………………..26
Figura 1.12 Structura unui mesaj de eroare [2]. ………………………………………………………………………27
Figura 1.13 Structura unui mesaj de supraîncărcare [2]. …………………………………………………………..27
Figura 1.14 Spațiu intermesaj [2]. …………………………………………………………………………………………28
Figura 1.15 Durata de bit [2]. ……………. …………………………………………………………………………………29
Figura 1.16 Formatele CAN standard și extins [2]. ………………………………………………………………….29

Figura 2.1 Rețea fără fir cu 2 puncte de acces [4]. …………………………………………………………………..31
Figura 2.2 Standarde ale rețelelor fără fir [4]. …………………………………………………………………………32
Figura 2.3 Standardu l IEEE 802.11 [4]. …………………………….. ………………. …………………………. ……..32
Figura 2.4 Modulație de tip DSSS [4]. …………………………………………………………………………………..33
Figura 2.5 Modulație de tip OFDM [4]. …………………………………………………………………………………33
Figura 2.6 Acoperirea cu semnal de către un punct de acces [4]. ………………………………………………34
Figura 2.7 Seturile serviciului de bază [4]. ……………………………………………………………………………..35
Figura 2.8 Sisteme de distribuție și puncte de acces [4]. ………………………………………………………….36
Figura 2.9 Conectarea la alte tipuri de rețea LAN [4]. …………………………………………………………….37
Figura 2.10 Rețea ce poate oferi serviciul de roaming [5]. ………………………………………………………38
Figura 2 .11 Soluția propusă pentru internetul mobil [5]. …………………………………………………………39
Figura 2.12 Formatul cadrului definit de standardul 802.11 [5]. ………………………………………………40

Figura 3.1 Diagram a generală a unui microcontroler [6]. ………………………………………….. …………… .41
Tabelul 3.1 Istoricul dezvoltării Microprocesorului și a Microcontrolerului [6]. ……………. ………….. 42
Figura 3.2 Diferențele între cele două arhitecturii [6]. ……………………………………………. ………………. 43
Figura 3.3 Secțiunea unui tranzistor cu grilă flotantă [7]. ……………………………………….. ……………. …43
Figura 3.4 Matrița unui microcontroler [7]. ………………………………………………………. ……… ………….. 44
Figura 3.5 Diagrama cu blocurile care formează microcontrolerul Atmega328 [8] …………… ………..45
Figura 3.6 Arduino UNO R3 [8]. ……………………………………………………………………. …………………. ..46

Figura 4.1 Schema bloc a proiectului. ……………………………………………………………………………………47
Figura 4.2 Modul de alimentare și programare al Arduino UNO. ……………………………………………..48
Figura 4.3 Ecran 16×2 [9]. …………………………………………………………………………………………………… 48
Figura 4.4 Montaj pentru prototipuri [10]. ……………………………………………………………………………..49
Figura 4.5 Conexiune Arduino – afișaj [9]. …………………………………………………………………… ………..49
Figura 4.6 Schemă Arduino – afișaj [9]. ………………………………………………………………………………….49
Figura 4.7 Modul Wi -Fi – ESP8266 [11]. ……………………………….. ……………………………………………. 50
Figura 4.8 Pinii modulului Wi -Fi – ESP8266 [11]. ……………………………………………………………….50
Figura 4.9 Programarea ESP8266 realizată cu succes folosind NodeMCU. …….. ………………………… 51

Figura 4.10 Selectarea fișierelor și specificarea adreselor pentru programare. …………………………….51
Figura 4.11 Pagina de setări creată la adresa 192.168.4.1. ………………………………………….. …………… 52
Figura 4.12 Pagina – consolă – creată la adresa 192.168.4.1. ……………………………………………………..52
Figura 4.13 Modul CAN. ……………………………………………………………………………………………………..5 3
Figura 4.14 Modul Cablu DB9 – OBD -II………………………………………………………………………………..53
Figura 4.15 Conector DLC din interiorul autovehiculului. ……………………………………………………….5 4
Figura 4. 16 Meniul principal al sistemului ……………………………………………………………………………..5 9
Figura 4.17 Meniul „ROW” …………………………………………………………………………………………………59
Figura 4. 18 Meniul „DATA” ……………………………………………………………………………………………….59
Figura 4. 19 Meniul „ID” …………………………………………………………………………………………………….. 60
Figura 4. 20 Afișare datelor la distanță folosind Wi -Fi……………………………………………………………..60
Figura 4. 21 Comutator pornire/oprire ………………………………………………………………………………… …61
Figura 4.22 Conector DB9. ………………………………………………………………………………………………….61
Figura 4. 23 Forma finală a sistemului de achiziție la distanță a datelor furnizate d e automobil pe
magistrala CAN ……………………………………………………………………………………………………………… ….61

Mulțumiri

Mulțumesc domnului Conf. Dr. Ing. Drumea Andrei din cadrul Universității Politehnica
București, Facultatea de Electronică, Telecomunicații și Tehnologia Informației pentru sprijinul
acordat prin punerea la dispoziție a informațiilor necesare definitivării acestei lucrări.

15
INTRODUCERE

Protocolul CAN reprezintă un sistem de comunicație serială de tip magistrală utilizat cu
precădere în cadrul industriei autovehiculelor datorită existenței unui număr tot mai ridicat de
calculatoare electronice la bordul acestora. Acest protocol se folosește deoarece facilitează
eliminarea unei mase mari de cablu din autovehicul, sporește securitatea, micșorează costurile
sistemului, permite o diagnosticare rapidă și completă. Cu ajutorul acestui protocol se facilitează
schimbul de informații între calculatoarele automobilului fără a utiliza un calculator gazdă.
Transferul de date între calculatoarele autovehicul ului este controlat cu ajutorul a patru
tipuri distincte de cadre: de date, de solicitare, de eroare, de supraîncărcare. Cadrele de date asigură
transportul de date de la transmițător la receptor, cel de solicitare este responsabil cu solicitarea unui
cadru de date, cel de eroare se va transmite de către fiecare nod în momentul detecției unei erori pe
magistrală, iar cel de supraîncărcare este responsabil de solicitarea unui timp suplimentar între un
cadru existent și unul precedent.
Pe lângă comunicația d intre calculatoare, protocolul CAN poate fi utilizat și la diagnoză.
Rolul diagnozei în funcționarea sistemelor unui automobil este de a detecta componentele defecte
ce pot afecta emisiile poluante, fiabilitatea automobilului și chiar securitatea pasageril or. Diagnoza
se poate realiza la bordul autovehiculului, cu ajutorul sistemelor electronice de control sau în
service -urile autorizate folosind echipamente dedicate.
Scopul acestei lucrări este dezvoltarea unui sistem de achiziție de date la distanță a da telor
furnizate de automobil pe magistrala CAN. Sistemul va cuprinde o parte hardware (Ardunio UNO,
modul CAN, afișaj și modul Wi -Fi ESP8266) și o parte software ce va fi dezvoltată cu ajutorul
mediului de programare Arduino IDE. Se dorește construirea unu i sistem de achiziție a datelor de
pe magistrala CAN cu scopul de a fi utilizat în diagnoza automobilelor. Sistemul conceput va
transmite datele către dispozitivele externe folosind ca mediu de transmisiune aerul, dar va fi
prevăzut și cu un afișaj monocro m pentru diagnoze minimale și rapide. De asemenea, sistemul va
oferi utilizatorului diverse meniuri pentru a putea facilita alegerea informațiilor ce se doresc a fi
afișate pe ecran.
Prima parte a lucrării se concentrează pe substratul teoretic ce stă la baza protocolului de
comunicație CAN. Se va face referire la modul de transmisiune de date pe magistrala CAN și
principiile de funcționare ale acesteia.
Capitolul 2 va oferi informații despre rețelele fără fir și constă în descrierea funcționării
acestor a, dar și în descrierea standardelor Wi -Fi.
Despre microcontrolere, arhitecturi, Arduino UNO cu ATmega328 se va vorbi pe larg în
capitolul 3.
Capitolul 4va prezenta realizarea practică a sistemului de achiziție la distanță a datelor
furnizate de automob il pe magistrala CAN. Prezentarea va începe cu descrierea modulelor
componente ( platforma de dezvoltare, ecranul, modulul Wi -Fi și modulul CAN), modului de
conectare al acestora și continuă cu descrierea software -ului realizat și cu prezentarea și analiza
datelor furnizate de sistemul conceput. La sfârșitul acestui capitol va fi reprezentată și forma finală
a proiectului.
Concluziile și Concluziile și posibilitățile de dezvoltare sunt prezentate în ultima parte a
lucrării.

Motivația lucrării

Aplicația s -a născut din nevoia de a prelua datele furnizate de automobil pe magistrala CAN
cu scopul de a dezvolta un sistem de diagnoză. Sistemul este util pentru a detecta componentele
defecte din sistemul ce este alcătuit din calculatoarele mașinii pen tru a evita

16
emisiile poluante excesive, funcționarea necorespunzătoare a autovehiculului sau pericolele la care
pot fi expuși pasagerii. În domeniul automobilelor, un astfel de sistem se dovedește a fi foarte util
deoarece datele pot fi achiziționate fără fir, iar inginerii de sistem pot analiza datele folosind
calculatorul personal de la birou.
Spre deosebire de sistemele tradiționale de diagnoză, ce necesită o legătură fizică cu fir către
un calculator, sistemul dezvoltat comunică folosind Wi -Fi. În dom eniul autovehiculelor există însă
și sisteme de diagnoză fără fir, însă acestea transmit datele cu ajutorul Bluetooth -ului, fapt ce
creează anumite limitări: nu toate laptop -urile au Bluetooth, iar telefoanele sau tabletele ce
utilizează drept sistem de op erare IOS nu pot interacționa cu aceste sisteme.
Sistemul dezvoltat își dovedește utilitatea și datorită faptului ca are un afișaj integrat, astfel
inginerii nemaifiind dependenți de un calculator pentru diagnoze minimale. Acest sistem
micșorează timpul d e reparație al unui autovehicul, deoarece problemele pot fi mult mai ușor
detectate, iar reparația poate începe la câteva minute după diagnoză.

17
1. PROTOCOLUL DE COMUNICAȚIE CAN
1.1 NOȚIUNI INTRODUCTIVE
1.1.1 Prezentare generală
CAN (Controller Area Network) se definește ca un protocol de comunicație de
tipul magistrală ce se utilizează pe o scară foarte mare în industria automobilelor. Utilizând
protocolul CAN calculatoarele autovehiculului (ECM ,TCU , ESP) fac schimb de informații între ele
pentru a optimiza diferite funcții de control ale diferitelor sisteme (ambreiaj, injecție , sistem de
frânare).
Protocolul CAN se definește ca un sistem de comunicație de tip serial , în timp real , folosit
pentru diverse sisteme de tip distribuit . Dezvoltarea acestui protocol de comunicație a fost inițiată
de compania multinațională Bosch Gmbh începând cu anul 1983 . Utilizarea unui sistem de
comunicație de tip magistrală a fost dorit din cauza prezenței unui număr din ce în ce mai mare de
calculatoare și componente electronice utilizate în i ndustria autovehicule lor [1].
Etape le importante de pe parcursul dezvoltării protocolului CAN:
1984 – începerea dezvoltării de către Bosch Gmbh ;
1986 – apariția primei versiuni de specificație a protocolului ;
1987 – inițierea standardizării protocolului de către ISO;
1988 – producerea primului circuit integrat CAN (Intel & Philips) ;
1992 – apariția versiunii a doua a specificației protocolului ;
1993 – apariția primului autovehicul de serie ce utilizează protoc olul CAN (Mercedes Benz );
1994 – apariția primului standard al protocolului (ISO 11898) ;
2008 – începerea producți ei anuale de module CAN.
1.1.2 Avantajele folosirii comunicației multiplexate (magistrală) în compara ție cu o
comunicație filară :
În cazul unei comunicații pe fir, fiecare calculator are o legătură separată dedicată fiecărui
canal de comunicați e. Astfel dacă sunt 3 calculatoare care comunică fiecare cu fiecare, folosind câte
2 fire, vom avea în total 12 fire (4 fire pe ntru fiecare calculator). Dezavantajul prezentat de acest tip
de comunicație este reprezentat de masa destul de mare a firelor și a conectorilor dar și de
complexitatea foarte mare a rețelei de comunicație.
În cazul utilizării unui sistem de comunicare de tip magistrală, comparativ cu un sistem ce
folosește firul, se elimină cantități destul de importante de conectori și cabluri. De asemenea
sistemul de comunicație este mult mai simplificat și poate fi diagnosticat foarte ușor.
Principalele motive pentru care este preferată utilizarea unui sistem de comu nicație multiplexat
(magistrală) :
 permite partajarea de parametrii în tre calculatoarele autovehiculu lui;
 îmbunătățește siguranța și modul de diagnosticare ;
 reduce costul total al sistemului mulțumită reducerii numărului de fire și conectori ;
 cerință publicată în standardele de diagnoză OBD .

Un autovehicul din clasă medie fabricat în anii `90 conținea aproximativ 3 km de cabluri
care aveau greutatea în jur de 70 -90 de kg. De asemenea un automobil Merce des Benz, clasa S, din
anul 2000 , avea în jur de 50 -60 de calculatoare. Creșterea numărului și a complexității sistemelor
electronice de pe automobile a dus la utilizarea sistemelor de comunicație multiplexate (CAN).

18
Scopul principal al protocolului de comunicație CAN a fost de a fi utilizat în i ndustria
autovehiculelor . Mulțumită avantajelor pe care le aduce, în ceea ce privește comunicarea între
modulele electr onice, ace st protocol poate fi utilizat și în alte industrii sau domenii [1]:

 vehicule grele, camioane, vehicule agricole;
 industrie a roboților, automatizări;
 industrie aeronautică, aeronave;
 vehicule militare;
 echipamente medicale;
 electrocasnice.

1.1.3 Tipuri de rețele CAN
Protocolul CAN poate fi de două feluri în funcție de viteza de transfer a datelor:
 CAN HS (High Speed) – viteză mare
 CAN LS (Low Speed) – viteză mică

CAN HS are diferite viteze de transfer a datelor de 125, 250, 500 sau 1000 kb/s. Dator ită
vitezei mari de transfer a datelor pe magistrală este utilizat deseori pentru motor, cutie de viteze sau
sistemele de siguranță active (ESP, ABS ).
CAN LS are viteza de transfer cuprinsă între 40 și 125 kb/s. Protocolul CAN LS are
avantajul că este mul t mai tolerant la erori (fault tolerant). În cazul în care unul din cele două fire
este întrerupt, comunicația se poate realizează pe un singur fir. Acest tip de protocol CAN este
utilizat deseori la închiderea centralizată și la imobilizator, datorită cap abilității de funcționare și în
regim de avarie.
1.1.4 Nivelul fizic al magistralei CAN
Din punctul de vedere fizic, protocolul CAN conține o magistrală , formată din două fire
torsadate , și calculatoarele care conțin fiecare câte un circuit integrat de e misie -recepție . Firele pe
care se efectuează transmisiunea informației sunt torsadate pentru a elimina posibilele perturbații
electromagnetice [1].

Figura 1.1 Componente fizice ale unei rețele CAN [1].
Circuitele integrate de emisie -recepție combină funcția de recepționare a mesajelor cu cea de
transmitere, în aceeași componentă. CAN transceiver -ul este alimentat la o tensiune cuprinsă între

19
3V și 5V și are rolul de a face conversia semnalului electric , de pe magistrală, în semnale digitale și
invers.

Figura 1.2 Nivelul fizic al protocolului CAN [1].
Lungimea maximă pe care magistrala de date poate sa o aibă este de 250 m (CAN HS) și de
50 m (CAN LS). Numărul maxim de calculatoare care se pot conecta la magistrală poate varia în
funcție de viteza sau de numărul parametrilor ce urmează a fi transmiși. O magistrală CAN suportă
maxim 50 de calculatoare conectate între ele. La extremitățile magistralei sunt adeseori prevăzute
rezistențe electrice cu valoarea de a proximativ 120 Ω ce servesc la creșterea impedanței rețelei,
pentru a elimina fenomenul de refl exie a semnalelor transmise [1].

Figura 1.3 Exemplu de rețea CAN [1].
Unde:
ECM (Engine Control Module) reprezintă calculatorul de injecție al motorului;
TCU (Transmission Control Unit) reprezintă calculatorul transmisiei automate;
ABS (Anti -lock Braking System) reprezintă calcu latorul sistemului de frânare;
BCM (Body Control Module) reprezintă calculatorul de habitaclu;
Roof (Plafon) reprezintă calculatorul pentru controlul trapei;
Seat (Scaun) reprezintă calculatorul pentru controlul scaunelor;
Clim (climatizare) reprezintă calculatorul pentru controlul climatizării;
Diag. (diagnostic) reprezintă conectorul de diagnosticare.
În exemplul de mai sus de rețea CAN se observă două sub -rețele, CAN motor și CAN
vehicul , interconect ate printr -un „gateway” care este de fapt calculatorul de habitaclu al
autovehiculului (BCM). Această arhitectură prezintă avantajul că la apariția unui defect la una din
cele două rețele, nu va afecta funcționarea corectă a celeilalte rețele .

20
În magi strala CAN sunt conținute două fire denumite CAN -H (High voltage) sau CAN –
L (Low voltage). Pe conductorul CAN -H valoarea tensiunii electrice poate avea două nivele: 2.5 și
3.5 V. Pe conductorul CAN -L valoarea tensiunii electrice poate fi de 1.5 și 2.5 V [1].
Nivelele de tensiune pe fiecare din cele două fire au valoarea de 2.5 V sau 3.5 V pe CAN -H
și respectiv 1.5 V pe CAN -L. Translatarea acestor valori ale tensiunii în semnal digital se face prin
diferența celor două tensiuni. În momentul în care tensiunea pe cele două fire are valoarea 2.5 V
diferența este de 0 V, iar în momentul în care cele două valori ale tensiuni i au 3.5 și 1.5 V, diferența
este de 2 V. Nivelele de tensiune ce au valori de 0 și 2 V se traduc în valori digitale de 1 și 0.
Valori le digitale nu sunt reprezentate ca fiind valori fixe ale tensiunii. Datorită posibilelor
perturbații aceste valori varia ză în anumite intervale. Așadar, valoarea digitală 0 este reprezentată
de o valoare a tensiunii între -1.0 și 0.5 V iar valoarea digita lă 1 reprezintă o un nivel de tensiune
situate între 0.9 și 5.0 V.
Figura 1.4 Semnalul de tensiune de pe o rețea CAN [1].
1.1.5 Parametrii fizici transmiși cu ajutorul magistralei CAN
Configurația cea mai uzuală de rețea CAN conține calculatorul de injecție al motorului ,
calculatorul pentru transmisi a automat ă și ESP. Informațiile comunicate între acestea fac referire la
temperaturi, cuplu, turații și diverse stări ale diferitelor componente.
Informațiile aflate pe magistrala CAN se grupează în mesaje ce conțin unul sau mai mulți
parametrii. Un calculator de bord are capabilitatea de a transmite mai multe mesaje și simultan va

21
recepționa unul sau mai mulți parametrii. Parametrii ce se transmit se vor nota cu Tx (transmited)
iar cei ce se primesc cu Rx (received) [1].

ECM TCU ESP
MesajParametriiMotor
– turațieMoto r Tx Rx
– cupluMotor Tx Rx Rx
– temperaturăMotor Tx Rx
MesajParametriiCutie
– temperaturăUlei Rx Tx
– treaptaCurentă Rx Tx
– stareAmbreiaj Rx Tx Rx
MesajParametriiESP
– activitateESP Rx Rx Tx
– vitezăAutomobil Rx Rx Tx

Tabelul 1.1 Parametrii fizici transmiși pe magistrala CAN [1].
Calculatorul de injecție transmite pe magistrala CAN mesajul „Mesaj Parametrii Motor” ce
conține cei trei parametrii: turația motorului, cuplul motor ului dar și temperatura motorului.
Calcul atorul transmisiei automate va primi acești parametrii pe care îi va utiliza pentru realizarea
controlul ui închiderii și deschiderii ambreiajului. Astfel, calculator ul ESP va utiliza informaț ia
cuplu lui motor si va decide dacă il reduce numai în cazul în care autovehiculul pierde aderență.
Viteza autovehiculului este un parametru transmis de calculatorul ESP și se utilizează de
către motor pentru a controla viteza de croazieră, iar calculatorul transmisiei automate îl va utiliza
pentru a decide momentele de comutare a treptelor de viteză.
Protocolul de comunicație folosind magistrala CAN se utilizează și de către echipamentele
de diagnoză pentru a detecta erori generate de calculatoarele autovehiculului și pentru a transmite
semnale de ș tergere a unor parametrii. Folosirea magistralei CAN pentru echipamentele de
diagnoză se impune de către reglementări le OBD în v igoare.

22
1.1.6 Diagnoza unei rețele CAN
Codurile OBD (On-Board Diagnosis) pentru un defect de comunicație al rețelei sunt afișate
folosind notația Uxxx . Pentru diagnostica rea unei rețele CAN, în plus față de codul de eroare
obținut, se va utiliza un osciloscop pentru a vizualiza semnalele electrice de pe cele două fire
(CAN -L și CAN -H) [1].
În cazul în care apare o perturbare a semnalelor pe cele d ouă fire, sau dacă modul de emisie –
recepț ie este defect, formele de undă de pe CAN (High și Low) vor fi anormale.
Figura 1.5 Forma corectă a semnalelor pe o magistrală CAN ( CAN -H, CAN -L) [1].
Figura 1.6 Forma incorectă a semnalelor pe o magistrală CAN ( CAN -H, CAN -L) [1].

23
Introducerea magistralei CAN si a protocolului de comunicați e CAN în industria
autovehiculelor a reprezentat începutul dezvoltării electronicii in domeniul automobilelor și a
sistemelor de control mult mai complexe. Pro tocolul CAN este cel mai folosit însă nu singurul
utilizat la autovehicule, protocoale folosite în industrie mai sunt si LIN, FlexRay sau MOST .

1.2 TRANSMISIUNI DE DATE PE MAGISTRALA CAN
1.2.1 Stratificarea în nivele
Protocolul CAN folosește modul serial de comunicație si permite control în timp real
asigurând un nivel de securitate sporit. Acest pro tocol este stratificat în trei niveluri și anume obiect,
trans fer și fizic.
Nivelul obiect și transfer sunt alcătuite din funcțiile nivelului legăturilor de date al stivei
OSI. Acest nivel este responsabil de detectarea mesajelor ce trebuie transmise, de luarea unei decizii
asupra mesajelor primite de l a nivelul de transfer și de asemenea asigură o legătura cu hardware -ul
printr -o interfață la nivelul aplicație.
Nivelul transport este responsabil de controlul cadrelor, de semnalizarea, detectarea și
limitarea defectelor. În cadrul acestui nivel se ia de cizia dacă magistrala poate începe o nouă
transmisiune sau dacă se va începe recepționarea mesajelor . De asemenea în cadrul acestui nivel se
găsesc diferite funcții ce se referă la rata de transfer.
Nivelul fizic se definește ca ni velul ce asigură schimbu l de biț i dintre noduri ș i este
responsabil de respectarea proprietăților electrice [2].

Figura 1.7 Legătura între nivelele stivei OSI și CAN [2].
Modul în care sunt transmise mesajele este stabilit de nivelul fizic ce cuprinde atât nivelele
semnalelor cât și mediul de transmisiune. Nucleul protocolului CAN este reprezentat de nive lul de
transfer, având ca respon sabilitate prezentarea mesajelor recepționate și acceptarea mesajelor de la
nivelul obiect. Tot în cadrul nivelului de transfer se stabilește rata de transmisiune ș i pentru
sincronizare (se folosește la arbitraj, confirmare, semnalizarea și detectarea erorilor). Filtrarea
mesajelor și manipulare a acestora este asigurată de nivelul obiect.

24
Nivelul fizic este stabilit prin circuitele de interfață folosite, nivelul obiect asigură legătura
cu programul aplicație, iar nivelul de transfer se asigură ca toate dispozitivele de pe o magistrala
CAN sunt compatibile [2].

1.2.2 Principii de funcționare
Magistrala CAN este un a de tipul multi -master, însemnâ nd ca oricare din noduri poate
începe transmisia. Accesul la magistrala va fi câștigat de nodul ce transmite mesajul cu prioritatea
cea mai mare. Aici intervine arbitrajul așa cum se vede în figura 1.5 : daca exista două sau mai multe
moduri ce încep transmisia simultan, conflictul se va rezolva prin metoda arbitrajului pe baza
identificatorului.

Figura 1.8 Metoda arbitrajului pe baza identificatorului [2].
Arbitrajul se asigură ca nicio informație nu este pierdută, astfel dacă un me saj de date dar și
unul de cerere de date ce prezintă acelaș i identificator, sunt transmise în același timp, mesajul de
date are prioritate. Pe parcursul arbitrajului, fiecare din transmițători compara nivelul bitului ce se
trans mite cu nivelul semnalului de pe magistrală. Dacă cele doua nivele coincid atunci se va
continua transmisia. Dacă se transmite un bit regresiv (receesive – engl.) ceea ce înseamnă 1 logic și
se detectează nivelul dominant adică 0 logic (a se vedea figura 1 .6), nodul pierde arbitrajul și va
trebui sa se retragă si sa nu mai t ransmită niciun bit [2].

Figura 1.9 Nivele de tensiune (dominant și regresiv) [2].

25
1.2.3 Transferul mesajelor
Magistrala de date CAN conț ine 4 tipuri de mesaje: cel de date, de cerere, de eroare și cele
de supraîncărcare .
Mesajele de date asigură transferul de date de la unul dintre emițătoare la receptoare.
Mesajele de cerere transmit semnale de cerere printr -un nod cu același identificator. Mesajul de
eroare este transmis de un nod ce detectează o eroare, iar cel de sup raîncă rcare anunță o întârziere
între mesaje consecutive [2].
Spațiul de intermesaj asigură separarea mesajelor de date de mesajele de cerere ca in figura
1.7.

Figura 1.10 Structura unui mesaj de date [2].
1.2.4 Tipuri de mesaje
Mesajul de date are în componența lui câmpul de start, cel de arbitrare, de control, de date,
de CRC și de sfârșit.
Cu ajutorul câmpului de start se marchează începutul mesaju lui de date și de cerere și este
reprezentat de un singur bit dominant. Nodul poate începe transmisia doar dacă magistrala este
liberă și toate nodurile trebuie sa fie sincronizate pe frontul crescător al câmpului.
Câmpul de arbitrare conține un identificator si un bit RTR (Remote Transmission Request).
Identificatorul prezintă 11 biți, transmisiunea începe cu cel mai semnificativ ID10 și se termină cu
cel mai puțin semnificativ ID 0. Biții cei mai sem nificativi nu tr ebuie sa fie toți regresivi, iar bitul
RTR este dominant în mesajele de date dar regresiv în mesajele de cerere.
Câmpul de control este alcătuit din 6 biți: lungimea câmpului de date dar si doi biți ce sunt
responsabili pentru eventuale extensii.
Câmpul anterior indica folosind ultimii patru biți lungimea în octeți a câmpului de date.
Fiecare transmisiune a fiecărui octet începe cu bitul cel mai semnificativ. În tabelul 1.2 se observă
corespondența dintre biții codului de control și numărul de octeți din care este alcătuit câmpul de
date. S -a notat cu „d” dominant și „r” recesiv [2].

26

Tabelul 1.2 Corespondență între câmpul de control și lungimea câmpului de date [2].
În câmpul CRC se află o secvență ce este urmată de un delimitator. Această secvență este o
derivare a unui cod de redundanță ciclică ce este folosi t pentru secvențe mai mici de 127 biți.
Polinomul ce va trebui împărțit se definește cu coeficienții din câmpurile de start, de arbitrare,
control și cel de date, după extra gerea biților de umplere. Vor rămân 15 coeficienți ce au valoarea 0
și sunt mai puțin semnificativi. Secvența CRC transmisă este dată de restul împărțirii.
Implementarea se realizează hardware sau software folosind un registru de deplasare pe 15 biți.
Sfârșitul câmpului CRC este marcat printr -un delimitator care reprezintă un bit regresiv.
Câmpul de validare are in componență doi biți de tip regresiv. Unul din biți se denumeș te
ACK Slot iar următorul este delimitatorul câmpului. În momentul în care un rece ptor recepționează
corect un mesaj, acesta îi va răspunde transmițătorului trimițând un bit dominant pe parcursul
duratei primului bit. Toți emițătorii care au recepționat mesajul corect vor răspunde pe durata ACK
Slot. Bitul deli mitator este de tip regres iv, astfel ACK Slot se va situa între doi biți regresivi [2].

Meajul de cerere este folosit pentru a interoga sursa.

Figura 1.11 Structura unui mesaj de cerere [2].

27
Mesajul de cerere este alcătuit din câmpurile de start, arbitrare, control, CRC, acceptare și
sfârșit de mesaj ca în figura 1.8. Spre deosebire de mesajul de date, aici bitul RTR este regresiv.
Mesajul de date este dominant, iar cel de cerere este regresiv. Mesajul de cerere nu are valori în
câmpul de date, iar valoarea specificat ă in DLC corespunde unui mesaj de date ce va precede
această cerere [3].
Mesajul de eroare este alcătuit din câmpuri diferite. Primul câmp se realizează prin
suprapunerea fanionul ui de eroare, iar al doilea reprezintă delimitatorul de eroare ca în figura 1.9.
Pentru a asigura terminarea unui mesaj de eroare în mod corect, un nod necesită ca ma gistrala sa nu
fie ocupată cel puțin trei perioade de bit.

Figura 1. 12 Structura unui mesaj de eroare [2].
Transmiterea unui fanion de eroare activ reprezint ă un nod ce transmite un mesaj de eroare.
Mesajul poate viola condiția de umplere cu biți sau se poate suprapune peste câmpurile ACK sau
sfârșit de mesaj. Dacă un nod transmite un fanion de eroare, celelalte noduri vor transmite fanioane
de eroare diferite. Lungimea fanioanelor poate varia între 6 și 12 biți. Delimitator ul de eroare este
alcătuit din opt biți regresivi si monitorizează magistrala CAN până la detectarea unui bit recesiv,
apoi se vor transmite încă 7 biți [2].
Mesajul de supraîncărc are este alcătuit din fanionul de supraîncărcare si un delimitator de
mesaj ca în figura 1.10.

Figura 1. 13 Structura unui mesaj de supraîncărcare [2].

28
Fanionul de supraîncăr care este alcătuit din 6 biți do minanți, iar formatul fiecărui fanion este
asemănător cu cel al fanionului de eroare activ. Există doua condiții de supraîncărcare si anume
cele interne ale rec eptorului care cer o întârziere a unui mesaj următor și detectarea unuia dintre biții
dominanți în timpul unei pauze. Inexistența câmpulu i de pauză produce detec tarea unei condiții de
supraîncărcare și apoi se transmit fanioanele de supraîncărcare.
Delimitatorul de supraîncărcare este alcătuit din 8 biți recesivi, simila r ca la mesajul de
eroare. După apariția fanionului, un nod va monitor iza magistrala in scopul detecției unei tranziții
de la un bit dominant la un bit recesiv. În acest moment se transmit 7 biți recesivi de către noduri și
niciunul dintre acestea nu mai are voie sa transmită un mesaj nou [2].
Mesajele sunt separate de căt re un câmp de biți denumit spațiu intermesaj ca in figura 1.11.

Figura 1.14 Spațiu intermesaj [2].
Aceste spații sunt precedate de o zonă de magistrală liberă cu lungime variabilă . În situația
în care un mesaj era în așteptare, acesta urmează sa fie transmis pe durata primului bit după pauză.
O parte din segmente le câmpurilor de start, arbitrar e, control, date si CRC sunt codate prin
umplere cu biți. La detectarea a 5 biți consecutivi identici, emițătorul va insera un bit
complementar. Restul câm purilor sunt fixe și nu se aplică umplerea cu biți. De asemenea și
mesajele de eroare și supraîncărcare sunt fixe si nu se va aplica umplerea cu biți [3].
1.2.5 Cerințe de sincronizare
Rata de bit se de finește ca fiind numărul de biți transmiși intr -o secundă, atunci când
resincronizare a lipsește. Durata de bit se definește ca fiind inversul ratei de bit.
O durată de bit poate fi stratificată în 4 segmente temporale (ca în figura 1.12) ce nu se
suprapun si anume:

 Un segment de sincronizare;
 Un segment de timp de propagare;
 Un segment 1 de fază tampon;
 Un segment 2 de fază tampon.

Nodurile folosesc segmentul de sincro nizare și pe parcursul acestuia se așteaptă un front.
Întârzierea fizică pe linie este compensată de segmentul de propagare. Erorile de fază pe fronturi
sunt compensate de către segmentele tampon. Punctul de eșantionare reprezintă punctul în care
nivelul liniei este tradus ca valoare a bitului respectiv [2].

29

Figura 1.15 Durata de bit [2].
1.2.5 Formatul CAN extins
Formatul CAN extins diferă față de cel normal prin biții SRR (Substitut Remote Request
Bit). SRR este un bit de tip regresiv și substituie bitul RTR din formatul standard CAN. Diferențele
între cele două formate se po t vedea în figura 1.13 [3].

Figura 1.1 6 Formatele CAN standard și extins [2].
De asemenea mai există diverse variante de CAN:

 CAN de mare viteză care este cel mai răspândit în industria autovehiculelor;
 DeviceNet care este creat pentru controlul procesoarelor industriale;
 CANopen ce se folosește în aut omatizări;
 ISO 11783 -2 ce folosește 4 cabluri torsadate pentru echipamentele din industria agricolă;
 SAE J2411 ce reprezintă CAN pe un singur fir, este de putere și viteză mică;
 ISO 1192 -1 este un CAN tolerant la erori folosit în industria autocamioanelor, remorcilor și
a platformelor de transport [3].

30

31
2. REȚELE FARĂ FIR – WIRELESS LAN
2.1 NOȚIUNI INTRODUCTIVE
2.1.1 Prezentare generală
Wi-Fi („Wireless Fidelity”) reprezintă o marcă î nregistrată de către compania Wi -Fi
Alliance pentru a descrie rețelele locale fără (WLAN) ce sunt bazate pe standardul IEEE 802.11.
O rețea fără fir este extinsă pe arii restrânse, arii ce sunt definite de echipamentele utilizate și
de parametrii acestora, prin care se poate efectua transferul de date dar și de internet folosind
infrastructura radio.
Wi-Fi constituie o categorie de echipamente compatibile cu standarde de tip WLAN
constituite pe baza protocoalelor IEEE 802.11 Standardele care au precedat cerințele IEEE 802.11
se regăsesc în rețelele contemporane oferind îmbunătățiri de la viteze mai mari de transfer la arii de
acoperire mai extinse.
În comparație cu alte sisteme ra dio, Wi -Fi utilizează un anumit spectru de frecvență radio ce
nu necesită licență sau aprobare pentru utilizare. Prin utilizare unei rețele locale WLAN fără fir se
reduc costurile necesare dezvoltării rețelei si se evită anumite dificultăți cum ar fi locurile
inaccesibile sau cele ce prezintă dificultăți de cablare.
Majoritatea rețelelor Wi -Fi au roaming integrat, facilitând mutarea c lientului dintru -un punct
al clă dirii în altul sau chiar într -o zonă geografică diferi tă. Fiind un standard global, Wi -Fi permite
clienților săi să lucreze din diferite țări de pe diferite continente.
Wi-Fi prezintă avantajul cheltuielilor scăzute în comparație cu rețelele tradiționale pe cablu,
așadar se realizează a ccesul mult mai ieftin și mai uș or la Internet. Accesul mult mai ușor la internet
constituie creșterea productivității industriilor bazate pe informație. O rețea devine mult mai
valoroasă pe măsură ce tot mai mulți clienți sunt legați la ea, deoarece diverse comunități au acces
la piața mondială unde au loc foarte mule tranzacții.
Rețelele Wi-Fi au ca și componentă principală un echipament denumit punct de acces. Acest
echipament reprezintă un releu ce transmite și recepționează unde radio către și respectiv de la
diferite dispozitive din raza sa de acțiune.
În figura 2.1 se observă două puncte de acces ce permit unui client sa se mute dint -un punct
al unei clădiri în altul fără a pierde conexiunea la internet [4].

Figura 2.1 Rețea fără fir cu 2 puncte de acces [4].

32
O rețea WI -FI prezintă și anumite dezavantaje cum ar fi faptul ca este vulnerabilă la diverse
interceptări neautorizate, iar la nivel fizic poate fi accesată de către orice persoana, însa fabricanții
echipamentelor au dezvoltat diverse modalități de cripta re a informațiilor care să îngreuneze accesul
intrușilor. Securitatea rețelelor fară fir este puternic dezbătută deoarece de multe ori din cauza
neprofesionalismului administratorilor, funcțiile de protecție și cr iptare nu sunt activate.
2.1.2 Standardele IEEE 802.11
Standardul IEEE 802.11 a fost dezvoltat din anul 1990 până în anul 1997 pentru a asigura
conexiuni fără fir între diverse stații fixe, portabile sau în mișcare situate pe o arie locală [4]. Există
un întreg alfabet de standarde din care utilizatorii pot alege în funcție de acoperirea dorită ca în
figura 2.2.

Figura 2.2 Standarde ale rețelelor fără fir [4].
Standardele IEEE 802.11 diferă din pun ct de vedere al lățimii be nzii, al frecvenței folosite și
al vitezei de transfer ca în figura 2.3.
Figura 2.3 Standardul IEEE 802.11 [4].

33
Standardul 802.11b are o rată nominală de 11 Mbps, iar succesorul său, 802.11g, de 54
Mbps, ambele ope rând în banda de frecvență de 2, 4 Ghz. De cealaltă parte, 802.11 a și 802.11h,
obțin o rată de transfer de 54 Mbps și operează în banda de 5 Ghz.
Standardul IEEE 802.11b a fost lansat în anul 1999 și este cel mai popular standard ce
utilizează tipul de modulație DSSS („Direct sequence Spread Spectrum”) ca în figura 2.4 . Puterea
de ieșire este de 1 W, are dispersia spectrului si tuată în intervalul 2,412 -2,484 GHz și viteza maximă
de 11 Mbps.
Figura 2.4 Modulație de tip DSSS [4].

Standardul IEEE 802.11g a fost lansat în anul 2013 și constituie protocolul standard fiind
astfel implementat pe toate ec hipamentele portabile de pe piață ce dispun de plăci pentru rețea fără
fir [4]. Folosește accesași subbandă ca si protocolul 802.11b, dar tipul de modulație folosit este
OFDM ( „Orthogonal Frecvency Division Multiplexing ”) ca în figura 2.5 .

Figura 2.5 Modulație de tip OFDM [4].

Viteza maximă de tr ansfer este de 54 Mbps, dar poat e coborî pană la 11 Mbps sau chiar și la
viteze mai mici, comutând tipul de modulație la DSS pentru a se realiza compatibilitatea cu
protocolul 802.11b.
Standardul IEEE 802.11 a este disponibil din anul 1999. Aceste utilizează principiul de
modulație OFDM, având viteza mai mare de 54 Mbps și operează în banda de frecvență de 5,745 –
5,805 GHz, da r și în banda de frecvență de 5,170 -5,320 GHz. Acest standard este incompa tibil cu
802.11b sau 802.11g. Utilizarea unui echipament ce folosește acest tip de protocol se poate face
numai cu licență.
IEEE 802.h reprezintă o variantă europeană a standardului american. Acest standard permite
selectarea dinamică a frecvenței si variația puterii emițătorului. IEEE 802.11c se ocupa de
„bridging” adică de conectarea diferitelor tipuri de rețele prin metode fără fir. IEEE 802.11d se
ocupă de conectarea rețelelor la nivel global, între continente [4].

34
IEEE 802.e definește QoS -ul și asigură îmbunătățirea rețelelor de 54 Mbps pentru aplicații
multimedia și VoIP, ceea ce înseamnă servicii de telefonie și internet prin rețelele IP. IE EE 802.11f
se preocupă de metode de schimbare a punctelor de acces și există un protocol IAPP care se ocupă
de acest lucru.
2.1.3 Standarde de securitate
Prima tehnică de securizare a rețelelor WLAN este cunoscută sub numele de WEP
(„Wireless Equivalent Privacy”) și reprezintă un standard de criptare. WEP este constituit dintr -un
cod numeric și un vector de inițializare care este modificat la fiecare transmisie a unui pachet.
Punctele slabe ale acestui standard de criptare permiteau infractorilor să inte rcepteze un număr
foarte mare de pachete de date pentru a reconstrui cheia. Pentru a rezolva aceste neajunsuri, Wi -Fi
Alliance a dezvoltat standardul WPA („Wi -Fi Protected Access”) care are ca si funcționalitate TKIP
–ul.
TKIP este dezvoltat astfel încât să înlocuiască cheia statică cu diverse chei modificate într –
un mod dinamic. TKIP implementează verificarea integrității mult mai avansată. Ultimul standard
dezvoltat este WPA2 care implementează toate funcționalitățile de securitate prevăzute de
standard ul IEEE 802.11i [4].
2.2 CONFIGURAREA ȘI FUNCȚIONAREA REȚELELOR Wi -Fi
2.2.1 Noțiuni introductive
Unitatea adresabilă intr -o rețea fără fir este o stație denumită STA și care reprezintă o
destinație a masajului. STA nu este o locație fixată într -un anumit punct.
Nivelul fizic al rețelelor cu fir diferă de cel al rețelelor fără fir. Acestea din urmă au
următoarele particularități:

 Utilizarea unui mediu de transmisiune lipsite de margini absolute;
 Lipsa protecției împotriva semnalelor externe;
 Mediul comunicației este mai puțin fiabil decât mediul de transmisiune pe fir;
 Prezența topologiilor dinamice;
 Lipsa conectivității totale;
 Proprietățile de propagare sunt variabile în timp [4].

Figura 2.6 Acoperirea cu semnal de către un punct de acces [4].

35
Elementul de bază este reprezentat de o celulă ce acoperă un echipament echivalent stației
de bază prezent e în comunicațiile mobile numită punct de acces . Punctul de acces asigură acoperire
de semnal așa cum se poate vedea în figura 2.6.
Celula reprezintă raza de acțiune a punctelor de acces radio și se denumește BSS. Mai multe
celule conectate între ele formează un domeniu ce se va denumi ESS. În cadrul domeniului, clientul
se poate muta de la o celulă la alta și nu va pierde conexiunea la rețea (acesta este denumit fenomen
de roaming).
Stația mobilă are drept responsabilități: monitorizarea permanentă a calității legăturii cu
celula utilizată, începerea căutării celulelor noi în momentul în care calitatea comunicației scade sub
o valoare prestabilită și utilizarea unui ID diferit pentru fiecare celulă. ID –ul va fi impus de către
sistem.

2.1.2 Componentele rețelei

BSS reprezintă blocul de bază și reprezintă setul serviciului de bază. Bloc urile de bază
asigură componența rețelelor fă ră fir ce trebuie sa acopere anumite zone geografice. În f igura 2.7
sunt reprezentate două blocu ri de bază compuse din câte două stații. Forma ovală reprezintă aria de
acoperire în care stațiile ce țin de BSS vo r rămâne în comunicație [4].

Figura 2.7 Seturile serviciului de bază [4].

Standardul 802.11 distinge doua tipuri ale rețelelor locale;

 Rețele ad -hoc;
 Rețele infrastructurale.

Un BSS ce este independent, notat cu IBSS, reprezintă tipul cel mai semnificativ de bază al
rețelelor IEEE 802.11. O astfel de rețea poate fi formată folosind doar două stații, fără planificare și
doar pentru un scurt interval de timp (rețea ad -hoc). Spre deosebire de rețelele ad -hoc, rețelele
infrastructurale deservesc clienții oferind diverse servicii și extinderea ariei.
Deoarece o stație poate fi sau nu alimentată, poate intra în aria de acoperire a BSS sau poate
ieși, se poate afirma că între o STA și un BSS există o asociere dinamică. Condiția necesară ca o

36
stație sa fie membră a unei infrastructuri BSS este ca ea sa devină asociată. Asocierea este una
dinamică și presupune folosirea serviciului sistemului de distribuire [4].

DS reprezintă a doua c omponentă a unei rețele fără fir. În cazul în care pentru anumite rețele
comunicația devine impos ibilă din cauza distanței, un BSS nu mai este independent, ci devine parte
a unei rețele extinse ce se realizează din mai multe BSS. Elementul de interconecta re al BSS este
reprezentat de sistemul de distribuire ca în figura 2.8.

Figura 2.8 Sisteme de distribuție și puncte de acces [4].

Sistemul de distribuție oferă servicii logice necesare integrării unui număr de BSS -uri.
Punctul de a cces (AP) este stația ce asigură accesul la DS, furnizează serviciile DS și are
comportament de stație. Datele se vor transfera între un BSS și un DS cu ajutorul unui AP.
Totalitatea punctelor de acces este adresabilă, iar un DS și mai multe BSS alcătuiesc o rețea fără fir
de mărime și complexitate aleatorie. O rețea astfel creată se denumește set al serviciului extins
(ESS).
O rețea ESS este tratată la nivelul LLC identic precum o rețea IBSS. Stațiile prezen te în
cadrul ESS pot comunica, iar stații le de tip mobil se pot deplasa î ntre BSS -uri intr -un mod
transparent pentru LLC.
Standardul IEEE 802.11 nu face referire la amplasarea fizică a BSS -urilor, acestea din urmă
putând fi disjuncte sau suprapuse parțial, nelimitând distanța dintre ele.

Integrarea cu rețelele loc ale reprezintă ultima componentă a unei rețele fară fir. Pentru a
asigura conectarea la diverse tipuri de rețele locale se utilizează un portal ce face parte din logica
arhitecturală și reprezintă un punct logic prin care unități de date ale MAC, dintr -o rețea locală ce
folosește ca mediu de transmisiune firul, sunt translatate intr -o arhitectură IEEE 802.11 si reciproc
asemenea exemplului din figura 2.9.
Există posibilitatea ca un anumit echipament să funcționeze în același timp și ca punct de
acces și ca portal, acesta fiind unul din cazurile când un DS este constituit din componente LAN
IEEE 802 [4].

37
Portalul este responsabil de interconectarea mediului de transmisiune propriu sistemului de
distribuire și cel al rețelelor cu fir. În figura 2.9 este prezentat un ESS constitu it din două BSS -uri,
un DS dar ș i accesul realizat printr -un portal la o rețea LAN ce folosește ca mediu de transmisiune
firul.

Figura 2.9 Conectarea la alte tipuri de rețea LAN [4].

2.1.3 Mobilitatea în cadrul unei rețele fără fir

Fiecare punct de acces radio are o rază de acțiune determinată de o celulă ce este definită de
către standardul IEEE 802.11 ca fiind un set al serviciului de bază. Există posibilitatea conectării
mai multor celule utilizând o rețea de distribuție ce folosește cablul și formează astfel un domeniu.
Domeniul asigură coerența conexiunii cu rețeaua în momentul deplasării clientului între celule.
Posibilitatea deplasării clientului între celule va defini mai departe termenul de „roaming”.
Stația va trebui să asigure monitorizarea calității legăturii cu celula utilizată , va începe
căutarea de noi celule în momentul în care se detectează deteriorarea calității comunicației și va
utiliza un ID diferit pentru fiecare celulă.
De obicei, roamingul este imposibi l de rea lizat între diverse secțiuni ale rețelei ce sunt
interconectate cu ajutorul routerelor, dar totuși există sisteme ce permit clientului să se deplaseze
între celule. O astfel de rețea este prezentată în figura 2.10. În fiecare rețea ce prevede acest serviciu
se transmite un anumit tip de mesaj ce conține informații importante cum ar fi: ID -ul domeniului și
al celulei, dar și informații referitoare la celulele vecine sau calitatea informației.
Terminalele mobile se conectează la internet în mod simil ar celor ce fac parte dintr -o rețea
pe cablu, punct la punct sau token ring. Cât timp clientul rămâne în aria BSS, mobilitatea nu
afectează funcționarea corectă a rețelei, însă problemele apar atunci când punctul de acces al rețelei
este schimbat. Mobilita tea poate fi interpretată ca o schimbare de topologie a rețelei, însă trebuie
asigurat accesul fă ră întreruperi la serviciile de internet a diverș ilor utilizatori mobili ce se
deplasează într -o anumită arie de lucru [5].

38

Figura 2.10 Rețea ce poate oferi serviciul de roaming [5].

Din nefericire protocolul de internet sau arhitectura de tip OSI nu oferă acest serviciu,
deoarece valabilitatea stației expiră și va trebui realocată o adresă nouă și de asemenea o nouă
activitate de configurare. Nu se va înl ocui protocolul IP cu un altul, ci se ajustează prin dezvoltare și
adăugarea unor noi tipuri de servicii cum ar fi mărirea spațiului de adresă sau capabilitatea de
prelucrare a mesajelor multi -difuzate.
Din nevoia de a soluționa problema rețelelor fără fir în a respecta arhitectura specifică IP, a
fost creat un grup numit „Mobile IP” ce are ca responsabilitate crearea unui protocol potrivit și
standardizarea acestuia. Grupul a venit cu propunerea de a modifica anumit e aspecte în protocolul
IP în așa mod în cât clienții mobili să aibă posibilitatea schimbării punctului de acces fără
întreruperea unei sesiuni de lucru.
Noua soluție se bazează pe o înregistrare a locației și de asemenea pe procedeul de redirijare
al pachetelor. O anumită stație ce își schimbă poziția trebuie sa se autentifice la un anumit agent ce
poate fi un punct de acces 802.11 sau o centrală de tip GSM. Agentul se numește „agent străin” și
se notează cu „FA” (eng. – „foreign agent”) și menține legătura cu „agentul de origine” ce se notează
cu „HA” (en g-„home agent”), ce va trebui să urmărească adresa curentă pe care stația o deține. În
momentul în care înregistrarea se realizează cu succes, adresa curentă este legată de cea de acasă
prin FA, care se va defini ca un agent ce va păstra datele adresei locale din rețeaua g azdă.
Datagramele recepționate v or fi trimise pin FA la o stație mobilă. Schema acestei soluții este
prezentată în figura 2.11.
Astfel, acest standard definește funții ce permit unei stații mobile să se mute de la o anumită
celulă la alta sau chiar să s e mute în rețele diferite fără a efectua schimbarea adresei IP. Acest fapt a
devenit posibil datorită transportului de date ce es te realizat transparent în cadr ul nivelului transport
și poate chiar mai transparent la orice router ce nu implica schimbări in funcțiile mobilității.
Schema de mai jos prezintă circularea tuturor datagramelor ce sunt adresate MN printr -un
HA. Pe cale inversă, circulă pachete de date, de la un client mobil la unul staționar și sunt dirijate pe
drumul ce l mai scurt cu ajutorul sistemului de rutare Internet [5].
Transparența serviciilor prezintă și anumite dezavantaje cum ar fi faptul că o anumită rută
aleasă poate fi cel mult sub -optimală, însă aspectul precizat se poate compensa cu ajutorul
distribuirii informației localizării la un număr mai mare de gazde ce se denumesc agenți ascunși și

39
care sunt responsabili de grăbirea redirijării datagramelor ce se adresează stațiilor a căror locație nu
este precizată.

Figura 2.11 Soluția propusă pentru intern etul mobil [5].

Fiind un mediu mobil, acesta este deseori vulnerabil la diverse atacuri fi ele active sau
pasive, de aceea este necesară implementarea de proceduri de autentificare la nivelul IP, proceduri
ce se dezvoltă de obicei la nivelel e superioare. Există trei niveluri diferite de securitate ce implică
autentificarea la utilizarea mediului, transferul de mesaje î n momentul înregistrării la agentul I P și
identificarea utilizatorului pentru a -i oferi acces la fișiere. Toate aceste metode de protecție
consumă resurse pentru a asigura schimbul de mesaje și admi nistrarea diverselor chei de protecție
[5].

2.1.4 Nivelele arhitecturale ale unei rețele fără fir

Nivelul fizic poate fi implementat în trei variante diferite și anume utilizând spectrul de tip
împrăștiat cu salt de frecvență (FHSS) și cel cu secvență joasă (DSSS), dar și utilizând radiațiile
infraroșii. Existența celor trei seturi este motivată de dorința evitării perioadelor prelungire ce conțin
coliziuni între diverse secvențe de salt.
Sistemele ce sun t bazate pe FHSS lucrează în banda de 2,4 GHz , în SUA fiind p recizate 79
de canale folosite pentru salturile de frecvență . Primul canal are frecvența centrală situată la 2,402
GHz, celelalte fiind distanțate cu câte 1 MHz. Această variantă de implementare permite existența
simultană a mai multor BSS -uri în aceeași arie geografică și astfel se asigură evitarea congestiilor și
maximizarea transferului de date. Cea mai mică rată pentru salturile d e frecvență este de 2,5 salturi
intr-o secundă. Rata de transfer este de 1Mb/s, iar pentru aceasta se folosește tipul de „ modulație
binară cu modulația frecvenței ” (GFSK). Această rată poate fi crescută la 2 Mb/s p rin utilizarea unei
modulații bazată pe patru nivele GFSK ce se realizează prin codarea în același timp a doi biți
folosindu -se patru frecvențe.
Sistemele ce sunt bazate pe DSSS lucrează tot în banda de 2,4GHZ, însă în acest caz se
folosește „modulația diferențială binară cu comutarea frecvenței ” (DBPSK) dacă se dorește o viteză
de transfer de 1 Mb/s și mod ulația „diferenț ială în cuadratură” (DQPSK) dacă se dorește o viteză de
transfer de 2 Mb/s. Împrăștierea se realizează prin alocarea a 11 canale în bandă, fiecare având

40
lățimea benzii de 11 MHz. Est e folosită o secvență de împrăștiere cu valoarea de 11 biți/simbol de
unde se deduce o capacitate a canalul ui de maxim 1Mb/s [5].
În cazul existenței unor BSS -uri suprapuse sau adiacente se asigură o separare a frecvențelor
centrale a BSS -urilor diferite de 30 MHz. De aici se deduce faptul că doar două BSS -uri pot sa fie
adiacente/suprapuse fără interferențe. Dezavantajul acestor sisteme este că au caracter de utilizator
secundar și pot exista mai mulți clienți în aceeași bandă.
Sistemele ce utilizează undele infraroșii folosesc lungimi de undă cuprinse în in tervalul 850 –
950 nm. Aceste sisteme sunt destinate folosirii în interior, iar stațiile recepționează mesajele doar în
vizibilitate directă și reflectată. Viteza de transfer este de 1 Mb/s, iar pentru obținerea acesteia se
folosește modulația 16 -PPM („Pulse Position Modulation”).

Nivelul MAC are drept responsabilități stabilirea modalităților de alocarea a canalului,
realizarea adresărilor unit ăților de date de protocol, dez voltarea cadrelor, controlul erorilor și
asamblarea și fragmentarea.
Mediul de tra nsmisiune est capabil să opereze în două moduri: cel concurențial (modul în
care stațiile negociază accesul la canal pentru pachetele transmise ), și cel neconcurențial (modul în
care punctul de acces controlează utilizarea mediului).
În cadrul acestui ni vel, standardul IEEE 802.11 definește trei tipuri de cadre: de
management, ce folosește la sincronizare, autentificare dar și la asocierea stațiilor cu punctele de
acces, de control, utilizat la negocierile din modul concurențial și de date, cadru ce serve ște la
transmisia datelor, a interogărilor și a confirmărilor pe parcursul modului neconcurențial.
Formatul cadrului este prezentat în figura 2.12 și este constituit dintr -un CRC de 32 biți, 2
biți ce specifică tipul cadrului, 2 octeți ce specifică du rata cât canalul este alocat pentru
transmisiune, un câmp de date ce are posibilitate de criptare și adrese MAC formate din 48 biți ce
folosesc la identificarea stațiilor [5].

Figura 2.12 Formatul cadru lui definit de standardul 802.11 [5].

41
3. MICROCONTROLERE
3.1 NOȚIUNI GENERALE
În ziua de azi multe din dispozitivele fie ele industriale sau domestice (telecomenzi,
cuptoare cu microunde, automobile) conțin microcontrolere. Aceste dispozitive sunt necesare pentru
a prelucra și comanda alte dispozitive pentru a controla și sincroniza diverse procese și mașini. De
asemena cu ajutorul microcontrolerelor este posibil să realizăm operații aritmetice și operații logice
simple.
Microcontrolerele se aseamănă cu un microcomputer fiind alcătuite din unitate centrală de
procesare, memorie, porturi de intrare și de ieșire, contoare, convertoare atât analog -digital cât și
digital -analog, porturi seriale, oscilator și se mai pot adăuga și alte blocuri funcționale. Având toate
aceste blocuri funcționale (ca în figura 3.1) într-un singur circuit integrat conduc la scăderea
spațiului ocupat, o putere consumată mai mică, fiabilitate și o ușoară integrare în cadrul unei
aplicații. Prin folosirea microcontrolerelor se reduce nu numai costul unei automatizări da r oferă și
o flexibilitate, încetul cu încetul reducând din complexitatea perifericelor externe. Datorită
capacității de memorare și procesare a microcontroler -ului dispozitiv ul din care face parte poate fi
programat , astfel devenind inteligent.

Figura 3.1 Diagrama generală a unui microcontroler [6].
Diferența între un microcontroler și un microprocesor este aceea că cel din urmă înseamnă
numai o unitate centrală de procesare, celelalte blocuri funcționale cum ar fii memoria, sunt
conectate extern la microprocesor. Datorită necesității de avea toate bl ocurile funcționale
menționate mai sus a dus la realizarea microcontroler -ului. Câteva exemple de microcontrolere
pentru aplicații generale, ce pot fi programate de un utilizator, sunt Intel MCS -51, familia PIC de la
Microchip, Atmel 89CXX. Există și micro controlere specializate pe o anumită aplicație cum ar fi
controlarea motoarelor electrice.
În anul 1974, Texas Instruments introduce primul microcontroler TMS 1000 (tabelul 3.1)
care avea memorii RAM, memorie ROM, intrării și ieșirii. În același an a fost introdus și Intel 8080,
fiind versiunea mai avansată a lui 8008, iar în anul 1976 a fost dezvoltat Intel 8085 care lucra la o
tensiune de 5V și o frecvență de 3MHz [6].

42

Tabelul 3.1 Istoricul dezvoltării Microprocesorului și a Microcontrolerului [6].

Dispozitivele încorporate (embedded) sunt cele mai regăsite în zilele de azi, un astfel de
dispozitiv având blocurile funcționale pe chip, incluzând memoria de program precum și memoria
de date. Aceste dispozitive nu au magistrală de date sau de adresă furniz ată. Codul este executat din
memoria internă de programare.
Se întâlnește la microcontrolere noțiunea de lungime a cuvântului a unui procesor. Spre
exemplu putem defini un microcontroler pe 8 biți ca un dis pozitiv ce are majoritatea regiș trilor pe 8
biți și majoritatea operanzilor din instrucțiune sunt pe 8 biți.
Când vorbim de microcontrolere, vorbim și de procesoare care pot fii CISC (Complex
Instruction Set Computers) sau RISC (Reduced Instruction Set Computers) . Procesoarele de tip
CISC au un număr mare de instrucțiuni care ajută programatorii de limbaj asambler prin oferirea
unei flexibilității în scrierea programelor eficient și scurt.
Totuși, programatorii vor instrucțiuni mai puține, mai simple și mai rapide decât
instrucțiunile CI SC mari, complexe și încete. Avantajul unei arhitecturii de tip RISC este că
necesită mai puțină implementare hardware datorită instrucțiunilor mai simple. Acest lucru le face
mai ușor de proiectat și costă mai puțin să fie produse, fiind mai ușor de scris compilatoare
optimizate datorită numărului de instrucțiunii mai mici
Există două clase majore de arhitectură a computerelor și anume arhitecturile Harvard și
arhitecturile Von Neumann (Princeton) ca în figura 3.2. Multe proiectări speciale a
microcontrole relor folosesc arhitectura Harvard.
Arhitectura Harvard folosește memorii separate pentru program și date care au magistrale
independente una față de cealaltă. Datorită celor două magistrale nu este nevoie de multiplexarea în
timp a adreselor sau a datelor . Un alt avantaj pe lângă faptul că arhitectura suportă magistrale în
paralel este faptul că permite o altă organizare internă, cum ar fi faptul că instrucțiunea poate fi
adusă și decodată în timp ce date multiple sunt aduse făcând operații asupra lor, mai mult magistrala
de date poate să difere ca dimensiune față de magistrala de adrese. Acest lucru permite dimensiuni
optime magistralelor de date și adrese pentru o execuție rapidă a instrucțiunii.
În arhitecturile von Neumann, programele și datele împart a celași spațiu de memorie.
Arhitecturile von Neumann permit stocarea și modificarea programelor mai ușor, totuși stocarea
codului poate fi neoptimă și necesită mai multe operații pentru a forma instrucțiunea. Operațiile de
program și date se face prin multi plexarea în timp care afectează performanțele [6].

43

Figura 3.2 Diferențele între cele două arhitecturii [6].
În mod normal programele pentru microcontroler trebuie să încapă pe memoria disponibilă
de program a chipului, fiind altfel costisitor să fie furnizată o memorie externă pentru extindere. Un
program este scris pe un microcontroler cu ajutorul unui compilat or sau a unui asambler. Rolul
compilatorului și a asamblerului este de a converti codul din limbajul de nivel înalt și limbajul de
asambler, într -un code mașină compact pentru a fi stocat pe memoria microcontrolerului. În funcție
de dispozitiv memoria de p rogram poate fi permanentă, putând fi doar citită fiind scrisă în fabrică,
sau memorie de program care poate fi rescrisă care poate fi de tip flash sau de tip memorie read –
only (numai scriere) care poate fi ștearsă.
În general memoriile pe care le întâlni m la microcontrolere în zilele de azi sunt de tip
EEPROM ( Electrically Erasable Programmable Read-Only Memory ). Aceste memorii sunt
nevolatile, ele nu își pierd informația în momentul când alimentarea este întreruptă. Memoria
EEPROM poate fii organizată în funcție de nevoi în matrici de tranzistoare cu grila în gol. Înainte
de memoriile de tip EEPROM, care au început să fie folosite din 1998, au fost memoriile de tip
EPROM ( Erasable Programmable Read-Only Memory ), acestea fiind mai greu de utilizat deoarec e
pentru a fii ștearsă informația de pe ele trebuiau scoase și expuse radiațiilor UV.
„Tranzistorul cu grila în gol (FGMOS) este un tranzistor cu efect de câmp (figura 3.3) , cu
structura asemănătoare a unui MOSFET convențional . Grila unui FGMOS izolată electric, creând
un nod în DC flotant și un număr de grile secundare sau intrări sunt depozitate deasupra grilei
flotante și sunt izolate electric de ea. Aceste intrării sunt legate capacitiv la grila flotantă. Datorită
faptului că grila flotantă este înconjurată de materiale cu rezistivitate mare, sarcina cuprinsă
înăuntru rămâne neschimbată pentru o perioadă lungă de timp. De obicei un mecanism pentru
schimbarea sarcinii stocate în grila flotantă este injectarea de purtătorii fi erbinții” [7].

Figura 3.3 Secțiunea unui tranzistor cu grilă flotantă [7].

44
Un microcontroler conține de la câțiva până la zeci de pini de tip GPIO -uri. Acești pini de
tip GPIO (General Purpose Input/Output) pot fi configurați software pentru a îndeplini atât funcția
de intrare cât și funcția de ieșire (nu se pot îndeplinii ambele funcții în același timp).
Multe sisteme embedded au nevoie să citească de la senzori semnale de tip analogic. Acesta
este rolul convertoarelor analog -digital, deoarece microcont rolerul poate interpreta numai semnale
digitale și nu au ce să facă cu semnalele de tip analog. O altă trăsătură mai puțin întâlnită la unele
microcontrolere este convertorul digital -analog, ce permite microcontrolerului să scoată la ieșire
semnale analogi ce sau niveluri de tensiune.
Un alt element întâlnit la microcontrolere, care a fost menționat mai la început sunt
contoarele. Acestea pot să numere de la o anumită valoare în jos sau de la zero până la valoarea
maximă a registrului, începând din nou de la zero dacă se depășește valoarea maximă. În momentul
în care a ajuns zero contorul trimite un semnal de întrerupere, semnalizând că a terminat de
numărat. Mai întâlnim și blocuri care realizează modularea pulsurilor în lățime care pot controla
dispozitive precum motoarele.
„Datorită integrării drasti ce (figura 3.4) se reduce numărul de chipuri și cantitatea de cablaj,
precum și spațiul de pe placă care ar fi necesar în cazul folosirii mai multor chipuri separate [7]”.

Figura 3.4 Matrița unui microcontroler [7].

3.2 ARDUINO CU ATmega328

Pentru proiectul care va fi realizat microcontrolerul se folosește un microcontroler
Atmega328 de la Atmel bazat pe AVR de tip RISC pe 8 biți de performanță înaltă ce combină o
memorie flash ISP de 32 kilobytes cu capabilitatea de a citi în timp ce scrie, o memorie EEPROM
de 1 kilobyte, o memorie SRAM de 2 kilobytes, 23 de GPIO -uri, 32 d e registre de lucru de uz
general. Microcontrolerul va fi alimentat la o tensiune de 5V și va av ea o frecvență de lucru de 8
MHz.

45

Figura 3.5 Diagrama cu blocurile care formează microcontrolerul Atmega328 [8].

Cele 32 de registre de uz lucru de uz general sunt conținute de către AVR, toate fiind
conectate direct la unitatea aritmetică și logică, permițând accesarea independent a două registre
într-o singură execuție de instrucțiune, într -un singur ciclu de ceas.
Microcont roler -ul ATMega328 va fi utilizat ca element component al platformei de
dezvoltare Arduino UNO R3. Arduino este o platformă de tip open -source ce este folosită pe scară
largă în dezvoltarea proiectelor din cadrul electronicii.
Arduino constă dintr -un med iu fizic de programare dar și un mediu de dezvoltare software
ce rulează pe c alculator și este folosit la de zvoltarea codului sursă și la încărcarea acestuia pe
hardware. Spre deose bire de alte platforme de dezvoltare, Arduino nu necesită un programator
hardware separat .
Arduino poate interacționa cu diverse componente externe cum ar fi butoane, leduri,
motoare, boxe, camere de filmat, internet și chiar telefoane mobile. Această flexibilitate combinată
cu faptul că mediul de dezvoltare software este gr atuit și prețul platformei hardware este foarte mic
duce la popularitatea acesteia pe o scara foarte mare.
Arduino UNO R3 oferă 14 pini digitali de intrare/ieșire, 6 dintre aceștia pot fi folosiți pentru
ieșiri PWM, 6 ieșiri analogice, o conexiune USB , un buton de reset și o mufă de alimentare așa cum
se poate observa în figura 3.6. Orice Arduino trebuie sa fie alimentat de la o sursă externă, aceasta
poate fi o sursă de tensiune convențională ce se cuplează la conectorul 1 sau prin USB folosind
conectorul 2. Tensiunea recomandată de alimentare este cuprinsă între 6 și 12V și nu trebuie sa
depășească 20V. Conect orul USB 2 folosește și la încărcarea codului sursă în memoria
microcontrolerului [8].

46

Figura 3.6 Arduino UNO R3 [8].

Pinii notați cu 3 sunt pinii de masă , iar pinii 4 și 5 asigură alimentarea componentelor
externe la 5V, respectiv 3,3V. Pinii ‚A0-A5” notați cu 6 sunt cei analogici, aici are loc citirea
semnalului de la un senzor analogic și conversia acestuia într -o valoarea digitală ce poate fi citită cu
ușurință de către utilizator .
Aria de pini notată cu 7 este constituită din pini digitali numerotați de la 0 la 13 și pot fi
folosiți atât pentru intrări cât și pentru ieșiri digitale. O parte din pinii digitali, cei marcați cu 8, și
anume pi nii 3,5,6,9,10,11 pot fi pini digitali clasici dar și pini pentru semnalele ce folosesc
modulație PWM.
Pinul notat în figură cu 9 și denumit „AREF ” este folosit pentru a furniza o referință de
tensiune între 0 și 5V pentru limita superioară a pinilor de i ntrare analogici.
LED -ul 11 se aprinde atunci când Arduino este conectată la o sursă adecvată de tensiune, iar
daca nu se aprinde este foart e posibil ca diverse probleme să existe pe linia de alimentare. LED –
urile TX și RX notate cu 12 oferă informații vi zuale despre transmisia și recepția datelor către
microcontroler .
Microcontrolerul este circuitul integrat notat cu 13 în figură, acesta este unul de tipul
ATmega328. Notat cu 14 este stabilizatorul de tensiune ce asigură un nivel de tensiune stabilă a
microcontrolerului indiferent de tensiunea de intrare aplicată din exterior ce se poate situa în
intervalul 0 -20V.
Arduino este o familie de plăci de dezvoltare ce diferă în funcție de nevoile utilizatorului :

 Arduino UNO R3 – cea mai populară din familia A rduino;
 LilyPad Arduino – se folose ște atașată de materiale textile;
 RedBoard – variantă de Arduino dezvoltată de SparkFun;
 Arduino Mega R3 – are cei mai mulți pini, 54 din care 16 sunt digitali. Este folosită la
proiecte ce necesită multe componente exter ne;
 Arduino Leonardo – poate emula tastaturi si mou se-uri și este cea mai ieftină d in familie
deoarece are controller -ul USB integra t în microcontroler [8].

47
4. REALIZAREA P RACTICĂ A PROIECTULUI
4.1 MODULE COMPONENTE
Proiectul de față își propune realizarea unui sistem de citire a datelor de pe magistrala CAN
a automobilelor folosind interfața OBD -2, interfață ce va fi descrisă pe parcursul acestui capitol .
Sistemul va fi folosit pentru diagnoza autovehiculelor achiziționând date de pe mag istrala CAN și le
va afișa pe un ecran dedicat dar le va trimite și pe un calculator ce comunică cu sistemul p rin
intermediul unei rețele fără fir.
Pentru realizarea practică a proiectului s -a proiectat schema bloc din figura 4.1 ce va descrie
întreg sis temul.
Figura 4.1 Schema bloc a proiectului .
Astfel, așa cum se observă în figura 4.1, se va f olosi o platformă de dezvoltare Arduino
UNO cu microcontroler Atmega 328 ce va comunica cu un modul CAN, acesta din urmă asigurând
interfața cu automobilul. Datele obțin ute for fi afișate pe un ecran 16×2 dar și transmise către un
calculator folosind Wi -Fi și modulul ESP8266. Prin inter mediul calculatorului co nectat fără fir se
vor putea trimite și comenzi către microcontroler folosind consola de comunicație.

4.1.1 Platforma de dezvoltare
La baza proiectului se află o platformă de dezvoltare Arduino UNO ce folosește un
microcontroler A tmega 328 bazat pe AVR. Este de tip RISC pe 8 biți de performanță ridicată ce
combină o memorie flash de 32 Kb ce are posibilitatea de a citi în timp ce scrie, o memorie
EEPROM de 1 Kb, o memorie SRAM de 2 Kb și 32 de registre de lucru pentru uz general.
Microcontrolerul este alimentat la o tensiune de 5V și lucrează a frecvența de 8MHz.
Arduino UNO R3 deține 14 pini digitali de intrare/ieșire, 6 dintre aceștia pot fi folosiți
pentru semnale PWM, 6 ieșiri analogice, o conexiune USB , un buton de reset și o mufă de
alimentare. Orice Arduino trebuie sa fie alimentat de la o sursă externă, tensiunea recomandată de
alimentare este cuprinsă între 6 și 12V și nu trebuie sa depășească 20V.

48
Arduino constă dintr -un mediu fizic de programare dar și un mediu de dezvoltare software
ce se instalează pe calculator și este folosit la dezvoltarea codului sursă și la încărcarea acestuia pe
hardware. Spre deose bire de alte platforme de dezvoltare, Arduino nu necesită un programator
hardware separat, acesta fiind integrat direct pe platforma de dezvoltare.
Alimentarea și programarea platformei de dezvoltare se va face ca în figura 4.2 și anume
folosind mediul de programare Arduino IDE, un PC, iar pentru alimentare se va folosi o baterie de
9V.

Figura 4.2 Modul de alimentare și programare al Arduino UNO.

4.1.2 Ecranul (Display -ul) de tip 16×2

Pentru a facilita afișarea datelor furnizate de sistemul realizat pentru achiziția datelor de pe
magistrala CAN a automobilului, în proiectul de față se folosește un ecran cu 16 coloane și 2
rânduri ca cel din figura 4.3

Figura 4.3 Ecran 16×2 .

Ecranul dispune de o interfață paralelă de comunicație, ceea ce înseamnă că
microcontrolerul va trebui sa utilizeze mai mulți pini de interfață pentru a controla afișajul. Mai
departe se vor descrie pinii ce alcătuiesc această interfață.
Pinul de selectare al registrului („RS”) controlează locația din memoria ecranului unde se
dorește scrierea informației. Se poate selecta registrul de date ce conține datele ce u rmează a fi
afișate pe ecran , sau registrul de instrucțiuni ce conține informații despre acțiunile pe care urmează
să le întreprindă afișajul. De asemenea , mai există doi pini de citire/scriere ( „R/W ”) respectiv de
permisiune („Enable”) ce selectează modul afișajul ui (dacă acesta va trebui să scrie sau să citească
date) și permite sau nu scrierea de date în registre.

49
Afișajul deține 8 pini de date („D B0-DB7”) ce pot lua valori de 0 sau 1 digital. Aceste valori
reprezintă biții pe care sunt reprezentate valorile care se scriu sau se citesc într -un anumit registru.
De asemenea, mai există pini cum ar fi pinul de contrast („Vo”), pinii de alimentare
(„+5V/GND”) și pinul pentru luminozitate („ LED+/LED -”), ce se utilizează pentru a alimenta
afișajul , pentru a controla contrastul ecranului, respectiv pentru a porni sau opri LED -ul ce asigură
luminozitatea.
Procesul de control al ecranului implică inserarea datelor elementelor ce se doresc a fi
afișate într-un registru de date și de asemenea inserarea instrucț iunilor într -un registru dedicat.
Ecranul poate fi controlat în două moduri și anume pe 4 sau pe 8 biți. Modul de control pe 4 biți
necesită folosirea a 7 pini Arduino, iar cel pe 8 biți folosește 11 pini. În proiectul prezent se afișează
doar date de tip text și se va folosi modul de control pe 4 biți [9].
Pentru conectarea ecranului la platforma de dezvoltarea Arduino UNO se folosește un
montaj pentru prototipuri ca fel din figura 4.4 și va fi suprapus peste platforma de dezvoltare.

Figura 4.4 Montaj pentru prototipuri [10].

Conectivitatea între platforma de dezvoltare și afișaj se realizează astfel: Pinii pentru
controlul luminozității, LED – și LED +, se leagă la masă, respectiv la 5V folosind o rezistență de
220 ohm pentru limitarea c urentului prin diodă. Pinii DB4 -DB7, fiind pinii de date, pinul de
permisiune de scriere în registre și pinul de selectare al registrului, RS, se conectează la 6 pini
digitali ai Arduino. Pinul de citire/scriere R/W și pinul VSS se conectează la masă iar pinul VDD la
5V pentru a asigura alimentarea ecranului. În cele din urmă pinul de contrast al afișajului, Vo, se
conectează între masă și 5V folosind un potențiometru cu valoarea nominală 10 Kohm. Conexiunile
sunt descrise vizual în figurile 4.5 și 4.6.
Figura 4.5 Conexiune Arduino – afișaj [9]. Figura 4.6 Schemă Arduino – afișaj [9].

50
4.1.3 Modulul Wi -Fi – ESP8266

Pentru a asigura transmiterea datelor furnizate de magistrala CAN a automobilului către un
dispozitiv extern fără fir se folosește un modul Wi -Fi ce are la bază un microcontroler ESP8266 ca
în figura 4.7.

Figura 4.7 Modul Wi -Fi – ESP8266 [11].

Microcontrolerul ESP8266 este produs de firma „Espressif Systems” și are integrat un
protocol de comunicație fără fir. Ca și caracteristici principale acesta se alimente ază la o tensiune de
3,3 V, consumă un curent de cca.64 mA, are o frecvență de tact de 80 -160 MHz, o memorie flash de
16 MB, 17 pini de intrare/ieșire ca în figura 4.8 și de asemenea are integrat un conve rtor analog –
digital pe 10 biți. Pe piață există mai multe variante de module ce folosesc același procesor, însă
diferă componentele extern e atașate.
Alimentarea se realizează la o tensiune de 3,3V, dar modulul tolerează o plajă de tensiuni
situată între 3,0 și 3,6 V. În modul de repaus, modulul consumă 40 uA, dar în momentul în care
efectuează transmisiuni, consumul poate crește până la 500 mA [11].

Figura 4.8 Pinii modulului Wi -Fi – ESP8266 [11].

Pentru realizarea conectivității intre platform a de dezvoltare Arduino UNO și modulul
ESP8266 se folosește același montaj pentru prototipuri ca în figura 4.4. Pinii modulului destinați
alimen tării, 3,3 V, și cel de masă , GND, se conectează la pinii omologi ai platformei.
Pentru transmisia serială a d atelor se folosesc pinii TX și RX ai modulului Wi -Fi și ai
platformei Arduino, destinați transmisiei respectiv recepției, astfel: Pinul TX al ESP8266 este

51
conectat la pinul RX al Arduino UNO și Pinul RX al ESP8266 la pinul TX al Arduino UNO.
Transmisiunea este de tip serială asincrona, în sensul ca nu semnalul de ceas nu se transmite prin
lina de date serială. Arduino va recunoaște valorile binare individuale fără o line comună de ceas.
Transmiterea semnalelor s e realizează pe un nivel logic 0 -3,3V, însă atât calculatorul cât și A rduino
lucrează cu nivelel logice de 0 -5V. Pentru a rezolva această problemă, modulul are integrat un
circuit, CP2012, ce asigură conversia de nivel și permite comunicația cu dispozitivele externe cu fir.
Comunicația serială se r ealizează la o rată nominală de 9600 biți/secundă.
Programarea inițială a microcontrolerului ESP8266 se realizează utilizând utilitarul
„NodeMCU Flasher”, ca în figura 4.9, folosind 4 containere memorate la adrese diferite:

 Boot_v1.x.bin la adresa 0x00000;
 Blank.bin la adresa 0x3FE000;
 Esp_init_data_default.bin la adresa 0x3FC000;
 User1.bin la adresa 0x0100.

Înainte de scrierea fișierelor în memorie, modulul trebuie sa fie setat în modul de
programare . Acest lucru se realizează prin apăsarea buton ului „FLASH” până când se începe
transferul propriu -zis apoi este lăsat în starea sa normală, nemaifiind apăsat.
Pentru actualizarea soft -ului este necesară doar rescrierea fișierului user1.bin la adresa
0x0100. Fișierele sunt oferite de către producător periodic. În utilitarul de programare se vor
specifica fișierele, adresele la care acestea trebuie scrise ca în figura 4.10 , portul COM pe care
modulul este conectat la calculator și de asemenea rata de transmisiune de 9600 biți/secundă. Dacă
programarea are loc cu succes, utilitarul marchează acest lucru pri n aprinderea unui martor verde.
După programare se apasă butonul „RESET” pentru a reinițializa modulul și pentru a funcționa
corespunzător.
Figura 4.9 Programarea ESP8266 realizată cu succes folosind N odeMCU.

Figura 4.10 Selectarea fișiere lor și specificarea adreselor pentru programare .

52
După programare a modulului, acesta se transformă în punct de acces Wi -Fi, cu o rețea
denumită implicit „ESP -ABC”, unde ABC sunt cifre sau litere aleatorii și fără parolă. Pentru a
schimba denumirea rețelei în „DisertațieTamas” și pentru a impleme nta o parolă („andreitamas”)
sau pentru a efectua diferite setări de rețea, se accesează pagina creată de modul la adresa IP :
192.168.4.1. Această pagină dedicată setă rilor de rețea este descrisă în figura 4.11 .
Figura 4.11 Pagina de setări creată la adresa 192.168.4.1 .
Pagina creată dispune și de o consolă destinată recepției sau transmiterii informației seriale
de la microcontrolerul Atmga328 al platformei Arduino UNO, așa cum este descrisă în figura 4.12.
Se selectează rata de transmitere a informației la 9600 biți/sec undă și astfel se poate vizualiza
folosind ca mediu de propagare aerul, comunicația di ntre microcontroler și modulul Wi-Fi.

Figura 4.12 Pagina – consolă – creată la adresa 192.168.4.1.

53
4.1.4 Modulul CAN

Pentru achiziția datelor furnizate de automobil pe magistrala CAN, sistemul prezentat
folosește modulul CAN din figura 4.13. Modulul folosește microcontrolerul MCP2515 pentru a
prelucra datele preluate de pe magistrala CAN și tranceiver -ul MCP 2551 ce asi gură transmiterea
datelor între microcontroler și mașină.

Figura 4.13 Modul CAN.

Pentru conectarea modulului cu autovehiculul se folosește un cablu ce DB9 – OBD -II ca cel
din figura 4.14

Figura 4.14 Modul Cablu DB9 – OBD -II.

OBD reprezintă un sistem ce monitorizează performanțele anumitor componente ale
autovehiculului, cu alte cuvinte se definește ca un limbaj al calculatorului motorului ce ajută la
diagnoză. Orice autovehicul fabricat după anul 1996 este obligat să aibă în d otare sistemul
computerizat OBD. Legătura dintre modulul CAN și autovehicul, folosind cablul din figura 4.14, se
face prin intermediul portului DLC al mașinii. Acesta este un port cu 16 pini și este localizat sub
bord, lângă scaunul șoferului sau în vecină tatea scrumierei pentru a fi ușor accesibilă fără a folosi
scule specializate (figura 4.15).
Există mai multe standarde ale OBD II, în cazul de față pentru automobilele ce folosesc
magistrala CAN, se va folosi standardul ISO 15765 CAN. Acest standard def inește caracteristicile
conectorului OBD -II și modul de folosire al pinilor acestuia: pinii 6 și 14 se folosesc pentru CAN –
H, respectiv CAN -L, pinul 16 pentru alimentarea de la bateria autovehiculului (12V), pinii 4 și 5
reprezintă pinii de masă.

54
Magist rala este activă atunci când CAN -H este pe palierul de 1, iar CAN -L pe palierul de 0.
Viteza transmisiei datelor pe magistrală poate fi de 250kbit/sec sau 500kbit/sec. În proiectul de față
se folosește 500kbit/sec deoarece se testează sistemul pe un automo bil marca Suzuki a cărei
magistrală lucrează la această viteză.

Figura 4.15 Conector DLC din interiorul autovehiculului.

Computerul de control al motorului de unde se preiau datele achiziționate în acest proiect
reprezintă o suită de alte calculatoare. Acestea monitorizează și controlează numeroase funcții ale
mașinii și reprezintă în general microcontrolere performante. Majoritatea computerelor de control al
motorului includ:

 Modulul de control al motorului ce controlează actuatoarele, modifică timpii de injecție și
stabilește volumul de aer de pe admisie;
 Modulul de control al mașinii ce se ocupă de transmisie, poziția accelerației sau viteza
roților;
 Modulul de control ce controlează comportamentul căii de rulare;
 Modulul de control al frânării asist ate ce previne blocarea roților la frânare;
 Modulul de control al corpului mașinii ce controlează geamurile electrice, aerul condiționat,
scaunele electrice, etc.

Comunicarea modulului cu platforma de dezvoltare Arduino UNO se realizează folosind
protocolul SPI, iar alimentarea acestuia se realizează prin conectarea pinilor 5V, 3,3V și GND la
pinii omologi ai platformei de dezvoltare.
SPI este o interfață sincronă de viteză mare și este folosită pentru transmiterea de date unde
comunicare este pe principiul „master -slave”. SPI -ul are 4 semnale specifice: ceas serial (SCK);
ieșire master, intrare slave (MOSI); intrare master, ieșire slave (MISO) ; selectare slave (SS).
Această interfață operează cu un singur dispozitiv master si unul slave. În cazu l de față există un
singur dispozitiv pe SPI, deci există un singur master conectat astfel: SCK la pinul digital 13 al
Arduino, MOSI la pinul digital 11 și MISO la pinul digital 12.
Pentru a controla datele ce urmează să fie afișate pe ecran, modulul CAN include un
joystick. Acesta din urmă are disponibile 5 poziții (sus, jos, stânga, dreapta și apăsat), deci 5 pini ce
sunt legați la 5 pini digitali Arduino (A1 -A5). Pinii sunt conectați la un semnal de 1 digital, iar în
momentul selecției unei direcții a j oystick -ului pinul corespondent ia valoarea 0 digital.

55
4.2 PROGRAMAREA SISTEMULUI

Pentru programarea sistemului se utilizează mediul integrat de dezvoltare software Arduino
IDE. Programul debutează cu includerea librăriei pentru afișaj, pentru modulul C AN dar și a
librăriilor generale:
#include <Canbus.h>
#include <defaults.h>
#include <global.h>
#include <mcp2515.h>
#include <mcp2515_defs.h>
#include <LiquidCrystal.h>

Tot la începutul programului se definesc pinii joystick -ului (5 pini analogici), în funcție de
direcția în care acesta urmează să fie manevrat , și pinii de date ai afișajului .

LiquidCrystal lcd(8, 7, 5, 4, 3, 6);
În prima funcție a programului (void setup) se comunica microcontrolerului, faptul că
semnalele ce vor veni de la joystick su nt semnale de intrare și se atribuie acestora valoarea de 1
logic:
pinMode(UP,INPUT);
pinMode(DOWN,INPUT);
pinMode(LEFT,INPUT);
pinMode(RIGHT,INPUT);
pinMode(CLICK,INPUT);

digitalWrite(UP, HIGH);
digitalWrite(DOWN, HIGH);
digitalWrite(LEFT, HIGH);
digitalWrite(RIGHT, HIGH);
digitalWrite(CLICK, HIGH);

Tot în funcția setup se inițializează rata de transmisiune serială de 9600 biți/sec și i -se
comunică microcontrolerului faptul ca afișajul dispune de 2 linii și 16 coloa ne:

Serial.begin(9600);
lcd.begin(16, 2);

Următoarea responsabilitatea a acestei funcții este de a verifica dacă modulul CAN poate fi
inițializat sau nu și de a trimite un mesaj utilizatorului în acest sens :

if(Canbus.init(CANSPEED_500))
{
Serial.println("CAN Init Ok");
lcd.setCursor(1,0);
lcd.print("CAN Init Ok");

56
}
else
{
Serial.println("Can't init CAN");
lcd.setCursor(1,0);
lcd.print("Can't init CAN");
}

Funcția setup se încheie cu afișarea unui meniu principal, pentru a comunica utilizatorului
funcțiile sistemului și modul de selectare al acestora. Pentru a selecta modul de vizualizare a tuturor
datelor nefiltrate, utilizatorul trebuie să acționeze joystick -ul în partea stângă, pentru vizualizare a
datelor filtrate în partea dreaptă, pentru afișarea ID -ului pe care se face filtrarea în partea de jos, iar
pentru a se întoarce la meniul principal în partea de sus.

lcd.clear();
lcd.setCursor(1,0);
lcd.print(" U:HOME D:ID");
lcd.setCursor(0,1 );
lcd.print(" L:ROW R:Data");

Următoarea funcție a programului , void loop, reprezintă o bulcă ce se execută la infinit și
include toate funcționalitățile sistemului. Înainte de a începe afișarea datelor către utilizator,
programul verifică faptul că automobilul transmite mesaje pe magistrala CAN.

if (mcp2515_check_message())
{
if (mcp2515_get_message(&message))
{
if(message.id == 0x1AE)

Dacă autovehiculul furnizează date programul va continua și va monitoriza poziția joystick –
ului. La apăsarea joystick -ului într -o anumită direcție, microcontrolerul va detecta un semnal de 0
logic pe pinul respectiv. Astfel, dacă joystick -ul este apăsat la dreapta, programul efectuează
afișarea datelor de pe magistrala CAN filtrate pe I D-ul 0x1AE. Pe prima linie a afișajului este
reprezentat ID -ul, iar pe linia 2 este afișat mesajul de date.
În cazul afișajului se va introduce un 0 în fața byte -ului mai mic de 0x10. Astfel, deoarece
un mesaj de date are 8 bytes și linia afișajului are m axim 16 caractere, pe ecran va fi reprezentat un
șir de caractere cu lungimea 16, însemnând ca fiecare 2 caractere consecutive reprezintă un byte :

if (digitalRead(RIGHT) == LOW)
{
lcd.clear();
lcd.setCursor(1,0);

lcd.prin t("ID: ");
lcd.print(message.id,HEX);
lcd.print(" Data:");

57
lcd.setCursor(0,1);
for(int i=0;i<message.header.length;i++)
{
if (message.data[i]<0x10)
{
lcd.print(0);
}
lcd.print(message.data[i],HEX);
}
}
În cazul apăsării joystick -ului în partea de jos , pe ecran se va afișa pe prima linie ID -ul pe
care se efectuează filtrarea mesajelor și se va șterge ecranul precedent:
else if (digitalRead(UP) == LOW)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print(" U:HOME D:ID");
lcd.setCursor(0,1);
lcd.print(" L:ROW R:Data");

}

Pentru a se întoarce la meniul principal și pentru a șterge ecranul precedent, utilizator trebuie
să apese joystick -ul în partea de sus.

else if (digitalRead(UP) == LOW)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print(" U:HOME D:ID");
lcd.setCursor(0,1);
lcd.print(" L:ROW R:Data");

}
Dacă joystick -ul este apăsat în partea stângă, programul efectuează afișarea datelor de pe
magistrala CAN nefiltrate. Pe prima linie a afișajului este reprezentat ID -ul, ia r pe linia 2 este afișat
mesajul de date.
În cazul afișajului se va introduce un 0 în fața byte -ului mai mic de 0x10. Astfel, deoarece
un mesaj de date are 8 bytes și linia afișajului are maxim 16 caractere, pe ecran va fi reprezentat un
șir de caractere cu lungimea 16, însemnând ca fiecare 2 caractere consecutive reprezintă un byte:

else if (digitalRead(LEFT) == LOW)

{ lcd.clear();
lcd.setCursor(1,0);

lcd.print("ID: ");

58
Serial.print("ID: ");

lcd.print(message.id,HEX);
Serial.print(message.id,HEX);

lcd.print(" Data:");
Serial.print(", ");
Serial.print("Data: ");

lcd.setCursor(0,1);

for(int i=0;i<message.header.length;i++)
{
if (message.data[i]<0x10)
{
lcd.print(0);
}
lcd.print(message.data[i],HEX);
Serial.print(message.data[i],HEX);
Serial.print(" ");
}
La finalul programului se transmit datele achiziționate de pe magistrala CAN a
automobilului pe magistrala de date serială pentru a putea fi afișate în consola unui dispozitiv extern
conectat la sistem prin Wi -Fi.

Serial.print("ID: ");
Serial.print(message.id,HEX);

Serial.print(" , ");
Serial.print("Data: ");

for(int i=0;i<message.header.length;i++)
{
Serial.print(message.data[i],HEX);
Serial.print(" ");
}
Serial.println("");

59
4.3 REZULTATE ȘI FORMA FINALĂ A SISTEMULUI
4.3.1 Rezultate obținute cu ajutorul afișajului

Sistemul de achiziție la distanță a datelor furnizate de automobil pe magistrala CAN dispune
de un afișaj ce conține 4 meniuri astfel:
 Meniul „ HOME”, fiind meniul principal de unde se pot selecta opțiunile de afișare
(figura 4.16). Pentru selectarea acestui meniu se apasă joystick -ul în direcția de sus.

Figura 4. 16 Meniul principal al sistemului .

 Meniul „ROW” ce afișează datele furnizate de automobil pe magistrala CA N. Se afișează
mesajele de date și ID -ul acestora (figura 4.17) . Pentru selectarea acestui meniu se apasă
joystick -ul in direcția stân ga.

Figura 4. 17 Meniul „ROW” .

 Meniul „DATA” oferă inf ormații asupra mesajelor de date ale unui ID specific, mesaje ce
sunt filtrate după ID (figura 4.18). Pentru selectarea acestui meniu se apasă joystick -ul în
direcția dreapta.

Figura 4. 18 Meniul „DATA” .

60
 Meniul „ID” afișează ID -ul pe care se face filtrare a în meniul „DATA” (figura 4.19). Pentru
selectarea acestui meniu se apasă joystick -ul în direcția de jos.

Figura 4. 19 Meniul „ID” .

Un mesaj de date conține 8 octeți. În figura 4.18 de exemplu, fiecare grup de câte 2 caractere
reprezintă un octet . Astfel pentru o analiză a datelor lucrurile vor fi tratate astfel:

 ID-ul mesajului = 1AE;
 Octetul 1 = 02;
 Octetul 2 = 64;
 Octetul 3 = F4;
 Octetul 4 = 00;
 Octetul 5 = 01;
 Octetul 6 = 00;
 Octetul 7 = 4C;
 Octetul 8 = 00.

4.3.2 Rezultate obținute cu ajuto rul modulului Wi -Fi

Figura 4. 20 Afișare datelor la distanță folosind Wi -Fi.

61
Datele furnizare de automobil pe magistrala CAN sunt trimise nefiltrate către un dispozitiv
extern (calculator personal) prin intermediul Wi -Fi. În consola generată de modulul Wi -Fi se
afișează toate mesajele de date furnizate de calculatorul mașinii, cuprinzând cei 8 octeți și ID –ul
mesajului (figura 4.20).

4.3.3 Forma finală a sistemului

Pentru realizarea formei finale a sistemului (figura 4.23) de achiziție la distanță a datelor
furnizate de automobil pe magistrala CAN am creat o carcasă ce integrează sistemul, face accesibil
conectorul DB9 (figura 4.22) pentru conectarea la mașină și dispune de un comutator de pornire sau
oprire a sistemului (f igura 4.21) . Pentru a evita alunecarea sistemului de pe bordul mașinii, am
implementat pe spatele carcasei picioare aderente din cauciuc.

Figura 4. 21 Comutator pornire/oprire . Figura 4.22 Conector DB9.

Figura 4. 23 Form a finală a sistemului de achiziție la distanță a datelor furnizate de
automobil pe magistrala CAN .

62

63
CONCLUZII

Sistemul de achiziție la distanță a datelor furnizate de automobil pe magistrala CAN a fost
realizat practic și testat pe un automobil marca Suzuki. Sistemul își atinge obiectivul de a
achiziționa datele de pe magistrala CAN și de a le transmite unui afișaj, dar și la distanță
dispozitivelor externe.
Sistemul realizat scade timpul de reparație , minimizează eforturile umane pentru detectarea
erorilor sistemelor electronice și îmbunătățește modul de diagnoză al automobilelor.
Documentarea în ceea ce privește noțiunile teoretice ce stau la baza protocolului CAN și
descrierea acestuia detaliată au fost prezentate în capitolul 1.
Capitolul 2 a fost dedicat rețelelor fără fir și constă în descrierea funcționării acestora, dar și
în descrierea standardelor Wi -Fi.
În capitolul 3 au fost prezentate noțiuni de bază despre microcontrolere, arhitecturi și despre
platforma de dezvoltare Arduino UNO ce folosește microcontrolerul ATmega328.
Prezentarea realizării practice a sistemului de achiziție la distanță a datelor furnizate de
automobil pe magistrala CAN a fost dezvoltată în capitolul 4. Sistemul de f ață folosește o platformă
de dezvoltare Arduino UNO, un afișaj, un modul CAN și un modul Wi -Fi ESP8266 ce sunt descrise
în acest capitol. Tot aici se oferă informații despre modul de funcționare al sistemului, schema bloc
a acestuia, dar și modul de conec tare și de comunicare a modulelor componente. Capitolul 4
cuprinde de asemenea descrierea software -ului realizat pentru achiziția de date și pentru transmisia
acestora prin Wi -Fi către dispozitive externe, dar și analiza datelor furnizate de sistemul conce put.
Sfârșitul acestui capitol include prezentarea formei finale a proiectului.
Principalele provocări în dezvoltarea sistemului de achiziție la distanță a datelor furnizate de
autovehicul pe magistrala CAN au fost reprezentate de preluarea datelor de la automobil, crearea
unui meniu prietenos pentru utilizator și de realizarea sistemului fizic cât mai compact și durabil.
Perspectivele de dezvoltare ale sistemului sunt:
 Dezvoltarea de noi meniuri pentru utilizator;
 Implementarea unui ecran ce poate oferi mai multe informații;
 Traducerea valorilor achiziționate.

Contribuția personală
 Proiectarea sistemului de achiziție a datelor de pe magistrala CAN;
 Realizarea practică a sistemului de achiziție de date de pe magistrala CAN a
automobilului;
 Realizarea prac tică a comunicației fara fir între modulul de achiziție de date și
calculator;
 Realizarea programării software a modulelor intr -un mediu de dezvlotare specializat;
 Testarea modulelor și analiza datelor.

64

65
BIBLIOGRAFIE

1. http://www.e -automobile.ro/categorie -electronica/74 -protocol -can-auto.html
2. http://iota.ee.tuiasi.ro/~czet/Curs/Teledata/Cap5_Protocoale_seriale.pdf
3. http://vega.unitbv.ro/~romanca/EmbSys/12 -13-CAN -bus.pdf
4. http://www.runceanu.ro/adrian/wp -content/cursuri/ret ele2013/RC_C10_2013.pdf
5. http://www.comm.pub.ro/_curs/cmt/cursuri/CMT%2009%20wlan.pdf
6. Ajay V Deshmukh, Microcontrollers: Theory and Applications,Tata McGraw -Hill
Education, 2005
7. https://en.wikipedia.org/wiki/Microcontroller
8. https://learn.sparkfun.com/tutor ials/what -is-an-arduino
9. https://www.arduino.cc/en/Tutorial/HelloWorld
10. https://www.sparkfun.com/products/7914
11. http://www.kloppenborg.net/blog/microcontrollers/2016/08/02/getting -started -with-the-
esp8266

Similar Posts