DSP

32
DSP – avantaje si dezavantaje Avantaje 1. garanteaza acuratetea semnalului ce este determinate de numarul de biti utilizati in prelucrare. 2. perfecta reproductivitate – aceleasi performante se obtin de la unitate la unitate, neexistand variatii datorate componentelor.Ex. Utilizand tehnici DSP un semnal digital poate fi copiat sau reprodus laintervale de timp diferite fara nici o degradare a semnalului (reproducerea semnalului de pe un ?) 3. nu exista deviatie sau variatii ale performantelor cu temperatura sau timpul(fen. de imbatranire). 4. avantaje datorate tehnologiei semiconductoarelor avansate : dimensiuni mici, cost redus, putere consumata redusa(5v,3v,1,2v), viteza f mare de prelucrare a datelor. 5. cresterea flexibilitatii – cea mai importanta functie a DSP. Sistemele pot fi programate si reprogramate pentru a indeplini diferite functii fara modificari in structura hardware a sistemului. 6. performante superioare. DSP`urile pot fi utilizate pentru realizarea unor functii care nu sunt pasabile in varianta analogica. Dezavantaje 1. viteza si cost. Proiectarea cu DSP poate fi costisitoare cand se cere o latime de banda cu frecventa mare.Convertoarele AID si DIA sunt scumpe si nu au aplicatie larga cu DSP-urile.In mod curent numai CI speciale pot fi utilizate in procesarea semnalelor de ordinul MHz dar acestea sunt foarte scumpe. Nici DSP-urile nu sunt foarte rapide, de aceea prelucreaza semnale cu latime de banda de 100 MHz sunt procesate numai prin metode analogice. O alternativa la CAD si CDA este CODEC. 2. timpul de proiectare Pentru proiectarea unui sistem ci DSP-uri sunt necesare o serie de resuerse de aceea proiectarea este mare consumatoare de timp si in unele cazuri chiar imposibila.

description

Avantaje si dezavantaje

Transcript of DSP

Page 1: DSP

DSP – avantaje si dezavantajeAvantaje

1. garanteaza acuratetea semnalului ce este determinate de numarul de biti utilizati in prelucrare.

2. perfecta reproductivitate – aceleasi performante se obtin de la unitate la unitate, neexistand variatii datorate componentelor.Ex. Utilizand tehnici DSP un semnal digital poate fi copiat sau reprodus laintervale de timp diferite fara nici o degradare a semnalului (reproducerea semnalului de pe un ?)

3. nu exista deviatie sau variatii ale performantelor cu temperatura sau timpul(fen. de imbatranire).

4. avantaje datorate tehnologiei semiconductoarelor avansate : dimensiuni mici, cost redus, putere consumata redusa(5v,3v,1,2v), viteza f mare de prelucrare a datelor.

5. cresterea flexibilitatii – cea mai importanta functie a DSP. Sistemele pot fi programate si reprogramate pentru a indeplini diferite functii fara modificari in structura hardware a sistemului.

6. performante superioare. DSP`urile pot fi utilizate pentru realizarea unor functii care nu sunt pasabile in varianta analogica.

Dezavantaje1. viteza si cost. Proiectarea cu DSP poate fi costisitoare cand se cere o latime de

banda cu frecventa mare.Convertoarele AID si DIA sunt scumpe si nu au aplicatie larga cu DSP-urile.In mod curent numai CI speciale pot fi utilizate in procesarea semnalelor de ordinul MHz dar acestea sunt foarte scumpe. Nici DSP-urile nu sunt foarte rapide, de aceea prelucreaza semnale cu latime de banda de 100 MHz sunt procesate numai prin metode analogice. O alternativa la CAD si CDA este CODEC.

2. timpul de proiectarePentru proiectarea unui sistem ci DSP-uri sunt necesare o serie de resuerse de

aceea proiectarea este mare consumatoare de timp si in unele cazuri chiar imposibila. Este cunoscuta si criza de ingineri pregatiti in acest domeniu. Situatia se poate rezolva prin limbaje de nivel inalt ca dSpace ce ofera solutii integrate hardware si software ce permit implementarea algoritmilor pornind de la sursa in c sau blocuri grafice din simulente MATLAB.3. Problema latimii finite a cuvintelor

In situatii de timp real considerentele exonomice impun ca in DSP algoritmii sa fie implementati utilizand un numar limitat de biti. In aceste situatie daca exista un numar insuficient de biti cu care se lucreaza in reprezentarea variabilelor poate reulta o degradare serioasa a variabilelor sistemului.

Page 2: DSP

DSP microprocesoare. Studiu comparativ la nivel de arhitectura

Arhitectura este bazata pe conceptul van newman si varianta standard cuprinde :

Arhitectura comuna tuturor generatiilor de DSP este arhitectura Harvard adaptata in scopul asigurarii unei viteze si flexibilitati mari. In sens strict aplica spatiu de memorare complet separat pentru program si date pentru a permite realizarea simultana a fazelor de extragere si executie a instructiunilor.

Page 3: DSP

Aceasta structura harvard standard este specifica unor familii de procesoare digitale de semnal cum ar fi DSP- Motorola 6000. La aceasta structura standard exista o structura harvard modificata care a fost introdusa pentru prima data in 1982 de firma Texas Instruments(IT). Structura Harvard modificata mentine magistralele de date si program separate atat la adrese cat si la date, dar permite transferul intre spatiile de program si de date, ceea ce asigura cresterea vitezei de executie.DSP – domenii de aplicatie1. Procesarea imaginii :

- recunoasterea formelor- conceptia robotilor(viziune artificiala)- prelucrarea imaginilor(up, Fuzzy., DSP)- faxul, harti meteo prin satelit- animatii, televiziune

2. Instrumentatie:- analiza spectrala - reducerea zgomotului, compresia de date- controlul politiei si acceleratiei

3. voce audio- recunoasterea vocii- reproducerea vocii- citirea automata a textelor - prelucrare audio digitale- egalizare numerica(filter numerice tot in cele audio)

