Sunteți pe pagina 1din 37

Procesoare Numerice de Semnal - CURS 1

PROCESOARE
NUMERICE DE
SEMNAL

DIGITAL
SIGNAL
PROCESSORS
Procesoare Numerice de Semnal - CURS 2

CUPRINS

1. Introducere în domeniul procesoarelor numerice de


semnal

2. Sisteme pentru procesarea numerică a semnalelor

3. Familia TMS320

4. Structura hardware a generaţiei TMS320C2x

5. Proiectarea hardware cu procesoare TMS320C2x

6. Limbajul de asamblare al generaţiei C2x


Procesoare Numerice de Semnal - CURS 3

Capitolul 1
Introducere în domeniul procesoarelor
numerice de semnal

1.1 Definire. Caracteristici


1.2 Producători de DSP-uri
1.3 Aplicaţii ale DSP-urilor
Procesoare Numerice de Semnal - CURS 4

Capitolul 2
Sisteme pentru procesarea numerică a semnalelor

2.1 Introducere în procesarea digitală a semnalelor


2.2 Sisteme DSP
2.3 Familia TMS320
2.4 Arhitectura generală a procesoarelor DSP
2.5 Dezvoltări software
2.6 Cerinţe hardware
2.7 Consideraţii asupra sistemului
Procesoare Numerice de Semnal - CURS 5

Capitolul 3
Familia TMS320

3.1 Prezentare generală


3.2 Generaţia TMS320C1x
3.3 Generaţia TMS320C2x(x)
3.4 Generaţia TMS320C3x
3.5 Generaţia TMS320C4x
3.6 Generaţia TMS320C5x
3.7 Generaţia TMS320C54x
3.8 Generaţia TMS320C6x
3.9 Generaţia TMS320C8x
3.10 Generaţia TMS320AVxxx
Procesoare Numerice de Semnal - CURS 6

Capitolul 4
Structura hardware a generaţiei TMS320C2x

4.1 Descrierea semnalelor


4.2 Privire generală asupra arhitecturii
4.3 Structura internă
4.4 Organizarea memoriei
4.5 Unitatea centrală aritmetică şi logică
4.6 Controlul sistemului
4.7 Memoria externă şi interfaţa I/O
4.8 Întreruperile
4.9 Portul serial
4.10 Multiprocesare şi accesul direct la memorie
Procesoare Numerice de Semnal - CURS 7

Capitolul 5
Proiectarea hardware cu procesoare TMS320C2x

5.1 Circuitele de control ale sistemului


5.2 Interfaţarea memoriilor
5.3 Accesul direct la memorie (DMA)
5.4 Memoria globală
5.5 Interfaţarea perifericelor
5.6 Aplicaţii de sistem
Procesoare Numerice de Semnal - CURS 8

Capitolul 6
Limbajul de asamblare al generaţiei C2x

6.1 Moduri de adresare a memoriei


6.2 Setul de instrucţiuni
6.2.1 Instrucţiuni pentru acumulator
6.2.2 Instrucţiuni pentru registrele auxiliare
6.2.3 Instrucţiuni pentru pointerul paginii memoriei de date
6.2.4 Instrucţiuni pentru registrele T şi P şi pentru înmulţire
6.2.5 Instrucţiuni de salt
6.2.6 Instrucţiuni pentru lucrul cu subrutine
6.2.7 Instrucţiuni pentru operaţii de intrare / ieşire
6.2.8 Instrucţiuni pentru deplasări în memorie
6.2.9 Instrucţiuni pentru control
Procesoare Numerice de Semnal - CURS 9

1.1 Definire. Caracteristici

Procesoarele numerice de semnal, numite în literatura de


specialitate DSP-uri (DSP - Digital Signal Processors), sunt
sisteme de calcul programabile de tip "single-chip", destinate
prelucrării complexe a semnalelor digitale.
Deşi se numesc procesoare, ele înglobează într-un singur circuit
integrat principalele subsisteme componente ale unui sistem de
calcul (unitate centrală, subsistem de memorie, subsistem de
intrare / ieşire, etc.), realizând funcţii complexe de transfer şi de
prelucrare a datelor.
Procesoare Numerice de Semnal - CURS 10

1.1 Definire. Caracteristici

Pentru efectuarea unor prelucrări în timp real asupra datelor,


procesoarele de semnal lucrează la frecvenţe mari şi dispun de un
set complex de instrucţiuni, putând astfel executa zeci de
milioane de operaţii în virgulă mobilă pe secundă (MFLOPS -
Million Floating-Point Operations per Second).
Totodată, structura internă paralelă permite efectuarea mai
multor operaţii simultan, ceea ce creşte considerabil puterea de
calcul a DSP-ului.
Procesoare Numerice de Semnal - CURS 11

