Sunteți pe pagina 1din 16

Procesoare Numerice de Semnal - CURS 1

3. Familia TMS320

Familia TMS320 a firmei Texas Instruments (TI) cuprinde procesoare


numerice de semnal single-chip în virgulă fixă, pe 16 biţi şi în virgulă
flotantă, pe 32 biţi.

Flexibilitatea funcţională şi posibilităţile deosebite de calcul numeric


fac din membrii familiei TMS320 alternative necostisitoare ale
procesoarelor bit-slice, sau ale celor VLSI fabricate la comandă.

Această familie este ideală pentru o gamă largă de aplicaţii, datorită


următoarelor calităţi:
• arhitectură paralelă avansată
• execuţie de mare viteză
• set de instrucţiuni foarte flexibil
• flexibilitate funcţională
• cost eficient (raport cost / performanţe foarte bun).
Procesoare Numerice de Semnal - CURS 2

3.1 Prezentare generală

În 1982, TI a introdus procesorul TMS32010, primul DSP disponibil pe


piaţă, şi care a primit chiar în acelaşi an titlul de "Produs al anului".
El a constituit modelul viitoarelor generaţii ale familiei TMS320 care,
având un grad superior de paralelizare a funcţionării şi seturi de
instrucţiuni specializate pentru prelucrarea numerică a semnalului,
oferă astăzi posibilităţi de execuţie a până la 50 MFLOPS (milioane de
operaţii flotante pe secundă), sau 275 MOPS (milioane de operaţii pe
secundă) la variantele monoprocesor şi peste 2000 MOPS la ultimul şi
cel mai performant membru al familiei, multiprocesorul TMS320C80.
Optimizarea vitezei de funcţionare a familiei TMS320 s-a obţinut prin
implementarea hardware a unor funcţii realizate prin software sau
microcod la alte familii de microprocesoare.
Procesoare Numerice de Semnal - CURS 3

3.1 Prezentare generală

În prezent, familia TMS320 cuprinde 7 generaţii: TMS320C1x,


TMS320C2x, TMS320C3x, TMS320C4x, TMS320C5x, TMS320C6x şi
TMS320C80. Procesoarele din generaţiile TMS320C1x, C2x şi C5x sunt
în virgulă fixă, cele din generaţiile TMS320C3x şi C4x sunt în virgulă
mobilă, iar TMS320C80 este un multiprocesor (cu 4 procesoare
numerice de semnal şi unul RISC) în virgulă flotantă.

Fiecare generaţie de monoprocesoare a familiei TMS320 are un nucleu


de unitate centrală şi mai multe configuraţii de memorie şi periferice
integrate pe cip, realizate astfel încât să poată satisface o gamă cât mai
largă de necesităţi preţ - performanţă.
Procesoare Numerice de Semnal - CURS 4

3.1 Prezentare generală

Compatibilitatea limbajului sursă de la o generaţie de procesoare în


virgulă fixă la următoarea şi de la o generaţie de procesoare în virgulă
mobilă la următoarea conservă investiţia făcută de utilizator în software,
reducând astfel costul modernizării produselor realizate cu circuite din
familia TMS320.

Fiecare membru al familiei este însoţit de o gamă largă de instrumente


de dezvoltare, de la seturi (kituri) ieftine de evaluare, până la sisteme
hardware şi software complexe, care cuprind: compilatoare
optimizatoare pentru limbaje de nivel înalt, depanatoare la nivel de
limbaj sursă (C sau asamblare), simulatoare, emulatoare, sisteme de
operare în timp real şi software de aplicaţie. Chiar şi multiprocesorul
TMS320C80 dispunea încă de la lansarea sa oficială din martie 1994 de
toată gama instrumentelor software de dezvoltare şi era însoţit de plăci
de dezvoltare funcţionale din toate punctele de vedere (realizate de firma
Laughborough Sound Images Ltd.).
Procesoare Numerice de Semnal - CURS 5

3.2 Generaţia TMS320C1x - Introducere

Această generaţie a reprezentat prima serie de procesoare DSP dezvoltate de firma TI,
începând cu primul dispozitiv lansat pe piaţă în 1982, TMS32010.
Dispozitivele C1x se bazează pe o arhitectură în virgulă fixă pe 16 biţi.
Utilizarea arhitecturii Harvard a impus separarea magistralelor de date şi de program,
în vederea creşterii paralelismului operaţiilor. Operaţiile într-un singur ciclu pentru
multiplicare sau pentru unitatea logico-aritmetică asigură realizarea calculului în timp
real pentru algoritmii DSP şi de control.
Durata standard pentru multiplicare este de 200ns.
O logică de selecţie a semnalelor I/O furnizează 8 porturi I/O, folosind magistrala de
date de 16 biţi. Porturile I/O permit o interfaţare simplă cu convertoarele AD şi DA,
deoarece acestea dispun de un semnal de selecţie separat faţă de magistrala de date
standard.
Shifterul de control de 16 biţi scalează datele în paralel cu operaţiile ALU; datele sunt
deplasate cu până la 16 poziţii în acelaşi ciclu utilizat de ALU. Shifterul cu deplasare
spre stânga cu 0, 1, sau 4 poziţii operează de asemenea în paralel cu ALU, pentru a
realiza împreună operaţii cu întregi sau cu fracţii.
Procesoare Numerice de Semnal - CURS 6