Page 4: DSP

4. Domeniul militar- securizarea comunicatiilor- procesarea semnalelor radio- procesarea semnalelor ultrasonice- ghidarea rachetelor si proiectilelor

5. Control- controlul CD/DVD- servocontrol- controlul robotilor- controlul imprimantelor laser- controlul automobilelor electrice- controlul actionarilor electrice de c.a(control vectoril al monitoarelor de

c.a)6. Telecomunicatii

- suprimarea ecourilor - egalizoare adaptive- expandarea spectrului- videoconferinte- comunicatii de date DTMF

7. Biomedical- monitorizarea pacientilor- scanare- electroencefalograme- analiza electrocardiogramelor- memorarea si prelucrarea imaginilor obtinute dupa raze x

TMS320C1x .Caracteristici comparative

Unitate centrala : 116 ns(8,7 milioane instr pe secunda ) 169 ns (6,25 ) 200 ns (5) 280 ns (3,5) ALU si Acc pe 3,2 biti MAC de 2 numere pe 16 biti cu produs 32 biti Deplasare circulara pe 16 biti

Periferice 16 pini de intrare-ieşire selectabili individuali (TMS320C14/E14/P14);

8 canale de intrare şi 8 canale de- ieşire;- arbitror de evenimente (TMS320C14/E14/P14);- port serial cu mod asincron (TMS320C14/E14/P14);- port serial cu 2 canale şi cu tempori2ator(TMS320C 17/E17/LC17/P17);- hardware de compandare după legea u./legea A implementat pe

chip

Page 5: DSP

(TMS320C17/E17/LC17/P17);- interfaţă pe 16 biţi pentru coprocesor (TMS320C17/E 17/LC 17/P 17);- 2 temporizatoare / numărătoare de uz general (TMS320C14/E14/P14);- temporizator de supraveghere (TMS320C14/E14/P14);- generator de tact

pe chip.Memorie

- 144 cuvinte de RAM pe chip (TMS320C10);- 256 cuvinte de RAM pe chip (TMS320C14/C15/C16/C17);- 1,5 kcuvinte de ROM de program pe chip (TMS320C10);- 4 kcuvinte de ROM de program pe chip (TMS320C14

/C15/C17/LC15/LC17);

' - 8 kcuvinte de ROM de program pe chip (TMS320C16);- 4 kcuvinte de EPROM de program pe chip (TMS320E14

/E15/E17/P14/P15/P17);

-Interfeţe cu memoria

- proiecţie a codului din EPROM;- 4 kcuvinte de memorie externă adresabilă la viteză maximă

(excptândTMS320C16);

- 64 kcuvinte de memorie externă adresabilă la viteză maximă (exceptândTMS320C16);bus de date bidirecţional de 16 biţi, cu o rată de transfer de 50

Mbps. O singură tensiune de alimentare de +5V. O singură tensiune de alimentare de -1-3V (TMS320LC15/LC17);O sursă suplimentară de +12,5V pentru programarea memoriei EPROM (TMS320E14 / E15/E17/P14/PI5); încapsulare

- DIPcu40pini(TMs320C10/C15/C17/E15/E17/LC15/LC17/P15/P17);- PLCC cu 44 pini (TMS320CIO/C15/C17/LC15/LC17/P15/P17);- CERQUAD cu 44 pini (TMS320E15/E17);- PLCC cu 68 pini (TMS320C14/P14);- CERQUAD cu 68 pini (TMS320E14);

- PQFP cu 64 pini (TMS320C16);

Generatia TMS320C2x

Primul membru al generatiei TMS230C2x a fost procesorul NMOS TMS32020.Acesta ingloba elementele arhitecturale si de cod specifice familiei.Trecerea la tehnologia CMOS si imbunatatirile aduse versiunilor ulterioare au facut ca in momentu de fata

Page 6: DSP

Texas Instruments sa ofere in cadrul familiei urmatoarele versiuni de procesoare DSP in virgula fixa pe 16 biti realizate in teh CMOS.

TMS320C25 şi TMS320E25 au un ciclu instrucţiune de lOOns, la frecvenţă de lucrumaximă de 40 MHz, şi pot realiza înmulţirea a două numere .de 16 biţi intr-un singur ciclu deinstrucţiune.

... Memoria lor internă cuprinde 544 cuvinte de memorie ROM (TMS320C25) sau EPROM (TMS320E25). Memoria externă maximă adresabilă este de 64 kcuvi!ife'?.fSt"penîni memorir, de program , cât şi pentru memoria de date. Pot fi adresate 16 porturi de intrare şi 16 porturi de ieşire, paralele, pe 16 biţi.

Aceste procesoare sunt compatibile Ia pini şi cod obiect cuTMS32020, dar, faţă de acesta, prezintă mai multe îmbunătăţiri: 24 instrucţiuni suplimentare, 8 registre auxiliare (faţă de 4), un mod de adresare cu bit inversat şi un consum redus de putere, caracteristic procesului CMOS.

• TMS320C25-33 este o versiune de 33 MHz a procesoruluiTMS320C25, care are un ciclu deinstrucţiune de 120ns. TMS320C25-33 a fost conceput pentru aplicaţii ce necesităperformanţe superioare celor ale procesoarelor TMS320Clx la preţuri mai mici decât aleprocesoarelor TMS320C2x de viteză mai mare.

• TMS320C25750 este o versiune de 50 de MHz a procesorului. TMS320C25, care are ciclulinstrucţiune de 80ns. Viteza sa superioară îl recomandă pentru aplicaţii de prelucrarenumerică de mare performanţă.

• TMS320C26 este un TMS320C25 ce înglobează pe chip de'trei ori mai mult RAM (1,5kcuvinte pentru program sau date) şi 256 de cuvinte de memorie ROM de program.Memoria RAM de pe chip este compusă din trei segmente de către 512 cuvinte,copnfigurabile independent ca memorie de program sau ca memorie de date. C26 dispune deun încărcător de iniţializare activ când funcţionează iîn modul microcalculator.

