Documente Academic
Documente Profesional
Documente Cultură
-2009-
0
CUPRINS:
1
3.18 Unitatea de emulare în circuit – EonCE.................................. 39
3.19 Setul de instrucţiuni................................................................. 39
3.20 Modulul de dezvoltare MSC8101 ADS................................... 39
3.21 Modulul de dezvoltare MSC8101 ADS..................................... 42
4. Evolutia controlerelor digitale de semnal……………………………… 48
4.1 Operatii tipice pentru DSP-uri : ………………………………. 48
4.2 Detalii tehnice ale DSP-urilor si MCU-urilor…………………. 49
4.3 Fuzionarea circuitelor MCU si DSP…………………………… 51
4.4 Arhitectura DSP……………………………………………….. 53
4.5 Hardware intr-un cip…………………………………………... 55
4.6 Contactul cu realitatea……………………………………….... 56
5. Selectia unui microcontroler pentru aplicatiile de comanda
si control ale motoarelor ……………………………………………. 59
5.1 Optiunile Timer……………………………………………...... 60
5.2 Convertoare Analog-/-Digital si Suport……………………..... 61
5.3 Pinii I/O determina dimensiunea…………………………....... 63
6. Sisteme de reglare automata (SRA)………………………………….... 65
6.1 Strucura. Marimi caracteristice………………………….......... 65
6.2 Problema reglarii. Analiza SRA…………………………......... 69
6.3 Stabilitatea SRA…………………………………………......... 70
6.4 Performanta SRA in regim dynamic…………………….......... 73
7. Sisteme de acţionare electrică............................................................... 75
7.1 Introducere................................................................................. 75
7.2 Motorul de curent continuu cu excitaţie independentă….......... 79
7.3 Reglarea turaţiei motorului de curent continuu......................... 85
8. Descrierea sistemului de dezvoltare TMS320F2812………..….... 96
8.1 Structura perifericelor............................................................... 100
8.2 Unitati digitale I/O .................................................................. 101
Bibliografie................................................................................................ 106
2
1. Optiuni de control ale sistemelor cu motoare
Exista diferite tipuri de motoare ce pot fi utilizate in sistemele de comanda
echipate cu dispozitive electronice si fiecare dintre ele pot fi comandate diferit.
Elementele de comanda hardware si software ale unui motor folosit in sistemele
electrice de putere ale autoturismelor vor fi diferite fata de elementele de comanda
si control ale unui motor utilizat pentru sistemul de ventilatie din interiorul unui
laptop. Acest articol va discuta despre diferitele tipuri de motoare ce sunt
implementate in diverse sisteme si solutiile tipice utilizate pentru controlul lor.
Motoarele cu perii de curent continuu (CC) sunt cel mai usor de comandat
datorita auto-comutarii. Alimentati periile si motorul va incepe sa se roteasca.
Viteza se modifica foarte simplu prin modificarea tensiunii de alimentare continue
aplicata periilor. Pentru miscarile de baza, motoarele cu perii de curent continuu
reprezinta cea mai ieftina solutie.
Pe de alta parte insa, periile se vor uza in timp, deci vor trebui inlocuite. In
plus, aceste tipuri de motoare produc zgomot electric si apar de asemenea pierderi
prin frecare la interfata mecanica a periilor. Acestea din urma se manifesta prin
incalziri ce pot creea uneori probleme in indusul motorului.
Produsele tipice care utilizeaza motoarele CC cu perii sunt jucariile, uneltele
portabile, antenele electrice, sistemele cu servo-mecanisme, ventilatoarele si alte
dispozitive precum cele utilizate la ridicarea si coborarea geamurilor portierelor
autoturismelor.
3
1.2 Motoare de curent continuu fara perii
Motoarele CC fara perii sunt normal mai usoare si mai fiabile decat cele cu
perii datorita absentei mecanismului cu perii. Incalzirea este generata in stator
astfel incat problemele sunt mult mai simplu de rezolvat (cata vreme, prin
definitie, intr-un mediu stationar absorbtia de caldura se realizeaza mult mai usor).
Viteza se modifica prin varierea tensiunii aplicate obtinandu-se performante de
viteza foarte bune si datorita eliminarii pierderilor de energie cauzate de sistemul
de perii. In schimb, dezavantajul motoarelor CC fara perii este dat de cerinta
pentru comutare a rotorului ce are nevoie de un modul de comanda. Acest lucru
inseamna existenta unui modul electronic de comanda al motorului, practic costul
sistemului va creste.
Produsele tipice care folosesc motoare de curent continuu fara perii sunt
ventilatoarele PC-urilor si disk driver-elor, masinile de spalat, ventilatoarele si
compresoarele frigiderelor si aplicatiile auto precum modulele de tractare si de
transmisie.
4
Produse tipice care utilizeaza motoarele pas cu pas sunt imprimantele, masinile
industriale, echipamentele de birou, driver-ele calculatoarelor, scanner-ele
medicale, instrumentatia stiintifica si alte aplicatii ce au nevoie de o pozitionare
precisa si un sistem de control al vitezei economic.
5
de deschidere a usilor de la garaj, driver-ele industriale, ventilatoarele de bucatarie
si masinile industriale.
6
microcontrolerele sunt in general mai usor de programat decat DSP-urile.
Exista avantaje clare in folosirea controlerelor hibride precum cea a familiilor
de dispozitive 56F800 sau 56F8300. Cea mai rapida capabilitate MAC (Multiply
and Accumulate) a acestor dispozitive permite filtrelor digitale sa fie executate la
viteze foarte mari. Acest lucru permite un control digital al vitezelor de
esantionare. Procesarea rapida in matrice intr-o arhitectura DSP sau hibrida
permite facilitati mai avansate privind algoritmii de control executati in timp real
si permite o procesare mai sofisticata a intrarilor senzorului (de exemplu filtrarea
Kalman). Acest lucru ajuta la cresterea performantei sistemului de control al
motorului, iar includerea unui senzor va mari fiabilitatea sistemului. Arhitectura
hibrida prezinta in general o suma a celor mai bune capabilitati oferite de un
microcontroler si un DSP.
Concluzie:
In concluzie, exista nenumarate solutii de comanda a motoarelor pentru sistemele
utilizate in acest moment. Sistemele simple sau complexe tind sa foloseasca
microcontrolerele, iar sistemele cu un grad sporit de complexitate utilizeaza
arhitectura DSP-urilor. Recent, disponibilitatea arhitecturilor hibride ce includ
caracteristicile microcontrolerelor si DSP-urilor a oferit proiectantilor de sisteme
noi optiuni. In general, arhitectura hibrida reprezinta o buna solutie atat timp cat
sunt utilizate doar cateva componente (acesta este un factor de crestere a
fiabilitatii deoarece mai putine componente inseamna o sursa mai mica de
posibile defecte), proiectarea software se realizeaza simplu si rapid, iar costul
intregului sistem se micsoreaza.
7
2. Motorul electric cu curent continuu
Dacă un rotor se învârte între doi poli magnetici staţionari, curentul din
rotor circulă într-o direcţie pe parcursul unei jumătăţi de rotaţie şi în cealaltă pe
parcursul celeilalte jumătăţi. Pentru a produce o trecere constantă, într-o singură
direcţie a curentului dintr-un astfel de dispozitiv, este necesară furnizarea unui
mijloc prin care curentul rezultat să aibă acelaşi sens pe parcursul întregii rotaţii.
La maşinile mai vechi aceasta este realizată cu ajutorul unor plăcuţe colectoare,
un inel de metal împărţit în două, montat pe axul rotorului. Cele două jumătăţi
sunt izolate şi sunt bornele bobinei. Perii fixe de metal sau carbon sunt ţinute pe
plăcuţele colectoare în timp ce acestea se rotesc, conectând electric bobina la fire
exterioare. În timp ce rotorul se învârte, fiecare perie intră în contact alternativ cu
plăcuţele colectoare, schimbându-şi poziţia în momentul când curentul din
bobină îşi schimbă sensul. Astfel circuitul exterior la care generatorul este
conectat este alimentat cu un curent continuu. Generatoarele de curent continuu
sunt de obicei folosite la tensiuni mici pentru a evita scânteile dintre perii şi
plăcuţe care rezultă la tensiuni mari. Cel mai mare potenţial obţinut în general de
astfel de generatoare este de 1500 de volţi. În unele maşini mai noi această
inversare se face folosind dispozitive electronice de mare putere, cum ar fi de
exemplu diode redresoare.
8
magnetic intens. Câmpurile de la generatoarele moderne sunt de obicei din patru
sau mai mulţi poli, pentru a creşte mărimea şi puterea câmpului magnetic.
Câteodată poli mai mici sunt adăugaţi pentru a compensa distorsiunile din fluxul
magnetic cauzat de efectul magnetic al rotorului.
9
continuu. Când rotorul se află în repaus, el, efectiv, nu are nici o rezistenţă, şi
dacă voltajul normal este aplicat, va trece un curent mare, ceea ce ar putea avaria
periile colectoare sau motorul. Mijloacele obişnuite pentru prevenirea acestor
accidente este folosirea în serie a unei rezistenţe, la început, împreună cu rotorul,
pentru a limita curentul până când motorul începe să dezvolte un curent suficient.
Pe parcurs ce motorul prinde viteză, rezistenţa este redusă treptat, fie manual ori
automat.
3. CIRCUITE DSP
3.1.Introducere
10
Reamintindu-ne de jocul de puzzle pe care îl face inginerul care proiectează
o aplicaţie am considerat oportun să prezentăm o piesă a acestui joc, întâlnită în
ultimii ani în tot mai multe aplicaţii, în variate domenii - este vorba despre
procesorul digital de semnale cunoscut de avizaţi ca circuit DSP (Digital Signal
Procesor). dp-urile fac parte din categoria circuitelor specializate şi sunt
microprocesoare proiectate pentru a îndeplini optim sarcini de procesare digitală de
semnal.
Dezvoltarea acestui tip de componentă ca varietate şi volum de producţie a
fost dictată de sectorul comercial mai degrabă decât de necesităţile militare sau
guvernamentale. dp-urile au ajuns la utilizatorul obişnuit prin telefoane mobile,
aparate CD-palyer, poştă electronică vocală, şi alte aplicaţii. Amintim câteva
domenii şi categorii de aplicaţii în care sunt utilizate circuite DSP:
• cercetare ştiinţifică (achiziţii de date, analiză spectrală, simulare
şi modelare);
• medicină (stocare/redare de imagini, tomografii computerizate);
• domeniul militar (radar, sonar, comunicaţii secrete);
• domeniul aerospaţial (îmbunătăţirea calităţii imaginilor,
compresie de date, analiza informaţiei de la sonde);
• telecomunicaţii (telefonie, televiziune, radio);
• domeniul comercial (compresie de imagine şi sunet, efecte
speciale în filme, videoconferinţe);
• seismologie;
• industrie (monitorizarea şi controlul proceselor, testarea
nedistructivă, proiectare asistată).
Plasarea eficientă a unui circuit DSP în jocul de puzzle presupune deţinerea
unui bagaj de cunoştinţe în relativ multe domenii (analiză numerică, probabilităţi şi
statistică, procesarea analogică a semnalelor, electronică digitală, electronică
analogică, teoria comunicaţiilor).
11
3.2.Arhitectura circuitelor DSP
Majoritatea calculatoarelor zilelor noastre au arhitectură von Neumann (cu
bus unic pentru date şi instrucţiuni). Această arhitectură nu satisface necesităţile de
viteză de procesare ale aplicaţiilor de procesare de semnal. Arhitectura Harvard
(Fig. .1) este mult mai potrivită pentru a fi implementată în DSP-uri.
Memorie Memorie de
Program UCP date
(numai instr.) (numai date)
12
Informaţia relocată este referită ca date secundare. Aparent această
modificare nu îmbunătăţeşte cu nimic situaţia; considerând însă specificul
operaţiilor DSP, cu încă o modificare în arhitectură se poate obţine reducerea
timpului de procesare; în UCP se include un bloc de memorie cache pentru
instrucţiuni. Memoria cache pentru instrucţiuni este binevenită deoarece
majoritatea algoritmilor DSP conţin bucle ce se repetă de un număr de ori. O astfel
de arhitetură este numită Super-Harvard şi este reprezentată în Fig. .2.
Controller
I/O
date
. Fig.2.Arhitectura Super-Harvard
13
procesate, după care rezultatul este livrat spre exterior înainte ca următorul
eşantion de procesat sa fie disponibil la intrare.
O arhitectură tipică pentru un DSP, privită mai în detaliu, este reprezentată în
Fig. .3.
Corespunzător fiecărui bloc de memorie, există în UCP câte un generator de
adrese; în procesoarele obişnuite funcţie este realizată de secvenţiatorul de program.
Procesarea matematică este împărţită în trei secţiuni: multiplicator, UAL
(unitate aritmetică şi logică) şi modul de shiftare. Multiplicatorul şi UAL pot fi
accesate în paralel. Conceptul de procesare paralelă este implementat la toate
nivelele într-un DSP.
Există multe particularităţi şi artificii specifice fiecărui tip de procesor,
implementate în scopul creşterii eficienţei procesării semnalelor. Acestea vor fi
exemplificate pe cazuri particulare.
14
Fig.3 Arhitectură tipică DSP
15
In cazul procesoarelor în virgulă fixă, în mod obişnuit, fiecare număr este
reprezentat folosind minimum 16 biţi. Spre exemplu, Motorola fabrică procesoare
în care se utilizează reprezentarea în virgulă fixă pe 24 de biţi.
In reprezentare pe n biţi sunt posibile patru moduri de reprezentare a celor 2n
combinaţii:
• întreg fără semn;
• întreg cu semn;
• număr fracţionar fără semn;
• număr fracţionar cu semn.
Pentru reprezentarea numerelor cu semn se foloseşte codul complement faţă
de doi. Pentru n=16, pot fi reprezentate numere întregi fără semn de la 0 la 65 535,
numere întregi cu semn în intervalul -32 768 la +32 767, 65 536 de numere
fracţionare fără semn distribuite uniform în intervalul cuprins între 0 şi 1 şi 65 536
de numere fracţionare cu semn distribuite uniform în intervalul cuprins între -1 şi +1.
Pentru reprezentarea în virgulă mobilă, în DSP-uri se utilizează minimum 32
de biţi, astfel sunt posibile mult mai multe combinaţii de biţi (cel puţin 2 =4 294
967 296). în reprezentarea în virgulă mobilă codurile nu sunt uniform distribuite în
intervalul reprezentat. Cel mai utilizat format de reprezentare în virgulă mobilă
este cel reglementat de standardul ANSI/IEEE 754-1985; în acest format cel mai
mare număr reprezentabil este +/-3.4*10 , iar cel mai mic număr reprezentabil este
+/-1.2*10- . Distanţa între două numere consecutive este de aproximativ 10 milione
de ori mai mică decât numărul reprezentat - în acest fel, între numere mari
consecutive distanţa este mai mare, iar distanţa între numere mici consecutive este
mică.
Toate procesoarele în virgulă mobilă pot opera şi cu numere reprezentate în
virgulă fixă, mod de lucru necesar atunci când se implementează numărătoare,
bucle sau când se operează cu informaţie de la convertoare analog-digitale sau
informaţie destinată convertoarelor digital-analogice.
16
într-un procesor de uz general, aritmetica în virgulă fixă este mai rapidă decât
aritmetica în virgulă mobilă; în DSP-uri, prin optimizările arhitecturale specifice,
viteza de procesare este aproximativ egală pentru cele două moduri de reprezentare
a numerelor. Arhitectura internă a unui DSP în virgulă mobilă este mult mai
complicată decât a unui DSP în virgulă fixă. Toate registrele şi toate magistralele
trebuie să fie de 32 de biţi în loc de 16, unitatea de multiplicare şi UAL trebuie să
execute rapid operaţii în virgulă mobilă şi setul de instrucţiuni trebuie să cuprindă
instrucţiuni care permit manipularea atât a numerelor în virgulă mobilă cât şi a
numerelor în virgulă fixă. Simplitatea procesoarelor în virgulă fixă este reflectată
în costul acestora care, oricât de rapidă ar fi evoluţia preţurilor, va rămâne
întotdeauna mai scăzut decât al DSP-urilor în virgulă mobilă; dinamica preţurilor
se reflectă
raportul celor două costuri. Avantajele utilizării fiecărui mod de reprezentare a
numerelor sunt sintetizate în continuare:
• reprezentarea numerelor în virgulă mobilă conferă DSP-
urilor următoarele avantaje:
= precizie bună (posibilitatea de a reprezenta numere
fracţionare foarte mici);
= dianamică mare (intervalul dintre cel mai mare întreg
negativ şi cel mai mare întreg pozitiv este foarte mare);
= timp scurt de dezvoltare a aplicaţiilor.
• reprezentarea numerelor în virgulă fixă conferă DSP-urilor
avantajul unui cost scăzut.
DSP-urile operează cu semnale; reprezentarea discretă a semnalului
presupune cuantizarea acestuia şi implicit survine zgomotul de cuantizare.
Zgomotul de cuantizare este în directă legătură cu formatul ales pentru
reprezentarea numerelor, depinde de distanţa dintre două valori consecutive în
codul de reprezentare. Raportul semnal/zgomot, când se utilizează reprezentarea în
17
virgulă mobilă este de aproximativ 30 milioane /l, în timp ce acesta este de 10 mii/l
dacă se utilizează reprezentarea în virgulă fixă.
Presupunem că se implementează un FIR în virgulă fixă; pentru aceasta se
operează în buclă, fiecare coeficient este înmulţit cu eşantionul corespunzător din
semnalul de intrare şi rezultatele se adună în acumulator. într-un procesor de uz
general, acumulatorul este un registru de 16 biţi unde numerele sunt reprezentate în
virgulă fixă. Pentru a evita depăşirea capacităţii de reprezentare, valorile ce se
adaugă în acumulator vor fi rotunjite şi se adaugă astfel zgomot de cuantizare la
fiecare pas.
Pentru un filtru cu 500 de coeficienţi, zgomotul fiecărui eşantion de ieşire va fi de
500 de ori mai mare decât zgomotul avut la intrare.
Această problemă este tratată într-un DSP prin utilizarea unui acumulator
pentru precizie extinsă. Acesta este un registru special a cărui dimensiune este de
2-3 ori mai mare decât dimensiunea unui cuvânt (32-40 biţi pentru procesoarele pe
16 biţi sau până la 80 de biţi pentru procesoarele pe 32 de biţi). Strategia utilizării
extensiei pentru acumulator dă rezultate bune în dp-urile în virgulă fixă. dp-urile cu
reprezentare în virgulă mobilă, introduc un zgomot de cuantizare atât de mic încât
nu este necesare utilizarea extensiei de acumulator.
Alegerea unui DSP în virgulă fixă sau mobilă se face în funţi de
particularităţile aplicaţiei considerate. Spre exemplu, semnalele din televiziune, în
general semnalele video, sunt convertite analog/digital şi apoi digital/analog în
mod uzual pe un număr redus de biţi (8 biţi) - în astfel de aplicaţii este suficientă
precizia unui procesor în virgulă fixă. Aplicaţiile audio profesionale folosesc
semnale procesate cu convertoare analog/digital şi digital/analogice de 20-24 biţi,
ceea ce presupune necesitatea de a utiliza procesoare în virgulă mobilă pentru a
acoperi dinamica semnalului.
Un alt considerent în alegerea tipului de DSP pentru o aplicaţie este
complexitatea algoritmului ce va fi implementat. Pentru algoritmi simpli, cum ar fi
18
filtrele sau alte procesări în domeniul timp, este suficient un DSP în virgulă fixă;
pentru algoritmi complecşi, cum ar fi convoluţia, FFT sau în general procesări în
domeniul frecvenţă, utilizarea unui DSP în virgulă.
mobilă ar simplifica scrierea programului, ceea ce implică scurtarea timpului de
dezvoltare a aplicaţiei.
în cele din urmă, costul produsului final este de asemenea un element
considerat în alegerea tipului de DSP. Alegerea unui DSP în virgulă fixă înseamnă
utilizarea unei componente mai ieftine, dar în acelaşi timp costul dezvoltării
aplicaţiei poate fi mai mare datorită dificultăţii de implentare în virgulă fixă a unui
algoritm complex. Astfel, procesoarele în virgulă fixă, mai ieftine, sunt utilizate cu
precădere în produse de larg consum unde o diferenţă cât de mică de preţ poate
însemna succesul sau eşecul produsului; un exemplu bun pentru această situaţie
sunt telefoanele celulare. Procesoarele în virgulă mobilă sunt preferate în produse
performante, unde costul DSP-ului este insignifiant faţă de costul global al
produsului; pentru acest caz, un exemplu bun sunt tomografele computerizate.
19
Aceste două aspecte fac ca pentru a programa un DSP să fie utilizat mai
mult limbajul de asamblare decât în programarea procesoarelor de uz general.
în ceea ce priveşte venitul obţinut pe seama unui DSP programat în limbaj
de asamblare şi venitul obţinut pe seama unui DSP programat în C, raportul este de
2/1. Considerând performanţa (viteza de execuţie) şi costul de fabricaţie,
programarea în limbaj de asamblare este întotdeauna mai avantajoasă decât
programarea în C; codul rezultat dintr-un program scris în C este întotdeauna mai
mare decât codul unui program scris în limbaj de asamblare, ceea ce înseamnă că
este necesară mai multă memorie, ccea ce înseamnă preţ de fabricaţie mai mare
pentru componentă. Tendinţa în prezent este de a fabrica DSP-uri optimizate pentru
programare în C (set de registre de uz general, spaţiu de memorie unificat).
în general, în cazul microprocesoarelor, şi în particular în cazul DSP-urilor,
programarea în limbaj de asamblare este mai dificilă. De aceea se caută
dezvoltarea unor compilatoare C eficient şi a altor instrumente software pentru
eficientizarea codului. Practica curentă este de a scrie programe în principal în C,
iar secvenţele critice se scriu în limbaj de asamblare. Chiar dacă se alege
programarea în C, este necesară cunoaşterea unor elemente de arhitectură specifice
DSP-urilor şi de asemenea cunoaşterea setului de instrucţiuni al limbajului de
asamblare.
Care este limbajul potrivit pentru dezvoltarea unei aplicaţii particulare?
Răspunsul depinde de ce este mai important pentru aplicaţie; dacă se impune
flexibilitate şi timp de
dezvoltare scurt, se alege C, iar dacă se cere performanţă sub aspectul timp şi
utilizarea resurselor, se alege limbajul de asamblare.
Alte considerente sunt enumerate în continuare:
• pentru un program lung şi imbricat se alege C, pentru un
program mai scurt şi mai simplu, se alege limbaj de asamblare;
20
• pentru un timp de execuţie foarte scurt, în limbaj de asamblare se
poate obţine maximul de performanţă; pentru aplicaţii care nu sunt critice
sub aspectul timp de execuţie, se alege C;
• pentru aplicaţii dezvoltate de mai mult de un programator se
recomandă C cu scrierea în limbaj de asamblare a secvenţelor critice sub
aspectul timp;
• dacă primează costul resurselor hardware, se alege limbaj de
asamblare, iar dacă primează costul de dezvoltare, se alege C;
• în funcţie de experienţa anterioară, un programator experimentat
în limbaj de asamblare (pentru alte procesoare) va putea alege limbajul de
asamblare; un programator experimentat în C va alege C;
• se recomandă a considera şi recomandările fabricantului DSP-
ului (unele DSP-uri pot fi programate foarte uşor în limbaj de asamblare,
altele sunt foarte dificil de programat în limbaj de asamblare).
3.5.Piata DSP-urilor
21
Procesorul conţine pe lângă nucleul de procesare, memorie şi interfeţe pentru
comunicare cu exteriorul. Toate elementele sunt implementate într-un singur
circuit intergrat şi sunt referite ca procesor.
20
15
10
0
2001 2002 2003 2004 2005 2006 2007
Analog Devices
22
ADSP 21xx procesoare pe 16 biţi în virgulă fixă
ADSP 21xxx procesoare pe 32 biţă în virgulă mobilă
ADSP 2199x procesoare mixed signal
ADSP TigerSHARK101 procesoare pe 32 biţi în virgulă
mobilă Motorola
DSP56300 procesoare pe 24 biţi program, 24 biţi date
DSP56800 procesoare 16 biţi în virgulă fixă
DSP9600 procesoare pe 32 biţi în virgulă mobilă
MSC8101 procesoare 16 biţi în virgulă fixă
Texas Instruments
TMS 320C55x procesoare pe 16 biţi în virgulă fixă
TMS 320C64x procesoare pe 16 biţi în virgulă fixă
TMS 32C67x procesoare pe 32 biţi în virgulă mobilă
Graniţa între un procesor de tip DSP şi un procesor de uz general începe să
nu mai fie foarte clară; spre exemplu, procesoarele Intel dispun de instrucţiuni noi
proiectate pentru a manipula şi a procesa eficient informaţie video, audio şi grafică.
Aceste instrucţiuni sunt utile în procesarea paralelă a secvenţelor repetitive
specifice în operaţiile multimedia. Fără îndoială, funcţii şi atribute specifice DSP-
urilor vor fi înglobate în procesoarele de uz general, astfel termenul de DSP este
posibil să se contopească în ceea ce numim astăzi microprocesor.
Pentru a avea o imagine actualizată a pieţei DSP-urilor, şi nu numai, consultarea
revistelor ca EDN (Electronic Design News) şi ECN (Electronic Component
News) este binevenită.
3.6 MSC8101
23
MSC8101 este primul reprezentant al unei familii de procesoare digitale de
semnal (DSP) bazat pe unitatea centrală StarCore140. Acest procesor vine în
întâmpinarea necesităţilor născute de aplicaţiile de comunicaţii în reţea. MSC8101
este special proiectat pentru a fi utilizat într-o infrastructură de comunicaţii mobile
de generaţia a III-a (3G).
G II – comunicaţii wireless cu următoarele caracteristici:
- viteza de transfer date de la 9.6 Kbps până la 28.8 Kbps;
- suportă semnal vocal şi mesaje (SMS);
- afişare în mod text.
G III - comunicaţii wireless cu următoarele caracteristici:
- viteze de transfer date de la 384 Kbps până la 2 Mbps;
- suportă semnal multimedia;
- afişează imagini statice sau în mişcare
Principalele aplicaţii ale DSP-ului MSC8101 sunt poziţii în infrastructura
unei reţele de telecomunicaţii. Dintre sarcinile pe care le poate îndeplini un DSP
amintim:
• In staţiile de bază (BSC) din infrastructura comunicaţiilor
mobile efectuează codarea de voce şi/sau eliminarea ecourilor şi nu numai
sarcini de procesare de semnal clasice, ci poate realiza şi anumite sarcini de
interfaţare cu reţeaua.
• In Gateway-urile media (voce, fax, date) DSP-ul realizează
compresia vocală, eliminarea ecourilor, compresia de date, detecţia şi
corecţia de erori. Principalele componenete ale unui DSP MSC8101 sunt
reprezentate în Fig. .5.
24
Core EF
SCI 140 COP MSC 8101
SRAM
Controller
DMA
25
3.7 Core-ul SC140
3.8 SRAM
26
aplicaţiilor, eliminând astfel inconvenientele legate de preţ, performanţă şi spaţiu
ale unei memorii externe. Dacă totuşi nu este suficientă memoria internă,
MSC8101 poate adresa 4 GB de memorie externă prin magistrala PowerPC
externă.
27
CPM conţine următoarele blocuri funcţionale:
• o unitate RISC pe 32 de biţi cu un set de instrucţiuni optimizat
pentru comunicaţii;
• 2 controllere seriale DMA (SDMA) prin care pot fi executate
două transferuri simultan;
• 3 controllere de comunicaţii seriale rapide FCC (Fast
Communication Controller) care suportă protocoalele IEEE 802.3 şi Fast
Ethernet. Fiecare FCC poate fi configurat să transmită în mod tarnsparent şi
să recepţioneze în mod HDLC şi invers. Două FCC au pini dedicaţi, iar al
treilea operează în mod TDM (Time-Division Multiplex); FCC1 suportă
protocolul ATM de 155 Mbps prin intermediul interfeţei UTOPIA2;
• 2 controllere multicanal MCC (Multi-Channel Controller) care
pot gestiona canale HDLC în limitele 256x64 Kbps multiplexate în până la
patru interfeţe
TDM;
• 4 controllere de comunicaţii seriale full-duplex SCC (Serial
Communication Controller). Cele patru controllere suportă următoarele
moduri de comunicaţie: IEEE 802.3, HDLC, UART, Synchronous UART,
BISYNC şi mod transparent. Două SCC au pini dedicaţi, celelalte două pot
opera doar în mod TDM;
• 2 unităţi de management al transferului serial (Serial
Management Controller) full-duplex care suportă interfeţe generale de circuit
GCI (General Interface Circuit), UART şi operaţii transparente;
• controllere de interfaţă SPI (Serial Perpheral Interface);
• controller de magistrală I C (Inter-Integrated Circuit);
• 8 generatoare independente de baud-rate şi 10 pini de intrare
pentru semnale de clock pentru sincronizare necesară canalelor seriale FCC,
SCC şi SMC;
28
• 4 timere-e de 16 biţi independente care pot fi interconectate ca
doua timer-e de 32 de biţi.
29
3.13 Nucleul de procesare SC140
30
Dimensiune cod
Puterea disipata
C 6000
C 5000
C 6000
SCI 140
C 5000
SCI 140
31
= aplicaţiile pot fi dezvoltate în C; un compilator de
optimizare generează instrucţiuni paralele şi menţine o densitate
mare a codului;
= setul ortogonal de instrucţiuni permite compilatoarelor să
genereze cod eficient;
= hardware-ul suportă reprezentarea numerelor întregi şi
subunitare cu sau fără semn, modul de reprezentare este la alegerea
programatorului.
• oferă performanţă scalabilă:
= SC140 dipune de şase unităţi de execuţie (patru unităţi
aritmetice şi logice şi două unităţi de adresare);
= la o alimentare redusă sunt posibile patru milioane de
operaţii MAC (Multiply and ACcumulate) pe secundă pentru
fiecare MHz din frecvenţa clock-ului;
= dispune de suport pentru implementarea de acceleratori de
aplicaţie.
• se poate obţine densitate mare de cod datorită unui set de
instrucţiuni bogat şi ortogonal;
• execuţiei de tip VLES;
codarea instrucţiunilor pe 16 biţi.
• dispune de suport îmbunătăţit pentru aplicaţii multi-tasking:
• hardware-ul dispune de suport optimizat de stive;
• magistralele de date sunt largi şi oferă suport pentru schimbarea
de context.
• Optimizarea managementului puterii (proiectat pentru consum de
energie redus, moduri noi de economisire a energiei, clock de control
dinamic);
32
• dispune de o interfaţă eficientă pentru memorie şi dispozitive
I/O:
= spaţiu unificat pentru memoria de date şi program;
= spaţiu de adresare pe 32 de biţi pentru date şi
program;
= SRAM cu zero wait-state pe chip; = clock
indpendent pentru memoria externă.
• Organizarea core-ului suportă configuraţii SOC (System On-
Chip) flexibile.
Un exemplu de configuraţie SOC este prezentat în Fig. .7.
SC140 poate să execute şase instrucţiuni simultan (patru operaţii aritmetice
şi logice şi două operaţii de adresare). Instrucţiunile grupate pentru a fi executate în
paralel sunt referite ca set de execuţie. Instrucţiunile sunt grupate pentru execuţie
în paralel în timpul compilării sau de către programatorul în limbaj de asamblare.
33
Nivel 1- Extensie memorie Extensie
(memorie unificata) System
4 2
ALU AAU
Nivel 2
Extensie
memorie
Periferice standard
Acceleratoare speciale
Acceleratoare de uz general
34
• Unitatea de generare de adrese - AGU (Address Generator Unit);
• secvenţiatorul de program - PSEQ (Program SEQuencer).
Schimbul de date între core şi blocurile funcţionale din circuitul DSP este realizat
prin următoarele magistrale:
• două magistrale de memorie (două perechi adrese/date: ABA,
DBA şi ABB, DBB) pentru a accesa datele din memorie;
• două magistrale de memorie (PAB, PDB) pentru a transfera
cuvinte instrucţiune;
• magistrale speciale pentru conectarea în imediata apropiere a
core-ului un set de instrucţiuni de accelerare.
Reg adrese
27*32b
(16 gen.)
EOnCE
PSEQ SET.
Sevventiator Instr
Program
Registre generale date
Acc.
16*40b
Manageme
nt putere
128
35
3.15 Unitatea aritmetică şi logică de date – DALU
36
unei operaţii, şi acest registru poate fi folosit ca sursă în operaţia imediat
următoare.
Datorită faptului că cele două magistrale de date ale DALU spre memorie
sunt fiecare de câte 64 de biţi, (DBA, DBB) este posibil să se execute în paralel
două transferuri de date, MOVE, fiecare de câte un cuvânt de până la 64 de biţi sau
transferuri multiple în limita lărgimii de 64 de biţi. Sunt posibile următoarele tipuri
de transferuri:
• MOVE.B - transferă cuvinte de 8 biţi;
• MOVE.W sau MOVE.F - transferă întregi, respectiv numere
subunitare reprezentate pe 16 biţi;
• MOVE.2W, MOVE.2F sau MOVE.L - transferă două numere
întregi, două numere subunitare, respectiv cuvinte lungi, fiecare de câte
32 de biţi;
• MOVE.4W sau MOVE.4F - transferă patru întregi, respectiv
patru numere subunitare reprezentate fiecare pe câte 64 de biţi;
• MOVE.2L - transferă două cuvinte lungi, adică 2*32 biţi.
Structura permite executarea a oricărei combinaţii de două instrucţiuni
MOVE în paralel într-un ciclu de clock, astfel rata maximă de transfer cu memoria
de date este de 4.8 GBytes/s (la 300 MHz).
37
Blocul de registre de adrese este compus din mai multe registre de 32 de biţi,
distre care 16 sunt de uz general iar celelalte sunt utilizate pentru a specifica tipul
operaţiei utilizate pentru în calculul adresei. O unitate AAU actualizează un
registru de adresare într-un ciclu de clock. SC140 dispune de instrucţiuni explicite
pentru a opera indicatorii de adresă, capabilitate care poate fi utilizată şi pentru a
efectua calcule aritmetice asupra datelor.
AGU generează adrese pentru salturi în program şi actualizează indicatorii
de stivă corespunzător. în blocul registrelor de adresare există două registre
indicator de stivă, fiecare de câte 32 de biţi; existenţa a doi indicatori de stivă
permite alocarea separată a stivei utilizate de către sistemul de operare şi de fiecare
aplicaţie ce rulează, ceea ce optimizează utilizarea memoriei în sistem multi-
tasking.
Unitatea pentru mască de bit BMU (Bit Mask Unit) facilitează operaţii de
setare, resetare, inversare sau testare a unui grup de biţi dintr-un registru sau dintr-
o locaţie de memorie (biţii pot să nu fie adiacenţi). Deoarece există o singură
unitate BMU, într-un ciclu de execuţie poate fi executată o singură instrucţiune cu
mascare de bit. Un subgrup al instrucţiunilor cu mască de bit (BMTSET)
furnizează suport pentru semaforizare.
38
• PCU (Program Control Unit) - controlează desfăşurarea
programului;
• PAG (Program Address Generator) - generează conţinutul pentru
numărătorul de program pentru fetch-ul instrucţiunilor, inclusiv buclele
hardware.
39
procesoare VLIW (Very Long Instruction Word), setul de instrucţiuni SC140 este
format din instrucţiuni destul de scurte, de 16 biţi, a căror funcţionalitate poate fi
extinsă folosind prefixe sau extensii. Instrucţiunile scurte, de multe ori determină
proiectanţii procesoarelor să impună restricţii pentru folosirea registrelor. La
SC140 sunt evitate restricţiile utilizării registrelor prin utilizarea cuvintelor de
prefix. Cu excepţia instrucţiunilor speciale pentru decodare Viterbi, toate
instrucţiunile SC140 sunt fără restricţii. Există în schimb restricţii în gruparea
instrucţiunilor într-un set de execuţie, ceea ce complică programarea în limbaj de
asamblare.
Pentru execuţia rutinelor pentru procesarea de semnal, instrucţiunile pot fi
grupate pentru a fi executate în paralel. Grupul de instrucţiuni executate în paralel
reprezintă un set de execuţie, fiecare instrucţiune din setul de execuţie utilizează o
unitate de execuţie. Instrucţiunile din cadrul aceluiaşi set de execuţie îşi încep
execuţia în acelaşi moment; un nou set îşi începe execuţia numai după ce s-a
terminat execuţia tuturor instrucţiunilor din setul anterior. Sunt utilizate două
metode pentru a specifica faptul că o instrucţiune face parte dintr-un set de
execuţie:
• grupare serială- foloseşte cei mai semnificativi doi biţi din
instrucţiune pentru a determina sfârşitul unui set de execuţie;
• grupare prefixată- se adaugă un prefix de unul sau două cuvinte
unui set de execuţie care defineşte numărul de instrucţiuni incluse în setul
de execuţie.
40
• defineşte un mecanism pentru specificarea lungimii unui set de
execuţie;
• adaugă biţi adiţionali la generarea codului doar dacă este
necesar;
• codul este generat transparent de către asamblor.
41
program lung să se poată desface în module mai mici, manipulabile mai uşor, care
pot fi asamblate separat.
Utilitarele SC100 folosesc la procesarea sau interpretarea fişierelor obiect;
ele se numesc Archiever, Disassembler, ELF File Dump, Name, Size.
Simulatorul SC100 este o unealtă interactivă de simulare care permite
măsurarea timpului de execuţie cu acurateţea ciclurilor de clock. Simulatorul
duplică funcţiile core-ului SC140 incluzând actualizarea memoriei şi a registrelor
asociate cu execuţia codului şi activitatea de procesare a excepţiilor. Funcţiile
principale ale simulatorului sunt:
• încarcă fişierele executabile în memoria simulatorului;
• citeşte valorile din memorie pentru un fişier de intrare sau
salvează valorile din memorie într-un fişier de ieşire;
• raportează sesiunile de simulare;
• examinează sau schimbă conţinutul registrelor şi al memoriei;
• controlează execuţia programului prin:
= setare de breakpoint-uri;
= salt peste un număr specificat de instrucţiuni.
42
· FPGA pentru BSCR (Board Control and Status Register)
· conectori de extensie pentru analizor logic MICTOR interfaţă optică
· ATM - 155Mbps port Ethernet10/100-Base-T
SDRAM
Transeeiver Flash
Date & adres SIMM
MSC
8101
Registru
Control & stare
D-9
14 pin 2. RS-232
JTAG
Controllr RJ45-8
Ethernet 10/100Base T
Controller Optic
Interfata optica ATM 155
Controller 4+RJ45
TI/EI TI/EI
DIM 41612
Extensie CMP
43
Codul aplicaţiei software pentru MSC8101 poate fi transferat modulului prin
portul JTAG. Scrierea codului şi generarea executabilului necesită un calculator
compatibil PC pe care să ruleze unul din sistemele de operare Solaris, Windows
NT 4.0 sau Windows 9x. Pentru scrierea şi depanarea programului este utilizat un
mediu integrat de dezvoltare.
44
• operare controlată de un calculator gazdă prin portul OnCE (un
subset al portului JTAG);
• operare prin interfaţa HDI16;
• operare independentă.
In modul de operare controlată, se realizează o conexiune între interfaţa
JTAG/OnCE a modulului şi portul paralel al unui calculator PC printr-un convertor
de interfaţă. Această configuraţie permite depanarea aplicaţiilor care rulează pe
modul utilizând un debugger care rulează pe calculatorul PC.
In modul de operare prin interfaţa HDI16, modulul foloseşte o interfaţă
HDI16 conectată direct la magistrala de date a unui procesor gazdă. în acest mod
de operare este posibilă o legătură full-duplex pe 16 biţi. Interfaţa HDI16 suportă o
conexiune cu un microprocesor/microcontroller sau cu un controller DMA.
In modul de operare independentă, modulul nu este conectat la calculatorul
gazdă prin portul JTAG/OnCE, ci prin una din interfeţele RS-232, T1/1, ATM155
(optic) sau Ethernet. în modul de operare independent este necesare o sursă de
boot-are şi software care să controleze interfaţa utilizată.
45
Articolul a fost inspirat de amalgamarea produsa, in ultimii ani, intre
microcontrolere si DSP-uri. Din aceasta combinatie a rezultat o noua categorie de
dispozitive cunoscute ca DSC sau Digital Signal Controller (Controlere digitale de
semnal). Un DSC combina atributele de control ale unui MCU cu puterea de calcul
rapid specific unui DSP creand astfel o arhitectura hibrida care este perfecta pentru
multe dintre problemele de inginerie ce necesitau in trecut deopotriva un MCU si un
DSP.
Acest articol va prezenta intai evolutia DSP-urilor si a MCU-urilor, iar apoi va
discuta caracteristicile comune care au condus in final la noua categorie de dispozitive
- DSC. Ca exemplu va fi utilizata familia de DSC-uri Motorola 56800 si la final va fi o
discutie a caracteristicilor ce sunt optimizate pentru o aplicatie tipica a unui DSC -
controlul unui motor.
Evolutia DSC-urilor este aratata in figura 1. DSC-ul este un dispozitiv hibrid
intre un DSP si un MCU, dar va coexista cu acestea si in viitor. Diagrama ilustreaza si
un MPU: un procesor cu grad mare de integrare ce nu contine periferice integrate on-
chip, cum ar fi memoriile.
Un DSP este un tip foarte specializat de microprocesor. Arhitectura DSP a fost
dezvoltata pentru a executa un numar mic de comenzi si operatii specifice intr-un timp
cat mai scurt cu putinta. Aceasta cerinta de rapiditate a executiei instructiunilor vine
din necesitatea de a prelucra semnale analogice intr-un mediu digital, unde matematica
specifica procesarii digitale a semnalelor este mai convenabila.
Clasic, aceasta functie era realizata cu filtre analogice (hardware) mai degraba
decat cu tehnici digitale bazate pe software. Un aspect cheie este acela ca procesarea
de semnale trebuie sa se faca in timp real. Aceasta deoarece semnalele de intrare ce
necesita procesare sunt folosite in aplicatii precum telefonia, televiziunea, sistemele
multimedia sau unitatile CD audio unde, evident, semnalele trebuie prelucrate
instantaneu. Daca un DSP nu poate prelucra semnalele suficient de rapid aplicatia nu
va fi efectiva (ganditi-va la o intirziere la celalalt capat al firului in timpul unei
46
convorbiri telefonice).
MCU-urile au fost dezvoltate pentru a oferi un grad mare de flexibilitate prin
programabilitate, dar aceasta pe seama performantei. Toate operatiile care pot fi
efectuate pe un DSP pot fi rulate si pe un MCU (sau un MPU, care este la fel minus
perifericele integrate on-chip). Diferenta este ca un MCU va fi mai lent la operatiile de
tip procesare de semnal, dar va fi capabil de multiple alte tipuri de operatii cu date. De
aceea, aplicatiile in care se va utiliza un MCU vor avea de regula o bucla de control
care este de asteptat sa ceara un numar de sarcini diverse mai degraba decat calculele
rapide si repetitive specifice algoritmilor DSP.
In concluzie, dispozitivele MCU sunt optimizate pentru o larga paleta de operatii
aritmetice, logice si de diagnosticare, pentru orice combinatie de date de intrare de la
diverse surse in timp ce DSP-urile sunt foarte eficiente pentru operatii numerice
repetitive.
Sunt acele operatii de calcul repetitive ce sunt atat de bine controlate de un DSP.
Acestea sunt in special operatiile de multiplicare si adunare, operarea de intarzieri si
operatii cu siruri de date. Figura 2 ilustreaza un filtru simplu de tip FIR (Finite Impulse
Response), una dintre aplicatiile cele mai comune ale DSP-urilor utilizate in
procesarea grafica si audio.
Diagrama ilustreaza operatiile de baza realizate de un DSP. Operatiile de
intarziere solicita procesorului sa retina datele pentru o utilizare ulterioara prin
stocarea intr-un registru de date. Operatiile de multiplicare si adunare se efectueaza
asupra datelor culese din diferite locatii, iar rezultatul acestor operatii este stocat intr-
un registru de rezultate "temporar". Intrucat datele reprezinta un flux continuu (similar
cu semnalul analogic) ele sunt stocate in locatii de memorie succesive. Adresele
consecutive ce sunt des utilizate cu astfel de date pot fi manuite cu usurinta folosind
moduri de adresare ce permit incrementarea automata a continutului registrelor.
47
Arhitectura DSP este optimizata sa permita rularea unor astfel de operatii simple foarte
rapid. De obicei, cateva functii de tipul "multiply and accumulate" (sau MAC) pot fi
rulate intr-un singur ciclu.
48
succesive de memorie in care sunt stocate datele.
Aceste atribute sunt relativ comune pentru MCU-uri - moduri de adresare cum ar fi
"Register-indirect with post increment" vor permite MCU-urilor sa acceseze structurile
de date organizate intr-un mod similar cu cel de la DSP-uri.
Circuitele "Barrel shifter" reprezinta cel de-al patrulea element hardware al
DSP-urilor. Acest tip de circuit este folosit pentru a manipula rapid continutul
registrilor in scopul scalarii datelor. DSP-urile cu virgula fixa necesita scalarea datelor
pentru a genera acelasi "interval dinamic" ca la procesoarele cu virgula mobila.
Desigur, actiunea unui "barrel shifter" poate fi emulat software, dar acest proces
necesita timp care probabil nu este disponibil in aplicatiile audio sau video in timp
real. Circuitele hardware barrel-shifter sunt deja caracteristici populare pentru MCU-
urile recente.
Cea mai importanta caracteristica a unui MCU traditional si care il diferentiaza
de un DSP, este capacitatea de a putea fi utilizat ca circuit de uz general ce se regaseste
in setul de instructiuni si modurile de adresare. Un MCU va include instructiuni de
control, instructiuni de manipulare a bitilor si abilitatea de a manipula usor datele
folosind un "stack pointer (indicator de stiva). Un indicator de stiva dedicat si
adresarea relativa a indicatorului de stiva simplifica operatiile unui compilator si
permite codului compilat sa fie optimizat la cea mai mica dimensiune posibila.
O alta caracteristica asociata categoriei MCU este includerea perifericelor on-
chip. Chiar daca DSP-urile moderne includ in mod clar module periferice ca memorii
si controlere de comunicatii seriale, MCU-urile sunt acele componente de pe un PCB
care fac circuitele periferice clasice inutile. Nu exista motive tehnologice pentru care
circuitele DSP sa nu includa asemenea periferice chiar daca, in general, un circuit care
cere astfel de functii este mai probabil sa necesite un controler ca element central spre
deosebire de o arhitectura specializata a unui circuit de calcul rapid.
O ultima caracteristica asociata mai degraba cu MCU-urile decat cu DSP-urile
este capacitatea de tratare rapida a intreruperilor. Aceasta este necesara cand pe chip
49
sunt incluse multe periferice integrate intrucat in aceasta situatie exista mai multe surse
de intreruperi ce trebuie tratate de sistem.
50
Processor, sau procesor digital de semnal.
Care este de fapt locul aplicatiilor cu DSP? Procesoarele digitale de semnal preiau
in timp real informatia de mare viteza si o manipuleaza in multiple moduri si
scopuri. Cu DSP putem restaura vechi inregistrari pe suport de vinyl la claritatea
originala, putem sterge zgomotul static din liniile telefonice internationale si putem
„vedea” din sateliti detalii ale unor obiecte de dimensiunea unei mingi de golf. In
autoturisme, DSP-urile creeaza, in linia audio, sunetul spatial (surround), in timp
ce raspund de sistemele de suspensii active, franele ABS sau injectia electronica.
In telefonia mobila, prin procesarea digitala de semnal putem „inghesui” mai multe
conversatii pe undele aeriene, simultan cu codificarea lor pentru prevenirea
interceptarii. Procesoarele digitale de semnal pot fi intalnite in aparatele de
monitorizare medicale, in aparatele auditive, supercalculatoare sau modemuri. Sunt
folosite in detectoare radar, in televizoare digitale sau combine audio, instalatii de
amplificare si laser pentru spectacole. DSP-urile sunt, de fapt, o parte componenta
a existentei noastre moderne, translatand semnalele in inteligenta si permitandu-ne
sa luam decizii mai precise, intr-un timp mult mai scurt.
51
zone diferite de memorie.
Pentru a putea obtine aceste performante obligatorii, procesoarele de semnal
trebuie sa ofere posibilitatea efectuarii in paralel a multiplicarii si adunarii,
accesarii multiple a memoriei si generarii eficiente a adreselor, sa contina o
multitudine de registri de retinere temporara a datelor, precum si facilitati speciale
cum ar fi intarzierile si adresarea circulara.
Cele mai multe operatii pe care le efectueaza un DSP constau in multiple adunari si
multiplicari. Pentru a citi doi operanzi intr-un singur ciclu de instructiune va trebui
sa avem simultan doua accesari ale memoriei. De fapt, gandindu-ne ca va trebui sa
salvam rezultatul si sa citim instructiunea insasi, vom dori sa avem mai mult de
doua accesari ale memoriei intr-un acelasi ciclu de instructiune. Se stie ca nu se pot
accesa doua adrese de memorie diferite pe aceeasi magistrala (bus) de date. Totusi,
accesarea multipla este posibila in cazul DSP folosind doua tehnologii derivate din
modelele arhitecturale adoptate: arhitectura Harvard sau arhitectura von Neuman
modificata.
In arhitectura Harvard, DSP are doua magistrale separate de memorie. Acestea
permit accesarea simultana a doua loca-tii de memorie. In procesoarele de uz
general, una dintre magistrale este dedicata citirii codului instructiunii, iar cealalta
aducerii operanzilor. Arhitectura Harvard-DSP permite ca magistrala de program sa
poata fi folosita pentru citirea operanzilor. Deoarece avem simultan nevoie de trei
informatii, Harvard-DSP include o memorie cache care poate stoca instructiunile
comune ce vor fi reutilizate, lasand ambele magistrale libere pentru operanzi.
Aceasta exten sie poarta denumirea de Super Harvard ARChitecture (SHARC).
Exista si un dezavantaj al arhitecturii Harvard. Un DSP care proceseaza cuvinte de
32 de biti, la un spatiu de memorie cu adrese de 32 de biti, necesita cel putin 64 de
pini pentru fiecare magistrala de date, deci un total de 128 de pini pentru
conectarea cu exteriorul. Rezultatul este un cip foarte mare, greu de amplasat in
circuite dedicate.
52
In acelasi timp, chiar si cea mai sim-pla operatie DSP - o adunare de doi operanzi
si o stocare a rezultatului in memorie - necesita patru accesari ale memoriei (trei
pentru aducerea operanzilor si instructiunii si o salvare a rezultatului). Depasirea
capacitatilor oferite de arhitectura Harvard este rezolvata, in unele procesoare, prin
adoptarea unei alte arhitecturi, denumita von Neuman modificata.
Arhitectura von Neuman foloseste o singura magistrala de memorie. Din acest
motiv este mai ieftina (necesitand mai putini pini) si mai simplu de utilizat
deoarece programatorul poate plasa instructiuni sau date oriunde in memoria
disponibila. In schimb, arhitectura nu permite acces multiplu de memorie. Totusi,
structura von Neuman modificata poate permite accesul multiplu intr-un ciclu de
instructiune folosind un simplu truc de setare a frecventei de memorie mai ridicata
decat cea a ciclului de instructiune. De exemplu cipul DSP32C al firmei Lucent
ruleaza cu un ceas la 80 MHz. Aceasta frecventa este divizata cu patru pentru a
obtine 20 de milioane de instructiuni pe secunda (MIPS), dar memoria este
accesata la frecventa maxima de 80 MHz - fiecare ciclu de instructiune este
impartit in patru stari, iar un acces la memorie se poate face in oricare dintre
acestea, permitand un total de patru accesari intr-un ciclu de instructiune.
In ambele cazuri, rolul programatorului este de a administra cu atentie loca-tiile de
memorie unde este amplasata informatia: de exemplu, in cazul arhitecturii
Harvard, daca ambii operanzi se gasesc in acelasi banc de memorie, ei nu pot fi
accesati simultan.
Desi exista multe tipuri de procesoa-re, ele sunt in majoritate proiectate pentru a
detine cateva caracteristici comune. In inima arhitecturii DSP se afla unita tea
centrala de procesare (CPU). Aceasta este alcatuita din urmatoarele elemente: un
multiplicator in virgula fixa sau mobila, o unitate aritmetica si logica (ALU), un set
53
de registri si magistralele aferente. Primii opt dintre registri suporta operatii cu
numere in virgula mobila de 40 de biti, sau intregi de 32 de biti. Urmatorii opt sunt
registrii auxiliari a caror functie principala este generarea adreselor de memorie.
Doi registri aritmetici auxiliari pot genera doua adrese intr-un singur ciclu de tact,
functionand in paralel cu multiplicatorul si ALU. Ceilalti registri sunt denumiti
registri de control, avand acces la o multitudine de functii: adresare, managementul
stivelor, intreruperi etc.
In cipul DSP se afla un controler DMA (Direct Memory Access). Acesta este
capabil sa citeasca si sa scrie in orice locatie de memorie fara a intrerupe
functiona-rea CPU-ului. Controlerul DMA are propriile sale generatoare de adrese,
regis-trii sursa si destinatie, un numarator de transfer si un mecanism de raspuns la
intreruperi.
Comunicatia DSP cu exteriorul se efectueaza printr-o serie de module periferice,
accesate prin registri speciali de memorie si amplasate pe o magistrala dedicata.
Cele mai importante module periferice sunt timerele si porturile seriale, insa ele
pot fi extinse in functie de aplicatie si sistemul in care DSP-ul este integrat.
Timerele contin cate un pin bidirectional care poate fi folosit ca intrare de ceas, sau
ca semnal de iesire controlat de timer. Pinii porturilor seriale sunt configurabili
pentru a indeplini functii generale de intrare-iesire.
54
semnalelor analogice. Acestea trebuie convertite in forma digitala (cu ajutorul unor
convertoare A/D), intr-o secventa discreta de valori masurabile. O buna parte din
informatie este pierduta la conversia analog-digitala datorita impreciziei de
masurare, inacuratetei in sincronizare, limitari ale duratei de efectuare a masurarii.
Aceste efecte sunt numite erori de cuantizare.
Semnalul continuu, analog, trebuie sa fie retinut inainte de a fi esantionat. Altfel s-
ar putea modifica in timpul masurarii. Dupa ce a fost retinut, semnalul va fi
masurat si apoi convertit intr-o valoare digitala. Prin esantionare obtinem o
multime de numere in format binar ce reprezinta marimi ale semnalului, luate de
obicei la intervale constante de timp.
Exista trei moduri de interactiune a DSP-ului cu lumea reala: prin semnale care
sunt receptionate si transmise direct, prin comunicarea cu un sistem de control de
tip diferit sau prin comunicarea cu alte procesoare DSP de acelasi tip. Aceste cai de
comunicatie multiple marcheaza cea mai importanta distinctie dintre procesoarele
DSP si procesoarele obisnuite.
Sistemele care contin DSP trebuie sa functioneze in timp real, capturand si
procesand informatia pe masura ce se schimba. Mai intai convertoarele analog-
digitale trebuie sa tina pasul cu modificarile continue ale datelor reale. Daca raman
in urma, informatia se pierde, iar semnalul este distorsionat. Convertorul A/D
„fotografiaza” semnalul la intervale suficient de mici pentru a observa fluctuatiile
relevante, iar DSP efectueaza toate calculele necesare pana in momentul in care o
noua „fotografie” apare pentru a fi procesata. Semnalul audio stereo trebuie
prelucrat la frecvente de pana la 20 kHz (20.000 de cicluri pe secunda), obligand
DSP-ul sa realizeze sute de milioane de operatii pe secunda. Alte semnale, cum ar
fi transmisiile prin satelit, sunt si mai rapide, ajungand la ordinul gigahertzilor
(miliarde de cicluri pe secunda).
Cand primele procesoare DSP au aparut pe piata, ele erau destul de rapide: de
exemplu primul DSP - AT&T DSP32 - functiona la 16 MHz, in perioada in care
55
frecventa procesoarelor din PC-uri era de 5 MHz. Intr-o demonstratie a
superioritatii de viteza a DSP, celebra la vremea respectiva, un calcul de fractal
(Mandelbrot) era rulat in paralel pe un PC obis-nuit si pe unul in care se
introdusese o placa cu DSP. Astazi, insa, cel mai rapid procesor DSP este cel
produs de Texas Instruments, TMS 320C6201, care ruleaza la 200 MHz. Evident,
nu este cel mai rapid in comparatie cu un microprocesor obisnuit, iar acelasi fractal
va rula astazi mai repede pe un PC decat pe un DSP. Totusi, de ce procesoarele
DSP prezinta inca un atat de mare interes? Motivatia este dubla: in primul rand
DSP poate efectua mai multe operatii in paralel si, mai ales, poate lucra cu semnale
externe mult mai bine decat cel mai performant Pentium. Incercati, de exemplu, sa
prelucrati simultan pe un Pentium, in timp real, opt canale de semnal audio de
inalta calitate, prin achizitie si redare, fara a afecta performanta procesorului. Apoi,
faceti acelasi lucru cu un DSP. Veti simti diferenta.
Avantajele proiectarii cu DSP sunt multiple, dintre care putem aminti:
Cost - Cu un hardware foarte simplu, in absenta unor elemente electronice
sofisticate, si cu un chip DSP cu pretul intre 2$ si 100$ pentru performante variind
intre 10 MFLOPS pana la 500 MFLOPS, putem construi dispozitive cu o putere de
procesare extrem de mare.
Fiabilitate - Orice circuit electronic este supus modificarilor de performanta,
datorate variatiilor termice, imbatranirii, care pot duce la o functionare incorecta.
Un DSP, insa, va putea sa functioneze perfect in urmatorii 50 de ani.
Motoarele mici, care au un consum mai mic de 300W, pot fi gasite intr-o
larga varietate de aplicatii incluzand automobilele, imprimantele, copiatoarele,
manipulatoarele de hartie, automatizarile fabricilor, vehiculele spatiale si militare,
56
echipamentele de test si robotica. Cantitatea de motoare produsa este aproximativ
invers proportionala cu nivelul de putere; mai mult, motoarele mici sunt produse in
cantitati mai mari decat motoarele de capacitate mare. Cele mai populare tipuri de
motoare mici sunt cele de curent continuu (c.c.), fara perii de curent continuu si
motoarele pas cu pas.
Controlul tipic al motorului realizat cu procesoarele de semnal digital (DSP)
este proiectat in asa fel incat sa corespunda cerintelor generale ale motoarelor.
Oricum, controlul/comanda motorului bazata pe un circuit DSP este adesea prea
costisitoare pentru sistemele de control ale motoarelor mici. Astfel, ca scop
general, factorul de forma mic al microcontrolerului reprezinta adesea solutia de
cost efectiva pentru controlul motoarelor in cazul motoarelor mici. Cand selectam
un microcontroler pentru o aplicatie de comanda/control a motorului, exista cateva
caracteristici care ar trebui incluse pentru a aduce beneficii importante sistemului.
Este important sa evaluam fiecare dintre aceste caracteristici atunci cand selectam
un microcontroler pentru a determina cel mai potrivit dispozitiv pentru o aplicatie
data.
5.1 Optiunile Timer
Un simplu motor pas cu pas poate impune doar un timer de scop general.
Oricum, motoarele c.c. si motoarele fara perii c.c. necesita un timer PWM (pulse
width modulator) pentru a controla viteza motorului. Caracteristicile principale ale
timer-ului PWM sunt rezolutia si frecventa. Frecventa trebuie sa fie deasupra
constantei de timp a infasurarilor si deasupra domeniului audibil, dar destul de
mica pentru a minimiza pierderile de comutatie. O frecventa a PWM-ului de la 16
la 24kHz este ideala pentru motoarele mici.
O rezolutie a timer-ului PWM de 8 biti este suficienta pentru majoritatea
aplicatiilor. Daca aplicatia necesita doar cateva viteze particulare, rezolutia de 8
biti este de ajuns. Un timer PWM de 8 biti este de asemenea suficient pentru
controlul in bucla inchisa atunci cand domeniul de viteze cerut este mai mic de 10
57
la 1. Daca aplicatia necesita controlul in bucla inchisa de-a lungul unui domeniu
larg de viteze sau o reglare a vitezei cu o precizie mai buna de 1%, este nevoie de o
rezolutie mai mare. O rezolutie a timer-ului PWM de 10 biti la 20kHz necesita un
ceas de sistem care sa aibe o frecventa mai mare de 20MHz.
Suprafata programabila PCA (programmable counter array) ce poate fi
gasita implementata in familia de microcontrolere C8051F300 produsa de Silicon
Laboratories prezinta un modul PWM de 8 biti. Frecventa modulului PWM de 8
biti poate fi fixata la 8, 24 sau 96kHz cand frecventa ceasului sistemului de operare
este de 24.5MHz. Pentru un modul PWM de 8 biti, frecventa de 16.0 sau 19.1kHz
poate fi obtinuta utilizand un T0 de depasire precum ceasul sursa al suprafetei
PCA. Cand este necesara o rezolutie mai inalta, un timer PWM de 10 biti la 20kHz
poate fi generat utilizand suprafata PCA in modul HSO (high speed output).
Numarul de canale PWM necesare variaza pentru aplicatii diferite cu motoare
mici. O simpla comanda a unui motor c.c. de operare intr-o directie numai, necesita
un modul PWM. Comanda unui motor c.c. care contine schimbarea pozitiei
necesita doua canale PWM sau unul singur cu un multiplexor cu doua iesiri. Un
motor c.c. fara perii necesita trei canale PWM sau un singur canal PWM cu un
multiplexor cu trei iesiri. Solutia gasita la familia de microcontrolere produsa de
Silicon Laboratories - C8051F300 - este de a multiplexa un singur PWM de-a
lungul unor iesiri multiple. Aceasta capabilitate minimizeaza nevoia de canale
multiple PWM simplificand foarte mult software-ul.
5.2 Convertoare Analog-/-Digital si Suport
58
pentru sistemele de control al motoarelor sunt rezolutia, viteza de esantionare,
numarul de canale, tensiunea de referinta si capabilitatea de masurare diferentiala.
Rezolutia necesara depinde de reactia si controlul sistemului in domeniu dinamic.
Un ADC de 8 biti este suficient pentru masurarea vitezei potentiometrelor si a
tensiunii "dc link". Tensiunea motorului, curentii motorului si tensiunea
tahometrului pot cere un domeniu dinamic larg. Daca aplicatia necesita reglarea
vitezei intr-un domeniu de viteza de peste 100 la 1, sistemul trebuie sa fie stabil
utilizand doar un mic interval din intreg domeniul ADC. Utilizand un ADC de 8
biti pentru a masura un parametru de reactie cu o precizie de 1%, pe intraga scala
vom obtine o citire de 2.5 numarari. Un convertor ADC de 10 biti ofera 20
numarari.
Masurarea curentului motorului este in particular destul de problematica. Adesea,
un rezistor de detectie cu valori mici este utilizat impreuna cu un amplificator
operational extern. O masuratoare diferentiala se impune atunci cand este nevoie
de masurari ale curentului foarte precise. Aceste tipuri de circuite sunt foarte
susceptibile la zgomot. Un convertor ADC cu o inalta viteza de esantionare si o
unitate centrala de procesare rapida va permite supra-esantionarea si medierea.
Supra-esantionarea si medierea sunt esentiale atunci cand facem masuratori ale
curentilor motorului pentru a obtine valori precise chiar in prezenta zgomotului
generat de motor.
Zgomotul sursei de putere reprezinta adesea o problema in circuitele de comanda /
control ale motoarelor. O referinta de tensiune integrata este utila pentru efectuarea
de masuratori absolute precum cele de curent si de temperatura si pentru asistarea
convertorului ADC pentru a putea oferi o precizie imbunatatita si performante mai
bune de zgomot decat in cazul utilizarii unei surse VDD. In anumite aplicatii
extreme de cost, amplificatorul operational extern de detectie a curentului poate fi
eliminat complet daca utilizam o mica referinta de tensiune integrata on-chip
impreuna cu un amplificator cu castig programabil.
59
Un comparator "on-chip" este util aplicatiilor de control al motorului cand este
necesara o protectie hardware de supra-tensiune sau supra-curent. Un comparator
"on-chip" poate fi utilizat pentru a genera o intrerupere sau un asa numit "capture
timer event". De asemenea, un comparator "on-chip" este util in aplicatiile cu
motoare c.c. fara perii pentru masurarea tensiunii motorului sau a trecerii prin zero
a tensiunii electromotoare inverse. Aceasta aplicatie necesita trei comparatoare sau
un singur comparator cu un multiplexer cu trei intrari.
Comunicatia in Sistem
Motoarele mici sunt adesea parti ale unui sistem mai mare, in care perifericele
trebuie sa realizeze controlul si comenzile receptionate de la microcontrolerul
central. Motoarele mici pot utiliza SMBus sau I2C in aplicatii precum
ventilatoarele PC-urilor sau ale placilor de baza ale sistemelor. Interfata SPI poate
fi de asemenea utilizata pentru realizarea comunicatiei dintre doua sau mai multe
microcontrolere din cadrul unui sistem complex. Magistrala SPI poafi fi de
asemenea utilizata cu perifericele SPI precum memoriile seriale EEPROM,
ceasurile de timp real sau convertoarele ADC externe. Interfata UART bazata pe
protocoale precum RS232, RS485 si LIN sunt de asemenea folosite in sistemele de
control ale motoarelor mici.
Constrangerile datorate numarului de pini impun anumitor microcontrolerele sa
ofere interfete UART sau SPI, dar numai separat. Altele impun alegerea intre SPI si
SMbus sau I2C. In timp ce este posibil sa se emuleze una din aceste periferii prin
programare, adesea nu este practic sa se emuleze periferiile intr-un sistem de
control al motorului "multi-tasking". Familia MCU produsa de Silicon
Laboratories - C8051F300 - ofera posibilitati multiple de a selecta sistemul de
comunicatie al periferiilor intr-o anumita aplicatie.
60
microcontroler. Numarul pinilor depinde de tipul motorului, de iesirile PWM, de
intrarile analogice, de pinii I/O generali si de comunicatia perifericelor. Sistemele
de motoare c.c. mici necesita numai 11 sau mai putini pini. Sistemele cu motoare
c.c. fara perii au nevoie in mod normal de 20 sau 28 de pini. Microcontrolerele
tipice de 8 pini in capsula SOIC ofera numai 6 pini I/O. Familia C8051F300
livreaza opt pini I/O intr-o capsula de 3x3mm, o patrime din suprafata ocupata de
un SO8. Exista cateva atribute importante ale microcontrolerelor de care se tine
cont in alegerea unui MCU cu factor de forma mic in aplicatiile de control al
motorului. Prin considerarea timer-elor PWM, a suportului ADC, a tensiunii de
referinta integrate, a comparatoarelor "on-chip" a comunicatiei perifericelor,
pinilor I/O si a capabilitatilor flexibile de multiplexare analogica si digitala,
proiectantii de aplicatii de control al motorului pot maximiza proiectele lor.
61
62
63
64
65
66
67
68
69
70
71
7. Sisteme de acţionare electrică
7.1. Introducere
Sursa de energie
Energie electrică
Pierderi consumată
mecanice în
organul de Dispozitiv de dozare a Pierderi în
transmisie energiei (convertor static) convertor
72
Pentru ca parametrii energiei mecanice (cuplu, viteză unghiulară) să poată fi
controlaţi pe cale electrică este necesar ca între motor şi sursa de alimentare să
existe dispozitive de dozare a energiei electrice prin modificarea parametrilor săi
(tensiune, curent, frecvenţă). Controlul parametrilor mecanici pe cale mecanică cu
ajutorul reductoarelor de turaţie, cutiilor de viteză sau variatoarelor mecanice de
turaţie este caracterizat de randamente scăzute, fiabilitate scăzută, cost ridicat şi
puteri unitare limitate din considerente constructive.
Utilizarea maşinilor electrice (grupuri motor-generator) sau a
amplificatoarelor magnetice la modificarea parametrilor energiei electrice
absorbite de motor este legată de costuri mari de investiţii, consum mare de cupru
(material deficitar), randamente scăzute (în cazul grupurilor de maşini) şi inerţie
electromagnetică mare, care afectează rapiditatea şi stabilitatea sistemelor de
acţionare electrică cu reglare automată.
Sistemele de acţionare electrică au evoluat de la forma simplă, la care
motorul este legat direct la reţea şi este cuplat nemijlocit cu maşina de lucru,
eventual printr-un organ de transmisie cu roţi dinţate sau curele, la forme dintre
cele mai complexe, cu un înalt grad de automatizare, în scopul satisfacerii
cerinţelor tot mai mari impuse de producţia de bunuri materiale:
- mărirea productivităţii prin mărirea vitezei de acţionare şi reducerea
timpilor de pornire şi frânare, fără solicitări inadmisibile ale motorului;
- reducerea consumului de energie prin mărirea randamentului şi a factorului
de putere;
- ridicarea calităţii producţiei prin respectarea riguroasă şi cu mare precizie a
cerinţelor impuse de procesele tehnologice.
În cazul cel mai general, acţionarea electrică este un sistem închis, care
cuprinde pe lângă motorul electric de acţionare ME şi maşina de lucru ML,
cuplajul cu organul de transmisie T, instalaţia de alimentare de la reţea cu
73
mutatorul M, instalaţia de comandă automată şi de reglare cu următoarele
elemente:
- elementul de măsurare (de exemplu un tahogenerator TG);
- dispozitivul de prescriere P care dă valoarea impusă mărimii de reglat;
- comparatorul C care compară mărimea măsurată cu mărimea impusă;
- amplificatorul A care amplifică semnalul de abatere;
- dispozitivul de comandă(care, pentru un Mcc este dispozitivul de comandă
grilă DCG)
3~
CS ME T ML
C
DC A TG
Fig. 7.2 – Sistem de acţionare electrică cu motor de current continuu, cazul general
74
La frânarea prin conectare inversă a unui mecanism de ridicat sensul
cuplului se menţine, dar se inversează sensul turaţiei trecându-sc din cadranul I în
cadranul IV.
În anumite procese industriale, este nevoie ca un motor să lucreze în toate
cele patru cadrane.
Acţionările electrice la care se pot obţine inversarea cuplului sau a vitezei
unghiulare de rotaţie se numesc acţionări reversibile:
- în cadranele I şi III regimul de funcţionare al maşinii electrice este de motor,
deoarece produsul dintre cuplu şi viteza unghiulară (putere mecanică) este pozitiv,
ceea ce înseamnă că motorul dezvoltă putere mecanică la arbore;
- în cadranele II şi IV produsul MΩ este negativ, motorul primeşte energie
mecanică la arbore şi o transformă în energie electrică; regimul de funcţionare este
de generator când energia electrică este cedată reţelei (frânare cu recuperare) sau
unei rezistenţe (frânare dinamică). Acesta este regimul de frână.
II Ω I
Generator Motor
frână sens direct
M
III IV
Motor Generator
sens invers frână
75
7.2. Motorul de curent continuu cu excitaţie independentă
76
fundamentală a mişcării. Pentru că nu se cunosc apriori perturbaţiile ce acţionează
asupra sistemului, şi interesează reglarea după mărimea de intrare, în determinarea
funcţiei de transfer a motorului se consideră perturbaţiile ca fiind nule. Astfel, se
obţine:
di
u R a i La ea
dt
ea k e e m
(7.1)
M J d m B
m
dt
m m
M k i
m e
unde:
u – tensiunea la capetele circuitului indusului
i – curentul prin circuitul indusului
Ra, La – rezistenţa, respectiv inductanţa circuitului indusului
Ea – tensiunea contraelectromotoare
m - viteza unghiulară a motorului
M – cuplul activ dezvoltat de motor
Bm – factor de pierderi între armătură şi carcasă
Jm – moment de inerţie al arborelui motorului
e – fluxul de excitaţie
ke, km – constante constructive ale motorului de curent continuu (constanta
electrică, respectiv mecanică).
Sistemul de ecuaţii (7.1) este un sistem neliniar, neliniarităţile fiind datorate
atât produselor φeωm, φei, cât şi neliniarităţii curbei de magnetizare a motorului.
Întrucât, pentru a stabili un model matematic plecând de la un sistem
neliniar se impune utilizarea unui formalism matematic destul de complicat, se va
liniariza sistemul de ecuaţii în jurul unui punct de funcţionare şi se vor considera
nule toate variaţiile mici ale mărimilor în jurul acestui punct de funcţionare.
Pentru aceasta, se consideră φe=ct., astfel încât se poate scrie:
77
K e k e e (7.2)
K m k m e (7.3)
u Ri
Ke Kg / rot / sec (7.4)
2nn
Ke
Km Kgm / A (7.5)
1,03
d m
J m dt Bmm Ki
(7.6)
L di R i u K
a dt a m
Ki
În regim staţionar, Bm (7.7), ω
m
2πn
n (7.8). Observând curba de
m
dω m
).
dt
x t Ax t b u t d p t
(7.9)
y t c T
xt
În spaţiul stărilor ecuaţiile de mai sus pot fi exprimate alegând viteza de
rotaţie şi curentul electric prin indus ca mărimi de stare şi tensiunea de alimentare
78
ca intrare. Ca ieşire se alege viteza unghiulară. Pentru început, se rescriu ecuaţiile
(7.6) sub forma:
dm dm Bm K i
Jm dt Bmm Ki dt Jm m Jm
L di R i u K di K Ra i 1 u
a dt a m dt L L L
a aa
Astfel se obţine relaţia echivalentă în spaţiul stărilor, ca fiind:
Bm K
d J J 0
m m m m 1 u
dt i K Ra i L
La La a (7.10)
T m m
y t c 1 0
i i
Se ştie că în acest caz, funcţia de transfer are următoarea expresie:
H s c T sI A b
1
(7.11)
În cazul de faţă, aceasta se poate scrie astfel:
1
s B / J K/J 0
H MCC s 1 0
K/L s R / L 1 / L
(7.12)
Determinăm transpusa matricei [Si-A] ca fiind:
1
A 1 A*
det( A)
(7.13)
det A s B / J s R / L K 2 / JL (7.14)
79
A11 1 s R / L ; A12 1 K / J
11 1 2
A21 1 K / L ; A22 1 s B / J
2 1 2 2
1 s R / L K / J 0
H MCC s
s B / J s R / L K / JL K / L s B / J 1/ L
2
s R/ L K/J 0
H MCC s 1
s B / J s R / L K / JL
2
s B / J s R / L K 2 / JL L
K
1 1 KJL
H MCC s J H MCC s
sJ B sL R K L
2
sJ B sL R K JL
2
JL
K
H MCC s
JLs RJ BL s BR K 2
2
(7.15)
Relaţia (7.15) dă expresia funcţiei de transfer a motorului de curent
continuu cu excitaţie independentă.
80
unde ( s ),U ( s ), I ( s ) se obţin aplicând ecuaţiilor din sistemul 7.6 transformata
Laplace în condiţii iniţiale nule, astfel:
s Js B KI s
(7.17)
I s Ls R U s K s
Din prima ecuaţie a sistemului 7.17 se poate obţine funcţia de transfer a
mărimii de ieşire (Ω) în raport cu mărimea intermediară (I):
KI ( s )
( s )
Js B
(7.18)
( s ) K
H1 s
I ( s ) Js B
(7.19)
Înlocuind expresia lui Ω(s) din relaţia (7.19) în cea de-a doua ecuaţie a
sistemului (7.17) se obţine expresia lui I(s) ca fiind:
KI ( s )
U ( s) K
Js B [U ( s ) K I ( s) ] /( Ls R) U ( s )( Js B ) K I ( s)
2 2
I (s)
Ls R Js B ( Js B )( Ls R)
K2
I ( s )( Ls R ) I ( s ) U ( s)
Js B
U (s) U ( s )( Js B )
I ( s) K2
( Ls R )( Js B ) K 2
( Ls R)( Js B)
Js B
Js B
H 2 (s)
LJs ( LB RJ ) s RB K 2
2
81
7.2.3. Reglarea turaţiei motorului de curent continuu
82
- ca mărimi de ieşire: viteza unghiulară (turaţie), cuplul electromagnetic
dezvoltat, curentul prin indus, curentul prin excitaţie.
- ca perturbaţii: cuplul de sarcină de la axul motorului, modificări neprevăzute
ale tensiunilor de alimentare sau excitaţie.
Pentru multe procese supuse automatizării, în special pentru procesele rapide
(cum este cel reprezentat de motorul de curent continuu) structura convenţională de
reglare (cu o singură buclă) nu permite obţinerea unor performanţe dorite. De
aceea, alegerea structurii sistemelor de reglare se face ţinând cont de complexitatea
procesului, de gradul de cunoaştere al acestuia, precum şi de performanţele
impuse.
Reglarea în cascadă se utilizează atât în cazul proceselor rapide (procese cu
constante de timp mai mici de 10s), dar şi în cazul proceselor lente.
Pentru adoptarea reglării în cascadă trebuie ca procesul tehnologic să fie
descompus în sub-procese a căror funcţie de transfer să nu conţină mai mult de
două constante de timp principale. Funcţia de transfer determinată în subcapitolul
anterior respectă această cerinţă (relaţia 7.15).
O altă condiţie se referă la faptul că în modelul matematic al procesului
supus automatizării trebuie puse în evidenţă mărimi intermediare care să fie
accesibile din punct de vedere fizic şi măsurabile cu mijloace relativ simple.
Aceste mărimi intermediare trebuie, în plus, să răspundă la perturbaţii mai rapid
decât mărimea de ieşire.
În marea majoritate a cazurilor , procesele mecanice care interesează din
punct de vedere al conducerii automate , se referă la reglarea unei forţe sau a unui
cuplu necesar punerii în mişcare , liniară sau rotativă , a unei sarcini oarecare .
Mişcarea se realizează cu ajutorul unui motor cuplat într-o transmisie oarecare cu
sarcina.
Aşadar motorul de curent continu este foarte des întâlnit în teoria reglării
automate atât ca element de execuţie într-un sistem de reglare cât şi ca proces
83
supus automatizării. În mod deosebit , motoarele de curent continuu se întâlnesc în
cadrul sistemelor de reglare automată sub forma proceselor supuse automatizării.
Fig.7.5
84
Pe baza schemei de principiu din fig.7.5 se alcătuieşte schema bloc de
reglare ca în fig.7.6.
Fig.7.6
85
- I n = 85A ,
- J ≈ 0.0355 , moment de inerţie aproximat experimental, măsurând timpul de
frânare de la turaţia nominală la 0 atunci când este decuplată tensiunea de
alimentare şi modificându-l ca parametru într-o simulare Matlab, până la obţinerea
aceluiaşi timp de stabilizare a sistemului.
Pentru determinarea formei exacte a funcţiei de transfer a motorului de
curent continu se consideră următoarele mărimi:
- constanta electrică a motorului:
U R I
K n an n 220 0,38485 1,33[ V/rot/ min]
e 2 π n 23,141500
n
K 1,33
e
K 1,29[N m/A]
m
1,03 1,03
- constanta electromecanică a motorului:
- constantele de timp ale motorului:
R J 0,384 2 L
T 0,597; T a 46,5 202
m K K 1,331,29 R 0,384
m e a
86
salutare
K
p
H (s)
EE 1 τ s
p
U π
K d0
p 180
Factorul de transfer al elementului de execuţie se determină cu relaţia:
unde:
3 6
U U cosα |
d0 π s α 0
şi se calculează cu expresia:
unde cu Us am notat tensiunea de linie (tensiunea dintre fazele reţelei de
alimentare).
1
τ
p 2pf
unde : f = 50 Hz – frecvenţa
p – numărul de pulsuri dintr-o perioadă pentru tensiunea redresată. În acest
caz p = 6.
Funcţia de transfer a DCG este:
180
H (s) 11,25grad/V
DCG 16V
87
Funcţia de transfer a traductorului de curent este:
Constanta kTi a traductorului de curent se determină din condiţia ca la
k
H (s) Ti
Ri 1 T s
i
U
k i 7,5 0,049 V
Ti I 153 A
l
pornire curentul de pornire să fie limitat la Il = 1,8 In = 153 A, tensiunea rezultată la
intrarea regulatorului de curent să fie Ui = 7,5 V, aşadar:
0,049
H (s)
TRi 1 0,025s
de transfer a traductorului de curent devine:
Funcţia de transfer a traductorului de turaţie este:
Constanta de proporţionalitate kTω a traductorului de turaţie este:
k
H (s) Tω
TRω 1 T s
10V V
k ω 0,006
Tω 1500rot/min rot/min
Constanta de timp a traductorului de turaţie se alege T ω = 0,001s astfel încât
0,006
H (s)
TRω 1 0,001s
funcţia de transfer a traductorului de turaţie devine:
88
Funcţia de transfer a regulatorului de curent. Pentru a stabilii funcţia de
transfer a regulatorului de curent se stabileşte mai întâi funcţia de transfer a părţii
H (s) H (s) �
H (s) �
H (s) �
H (s)
f1 DCG EE 1 TRi
T
m
k s k
EE R Ti
k
DCG 1τ s (1 Ts)(1
s) 1 T
T s
p m i
ks 7,81s
(1 T s)(1 T s) (1 0,065s)(1 0,597 s)
�i m
fixe corespunzătoare buclei interioare din fig.7.6.
1 T s
H (s) m 1 0,597s
1 0,597s
Ri 2 2 2
2kT s 2�
7,81�
0,065s 1,01s
�i
T 0,597
unde : k k k m k 11,3 8,98 0,049
DCG EE R Ti 0,38
7,81
T T T τ 0,061 0,0025 0,0016 0,065s
i i p
Kessler a criteriului modulului:
89
Fig. 7.7
Aşadar :
90
0,035
H (s)
f2 0,597s(1 0,063s)
1 4T s 1 4�
0,063s
�ω
H (s)
Rω 4T 2 4
�ω 2�
0,035�
0,063 � s
2k T s
ω �ω T 0,597
m
1 0,25s
H (s)
Rω 0,001s
H (s)H (s) 1 4T s
f2 Rω �ω
H (s)
02 1 H (s)H (s) 2 2
f2 Rω 8T s (1 T s) 4T s 1
�ω �ω �ω
1 4�
0,063s
2 2
0,063 s (1 0,063s) 4 �
8� 0,063s 1
1 0,25s
2
0,031s (1 0,063s ) 0,25s 1
91
Răspunsul sistemului fără buclă de reglareeste prezentat în figura 7.9.
Răspunsul sistemului fără buclă de reglare are o eroare staţionară de 33% şi
o durată a regimului tranzitoriu de 4,5 s.
92
Fig. 7.10 Reglarea turaţiei cu legi PI
93
cuprinde : sisteme de dezvoltare hardware şi software de înalta calitate, asistenţă
tehnică permanenta, peste 2000 de pagini de note de aplicaţii, precum şi un volum
impresionant de cod sursă oferit gratuit.
Deşi procesoarele de semnal pot părea un artificiu exotic, un lux pentru
majoritatea specialiştilor angrenaţi în rezolvarea unor probleme practice în diverse
domenii ale electronicii şi automatizarilor, preţul în continuă scădere al acestor
componente, suportul tehnic şi de aplicaţii oferit de firmele producătoare, le fac din
ce în ce mai atractive pentru aplicaţii uzuale. Utilizarea lor face ca aplicaţii
inabordabile în timp real de catre procesoarele clasice fară hardware suplimentar să
revină la un preţ convenabil cu un minim de circuite externe.
Actualmente familia de procesoare TMS320 constă în 3 platforme
importante: TMS320C2000, TMS320C5000 şi TMS320C6000. În cadrul
platformei C6000 s-au profilat trei generaţii: TMS320C62x, TMS320C64x şi
TMS320C67x, cu caracteristici şi performanţe ce reflectă poziţia de lider a firmei
Texas Instruments pe piaţa soluţiilor DSP, [26]-[28].
In sistemele electronice de putere este raportată în literatură doar utilizarea
procesoarelor din familia TMS320C2000:P Generation DSP Type Features
- TMS320C24x™ DSP procesor pe 16 biti, virgulă fixă SCI, SPI, CAN, 10-
bit A/D, timere, generare PWM, memorie Flash, on-chip, 20–40 MIPS
- TMS320C28x™ DSP procesor pe 32 biti, virgula fixa, SCI, SPI, CAN, 12-
bit A/D, McBSP, timere, generare PWM, on-chip Flash memory, pana la 150
MIPS, a carui structura este prezentată în figura 8.1.
94
Figura 8.1. Structura procesorului TMS320F2812
95
operanzi nu numai din memoria de date cat si din memoria de program, Texas
Instruments a numit acest echipament o arhitectura Harvard modificata.
Sageata de “bypass” din coltul stang de jos a figurii 8.2 indică caracteristici in plus
ale acestei trasaturi.
Unitatea de control (CPU) a lui F2812 prezentată în figura 8.3, este capabilă
să execute majoritatea instructiunilor care sa realizeze operatiile registru la registru
si un sir de instructiuni care sunt folosite de obicei de microcontrolere (exemplu
impachetarea si despachetarea octetilor si manipularea de biti intr-un singur ciclu).
96
Interfata JTAG suporta schimbul de date in timp real intre DSC si
calculatoru gazda in timpul fazei de depanare a proiectului de dezvoltare.Este
posibil sa urmarim variabile in timp ce codul ruleaza in timp real,fara nici o
intarziere a codului de control.
97
Fig. 8.4
Unele dintre suprafeţele de memorie sunt protejate cu parola numita Cod de
Securitate Modul.Aceasta este o caracteristica pentru a proteja drepturile de autor.
Odată ce parola este programata,orice acces in suprafaţa securizata este garantat
când este introdusa parola corecta in suprafaţa speciala a PF0.
98
poate fi folosit pentru 2(uneori 3) funcţii diferite si programatorul decide care
funcţie este selectata. Tabelul următor arata opţiunile disponibile:
99
Fig. 8.5. Schema bloc a unui port de I/O.
100
Concluzii:
Este unanim recunoscut faptul că aceste procesoare oferă una dintre cele mai
complexitatea metodelor de control (cu orientare după câmp sau de tip formatoare
rândul lor, proiectate într-un mediu de dezvoltare prietenos. şi din acest punct de
valoros, atât prin facilitatile propriu-zise ale mediului, cât şi prin bibliotecile de
101
Bibliografie
102