Sunteți pe pagina 1din 12

5.

3 Accesul direct la memorie (DMA)


Unele proiecte avansate cu TMS320C2x utilizeaz DMA sau memoria global (vezi 4.4). DMA poate fi utilizat pentru multiprocesare, prin oprirea temporar a unuia sau a mai multor procesoare, permind altora s citeasc / scrie n memoria procesorului oprit. DMA utilizeaz semnalele HOLD i HOLDA. Sistemul multiprocesor este n general o configuraie de tip master - slave. Masterul trebuie s iniializeze slave-ul prin ncrcarea programului n spaiul acestuia de programe din memorie i / sau s asigure circuitului slave datele necesare. Circuitul master poate fi nc un circuit TMS320C2x sau un convertor analog digital. O configuraie simpl de master - slave este artat n Fig.5.18. Circuitul master exercit un control complet asupra memoriei externe a slave-ului prin trecerea HOLD n "0" prin bistabilul XF. Acesta determin ca slave-ul s treac liniile sale de adres - date - control n stare de impedan ridicat. Prin aplicarea RS n conjuncie cu HOLD, procesorul master poate ncrca memoria program local a circuitului slave cu programul necesar de iniializare la RESET. Cele dou procesoare pot fi sincronizate cu intrarea SYNC, lucru ce permite transferul mai rapid i mai eficient pe magistral.

Fig.5.18 Accesul direct la memorie utiliznd o configuraie master - slave Dup ce controlul a fost preluat de master, circuitul slave rspunde cu HOLDA. Acest semnal poate aprea pe pinul BIO al lui TMS320C2x. Pinul XF al circuitului slave poate fi utilizat pentru a indica master-ului c i-a terminat sarcinile i trebuie reprogramat cu date suplimentare pentru a-i continua lucrul.

Procesoare numerice de semnal - Cap. 5

13

n schemele cu mai multe circuite slave, prioritile acestora sunt determinate de aplicarea semnalului XF pe una din intrrile INT(2-0) de pe master-ul TMS320C2x. Implementrile n mediul PC constituie un alt exemplu unde magistrala sistem este folosit pentru transfer de date. Aici, circuitul CPU sau controlerul de disc poate plasa datele pe magistrala de date de unde se pot transfera n memoria local a circuitului TMS320C2x. n aceast configuraie, TMS320C2x joac mai mult rolul unui procesor periferic cu funcii multiple. De exemplu, n aplicaii de analiz vocal, TMS320C2x poate fi ncrcat de ctre master cu algoritmi de analiz, sintez i recunoatere de sunete. n alte situaii, TMS320C2x poate lucra cu un controler grafic dedicat. Programele pot fi depozitate n circuitul ROM de pe TMS320C2x sau pot fi ncrcate prin magistrala sistem n RAM. Datele pot proveni de pe hard-disk sau direct din CPU master. Fig.5.19 arat utilizarea DMA ntr-un mediu bazat pe un PC. n aceast configuraie, decoderul i arbitrul de logic este utilizat pentru controlul DMA. Cnd adresa de pe magistral este decodificat n memoria local a perifericului TMS320C2x, logica plaseaz HOLD n "1". Circuitul transmite master-ului un semnal de ateptare. Dup ce TMS320C2x recunoate DMA prin setarea HOLDA, se genereaz READY, apoi se transfer informaiile.

Fig.5.19 Acces direct la memorie n mediul unui PC

14

Procesoare numerice de semnal - Cap. 5

5.4 Memoria global


n aplicaiile multiprocesor, memoria extern a lui TMS320C2x poate fi divizat n dou seciuni: cea local, respectiv cea global. Registrele speciale i pinii alocai circuitului permit alocarea a pn a 32K pentru memoria global. Acest lucru constituie un avantaj cnd datele se transfer ntre dou sau mai multe procesoare. Din schem, spre deosebire de DMA, se vede c citirea sau scrierea din / n memoria global nu necesit oprirea unuia dintre procesoare. Memoria global poate fi utilizat ntr-o gam variat de aplicaii de procesare a semnalelor digitale (filtre sau modemuri) unde algoritmul poate fi divizat n seciuni distincte. n acest tip de aplicaii, cele dou procesoare vor mpri memoria global. Logica de arbitrare va desemna care seciune din algoritm va fi n execuie i care va accesa memoria global.