• TMS320C28 este compatibil ca şi cod cu TMS320C25 şi are un ciclu instrucţiune de lOOns.EI înglobează pe chip o memorie RAM extinsă la 8 kcuvinte şi un mod suplimentar defuncţionare cu consum redus de putere.

Se vor prezenta în continuare principalele caracteristici ale generaţiei TMS320C2x şi dacă nu sunt generale, între paranteze, dispozitivele particulare care le posedă.• Unitatea centrală

Page 7: DSP

- timp de execuţie a instrucţiunilor într.un singur ciclu de 80ns (12,5 MIPS)(TMS320C25-50);

- timp de execuţie a instrucţiunilor într-un singur ciclu de lOOns (10 MIPS)(TMS320C25/C26/E25/C2S);

- timp de execuţie a instrucţiunilor într-un singur ciclu de 120ns (8,3 MIPS)(TMS320C25-33);adunare / multiplicare într-un singur ciclu;

- execuţie repetată a unor instrucţiuni, destinată intensificării proceselor decalcul şi utilizării eficiente a spaţiului de program;

- deplasări de blocuri destinate gestionării datelor şi programelor;- adresare indexată;- adresare cu bit inversat pentru algoritmiFFt în

bază 2;S registre auxiliare cu unitate aritmetică dedicată;

- multiplicator de numere de 16 biţi cu un produs de 32 biţi;- deplasare circulară pe 16 bit.

• Perifericestivă hardware cu S nivele,16 canale de intrare şi 16 canale de ieşire;

- port serial pentru interfaţare directă cu circuite de codificare/ decodificare;DMA concurent folosind o funcţiovare suspendată extinsă;

- temporizator pe chip cu operaţii d control;generator de tact pe chip;

- încărcător de iniţializare pe RS232C, port de intrare-ieşire sau din EPROM cucuvinte de 8 biţi.

Memorie- 544 de cuvinte de RAM pe chip (exceptând TMS320C26);- 1568 cuvinte de RAM pe chip (TMS320C26);- 256 kcuvinte de ROM pe chip (TMS320C26);- 4 kuvinte de ROM pe program pe chip(TMS320C25);- 8 kuvinte de ROM de program pe chip (TMS320C28);- 4 kcuvinte de EPROM de program pe chip

(TMS320E25);128 kcuvinte adresabile în spaţiul de program şi de date.

Page 8: DSP

Interfeţe cu memoriastări de aşteptare pentru comunucarea externă cu dispozitive mai lente;intrare de sincronizare pentru configuraţii multiprocesor sincrone;interfaţă pentru memorie globală de

date. Compatibilitate cu codul sursă al familiei TMS320Clx. O singură tensiune de alimentare de +5V.O sursă suplimentară de +12,5V pentru programarea memoriei EPROM (TMS320E25). încapsulare

- PGA cu 68 pini (TMS320C25/C26);- PLCC cu 68 pini (TMS320C25/C25-33/C25-50/C26);- CERQUAD cu 68 pini (TMS320E25);- QFP cu 80 pini

(TMS320C28).Tehnologie CMOS.Sunt disponibile versiuni comerciale şi militare.

1.4. Generaţia TMS320C3x

TMS320C3x este prima generaţie de procesoare în virgulă flotantă pe 32 de biţi a familiei TMS320 şi include:

• TMS320C30, primul membru al generaţiei TMs320C3x, este un dispozitiv de mareperformanţă ce poate să execute până la 33 MFLOPS (milioane de operaţii flotante pesecundă) având un ciclu de instruţiune de 60 ns la frecventă de lucru maximă de 33 MHz.

Memoria lui internă cuprine 2 kcuvinte de memorie RAM şi 4 kcuvinte de memorie ROM. Memoria maximă adresabilă este de 16 Mcuvinte şi formează un spaţiu logic unic pentru program şi date.

Pot fi adresate 16M porturi de intrare şi 16M porturi de ieşire, paralele, de 16 biţi. Performanţele deosebite şi simplitatea utilizării se datorează, în principal, paralelizării superioare a funcţionării şi numărului sporit de caracteristici de uz general. Posibilităţi de intensificare a operaţilor specifice apliacţilor oferă, în plus, spaţiu mare de adresare, interfaţa de funcţionare multiprocesor, stările de aşteptare generate intern sau extern, două temporizatoare, două porturi seriale şi capacitatea de rulare concurentă a tascurilor.

Arhitectura procesorului TMS320C30, proiectată astfel încât să ofere un suport eficient pentru realizarea compilatoarelor, permite programarea aplicaţiilor de prelucrare numerică de semn! de timo, rea! utilizând ^compilatoare pentru limbaje de nivej, înalt (ce exemplu, compilatorul C de precizie extinsă şi optimizator al fmiliei Texas Instruments).

• TMS320C30-27 este o versiune de 27 de MHz a procesorului TMS320C30, şi are ciclul

Page 9: DSP

instrucţiune de 74ns. El a fost conceput pentru aplicaţii necostisitoare în care se dovedescabsolut necesare calităţile unui pocesor flotant de 32 de biţi.

• TMs320C30-40 este o versiune de 40 de MHz a procesorului TMS320C30 şi are ciclulinstrucţiune de 50ns. Viteza sa superioară îl recomandă pentru aplicaţii -de prelucrarenumerică mai pretenţioase.

• TMS320C31 oferă funcţionalitatea şi viteza unităţii centrale a procesorului TMS320C30 laun preţ comparabil-r.u cel al unui procesor DSP în virgula fixă, c!c mare virezi S-a obţinutaceasta prin renunţarea Ia busul de extensie, la memoria RAM internă de 4 kcuvinte şi la unport serial, prin adăugarea unei memorii ROM pentru iniţializarea şi prin încapsularea chipului într-o capsulă QFP cui32 de pini.