1.1 Definire. Caracteristici


Procesoare Numerice de Semnal - CURS 12

1.1 Definire. Caracteristici


Procesoare Numerice de Semnal - CURS 13

1.1 Definire. Caracteristici


Procesoare Numerice de Semnal - CURS 14

1.1 Definire. Caracteristici


Procesoare Numerice de Semnal - CURS 15

1.1 Definire. Caracteristici

MAC = Multiply-Add Computation


A = BC + D

Pipelining
Procesoare Numerice de Semnal - CURS 16

1.2 Producători de DSP-uri

Texas Instruments (57%)


Motorola (13%)
AT&T (13%)
NEC (8%)
Analog Devices (6%)
Alte firme (3%)
Procesoare Numerice de Semnal - CURS 17

1.2 Producători de DSP-uri

Texas Instruments (TI)

• Mai mult de 100 de tipuri de DSP-uri, utilizate în domenii diverse, cum ar fi:
comunicaţii, calculatoare, produse de larg consum, conducerea proceselor industriale,
instrumentaţie, aplicaţii militare, etc.
• Cea mai largă linie de procesoare DSP de uz general într-un singur cip
• Cea mai extinsă reţea de distribuitori si de utilizatori experimentaţi.
• Suport eficient şi complex creat şi oferit pentru fiecare procesor DSP, care cuprinde:
sisteme de dezvoltare hardware şi software de înaltă calitate; asistenţă tehnică
permanentă (telefonic, sau direct la utilizator); buletine de informaţii, ghiduri de
utilizare, cărţi; mii de pagini de note de aplicaţii; şi un volum impresionant de cod
sursă oferit gratuit.
• Produse şi servicii oferite în domeniul prelucrărilor numerice de semnal cu
procesoare TI de către peste 200 de alte firme (third-party).
Procesoare Numerice de Semnal - CURS 18

1.2 Producători de DSP-uri

Texas Instruments (TI)

Familia de procesoare DSP se caracterizează şi printr-un grad ridicat în ceea


ce priveşte paralelismul operaţiilor aritmetice şi al celor de transfer.

Procesoarele dispun de magistrale multiple care permit calculul paralel, încât


pot exista situaţii în care structurile de calcul realizează 11 operaţii în acelaşi
timp.
Procesoare Numerice de Semnal - CURS 19

1.3 Aplicaţii ale DSP-urilor

Tehnicile DSP tind să înlocuiască metodele clasice de


procesare analogică a semnalelor în multe domenii.
Procesarea numerică a semnalelor a devenit o tehnică
standard în multe domenii, printre care: telecomunicaţiile,
analiza şi prelucrarea semnalelor biomedicale, controlul
numeric, procesarea vorbirii şi a semnalelor audio / video,
instrumentaţia numerică, tehnicile radar, sonar, etc.
Procesoare Numerice de Semnal - CURS 20

1.3 Aplicaţii ale DSP-urilor

Se poate observa că
domeniul procesării
numerice a semnalelor
este unul interdisciplinar,
bazându-se pe noile
descoperiri din diverse
alte domenii.
Aşa cum se poate vedea
în figura, graniţele dintre
domeniul DSP şi al altor
discipline tehnice nu sunt
bine delimitate, existând
multe puncte comune.
Procesoare Numerice de Semnal - CURS 21

2. Sisteme pentru procesarea


numerică a semnalelor

Procesarea numerică a semnalelor a devenit atractivă încă din anii 1960,


odată cu introducerea tehnicilor digitale. Ulterior a devenit o alternativă în
procesarea semnalelor pe măsură ce structurile digitale hardware au evoluat,
au devenit mai rapide, mai uşor de utilizat, mai ieftine şi tot mai răspândite pe
piaţă.

Dacă iniţial DSP-ul a apărut ca o cerinţă a pieţii, acum, performanţele DSP-


urilor oferite au făcut ca domeniile de aplicare practic să explodeze. Preţul
în scădere, suportul hard şi soft oferit tot mai complex şi puterea de
procesare tot mai mare au făcut ca utilizarea DSP-urilor în tot mai multe
aplicaţii să devină un fapt obişnuit: modemuri de mare viteză, telefoane fără
fir sau celulare, playere audio sau video, camere digitale - sunt produse a
căror funcţionare se bazează aproape exclusiv pe prelucrarea numerică a
semnalelor.
Procesoare Numerice de Semnal - CURS 22