Fig.5.20 Comunicaia prin memorie global Dimensiunea memoriei globale este programabil ntre 256 i 32K locaii n memoria de date prin ncrcarea registrului de memorie global (GREG). Dup ce memoria global a fost definit n GREG, circuitul TMS320C2x trimite o cerere de magistral BR naintea fiecrui acces la memoria global. Procesorul insereaz stri de ateptare pn cnd se permite accesul prin generarea READY. Fig.5.20 ilustreaz o asemenea interfa la o memorie global. Procesorul poate fi sincronizat cu SYNC, logica poate fi simplificat, iar transferul pe magistralele de date, respectiv adrese, poate fi fcut mai eficient.

Procesoare numerice de semnal - Cap. 5

15

5.5 Interfaarea perifericelor


Cele mai mlte sisteme cu DSP necesit i circuite de I/O mpreun cu o oarecare cantitate de memorie n sistem. Printre acestea se includ de obicei circuite de intrare / ieire analogic ce pot fi legate la porturile paralele i seriale ale procesorului TMS320C2x. Cnd se acceseaz porturile extrne paralele, accesul pe magistrala de date este multiplexat pe aceiai pini cu ai memoriei de program / date. Spaiul I/O este selectat de semnalul IS activ n "0", iar adresa portului este plasat pe biii de adres A3 - A0. Biii A15 - A4 sunt meninui n "0". 5.5.1 Interfaa la un COMBO - CODEC Unele aplicaii de voce, telecomunicaii, etc., ncesit convertoare A/D i D/A ieftine. Circuitele combo-codec sunt cele mai eficiente n realizarea sistemelor cu DSP. Aceste circuite sunt codoare i decodoare pe un singur chip folosind modulaia impulsurilor n cod, proiectate pentru a realiza conversia D/A i A/D i n plus funciile de netezire i filtrare antialias. Cum circuitele combo-codec realizeaz toate aceste funcii simultan ntr-un singur chip de cost sczut, ele sunt foarte economicoase.

Fig.5.21 Interfaarea circuitului codec TCM29C16


16 Procesoare numerice de semnal - Cap. 5

Interfaa combo-codec este legat la TMS320C2x prin portul serial i asigur o reprezentare n cod numeric a intrrii analogice. Acest cod PCM poate fi uor translatat ntr-o form liniar n TMS320C2x pentru a fi utilizat n procesare. n schema din Fig.5.21 este utilizat circuitul codec TCM29C16 interfaat pe portul serial al procesorului TMS320C25. 5.5.2 Interfaa la circuite de tip AIC Pentru aplicaii de voce, n modemuri, control, instrumentaie i alte interfee analogice pentru DSP, este necesar o pereche A/D i D/A complet. Circuitul de interfa analogic (AIC - Analogic Interface Circuit) TLC32040 are ncorporat ntr-un singur circuit monolitic CMOS un filtru trece-band, un condensator de netezire, un filtru de intrare i unul de ieire cu capaciti comutate. Acest circuit ofer numeroase alternative posibile pentru frecvena ceasului master, care poate fi modificat de procesorul care l controleaz. Patru porturi seriale ale acestui circuit pot fi folosite ca interfa pentru TMS320C2x. Deoarece seciunile de transmisie i recepie ale circuitului AIC lucreaz sincron, ele se pot interfaa cu dou registre de deplasare serie - paralel SN74299 care la rndul lor pot fi legate paralel la TMS320C25. Sunt emise impulsuri corespunztoare pentru a informa procesorul c transmisia este ncheiat, sau pentru a diferenia doi octei de date consecutivi.

Fig.5.22 Interfaarea TLC32040 cu TMS320C2x

Fig.5.23 Diagramele sincronizrii TLC32040 cu TMS320C2x Aa cum se arat n Fig.5.22, circuitul AIC se poate interfaa cu procesorul TMS320C2x; ele pot comunica sincron sau asincron, aceasta depinznd de
Procesoare numerice de semnal - Cap. 5 17