• TMs320C31-27 este o versiune de 27 de MHz a procesorului TMS320C3I, şi are ciclulinstrucţiune de 74ns.

• TMS320C31-40 este versiunea cea mai rapidă de TMS320C31. Aceasta are ciclulinstrucţiune de 50ns la o frecvenţă de lucru maximă de 40 MHz.

• TMS320C31PQA alătură performanţele lui C31 capacitatea de funcţionare în domeniulextins de temperatură (de la -40°C la +125°C), realizând astfel o soluţie ieftină în virgulăflotantă pentru aplicaţii industriale şi comerciale ce lucrează domeniul estins de temperatură.

• TMS320C32PQL40 este cel mai ieftin procesor digital de semnal în virgulă flotantă existentpe piaţa. Pentru a micşora costul sistemului, arhitectura procesorului TMS320C32 oferă unsingur controlor de memorie şi un singur port serial full-duplex, iar pentru creşterea eficienţeisistemului, el dispune de două controloare DMA şi permite utilizarea flexibilă aconfiguraţiilor dr memorie cu lăţime de 8,16 sau 32 de biţi. Pentru creşterea performanţelorunităţii centrale, C32 oferă două noi moduri de funcţionare cu consum redusde putere (low-power).

•• TMS320C32PQL50 este versiunea de 50 de MHz a procesorului ŢMS320C32, şi are ciclul instrucţiune de 40ns.

Page 10: DSP

Se vor prezenta în continuare princitalele caracteristici ale generaţieiTMS320C3x şi, dacă nu sunt generale, între paranteze, dispozitivele particulare care ie posedă.