2.1 Introducere în procesarea digitală a semnalelor

Un semnal este definit ca o cantitate fizică dependentă de timp, de


poziţie, presiune, etc. (de exemplu, tensiunea de ieşire furnizată de
către un microfon este strâns legată de presiunea acustică a sunetului
ca funcţie de timp).

În aplicaţiile practice, multe dintre semnalele întâlnite sunt analogice,


deci prezente la fiecare moment de timp şi având amplitudini diferite.
Pentru a prelucra astfel de semnale continui în timp folosind DSP-uri,
este necesar ca acestea să fie eşantionate şi cuantizate pentru a produce o
secvenţă numerică.
Această secvenţă discretă în timp, cu o amplitudine de valoare tot
discretă, reprezentată pe un număr finit de biţi, poartă numele de
semnal digital.
Procesoare Numerice de Semnal - CURS 23

2.1 Introducere în procesarea digitală a semnalelor

Sistemele de procesare numerică a semnalelor utilizează un DSP şi o structură hardware


digitală, precum şi două convertoare, unul analog-numeric (ADC - Analog-to-Digital
Converter) şi unul numeri-analogic (DAC - Digital-to-Analog Converter) pentru a înlocui
dispozitivele analogice standard, precum: amplificatoare, modulatoare şi filtre.
Semnalul analogic ce trebuie procesat este mai întâi eşantionat şi codificat într-un semnal
digital în formă binară prin blocul ADC. Procesorul DSP realizează operaţii matematice
bazate pe un anumit algoritm de prelucrare numerică a semnalelor, implementat în software.
Semnalul digital obţinut la ieşire poate fi convertit înapoi în formă analogică prin blocul DAC.
De asemenea, un procesor DSP poate prelucra şi semnale digitale primite la intrare de la alte
structuri numerice şi poate furniza în exterior comenzi digitale către alte sisteme. În unele
aplicaţii, un sistem DSP poate crea intern semnale digitale.
Procesoare Numerice de Semnal - CURS 24

2.1 Introducere în procesarea digitală a semnalelor

Algoritmii de tip DSP pot fi implementaţi pe mare


varietate de structuri digitale:

• sisteme logice programabile sau neprogramabile


• microprocesoare şi microcontrolere de uz general
• procesoare numerice de semnal de uz general
Procesoare Numerice de Semnal - CURS 25

2.1 Introducere în procesarea digitală a semnalelor

• Sisteme logice programabile sau neprogramabile


Se pot implementa algoritmi de codare şi decodare video, pe un singur cip VLSI (Very
Large Scale Integration - cu Integrare pe Scară Foarte Largă). Totuşi, soluţiile
hardware sunt orientate către rezolvarea unor aplicaţii specifice. Astfel de soluţii sunt
mai rapide şi de mai mici dimensiuni decât soluţiile programabile, însâ necesită un
timp mult mai mare pentru proiectare, un cost ridicat pentru dezvoltare şi sunt dificil
de modificat sau upgradat (actualizat).

Procesorul programabil poate fi programat pentru o multitudine de task-uri (sarcini).


Se utilizează pentru sisteme complexe şi care sunt prea dificil de realizat pe seama
circuitelor neprogramabile, pentru produse care ncesită un timp de dezvoltare foarte
scurt şi un cost de punere la punct scăzut, sisteme care trebuie upgradate periodic, pe
baza unor noi algoritmi şi standarde. Pentru o sarcină specifică, procesorul este mai
lent decât cip-ul VLSI care ar realiza acelaşi task.
Procesoare Numerice de Semnal - CURS 26

2.1 Introducere în procesarea digitală a semnalelor

• Microprocesoare şi microcontrolere de uz general


Microprocesoarele şi microcontrolerele de uz general sunt astfel concepute
încât să poată realiza procesări în forme extrem de generale, folosind o
arhitectură von Neumann, la care există un spaţiu unitar de memorie, atât
pentru instrucţiuni, cât şi pentru date. Prin contrast, o arhitectură Harvard
separă spaţiul de memorie în memoria program şi memoria de date, astfel
încât ambele să poată fi accesate simultan. Cea mai mare parte a DSP-urilor
utilizează o arhitectură Harvard modificată şi sunt optimizate pentru a
efectua operaţii repetate de înmulţire şi sumare care accesează în mod
secvenţial datele stocate în locaţii consecutive ale memoriei.
Procesoare Numerice de Semnal - CURS 27

2.1 Introducere în procesarea digitală a semnalelor

• Procesoare numerice de semnal de uz general