coninutul registrului de control. Pentru comunicarea sincron, secvena de funcionare este urmtoarea: 1) FSX sau FSR este trecut n "0" 2) Este transmis / recepionat un cuvnt pe 16 bii 3) FSX sau FSR trec n "1" 4) Pe EODX sau EODR se emite un impuls de "0" Pentru comunicaii asincrone, secvena este identic, dar FSX i FSR nu se genereaz n acelai timp (Fig.5.24). Pentru o funcionare corect, TxM din registrul de control poate fi trecut n "0", deci FSX devine intrare, bitul de format (FO) trecut n "0" i AIC WORD/BYTE n nivel ridicat. Dup fiecare operaie serial cu AIC se genereaz o ntrerupere intern RINT sau XINT, care pot fi folosite pentru controlul execuiei programului.

Fig.5.24 Comunicaia asincron TLC32040 i TMS320C2x 5.5.3 Interfaa la convertoare D/A Funcionarea la o vitez ridicat a logicii interne a circuitului TLC7524 de 8 bii permite o interfaare la TMS320C2x cu un numr minim de circuite externe.

Fig.5.25 Interfaa TLC7524 cu TMS32020


18 Procesoare numerice de semnal - Cap. 5

Fig.5.26 Diagramele interfarii TLC7524 cu TMS32020 Cnd TMS32020 execut o instruciune OUT, pe magistrala de adrese este plasat adresa perifericului i linia IS trece n "0". Acest nivel pe IS valideaz 74ALS138 care decodific adresa de pe magistral la ieirea Y0. Cnd Y0 va fi trecut n "0", este validat TLC7524, iar datele care apar pe magistrala de date sunt trecute n convertorul D/A de ctre semnalul STRB. 5.5.4 Interfaa la convertoare A/D Circuitul TMS320C2x poate fi interfaat cu un convertor A/D de 8 bii, de exemplu TLC0820. n acest caz, deoarece circuitul de control al acestui circuit opereaz mult mai lent ca TMS32020, el nu poate fi conectat direct, necesitnd stri de ateptare (Fig.5.27 i Fig.5.28).

Fig.5.27 Interfaarea TLC0820 cu TMS32020


Procesoare numerice de semnal - Cap. 5 19

Fig.5.28 Diagramele interfarii TLC0820 cu TMS32020 Circuitul 74LS138 decodeaz adresa pentru TLC0820. Una dintre adrese este utilizat cnd se execut operaia de scriere, cealalt la citire. Cele dou adrese diferite sunt necesare pentru a asigura folosirea unui numr corect de stri de ateptare pentru cele dou operaii. Dac TMS320C2x funcioneaz cu 20 MHz i TLC0820 este configurat ca o memorie lent, sunt necesare 3 stri de ateptare pentru a realiza un ciclu de scriere. Dup ce conversia a nceput cu WR, procesorul trebuie s atepte cel puin 600ns nainte ca rezultatul conversiei s poat fi citit. 5.5.5 Porturi de I/O Aceste porturi sunt tratate de TMS320C2x n mod identic cu memoria, distincia fcndu-se prin semnalul IS care devine "0" la nceputul unui ciclu de acces. Procesorul poate avea acces la 16 porturi de intrare i ieire. Cei 4 bii mai puin semnificativi ncepnd cu LSB specific adresa unui port. O pereche de circuite 74AS138 se pot utiliza pentru decodarea acestor bii de adres (Fig.5.29).

Fig.5.29 Adresarea porturilor de I/O


20 Procesoare numerice de semnal - Cap. 5

O interfa simpl ntre dou procesoare poate fi implementat utiliznd pn la 16 porturi bidirecionale I/O conectate la TMS320C2x. n aceast manier, procesorul poate fi conectat cu convertoare paralele A/D, registre, FIFO, memorii dublu-port sau alte periferice. Utilizarea unui microcontroler pe 8 bii cum este TMS70C42 proiectat pentru control de claviatur este artat n Fig.5.30. Semnalele schimbate de procesor i TMS320C2x arat cnd datele sunt valide la citire. Aceast comunicare ntre procesoare este facilitat de utilizarea pinilor de intrare i ieire ai lui TMS70C42. ntr-o configuraie multiprocesor spaiul de memorie pentru adrese este relativ limitat, iar transferul datelor este relativ lent n comparaie cu DMA sau n configuraia cu memorie global.

Fig.5.30 Comunicaia ntre procesoare prin porturi I/O

5.6 Aplicaii de sistem