• Unitatea centrala- timp de execuţie a instrucţiunilor într.un singur ciclu de 40ns (50

MFLOPS,25 MIPS) (TMS320C32PQL50);timp de execuţie a instrucţiunilor într-uin singur ciclu de 50ns (40 MFLOPS, 20 MIPS (TMS320C30-40/C31-40/C32PQL40);:

. . . - timp de execuţie a instrucţiunilor într-un singur ciclu de 60ns (33,3 MFLOPS, 13,3 MIPS) (TMS320C30/C31/C31PQA);

- timp de execuţie a instrucţiunilor într-un singur ciclu de 74ns (27 MFLOPS,13,5 MIPS) (TMS320C30-27/C31-27);cuvinte instrucţiune de 32 biţi; cuvinte de date de 32 biţi;

- adrese de memorie pe 24 biţi;operaţii logice pe 32 biţi;operaţii cu numere întregi pe 24 şi 32 biţi; operaţii cu numere flotante pe 32 şi 40 biţi;

- instrucţiuni cu doi şi trei operanzi;'execuţie paralelă, într-un singur ciclu, a instrucţiunilor pentru unitatea aritmetică şi logică şi.nentru multiplicator; posibilitate de repetare a unui bloc de instrucţiuni; apeluri şi reveniri condiţionate de şi din subrutine; instrucţiuni de interblocare pentru microprocesoare;

- 2 generatoare de adrese cu 8 registre auxiliare şi 2 unităţi aritmetice pentruregistrele auxiliare;

8 registre de precizie extinsa pentru acumulatoare / produs

deplasare circulară pe 32 biţi.• Periferice

- controlor pentru acces direct la memorie (DMA) realizat pe chip, pentrugenerarea operaţiilor concurente ale unităţii centrale şi a celor de intrare-ieşire(două Ia TMS320C32PQL);porturi seriale pentru transferul full-duplex al cuvintelor de 8/16/24/32 biţi (două la TMS320C30 şi câte unul Ia TMS320C31 şi TMS320C32PQL);

- 2 temporizatoare de 32 de biţi realizaţi pe chip;- 2 senafoare externe de uz general;- 4 întreruperi externe.

Page 11: DSP

• Memorie64 de cuvinte de memorie cache;

- un bloc de 4 kcuvinte de ROM pe chip (TMS320C30/C30-27/C30-40);- 2 blocuri de câte un kcuvânt de RAM pe chip (TMS320C30/C31);- 2 blocuri de câte 256 de cuvinte de RAM pe chip

(TMs320C32PQL);16 Mcuvinte adresabile în spaţiul memoriei;

- încărcător de iniţializare (TMS320C31/C31-27/C32PQL).• Interfeţe cu memoria

2 busuri de extensie pentru memorie şi pentru intrări/ieşiri (TMS320C30-27/C30-40);

- un bus extern pentru memorie (TMS320C31/C31-27/C32PQL);- acces de date pe 8,16 sau 32 de biţi;- acces de program pe 16 sau 32 de biţi.

• încapsularea- PGA cu 181 pini

(TMS320C30/C30-27/C30-40);PQFP cu 132 pini (TMS320C31/C31-27).

• Tehnologie CMOS (TMS320Clx/Elx/LClx/Plx).

1.5. Generaţia TMS320C4x

TMS320C40 a fost primul procesor digital de semnal în virgulă flotantă pe 32 de biţi din lume proiectat pentru proiectări paralele. Generaţia TMS320C4x include:• TMS320C40, primul membru al generaţiei TMS320C4x v este un

dispozitiv de mareperformanţă care, având un ciclu unstrucţiune de 40na la frecvenţa de lucru maximă de 50MHz, poate să execute până la 275 MOPS (milioane de operaţii pe secundă) şi să vehiculezeun flux de date de 320 Mocteţi/s.

Arhitectura procesorului TMS320C40 reuneşte pe un singur chip o unitate centrală de prelucrare de mare performanţă cu un cocesor de acces direct la memorie multicanal, 6 porturi de comunicaţie interprocesor cu viteză de transfer maximă de 20 Mocteţi/s, memorie cache pentru program, 2 temporizatoare şi un modul de analiză.

Page 12: DSP

Memoria lui internă cuprinde 2kcuvinte de memorie RAM şi 4 kcuvinte de memorie ROM. Memoria maximă adresabilă este de 4 Gcuvinte şi formează un spaţiu logic unic pentru program şi date. Pot fi adresate 4G porturi de intrare şi oG porturi de ieşire, paralele, pe32 biţi.

• TMS320C40-40 este o versiune de 40 MHz a procesorului TMS320C40. are ciclu!instrucţiune de 50ns şi poate să execute pana ia 255 MOPS (milioane de operaţii pe secundă)şi să vehiculeze un flux de date de 256 Mocteţi/s.

• TMS320C44 este compatibil ca şi obiect cu procesorul C40. Principalele diferenţe faţă deC40 sunt mărimea redusă, numărul redus de pini şi un mod de funcţionare cu consum redusde putere. Are versiuni de 40, 50 şi 60 de MHz.

Se vor prezenta în continuare principalele caracteristici ale generaţiei TMS320C4x:

• Unitatea centrală- timp de execuţie a instrucţiunilor într-un singur ciclu de 40ns (275

MOPS,320 Mocteţi/s) (TMS320C40/C44);

- timp de execuţie a instrucţiunilor într-un singur ciclu de 50ns (225 MOPS,256 Mocteţi/s) (TMS320040-40/044-40);

- execuţie paralelă, într-un singur ciclu, a instrucţiunilor pentru unitateaaritmetică şi logică şi pentru multiplicator;

- instrucţiuni pentru interblocare pentru multiprocesoare;- posibilităţi de manipulare a datelor pe octet şi pe jumătate de cuvânt;- apeluri şi reveniri condiţionate de şi din subrutine, executate într-un

singurciclu;

- vectori relocabili pentru reset şi întreruperi;- conversie într-un singur ciclu în şi din formatul IEEE pentru numere

flotante;cuvinte instrucţiune, de date şi adrese pe 32 biţi;

- instrucţiuni cu 2 şi 3 operanzi;- posibilitate de repetare a unui bloc de instrucţiuni;

• • - - 2 generatoare de adrese eu- & registre -auxiliare şi2 unităţi aritmetice pentru' registrele auxiliare; 12 registre de precizie extinsă; 14 registre de control; deplasare circulară pe 32 biţi;

- compatibilitate cu TMS320C3x la nivelul codului sursă;

Perifericeporturi pentru comunicaţie directă interprocesoare sau procesor-dispozitive de

intrare / ieşire (6 la 040 şt a la 044);coprocesor pentru acces direct la memorie (DMA) pentru 6 canale realizat pe

Page 13: DSP

chip;modul de analiză pentru dezvoltarea şi depanarea prelucrărilor paralele;interfaţa JTAG pentru dezvoltare şi testare;2 temporizatoare de 32 biţi realizate pe chip.

Memorie128 cuvinte de memorie cache;un bloc de 4 kcuvinte ROM pe chip (TMS320C40);2 blocuri de câte un kcuvânt de RAM pe chip;

- 4 Gcuvinte adresabile în soaţiul memoriei;- încărcător de iniţializare (TMS320044).

• Interfeţe cu memoria- 2 interfeţe independente pe 32 biţi pentru configuraţie de memorie

distribuită;pini de stare a tipului de acces pentru atribuirea inteligentă a busului;

- posibilitate de înaltă impedanţă asincronă şi independentă de busurile da dateşi de adrese.

• Tehnologie CMOS.o Capsula

- PGA cu 325 pini (TMS320C40);- PQFP cu 304 pini (TMS320C44).

1.6. Generaţia TMS320C5x

TMS320C5x este cea mai performanta generaţie de procesoare digitale de semnal în virgulă fixă pe 16 biţi a firmei Texas Instruments. Nivelul său superior de performanţă se

datorează ciclului instrucţiune mai redus, capacităţi i. mai mari a memoriei interne şi integrărilor sistematice a mai multor funcţii de prelucrare a semnalelor.

Familia TMS320C5x cuprinde următoarele versiuni de procesoare:

• TMS320C50 conţine multă memorie RAM pe chip, ceea ce îl recomandă pentru emulareaformei funcţiilor. Este compatibil superior, la nivel de cod sursă, cu dispozitivele din prima şia doua generaţie a familiei TMS320.

• TMS320C51, TMS320C52 şi TMS320C53 diferă, în principal, prin configuraţiile dememorie internă. Ele sunt compatibile ca şi cod obiect cu TMS320C50.

• TMS320LC56 este compatibil software cu celelalte dispozitive ale generaţiei sale. Elinclude, pentru prima dată, un port serial de mare viteză complet bufferat. Memoria sa

Page 14: DSP

internă cuprinde 32 kcuvinte de memorie ROM, 6 kcuvinte de RAM de acces unic şi unkcuvânt de RAM cu acces dublu.

• TMS320LC57 are toate caracteristicile procesorului LC56 şi, în plus, un port de interfaţă cugazda, de S biţi, foarte flexibil.

Se vor prezenta în continuare principalele caracteristici ale generaţiei TMS320C5x şi, dacă nu sunt generale, între paranteze, dispozitivele particulare care le posedă.

• Unitatea centrală- timp de execuţie a instrucţiunilor într-un singur ciclu de 25ns (40 MIPS);- timp de execuţie a instrucţiunilor într-un singur ciclu de 35ns (28,6 MIPS);- timp de execuţie a instrucţiunilor într-un singur ciclu de 50ns (20

MIPS);adunare / multiplicare într-un singur ciclu;

- repetarea unei instrucţiuni sau a unui bloc de instrucţiuni;deplasări de blocuri destinate gestionării datelor şi programelor;

pipeline cu 4 nivele pentru tratarea salturilor, apelurilor şi revenirilorîntârziate;adresare indexată;adresare cu bit inversat pentru algoritmi FFT în bază 2;

- unitate aritmetică şi logică şi acumulator de 32 biţi;8 registre auxiliare cu unitate aritmetică dedicată pentru adresare indirectă;

- unitate logică paralelă de 26 biţi;- multiplicator de două numere de 16 biţi cu un produs de 32

de biţi;deplasare circulară pe 16 biţi;2 buffere de date circulare adresate indirect pentru adresare circulară.

Perifericestivă hadrward cu 8 nivele;

11 registre comutabile în context pentru a proteja conţinutul registrelorstrategice ale unităţii centrale în timpul întreruperilor;port serial sincron, full-duplex, interfaţabile direct la circuite codec;

temporizator cu registre pentai perioadă şi control, pentru opriri, porniri şiiniţializări software;64k porturi paralele, din care 16 mapate în memorie;

DMA concurent folosind c funcţionare suspendată extinsă;generator de tact pe chip,

îndeplineşte cerinţele de testabilitate impuse de standardul JTAG PI 149.l,aprobat de IEEE.

Page 15: DSP

10 kcuvinte de RAM pe chip (TMS320C50); 2 kcuvinte de RAM pe chip (TMS320C51);l kcuvânt de RAM pe chip (TMS320C52);

- 4 kcuvinte de RAM pe chip (TMS320C53);- 6 kcuvinte de RAM cu acces unic pe chip (TMS320LC56 / LC57);- l kcuvânt de RAM cu acces dublu pe chip (TMS320LC56/LC57);- 2 kcuvinte de ROM pe chip. pentru iniţipliznre fTM5n?.OC50);- 32 kcuvinte de ROM pe chip'(TMS320LC56 / LC57);- 8 kcuvinte de ROM pe chip (TMS320C51);- 4 kcuvinte de ROM pe chip (TMS320C52);

