Sunteți pe pagina 1din 10

Definirea sistemelor timp-real

Sistemele timp real sunt definite ca fiind acele sisteme n care corectitudinea depinde nu
numai de rezultatul logic al prelucrarii, ci si de momentul la care este disponibil.
Principala dimensiune a sistemelor timp real o constituie deci timpul. Anumite prelucrari
trebuie realizate n limite de timpi predeterminati, procesarile fiind deci
supuse constrngerilor temporale.
Functie de strictetea constrngerilor, sistemele timp real pot fi mpartite n doua subclase:

sisteme timp-real critice - hard real-time systems - sistemele pentru care


nendeplinirea unei constrngeri se considera a fi o eroare grava ( failure ) a
sistemului, putnd avea urmari catastrofale

sisteme timp-real necritice - soft real-time systems - sistemele pentru care


nendeplinirea oricarei constrngeri poate fi tolerata.

Un sistem de operare de timp real reprezint ansamblul de programe de sistem


(primitive) ce asigur urmtoarele funcii ntr-un sistem de timp real :

execuia corect a tuturor proceselor (sarcinilor) sistemului de timp real


asigurarea unui timp de rspuns strict corelat cu cerine de timp impuse din afara
sistemului de timp real
posibilitatea de execuie "simultan" (cu paralelism virtual) a unor procese secveniale
(task-uri task-uri task-uri) care coopereaz i ruleaz pe principiul distribuirii timpului
de execuie al UCP ntre procese
realizarea proteciei resurselor comune ale sistemului de timp real
realizarea comunicaiei ntre task-uri
sincronizarea proceselor secveniale
interfaarea dintre sistemul de timp real i utilizator (cu ajutorul unor periferice
standard i/sau cu ajutorul unor periferice nestandard ca de exemplu convertoare
analognumerice i numeric- analogice.

Aceste primitive constituie nucleul (kernel) sistemului de operare de timp real. Un sistem de
operare de timp real este un sistem multitasking multitasking multitasking : un utilizator poate
multitasking executa "simultan" mai multe procese.

Protocolul de comunicaie CAN utilizat in industria auto


CAN (Controller Area Network) este un protocol de comunicaie de tip magistral (bus)
utilizat pe scar larg n industria automobilelor. Prin intermediul protocolului CAN
calculatoarele automobilului (ECM, TCU,ESP, etc.) schimb informaii ntre ele pentru a
facilita sau optimiza funciile de control ale diverselor sisteme (injecie, ambreiaj, sistem de
frnare, etc.).

Istoricul protocolului CAN


Protocolul CAN este un sistem de comunicaie serial, n timp real, utilizat pentru sisteme
distribuite. Dezvoltarea acestuia a fost iniiat de compania Bosch Gmbh n anul 1983.
Motivul utilizrii unui sistem de comunicaie tip magistral a fost determinat de numrul tot
mai mare de calculatoare i componente electronice utilizate la automobile.
Etape importante din istoria dezvoltrii protocolului CAN:
1983 demararea dezvoltrii de ctre Bosch Gmbh
1985 prima versiune de specificaie a protocolului
1986 nceperea standardizrii protocolului de ctre ISO
1987 introducerea primului circuit integrat CAN (Intel & Philips)
1991 publicarea versiunii a doua a specificaiei protocolului
1992 apariia primului automobil de serie ce utilizeaz protocolul CAN (Mercedes Benz,
clasa S)
1993 publicarea primului standard al protocolului (ISO 11898)
2007 producia anual de module CAN atinge valoarea de aproximativ 600 de milioane de
module
Avantajele utilizrii comunicaiei multiplexate (magistral) comparativ cu o comunicaie
filar (pe fir)
n cazul unei comunicri filare, fiecare calculator are o legtur electric separat pentru
fiecare canal de comunicaie. Astfel dac, de exemplu, avem 3 calculatoare care comunic
fiecare cu fiecare, utiliznd 2 fire, vom avea n total 12 fire (4 fire pe calculator)! Dezavantajul
acestui tip de comunicaie este reprezentat de masa mare a firelor i a conectorilor precum i
de complexitatea mare a reelei de comunicaie.
n cazul utilizrii unui sistem de comunicaie tip magistral, comparativ cu un sistem filar,
se elimin cantiti importante de conectori i cabluri. De asemenea sistemul de comunicaie
este simplificat i se poate diagnostica mai uor.

Principalele motive pentru care se utilizeaz un sistem de comunicaie multiplexat


(magistral):

faciliteaz partajarea de parametrii ntre calculatoarele automobilului;


mbuntete securitatea i modul de diagnosticare
reduce costul total al sistemului datorit reducerii numrului de fire i conectori
cerin prevzut n standardele de diagnoz EOBD (European On Board Diagnosis)

Un automobil de clas medie din anii 90 coninea aproximativ 2 km de cabluri care


cntreau n jur de 70-90 de kg! De asemenea un automobil Mercedes Benz, clasa S, din anul
2002, avea n jur de 50 de calculatoare. Creterea numrului i a complexitii sistemelor
electronice de pe automobile a impus utilizarea sistemelor de comunicaie multiplexate
(CAN).
Domenii de utilizare al protocolului CAN
Scopul iniial al protocolului CAN a fost de a fi utilizat n industria automobilelor. Datorit
avantajelor pe care le aduce, n ceea ce privete comunicarea ntre modulele electronice, acest
protocol este utilizat i n alte industrii/domenii:

vehicule grele, camioane, vehicule agricole


industria roboilor, automatizri
industria aeronautic, aeronave
vehicule militare
echipamente medicale
electrocasnice

Tipuri de reele CAN


Protocolul CAN, n funcie de viteza de transfer a datelor, este de dou feluri:
CAN HS (High Speed) vitez mare
CAN LS (Low Speed) vitez mic
CAN HS poate avea viteza de transfer a datelor de 125, 250, 500 sau 1000 kb/s. Datorit
vitezei mari de transfer a datelor este utilizat cu precdere pentru motor, cutie de viteze i
sistemele de siguran activ (ABS, ESP).
CAN LS are viteza de transfer ntre 40 i 125 kb/s. Protocolul CAN LS are avantajul c
este tolerant la erori (fault tolerant). n cazul n care unul din cele dou fire este ntrerupt
comunicaia se realizeaz pe un singur fir. Acest tip de protocol CAN este utilizat cu
precdere la nchiderea centralizat i la imobilizator, datorit funcionrii i n regim de
avarie.

Nivelul fizic al protocolului CAN


Din punct de vedere fizic, protocolul CAN conine o magistral, format din dou fire
rsucite, i calculatoare care conin fiecare cte un circuit integrat de emisie-recepie (CAN
transceiver). Firele pe care se transmite informaia sunt rsucite pentru a elimina
eventualele perturbaii electromagnetice.

Fig.1: Componentele fizice ale unei reele CAN


Circuitele integrate de emisie-recepie combin funcia de primire a mesajelor cu cea de
trimitere, n aceeai component. CAN transceiver-ul este alimentat la o tensiune de 3...5 V i
are rolul de a face conversia tensiunilor electrice, de pe magistral, n semnale digitale i
invers.

Fig.2: Nivelul fizic al protocolului CAN.


Lungimea maxim a magistralei poate s fie de 250 m (CAN HS) sau de 50 m (CAN LS).
Numrul de calculatoare care pot fi conectate la magistral variaz n funcie de viteza i de
numrul parametrilor ce trebuie transmii. O reea CAN poate suporta pn la 50 de
calculatoare interconectate. n capetele magistralei sunt prevzute rezistene electrice de
aproximativ 120 care au rolul de a crete impedana reelei, n scopul eliminrii
fenomenului de reflexie a semnalelor.

Fig.3: Exemplu de reea CAN


ECM (Engine Control Module) calculatorul de injecie (motor)
TCU (Transmission Control Unit) calculatorul transmisiei automate
ABS (Anti-lock Braking System) calculatorul sistemului de frnare
BCM (Body Control Module) calculatorul de habitaclu
Roof (Plafon) calculatorul pentru controlul trapei
Seat (Scaun) calculatorul pentru controlul scaunelor
Clim (climatizare) calculatorul pentru controlul climatizrii
Diag. (diagnostic) conectorul de diagnosticare

Exemplu dat de reea CAN conine dou sub-reele, CAN motor i CAN vehicul, conectate
printr-un gateway care este reprezentat de calculatorul de habitaclu (BCM). Aceast
arhitectur are avantajul c un defect la una din cele dou sub-reele nu o va afecta pe cealalt.
Magistrala CAN conine dou fire numite CAN_H (High voltage) i CAN_L (Low
voltage). Pe firul CAN_H tensiunea electric poate avea dou nivele: 2.5 i 3.5 V. Pe firul
CAN_L tensiunea electric poate fi de 1.5 i 2.5 V.

Fig.4: Semnalul de tensiune de pe o reea CAN


Semnalele de tensiune pe cele dou fire au ambele valoarea 2.5 V sau 3.5 V pe CAN_H i
1.5 V pe CAN_L. Traducerea acestor valori de tensiune n semnal digital se face prin
diferena celor dou tensiuni. Cnd tensiunea pe cele dou fire este de 2.5 V diferena este de
0 V, cnd cele dou tensiuni au 3.5 i 1.5 V, diferena este de 2 V. Semnalul de tensiune ce are
valori de 0 i 2 V reprezint valori digitale de 1 i 0.
Cele dou valori digitale nu sunt reprezentata exact de valori fixe de tensiune. Datorit
eventualelor perturbaii aceste valori pot varia ntre anumite limite. Astfel, valoarea digital de
0 poate fi reprezentat de o tensiune ntre -1.0 i 0.5 V iar valoarea digital 1 nseamn o
tensiune ntre 0.9 i 5.0 V.
Atenie: S nu se fac confuzie ntre CAN HS (High Speed) i CAN_H (High voltage).
Primul reprezint viteza de transfer a datelor iar a doua tensiune electric din fir. Aceeai
observaie este valabil i pentru CAN LS (Low Speed) i CAN_L (Low voltage). Ambele
versiuni de vitez conin cele dou fire CAN_H i CAN_L!

Parametrii fizici transmii cu protocolul CAN


Cea mai uzual configuraie de reea CAN este aceea care conine calculatorul de injecie,
transmisie automat i ESP. Informaiile schimbate ntre acestea se refer la temperaturi,
turaii, cuplu i stri ale diferitelor componente.
ECM

TCU

ESP

- turaieMotor

Tx

Rx

- cupluMotor

Tx

Rx

- temperaturMotor

Tx

Rx

- temperaturUlei

Rx

Tx

- treaptaCurent

Rx

Tx

- stareAmbreiaj

Rx

Tx

Rx

- activitateESP

Rx

Rx

Tx

- vitezAutomobil

Rx

Rx

Tx

MesajParametriiMotor

Rx

MesajParametriiCutie

MesajParametriiESP

Informaiile transmise pe magistrala CAN sunt grupate n mesaje care conin unul sau mai
muli parametrii. Un calculator poate transmite mai multe mesaje i n acelai timp poate
recepiona unul sau mai muli parametrii. Parametrii transmii sunt notai cu Tx (transmited)
iar cei primii cu Rx (received).
De exemplu calculatorul de injecie (ECM) trimite pe CAN mesajul
MesajParametriiMotor care conine trei parametrii: turaia motorului, cuplul motor i
temperatura motorului. Calculatorul transmisiei automate (TCU) primete toi aceti
parametrii pe care i utilizeaz pentru controlul nchiderii i deschiderii ambreiajului. De
asemena calculatorul ESP utilizeaz informaia de cuplu motor pentru a decide dac-l reduce
n cazul n care automobilul pierde din aderen.
Viteza automobilului este un parametru emis de calculatorul ESP i este utilizat de motor de
exemplu pentru controlul vitezei de croazier (Cruise Control) iar de calculatorul transmisiei
automate pentru legile de schimbare a treptelor de vitez.
Protocolul de comunicaie CAN este utilizat i de echipamentele de diagnoz pentru a primi
date de la calculatoare (cod defecte, parametrii, etc.) i pentru a trimite comenzi de tergere a

anumitor parametrii. Utilizarea protocolului CAN pentru echipamentele de diagnoz este


impus de ultimele reglementri OBD n vigoare.
Diagnosticarea unei reele CAN
Codurile OBD stocate pentru un defect de comunicare pe reea sunt afiate cu Uxxx. pentru
a diagnostica o reea CAN, pe lng codul de eroare obinut, se poate utiliza i un osciloscop
pentru vizualizarea tensiunilor electrice de pe cele dou fire (CAN_L i CAN_H).

Fig.5: Form corect a tensiunilor electrice pe o magistral CAN (CAN_H rou, CAN_L
albastru)

n cazul n care apare o problem cu firele pe care se transmit cele dou tensiuni, sau dac
modului de emisie-recepie este defect, nivelurile de tensiune de pe cele dou canale CAN
(High i Low) vor avea valori anormale.

Fig.6: Form incorect a tensiunilor electrice pe o magistral CAN (CAN_H rou, CAN_L
albastru)
Introducerea protocolului de comunicaie CAN n industria automobilelor a reprezentat o
piatr de temelie pentru dezvoltarea electronicii i a sistemelor de control complexe.
Protocolul CAN este cel mai popular dar nu singurul utilizat la automobile. LIN (Local
Interconnect Network), FlexRay sau MOST (Media Oriented Systems Transport) sunt de
asemenea protocoale de comunicaie.

Bibliografie :
http://www.e-automobile.ro/
Daniel Iercan. Contributions to the Development of Real-Time Programming
Techniques and Technologies.Tez de doctorat. Editura Politehnica. 2008.
C.M. Kirsch and R. Sengupta.The Evolution of Real-Time Programming.InHandbook
of Real-Time and Embedded Systems.Chapman and Hall/CRC, 2007.
Low-latency time-portable real-time programming with Exotasks. J. Auerbach, D.F.
Bacon, D. Iercan, C.M. Kirsch, V.T.Rajan, H.Rck, R. Trummer.
http://ro.wikipedia.org/wiki/Sistem_de_timp_real
http://www.scribd.com