3.2 Generaţia TMS320C1x - Memoria si magistralele

Arhitectura Harvard modificată a dispozitivelor C1x permite accesul simultan


atât la memoria de date, cât şi la cea de program. Prin aceasta, o extragere din
zona de program şi una din zona de date pot avea loc în paralel, astfel încât
operaţiile aritmetice să se execute într-un singur ciclu. Puntea de legătură
dintre magistrala de program şi cea de date permite stocarea coeficienţilor în
memoria ROM şi aducerea acestora în memoria RAM de date pe durata
startării sistemului.
Memoria on-chip de date şi de program furnizează informaţii interne către
CPU; memorie externă RAM şi ROM poate fi interfaţată la C1x pentru acele
aplicaţii care solicită un spaţiu extern de memorie program.
Generaţia C1x oferă o mare varietate de memorie on-chip, incluzând
dispozitive cu memorie on-chip OTP (One-Time Programmable) sau cu
memorie ROM cu până la 8 Kcuvinte de 16 biţi. Majoritatea dispozitivelor
dispun de 4 Kcuvinte de 16 biţi de adrese de program externe. Dacă este
necesară o memorie externă mai mare, C16 oferă până la 64 de Kcuvinte de 16
biţi de adrese externe.
Procesoare Numerice de Semnal - CURS 7

3.2 Generaţia TMS320C1x - Memoria si magistralele

Trăsăturile specifice ale memoriei şi ale magistralelor dispozitivelor


C1x sunt:

¾ Citiri şi scrieri într-un singur ciclu


¾ Arhitectură Harvard modificată:
♦ Magistrale separate pentru date şi pentru program
♦ "Punte" între spaţiile de program şi de date
¾ Până la 8 Kcuvinte de memorie de program ROM on-chip
¾ 4 Kcuvinte de memorie OTP disponibile
¾Până la 64 de Kcuvinte de memorie program externă.
Procesoare Numerice de Semnal - CURS 8

3.2 Generaţia TMS320C1x - Operatii MAC


Exemplul arată sumarea a 4 produse care necesită 12 locaţii în memoria program şi
care se execută în 12 cicluri. De notat că registrul produs de 32 de biţi şi acumulatorul
de 32 de biţi păstrează o înaltă precizie în timpul calculului.
Procesoare Numerice de Semnal - CURS 9

3.2 Generaţia TMS320C1x - Trăsături specifice

Dispozitivele generaţiei C1x dispun de următoarele trăsături specifice. În


paranteze sunt indicate trăsăturile particulare pentru anumite dispozitive
ale generaţiei.
• Memorie RAM de date programabilă on-chip de 256 de cuvinte (144
cuvinte la C10)
• Memorie de program ROM on-chip (1,5 Kcuvinte la C10, 4 Kcuvinte la
C14, C15 şi C17, 8 Kcuvinte la C16)
• Memorie de program OTP on-chip de 4 Kcuvinte
• ALU / acumulator de 32 de biţi
• Multiplicator paralel 16 x 16 cu produs pe 32 de biţi
• Multiplicare într-un singur ciclu
• Unul până la 4 timere on-chip pentru operaţii de control
• Stivă hardware cu 4 nivele (8 nivele la C16)
• Două registre auxiliare
• Canale de intrare şi de ieşire de 4 cuvinte (la C14, C15 şi C17)
• Shifter cu recirculare de 16 biţi
• Stări de aşteptare pentru comunicaţii cu memorii / periferice off-chip
mai lente.
Procesoare Numerice de Semnal - CURS 10

3.2 Generaţia TMS320C1x - TMS320C10


TMS320C10 Caracteristici:
• 60 de instructiuni de uz
general si specifice DSP
• multiplicare intr-un singur
ciclu
• registru cu recirculare de 16
biti
• intrerupere externa si pini
de intrare polarizati
• 8 porturi de I/O de 16 biti
• capsula DIP-40 pini sau
PLCC-44 pini
Procesoare Numerice de Semnal - CURS 11

3.2 Generaţia TMS320C1x - TMS320C14