1056 cuvinte de RAM cu dublu acces pentru date , pe chip(TMS320C50/C51/C52/C53);192 kcuvinte adresabile în spaţiul de program şi de date.

• Interfeţe cu memoria16 generatoare de stări de aşteptare programabile software pentru comunicarea externă cu memoriile de program, de date sau de intrare / ieşire.

• Compatibilitate cu codul sursă al familiilor TMS320Clx şi C2x.• O singură tensiune de alimentare:

- +5 V (TMS320C50/C51/C53);- +3,3 V (TMS320LC56/LC57).

• încapsulare- PQFP cu 132 pini (TMS320C50/C51/C53);- TQFP cu 100 pini (TMS320C51/C52).

• Tehnologie CMOS static.

1.7. Generaţia TMS320C80

Această generaţie are un singur membru, MVP (Multimedia Video Processor) TMS320C80, care a fost lansat oficial în 10 martie 1994 la Sân Francisco, după mai mult de trei ani de la lansarea proiectului, în acel moment însă, el dispunea de:

- depanator, sub Windows, pentru limbaj de nivel înalt;- simulator;- compilator optimizator pentru limbajul C;- asamblor algebric;- mediu de emulare;- bibliotecă bogată de primitive;- placă de dezviltare.

Tms320C80, primul multiprocesor reakizat pe un singur chip şi comercial disponibil care combină arhitecturi paralele DSP şi RISC, are următoarele caracteristici:• ciclu instrucţiune de 24ns sau 20ns, la frecvenţe de ceas de 84 MHz sau,

respectiv delOOMHz;

• realizează 2000 MOPS;

o Memorie

Page 16: DSP

• 4 unităţi centrale ADSP (Advanced Digital Signal Processors) cu cuvinte instrucţiune de 64biţi şi cu memorie cache pentru instrucţiuni de 2 Kocteţi, care pot funcţiona simultan sauindependent;

• o unitate centrală RISC pe 32 de biţi, cu câte 4 kocteţi de memorie cache atât pentruinstrucţiuni cât şi pentru date şi cu o unitate în virgula flotantă pentru numere de 64 de biţi înformat IEEE 754, aceasta, simbciiza'iâM? "(Maşter Processor), realizează controlul cornpfetal chip-ului şi coordonează comunicarea cu orice alt procesor din sistem;

• 50 kocteţi de memorie RAM statică formată din 25 de pagini de câte 2 kocteţi şi distribuităîntre procesoare prin intermediul unui comutator traversă (crossbar switch);

• un controlor de transferuri cu adrese de 32 de biţi şi cu magistrala de date externă de 64 debiţi.care include şi interfaţa directă pentru memorii DRAM, SRAM şi VRAM,

2 controloare video acre oferă posibilitatea de realizare simultană a achiziţiei şi afişării video,permiţând adresări liniare şi X/Y pentru prelucrări grafice 2-D/3-D;oferă posibilitatea de dimensionare dinamică a busului, care permite transferuri de lăţimi dela 8 la 64 de biţi cu o rată de transfer de 400 Mocteţi/s;încapsulare CPGA cu 305 pini;

are mai mult de 4 milioane de tranzistoare realizate în tehnologia CMOS ce 0,6 micrometri.

TMS320C5x. Caracteristici comparative

Unitatea centrală- timp de executie a instructiunilor într-un singur ciclu de 25 ns(40MIPS)- 35 ns(28,6MIPS)- Adunare(multiplicare într-un singur ciclu)- Repetarea unei instrucţiuni sau a unui bloc de instrucţiune- Pipeline cu 4 niveluri pentru tratarea salturilor, apelurilor şi revenirilor întârziate- Adresare indexată- Unitate aritmetică şi logică şi acumulată de 32 biţi- Deplasare circulară pe 16 biţi- Multiplicator de 2 numere de 16 biţi cu un produs de 32 de biţi

Periferice- stiva hardware cu 8 nivele- Port serial sincron, full-duplex, interfaţabile direct la circuite codec- temporizator cu registre pentru perioadă şi control, pentru opriri, porniri şi iniţializări software

Page 17: DSP

- generator de tact pe chip

Memorie-10k cuvinte de RAM pe chip(C50)- 2k cuvinte de RAM pe chip(C51)- 2k cuvinte de ROM pe chip pentru iniţializare(C50)- 32k cuvinte de ROM pe chip(C56)- 192k cuvinte adresabile în spaţiul de program şi de date