Sistemele de tip DSP au înlocuit în mare parte sistemele de procesare analogică şi au
permis extinderea considerabilă a ariei aplicaţiilor. Principalul avantaj al DSP-urilor
este programabilitatea lor. Un sistem DSP permite utilizatorului să modifice task-urile
prin scrierea unui nou cod în memoria sistemului. De asemenea, permite actualizarea
parametrilor sistemului pe baza unor noi algoritmi pentru o mai bună adaptare la
mediul în continuă schimbare. Sistemele DSP se bucură de performanţe deosebite
întrucât atât memoria, cât şi procesorul, sunt practic independente de temperatură şi
pot reacţiona corect în diferite medii externe pe întreaga durată de viaţă a produsului.
Mai mult, un acelaşi algoritm DSP poate fi transpus în diverse limbaje şi poate fi rulat
pe diferite arhitecturi hardware cu aceleaşi rezultate. Costul sistemelor DSP este în
continuă scădere, în timp ce performanţele continuă să crească de la o generaţie la
alta. Puterea consumată de către un DSP a scăzut spectaculos de la o generaţie la
următoarea, astfel încât astăzi dispozitivele realizate se pretează foarte bine a fi incluse
în structuri portabile. În plus, unele operaţii de procesare a semnalelor nici nu pot fi
implementate pe baza tehnicilor analogice.
Procesoare Numerice de Semnal - CURS 28

2.2 Sisteme DSP

De obicei, sistemele DSP sunt incluse în sisteme mai largi cu rolul


specializat de a realiza operaţii de procesare numerică a semnalelor,
permiţând astfel întregului sistem să execute task-uri mai generale.
De exemplu, un procesor DSP este utilizat în cadrul unui modem
pentru controlul transmisiei de date, iar întreg ansamblul constituie
sistemul DSP al unui calculator.
Destul de des, acest tip de sistem DSP rulează doar o singură
aplicaţie (specifică) şi nu poate fi programat de către utilizator.
De fapt, utilizatorul nici nu are nevoie să ştie că un astfel de procesor
(de exemplu, un procesor DSP care este inclus în sistemul de control
al hard-disk-ului pentru controlul motorului şi a poziţionării capului
de citire) este parte componentă a calculatorului.
Procesoare Numerice de Semnal - CURS 29

2.2 Sisteme DSP

Cercetările actuale în domeniul DSP-urilor s-au orientat tot mai mult


spre soluţiile complete care să înglobeze algoritmi, software şi
hardware într-un sistem unitar.
Soft-ul este în fond un program care controlează un set de resurse de
calcul hardware pentru a implementa un algoritm, în timp ce hard-ul
constă din blocuri de calcul specifice.
Dezvoltarea soft-ului poate fi fie independentă de procesor, fie
specifică unui anumit dispozitiv.
Deoarece dezvoltarea soft-ului a devenit o cheltuială mai însemnată
decât dezvoltarea hard-ului în principalele sisteme DSP, proiectarea
independentă de procesor are avantajul portabilităţii soft-ului
obţinut pe diferite procesoare şi abilitatea de a migra uşor către noile
procesoare, mai performante şi mai complexe, care vor apare în
viitor.
Procesoare Numerice de Semnal - CURS 30

2.2 Sisteme DSP

În cadrul proiectării independente de procesor, limbajele de nivel


înalt, precum C sau C++, sunt preferate şi sunt disponibile pentru
majoritatea procesoarelor DSP.
Programele scrise în C sunt mai uşor şi mai rapid de scris şi ele pot fi
portate de la un procesor la altul prin simpla recompilare a codului
sursă, folosind un compilator C specific noului procesor. Această
portabilitate este foarte importantă, mai ales când algoritmul va fi
implementat pe mai multe procesoare diferite.
Soft-ul dependent de procesor este realizat prin limbaje de asamblare
care reflectă arhitectura unui anumit procesor. Deşi codul de
asamblare rulează mai rapid şi necesită mai puţină memorie, el este
mai greu de scris şi trebuie rescris pentru fiecare tip de procesor.
Totuşi, limbajul C rămâne metoda preferată de implementare, atât
timp cât poate asigura o viteză de rulare suficient de bună pentru un
anumit procesor şi pentru o aplicaţie dată.
Procesoare Numerice de Semnal - CURS 31

2.2 Sisteme DSP

În aplicaţiile în care viteza de procesare şi nivelul resurselor de memorie