TMS320C14
Dispozitivul C14 combină
nucleul arhitecturii DSP cu
multiple periferice de control,
ceea ce permite optimizarea
aplicaţiilor de control single-
chip pe baza acestui dispozitiv.
Există de asemenea un
manager de evenimente, 16 pini
I/O de uz general şi un port
serial asincron.
C14 dispune de un RAM on-
chip de 256 de cuvinte de 16
biţi şi de 4Kcuvinte de 16 biţi
fie de memorie ROM/PROM
(OTP - One Time
Programmable), fie de
memorie EPROM.
Procesoare Numerice de Semnal - CURS 12

3.2 Generaţia TMS320C1x - TMS320C14


TMS320C14 Perifericele on-chip includ:
• 4 timere / numărătoare,
• două timere de uz general de
16 biţi,
• un timer pentru portul serial,
• un watchdog timer.
Procesoare Numerice de Semnal - CURS 13

3.2 Generaţia TMS320C1x - TMS320C14

Perifericele lui C14 sunt proiectate pentru a acoperi necesităţile I/O pentru
aplicaţiile de control. Ele sunt mapate în spaţiul de memorie I/O şi sunt accesate
prin intermediul unui registru de selecţie a bankului BSR (Bank-Select Register)
şi prin instrucţiuni de intrare / ieşire. Aceste periferice operează fără intervenţia
CPU.

Watchdog timerul este utilizat pentru a preveni erorile software. Dacă watchdog
timerul nu este resetat la momentul potrivit, el trimite o întrerupere externă care
se utilizează de obicei pentru resetarea procesorului.

Portul I/O de uz general are 16 pini I/O individuali. Aceşti pini I/O pot fi utilizaţi
pentru monitorizarea şi controlul evenimentelor externe din cadrul sistemului.

Portul universal asincron de recepţie / transmisie (UART - Universal


Asynchronous Receiver / Transmitter) aflat on-chip este dublu-bufferat şi
operează cu până la 400 Kbps (kilobiţi pe secundă) în mod transceiver full-
duplex.
Procesoare Numerice de Semnal - CURS 14

3.2 Generaţia TMS320C1x - TMS320C14

Managerul de evenimente constă din secţiunile de comparare şi de captură, care


rulează fără intervenţia CPU. Sistemul de comparare compară fiecare dintre cele 6
registre interne cu oricare dintre timerele on-chip. Dacă oricare dintre cantităţile
comparate sunt egale, este lansat un set programabil de acţiuni pentru a seta, reseta
sau comuta valorile pe pinii de ieşire asociaţi. Acest sistem este de obicei folosit pentru
a crea o ieşire PWM (pulse-width modulation, modulare a lăţimii impulsului).
Sistemul de comparare dispune de un mod special pentru ieşirea PWM, care creşte
rezoluţia PWM la 40ns.

Sistemul de captură realizează o funcţie de înregistrare a până la 4 evenimente


distincte. Când un pin de captură este comandat, conţinutul unuia dintre timere este
salvat într-o memorie FIFO cu 4 nivele de adâncime. Un exemplu de utilizare a
managerului de evenimente este pentru un motor prevăzut cu un indicator care
triggerează intrarea de captură a lui C14 la fiecare rotaţie, în timp ce C14 utilizează
datele timerului capturat pentru a determina viteza de rotaţie şi pentru a corecta
viteza prin ajustarea ieşirii PWM a sistemului de comparare.
Procesoare Numerice de Semnal - CURS 15

3.2 Generaţia TMS320C1x - TMS320C15

C15 oferă un RAM on-chip


de 256 de cuvinte de 16 biţi
şi un ROM sau EPROM
on-chip de 4 Kcuvinte de 16
biţi.
Ciclul instrucţiune este de
160ns sau de 200ns (4
MIPS).
C15 este compatibil în cod
obiect şi la pini cu C10.
Celelalte caracteristici sunt
similare cu C10.
Procesoare Numerice de Semnal - CURS 16

3.2 Generaţia TMS320C1x - TMS320C16


C16 oferă un RAM on-chip de 256 de cuvinte
de 16 biţi şi un ROM on-chip de 8 Kcuvinte de
16 biţi. De asemenea are un domeniu de adrese
externe de 64 Kcuvinte de 16 biţi (cel mai larg
dintre toate dispozitivele C1x) pentru stocarea
unor programe mai mari.
Un alt avantaj îl reprezintă
stiva hardware cu 8 nivele,
faţă de cele numai 4 nivele
cât se regăseau la alţi
membri ai acestei generaţii
de procesoare DSP.

C16 este cel mai rapid dispozitiv al


generaţiei C1x, realizând 8,7 MIPS (ciclul
instrucţiune de 114ns). Este de asemenea
compatibil în cod obiect şi la pini cu C10.

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