Interfeţe cu memoria- 16 generatoare de stări de aşteptare programabile software pentru comunicarea

externa cu memoria de program, de date sau de intrare/ieşire- Compatibil cu codul sursă al familiilor

TMS320C1x şi C2x- o singură tensiune de alimentare: +5V(C50|C51|C53); +3,3V- încapsulare: PQFP cu 132 pini(C50|C51|C53)- tehnologie CMOS static

Strategii unitare de impementare a algoritmilor de control(dSPACE)

Sistemele de dezvoltare dSPACE sunt concepute facilitării implementarii algoritmilor de control pe sistem de calcul de tip DSP, unificand mediul de programare utilizat în simulare cu cel utilizat în implementare în sisteme DSP.Acest mediu evoluat pemite implementarea automată a structuri de control simulate pe sisteme cu procesoare DSP. Programele cod obiect generate automat sunt optimizate din punct de vedere al caracteristicilor aplicaţiilor în timp real.Elementele principale ale acestui sistem:

- generarea automată de cod- compilatoare cu facilităţi de optimizare în timp real- hardware puternic şi flexibil- software pentru contro, achiziţie şi monitorizare date

Sistemele DSP în funcţie de complexitatea programelor de controlat permite urmatoarele moduri de lucru:

- pentru aplicaţii simple(sisteme liniare ce se pot implementa pe sisteme cu virgulă fixa)

- algoritmi de control scrişi în limbaj C- algoritmi de control deschis şi simulat în limbaj Simulink pentru Matlab

Page 18: DSP

Implementarea algoritmilor de control descrişi în limbaj C pentru sisteme cu DSP în virgula

Blocul subrutine standard adapteaya sursa in limbaj C la particularităţile unei aplicaţii în timp real. În acest scop acest bloc e prevazut cu subrutine de iniţializare ale operaţiilor de I/O, control al ceasului de intreruperi, control al operaţiei de I/O.La acest nivel se pot apela subrutine din biblioteca de generatoare de semnal, filtre digitale. Programul sursă astfel conceput e transferat blocului numit C cross compiler(asamblu care generează cod obiect în limbaj de asamblare).Codul obiect de la ieşirea acestui compilator e optimizat pentru cerinţele în aplicaţii în timp real pentru DSP-ul utilizat.La acest nivel sistemul generează o copie la cerere în limbaj C pentru simulare offline în simulare

Implementarea algoritmilor de control descrisi in limbaj C pe sisteme de dezvoltare in virgula mobila

Schema logica care descrie acest mod de implementare este ilustrata in figura 2.2. Programul de aplicatie, algoritmul de control sau ecuatiile diferentiale sunt programate

Limbaj C

Program sursă scris în C

FZC(ASCI, EASYS)

Data Code TM

Subrutine standart si funcţii I/O

...................

Compilator C

Cod obiect

Loader

DSP

Biblioteca de funcţii C

Proces controlat

Monitor(TRACE)

Parametrii

Consola.........................

Page 19: DSP

descrise in limbaj C. Blocul denumit "Subrutine standard si I/O" adapteaza programul sursa scris in limbaj C de utilizator, la particularitatile unei aplicatii in timp real, scop in care este prevazut cu subrutine de initializare a operatiilor de intrare/iesire, control al ceasului de intreruperi si control al operatiilor de intrare/iesire. La acest nivel se pot apela subrutine din biblioteca de generatoare de semnal si filtre digitale, care sunt programate de asemenea in limbaj C. Programul sursa astfel conceput este transferat blocului denumit C-Cross Compiler/Assembler, care genereaza codul obiect in limbaj de asamblare, optimizat din punct de vedere al cerintelor aplicatiilor in timp real pentru procesorul de semnal. Sistemul de dezvoltare genereaza la cerere si o "copie" in limbaj C, pentru simulare off-line sub SIMULINK.

Page 20: DSP

MATLAB

SIMULINK

Real-TimeWorkshop

Model in cod C

Program C pentruhardware dSpace

Cod obiect

Interfata detimp real

Compilator C

Loader

D S P

Proces CONSOLAINTELIGENTA

Parametri

Parametri

MONITOR(TRACE)

Dateinregistratede la proces

Page 21: DSP

Figura 2.3. Structura mediului de implementare a algoritmilor de control pe baza modelelor simulate cu ajutorul produsului SIMULINK pentru MATLAB.

SRI +-

V-fed Induction Motor

isd

psird

isq

psirq

wrmr1.47Rr_

+-

V Computer

1.47Rr

TA[D(-lr)]

PI

PI

Q Crt

Flux Observer

1.47Rr_1

psirqe

psirde

Flux Analizer

psir

2.45

Constant

SRI

+-

V-fedInduction

Motor

mr1.47Rr_

+-

V Computer

1.47Rr

TA[D(-lr)]

PI

PI

Q Crt

Flux Observer

1.47Rr_1

Flux Analizer

2.45

Constant

A/DBoard A/D

Board

PWMBoard

Page 22: DSP

+-

+-

V Computer

1.47Rr

TA[D(-lr)]

PI

PI

Q Crt

Flux ObserverFlux Analizer

S

A/DBoard A/D

Board

PWMBoard

S

S

S

S

S

S

Figura 2.4. Etapele procesului de implementare a algoritmilor de control pe baza modelelor simulate cu ajutorul produsului SIMULINK pentru MATLAB.

2.2. Implementarea algoritmilor de control descrisi cu ajutorul modulelor grafice din mediul de simulare SIMULINK