reprezintă elemente cheie, soluţia este una de compromis care utilizează
limbajul de asamblare pentru implementarea secţiunilor critice şi
limbajul C pentru restul codului.
Programarea combinată C - asamblare reprezintă un compromis bun
între uşurinţa codificării şi eficienţa implementării.
În mod constant, eficienţa compilatoarelor C se îmbunătăţeşte şi multe
librării DSP scrise în limbaj de asamblare optimizat permit utilizatorului
să dezvolte cu uşurinţă programe eficiente în cod combinat.
Procesoare Numerice de Semnal - CURS 32

2.2 Sisteme DSP


Majoritatea algoritmilor şi aplicaţiilor DSP se dezvoltă şi se verifică pe
calculatoare de uz general, fără constrângeri privind timpul de execuţie,
mărimea memoriei, ori costul sistemului.
Definitivarea unei aplicaţii practice trebuie condusă spre o proiectare
globală care să asigure algoritmi performanţi, software eficient şi resurse
hardware optime.
De exemplu, un algoritm poate fi implementat fie prin hard, fie prin soft,
alegând astfel între viteză şi flexibilitate.
De asemenea, un algoritm poate fi modificat astfel încât să se adapteze mai
bine la o structură hard / soft existentă.
Hard-ul poate fi conceput specific pentru un algoritm dat, sau se poate
urmări minimizarea costului pe durata dezvoltării şi utilizării.
Toate aceste variante trebuie avute în vedere în dezvoltarea unei anumite
aplicaţii.
Procesoare Numerice de Semnal - CURS 33

2.2 Sisteme DSP

Proiectarea unui sistem DSP implică o cunoaştere bună a problemei şi a


tuturor cerinţelor necesare.
De obicei se lucrează în echipă: inginer de hard, inginer de sistem,
proiectant de soft şi specialist în testarea structurii.
Analiza şi proiectarea unui algoritm DSP eficient care să utilizeze resurse
hard şi soft optime este o muncă complexă, care se bazează cel puţin în
faza de proiectare pe unelte soft performante.
Se poate utiliza de exemplu MATLAB şi SIMULINK, cu toolbox-urile
aferente de la firma MathWorks.
Procesoare Numerice de Semnal - CURS 34

2.3 Familia TMS320

În 1982, Texas Instruments a introdus primul procesor DSP,


TMS32010, din familia TMS320.
Astăzi, această familie conţine atât procesoare în virgulă fixă, cât şi în
virgulă mobilă.
Procesoarele pe 16 biţi în virgulă fixă sunt cuprinse în generaţiile:
TMS320C2000 (cu reprezentanţii C24x şi C28x), C5000 (C54x şi C55x)
şi C6000 (C62x şi C64x).
Procesoarele pe 32 biţi în virgulă mobilă sunt cuprinse în generaţiile:
C3x, C4x şi C7x.
Procesoarele din aceeaşi generaţie ale familiei TMS320 au aceeaşi
arhitectură de bază, dar posedă configuraţii diferite ale memoriei pe cip
şi a perifericelor.
Procesoare Numerice de Semnal - CURS 35

2.3 Familia TMS320

Arhitectura TMS32010 şi setul de instrucţiuni a fost proiectat pentru a


maximiza puterea de calcul şi flexibilitatea printr-o tehnologie de integrare
la o frecvenţă a ceasului de 5MHz, 1982.
Astăzi, unul dintre cele mai rapide procesoare al familiei, C64x, dispune de
o viteză de execuţie de până la 1GHz, ca urmare a îmbunătăţirilor
tehnologice şi ale arhitecturii implementate şi a unor cicluri de ceas mai
rapide.
Îmbunătăţirile aduse arhitecturii pentru a o face independentă de viteza
ceasului se bazează pe multiple unităţi de calcul de tip înmulţire-adunare
(MAC - Multiply-Add Computation), pe o intensivă implementare a
operaţiilor paralele, pe o memorie mai mare şi mai rapidă cu magistrale
interne multiple şi pe introducerea unor instrucţiuni şi motoare hardware
mai puternice şi mai bine adaptate implementării unor algoritmi DSP de
utilitate generală.
Procesoare Numerice de Semnal - CURS 36

2.3 Familia TMS320


Modul în care se constituie un sistem DSP în jurul procesorului TMS320

Cele două blocuri externe principale necesare sunt memoria (de program şi/sau de
date) şi perifericele.
De obicei, procesoarele DSP dispun de o mică memrie cache on-chip, o memorie de
program de tip ROM, memorie RAM şi periferice.
Perifericele precum convertoarele A/N şi N/A pot fi conectate fie la magistrala de
date, utilizând adrese dedicate (specifice), fie la interfaţa serială, dacă cipul dispune
de porturi seriale.
Procesoare Numerice de Semnal - CURS 37

2.3 Familia TMS320

S-ar putea să vă placă și