Circuitele TMS320C2x sunt utilizate ntr-o mare varietate de sisteme. Cteva aplicaii ar fi n telecomunicaii, grafic i procesarea imaginilor, control de nalt vitez, instrumentaie i procesare numeric. Pentru exemplificare, se ilustreaz acest ultim caz. 5.6.1 Eliminarea ecoului i a diafoniei Procesarea digital a semnalelor este larg utilizat n telecomunicaii. n aceast aplicaie, un filtru adaptiv FIR realizeaz modelarea i prelucrarea semnalului, operaii necesare pentru eliminarea ecoului cauzat de diferenele de impedan din liniile telefonice. Circuitul TMS320C25 cu un RAM intern de 544 de cuvinte i un ROM de 4K permite realizarea unui filtru adaptiv de 256 intrri (eliminare de ecou
Procesoare numerice de semnal - Cap. 5 21

de 32ms) fr memorie de date sau de program extern. Fig.5.31 arat o aplicaie unde un eliminator de diafonie utilizeaz circuitul de interfa de tip codec TMS29C16.

Fig.5.31 Eliminator de ecou 5.6.2 Modem de vitez ridicat n aceste modemuri, procesorul de semnal este utilizat pentru a realiza funcii ca: modulare / demodulare, egalizare adaptiv i eliminarea diafoniei. Spaiul larg de memorie asigurat de TMS320C2x permite implementarea a multiple standarde ca: Bell 103, Bell 212A, V.22bis, V.29, V.32 i V.33 ca i algoritmi proprii. Modemul prezentat n Fig.5.32 este format n principal din interfaa la gazd, controler, DSP i interfaa analogic.

Fig.5.32 Modem de vitez ridicat 5.6.3 Codor de voce Tehnicile avansate de prelucrare ca: modulaia diferenial a impulsurilor n cod full-duplex de 32 Kbps (definite de CCITT G.721), codarea sub-band de 16 Kbps i codarea predictiv liniar, sunt frecvent utilizate n transmisia i stocarea de voce. Viteza de lucru a TMS320C2x permite aceste prelucrri de obicei prin program, fr a se apela la alte resurse externe. Fig.5.33 prezint un sistem codor de voce.

22

Procesoare numerice de semnal - Cap. 5

Fig.5.33 Codor de voce 5.6.4 Grafic i procesare de imagine n aceste aplicaii, posibilitatea de interfaare cu un procesor gazd este important. TMS320C2x poate fi utilizat ntr-o mare varietate de scheme tip gazd / coprocesor (Fig.5.34). Aceste aplicaii pot utiliza spaiul larg de memorie de date i capacitatea memoriei globale de a permite depozitarea n memorie a imaginilor grafice, ceea ce reduce volumul de date manipulate n sistem.

Fig.5.34 Sistem grafic cu DSP Folosirea modurilor de adresare indirecte sau indexate ale TMS320C2x permite procesarea matricilor, iar multiplicarea matricilor este folosit pentru rotaii i translaii de imagini bidimensionale. 5.6.5 Controlul proceselor rapide Aplicaiile de mare vitez, cum este robotica, utilizeaz aceste circuite pentru manipularea biilor, operaii logice, sincronizare i transfer rapid de date (10 mil.
Procesoare numerice de semnal - Cap. 5 23

De cuvinte pe 16 bii / secund). n afar de controlul numeric intensiv, TMS320C2x apare ca o interfa gazd ori de cte ori robotul vrea s comunice cu un procesor central (Fig.5.35). TMS320C2x se mai utilizeaz n sisteme de control n bucl nchis, n drivere de disc, pentru condiionarea semnalelor, filtrare i multiplexare multici.

Fig.5.35 Subsistem pentru controlul unui bra robot 5.6.6 Instrumentaie cu procesare numeric Instrumentaia de precizie, cum este cazul unui analizor de spectru, necesit un spaiu de memorie de date larg, i un procesor TMS320C2x care poate s realizeze transformate FFT de lungime mare, sau generare de funcii de nalt precizie folosind echipament extern minim. Fig.5.36 arat un astfel de exemplu de sistem de instrumentaie.

Fig.5.36 Aplicaie n sisteme de instrumentaie

24

Procesoare numerice de semnal - Cap. 5

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