Componentele software pentru programare cu ajutorul mediului de simulare SIMULINK sunt prezentate in figura 2.3. Acest mod de programare poate fi considerat in prezent cea mai performanta strategie de design si implementare a sistemelor de control pentru procesele rapide. Acest sistem de dezvoltare realizeaza in mod automat conversia configuratiilor simulate cu cel mai performant mediu de simulare prin blocuri grafice (SIMULINK pentru MATLAB), in programe cod obiect pentru sistemele de dezvoltare cu procesoare de semnal (DSP), recomandate in controlul in timp real al proceselor rapide. Sursa software este reprezentata in acest caz de configuratia sistemului de control, realizata cu blocuri grafice din biblioteca mediului de simulare SIMULINK si din blocuri create de utilizator, cu ajutorul blocurilor de tip S-Function [S.12]. Configuratia pentru un sistem de reglare vectoriala cu motor de inductie fara senzori mecanici este prezentata in figura 2.4 a. Blocurile Induction Motor, Flux Observer si Speed & Rotor Resistance Estimator sunt create cu ajutorul blocului de tip S-Function. Blocul de translatare SIMULINK-C (Real-Time Workshop) genereaza o sursa in limbaj C, pe baza ansamblului de programe generate de mediile MATLAB si SIMULINK. Translatorul accepta sisteme continue, continue in timp, discrete si mixate. Rezultatul translatarii este o sursa in limbaj C, care poate fi apoi utilizata in urmatoarele scopuri:

• translatarea in cod obiect in scopul implementarii algoritmului de control pe sisteme de dezvoltare cu DSP;

Page 23: DSP

• simularea in timp real a intregului sistem automat (inclusiv procesul) sau a unor subsisteme specificate in modul "hardware-in-the-loop", "pilot-in the-loop", testare si validare a modelului in timp real;

• simulare normala pe computerul master; rezultatele simularii se inscriu in fisiere de date ASCII care pot fi incarcate si procesate sub MATLAB sau SIMULINK. Trebuie mentionat faptul ca sursa C obtinuta este optimizata din punct de vedere al timpului de executie in cadrul aplicatiei in timp real.

In figura 2.24 sunt prezentate etapele trecerii de la structura studiata prin simulare la cea care urmeaza sa fie implementata pe sistemul cu DSP. Astfel, figura 1.4, a prezinta sistemul de reglare vectoriala cu motor de inductie fara senzori mecanici (sensorless), simulat in SIMULINK. Acest subiect va fi tratat in detaliu in capitolul 4. In etapa urmatoare, reprezentata in figura 1.4, b, se delimiteaza procesul (care nu se implementeaza) de algoritmul de control (care trebuie implementat pe DSP), prin utilizarea blocurilor specifice din biblioteca DSLIB, aflata in compunerea RTW (Real-Time Workshop):

• convertoare analog/numerice (A/D Board);• convertoare numeric/analogice (D/A Board);

• dispozitive de intrare pe bit;• dispozitive de iesire pe bit;• modulatoare PWM.

Se obtine astfel o structura intermediara, care poate fi simulata in timp real, fie pe sistemul cu DSP, fie pe computerul principal (host). Simularea in timp real efectuata la acest nivel reflecta in totalitate realitatea.

In ultima etapa, prezentata in figura 1.4.c, se pastreaza numai modelul algoritmului de control care se implementeaza pe DSP, delimitat de dispozitivele de intrare/iesire. Pentru fiecare din etapele descrise in figurile 2.4 b si 2.4 c se genereaza un program-sursa in limbaj C.

Interfata de timp real contine un pachet de programe care prelucreaza sursa C (C-coded model) generata de RTW (Real-Time Workshop) si furnizeaza un program-sursa C (C Program for DSP hardware), adaptat hardware-ului specific (DSP) si programelor de monitorizare in timp real. Structura acestui bloc software este prezentata in figura 2.5. Postprocesorul de model realizeaza practic tranzitia de la modelul simulat la cel implementat. Sursa C generata de RTW (Real-Time Workshop) este transformata intr-o "sursa cadru" specifica unei aplicatii in timp real, care contine un pachet de programe complet, necesar executiei pe DSP:

• programele apelante ale functiilor de intrare/iesire;• interfata cu programele de monitorizare TRACE si COCKPIT;• programe de initializare hardware.

Interfata de timp real ofera facilitatea de modificare a parametrilor de functionare ai sistemului in timp real, in

Page 24: DSP

Blocuri detip S-Functioncodificate in C

ModelulSIMULINKcodificat inC (de la RTW)

Variabile pentru TRACE si COCKPIT

Codutilizator

Model codificatin C revizuit

Apeluri functii I/O

Planifica- torulsimularii intimp real

FunctiileRTW sitipurile dedate utilizate

Programcod-obiectpentru DSP

MODELPOSTPROCESOR

Loader

Compilator C Asamblor Linkeditor

Page 25: DSP

Figura 2.5. Structura software a interfetei de timp real (RTI).

structura descrisa in SIMULINK, fara a fi necesara interventia in interiorul programelor sursa in limbaj C. Dupa cum se poate observa, interfata actualizeaza in timp real parametrii de functionare in mod automat, la nivelul programelor cod-masina incarcate in DSP.

Page 26: DSP

MATLAB

Cod obiect

Compilator DSPL

Loader

D S P

Proces

MONITOR(TRACE)

Date inregistratede la proces

Sursa inlimbaj DSPL

IMPEX

Sistemul liniarsub forma recursiva

InterfataSoftware

Matricile A, B, C, D

Programe- utilizator(Elemente neliniare)

+

Page 27: DSP

Figura 2.6. Mediul de implementare a algoritmilor de control pe sisteme cu procesor de semnal in virgula fixa.

Interfata de timp real face si o analiza a programelor translatate din punct de vedere al erorilor de program si de overload. Sursa cadru, programul utilizator, subrutinele proprii aplicatiei in timp real si functiile generate de RTW sunt generate in limbaj C. Ele pot fi modificate de catre utilizator inainte de a fi compilate de catre modulul C-Compiler/Assembler/Linker.

Modulul C - Compiler / Cross - Assembler / Linker, sau Compilatorul C compileaza programul C adaptat pentru hardware-ul specific (C Program for DSP Hardware), rezultatul fiind un program cod-obiect in limbaj de asamblare pentru DSP.