5. proiectarea hardware cu procesoare tms320c2xpns.ac.tuiasi.ro/doc/curs/curs_10.pdf · dacă ready...

12
Procesoare numerice de semnal - Cap. 5 1 5. Proiectarea hardware cu procesoare TMS320C2x Circuitul TMS320C2x are o putere şi o flexibilitate care satisfac o scară largă de cerinţe în prelucrarea semnalelor. Spaţiul de adresă de 128K pentru programe şi memorarea datelor se poate folosi pentru a interfaţa memorii externe sau se pot alege soluţii cu un singur circuit DSP. Diverse componente periferice pot fi interfaţate cu TMS320C2x pentru achiziţia de semnale analogice. În acest capitol sunt prezentate informaţii despre modul de interfaţare a TMS320C2x cu diversele periferice. Exemplele date sunt general valabile şi pot fi uşor adaptate pentru aplicaţii particulare. TMS320C2x dispune de următoarele semnale de magistrală, control magistrală şi porturi, care facilitează interfaţarea: A0 - A15 - magistrala de adrese D0 - D15 - magistrala de date Port serial /PS, /DS, /IS (program, data, selecţie intrare / ieşire) R/W - citire / scriere şi STRB - strobare READY şi /MSC /HOLD şi /HOLDA /INT şi /IACK /BIO şi XF /SYNC - sincronizare şi /BR - bus request. 5.1 Circuitele de control ale sistemului Aceste circuite au funcţii critice pentru funcţionarea corectă a sistemului. Sunt prezentate aici scheme de resetare la punerea sub tensiune şi oscilatoare de tact. Circuitul de resetare la punerea sub tensiune asigură că resetarea se va face numai după funcţionarea stabilă a circuitului oscilator. Acesta foloseşte în general cuarţuri în mod "overtone" pentru frecvenţe mai mari de 20 MHz, dar experienţa practică arată că se pot folosi cuarţuri normale până la 25 - 30 MHz.

Upload: others

Post on 31-Aug-2019

14 views

Category:

Documents


0 download

TRANSCRIPT

Procesoare numerice de semnal - Cap. 5 1

5. Proiectarea hardware cu procesoareTMS320C2x

Circuitul TMS320C2x are o putere şi o flexibilitate care satisfac o scară largă decerinţe în prelucrarea semnalelor. Spaţiul de adresă de 128K pentru programe şimemorarea datelor se poate folosi pentru a interfaţa memorii externe sau se potalege soluţii cu un singur circuit DSP. Diverse componente periferice pot fiinterfaţate cu TMS320C2x pentru achiziţia de semnale analogice.

În acest capitol sunt prezentate informaţii despre modul de interfaţare aTMS320C2x cu diversele periferice. Exemplele date sunt general valabile şi pot fiuşor adaptate pentru aplicaţii particulare.

TMS320C2x dispune de următoarele semnale de magistrală, control magistrală şiporturi, care facilitează interfaţarea:• A0 - A15 - magistrala de adrese• D0 - D15 - magistrala de date• Port serial• /PS, /DS, /IS (program, data, selecţie intrare / ieşire)• R/W - citire / scriere şi STRB - strobare• READY şi /MSC• /HOLD şi /HOLDA• /INT şi /IACK• /BIO şi XF• /SYNC - sincronizare şi /BR - bus request.

5.1 Circuitele de control ale sistemului

Aceste circuite au funcţii critice pentru funcţionarea corectă a sistemului. Suntprezentate aici scheme de resetare la punerea sub tensiune şi oscilatoare de tact.Circuitul de resetare la punerea sub tensiune asigură că resetarea se va face numaidupă funcţionarea stabilă a circuitului oscilator. Acesta foloseşte în general cuarţuriîn mod "overtone" pentru frecvenţe mai mari de 20 MHz, dar experienţa practicăarată că se pot folosi cuarţuri normale până la 25 - 30 MHz.

2 Procesoare numerice de semnal - Cap. 5

5.1.1 Circuitul de resetare la punerea sub tensiune

Acest circuit asigură resetarea lui TMS320C2x în momentul aplicării tensiunii dealimentare. În schemă este inclus şi un circuit de eliminare a oscilaţiilorcontactelor. Aplicând "0" logic pe intrarea RESET se iniţializează procesorul.Resetul afectează diferite registre şi biţii de condiţie, aşa cum s-a arătat anterior.

Fig.5.1 Circuitul de reset

Pentru o iniţializare corectă a sistemului, semnalul reset trebuie aplicat în timpulultimelor 3 cicluri CLKOUT, adică 300ns pentru TMS320C25 care lucrează la 40MHz. După pornire vor trece câteva sute de ms înaintea stabilizării oscilatorului.Din această cauză, circuitul de pornire trebuie să genereze un "0" logic pe linia dereset până când oscilatorul se stabilizează (100 - 200 ms). Tensiunea de pe pinulRS este controlată de reţeaua R1C1. După resetare, această tensiune creşteexponenţial în acord cu constanta de timp a circuitului R1C1.

Durata t1 este timpul cât există "0" logic pe RS, timp în care condensatorul C1 seîncarcă la 1,5V. Aceasta este tensiunea aproximativă la care intrarea de reset treceîn "1" logic. Tensiunea condensatorului este dată de o funcţie exponenţială din carerezultă valorile pentru condensator şi rezistor.

De exemplu, R1 = 1M, C1 = 0,47µF, Vcc = 5V, V = V1 = 1,5V. Rezultă t = t1 =167ms. În acest caz, circuitul de resetare poate genera "0" logic pe o duratăsuficientă pentru a asigura stabilizarea oscilatorului după pornirea circuitului.

5.1.2 Circuitul oscilator cu cristal de cuarţ

Acest circuit (vezi Fig.5.2) este proiectat să lucreze la 40,96 MHz. Cristalele carelucrează la frecvenţe mai mari de 30 MHz nu sunt larg răspândite, de aceea estefolosit un circuit oscilant paralel "third-overtone" care foloseşte a treia armonicăsuperioară.

Procesoare numerice de semnal - Cap. 5 3

Inversorul 74AS04 realizează o schimbare de fază de 180 de grade, necesarăoscilatorului paralel. Rezistorul de 4,7K dă o reacţie negativă, ceea ce ţineoscilatorul în stare stabilă. Potenţiometrul de 10K este folosit pentru a menţinecircuitul 74AS04 în regiunea liniară.

Fig.5.2 Circuit de generare a tactului (varianta 1)

În oscilator, frecvenţa fundamentală a cristalului oscilator trebuie atenuată, fiindcăoscilatorul foloseşte a treia armonică. Acest lucru este realizat de un circuit LCcare elimină fundamentala şi lasă să treacă a treia armonică. Filtrul LC trebuie săaibă caracter inductiv în jurul fundamentalei şi caracter capacitiv în jurul armoniciia treia. Frecvenţa de rezonanţă trebuie aleasă aproximativ la jumătatea dintrefrecvenţa fundamentală şi a treia armonică. În cazul considerat: fr = 26,5 MHz, C =20pF, L = 1,8 µH.

Un alt circuit de generare a frecvenţei cerute de sistemul cu DSP este cel prezentatîn varianta 2 (Fig.5.3), care utilizează un montaj clasic şi un cuarţ pentrufundamentală. Circuitul funcţionează până la frecvenţe de 27 - 30 MHz şiutilizează inversoare Schottky (74S04). Pentru frecvenţe care nu depăşesc 20 MHzse pot folosi şi circuite TTL normale (7404).

Fig.5.3 Circuit de generare a tactului (varianta 2)

Trebuie amintită şi cea mai simplă modalitate de a realiza frecvenţa de tactnecesară DSP-ului, prin utilizarea circuitului de pe chip (pinii X1 şi X2). O schemăposibilă pentru un astfel de oscilator este dată în Fig.5.4. Riscurile acestui tip de

4 Procesoare numerice de semnal - Cap. 5

oscilator derivă din faptul că este puternic dependent de tipul de cuarţ folosit, deaceea nici producătorul nu insistă asupra lui.

Fig.5.4 Generator de tact intern

5.2 Interfaţarea memoriilor

Circuitele TMS320C2x pot fi interfaţate cu memorii PROM, EPROM şi RAMstatic. Viteza, costul şi limitările de putere determină utilizările fiecărui tip.Procesorul suportă două spaţii de memorie distincte şi separate: 64K pentruprograme şi 64K pentru date. Distincţia între cele două spaţii se face cu pinii /PS şi/DS. Un al treilea spaţiu, cel de intrare / ieşire, este de asemenea accesibil pentru ainterfaţa periferice.

Într-un ciclu de citire se pot distinge următoarele secvenţe:1) După începerea ciclului maşină, magistrala de adrese şi unul dintre semnalele

PS, DS sau IS devin valide. R/W devine "1" logic pentru a indica ciclul de citire2) STRB devine "0" în t = Q - 12ns după validarea magistralei de adrese3) În a doua jumătate a ciclului, intrarea READY va fi testată. Aceasta trebuie să

fie stabilă în mai puţin de t = Q - 20ns după ce STRB devine "0"4) Datele trebuie să fie accesibile mai repede de t = 2Q - 23ns după ce STRB

devine "0".

Pentru ciclul de scriere secvenţa va decurge în mod asemănător, cu următoarelediferenţe:1) R/W devine "0" pentru a indica scrierea2) Magistrala de date poate fi accesată aproximativ odată cu trecerea lui STRB în

"0" logic3) Magistrala de date trece în stare de impedanţă ridicată în t = Q + 15ns după ce

STRB devine "1" logic.

Procesoare numerice de semnal - Cap. 5 5

5.2.1 Interfaţarea memoriilor PROM

Memoria de program la TMS320C2x poate fi implementată utilizând memoriiPROM. Problema interfaţării poate fi rezolvată în două feluri depinzând denecesitatea introducerii stărilor de aşteptare în sistem la adresarea acestora.

Când viteza memoriilor nu necesită stări de aşteptare, READY poate fi trecut în"1", iar interfaţa la PROM are o conexiune directă. În acest caz, nu mai estenecesară decodificarea adresei dacă sistemul necesită numai un paţiu mic dememorie.

Când unele memorii din sistem cer stări de aşteptare, trebuie realizată odecodificare a adresei acestora pentru a se face distincţie de alte tipuri de memoriicu timpi de acces diferiţi. În acest caz trebuie asigurat un semnal READY validconform cerinţelor DSP-ului. Exemple de sisteme proiectate în cele două cazurisunt date în Fig.5.5 şi Fig.5.7.

Fig.5.5 Interfaţarea directă a circuitelor PROM

Fig.5.6 Diagrama de timp a interfaţării TBP38L165-35 la TMS320C25

6 Procesoare numerice de semnal - Cap. 5

Circuitul TMS320C25 aşteaptă ca data să fie validată în mai puţin de 20 - 23 nsdupă ce STRB devine "0". Timpul de acces pentru circuitul TBP38L165-35 este de35ns pentru adrese şi 20ns pentru intrarea de validare circuit. Procesorul treceadresele în stare validă în minimum t = Q - 12ns = 13ns înainte ca STRB să fie "0".Datele apar pe magistrala de date în 27ns după ce STRB devine "0".

Următoarele figuri sugerează modalităţi de decodificare a adreselor când seutilizează memorii PROM. Fig.5.7 prezintă o schemă care utilizează un circuitdecodificator de adresă pentru a genera semnalul READY şi un al doilea circuitdecodificator de adresă pentru validarea diferitelor bancuri de memorie. În schemă,memoria activă este implementată în jumătatea de sus (32K high) a spaţiului deprogram. Jumătatea de jos este utilizată pentru memorii cu una sau mai multe stăride aşteptare. Adresa decodată este implementată de 74AS138. Acesta separăspaţiul program în 8 segmente de 8K fiecare. Primele 4 dintre acestea (32K -spaţiul de adresă) sunt validate de ieşirile Y0, Y1, Y2 şi Y3 ale 74AS138. Acesteieşiri sunt utilizate pentru memorii cu una sau mai multe stări de aşteptare.Celelalte 4 ieşiri selectează memoria fără stări de aşteptare.

Fig.5.7 Interfaţarea PROM la TMS320C25

Trebuie notat faptul că în Fig.5.7, R/W este utilizat pentru validarea 74AS138.Acest lucru previne conflictul de magistrală care poate apare la scrierea înmemoria PROM.

Fig.5.8 arată diagramele de timp ale circuitului din Fig.5.7. READY trece sus la10ns (în cel mai defavorabil caz) după ce adresa devine validă.

Procesoare numerice de semnal - Cap. 5 7

Fig.5.8 Interfaţarea TBP38L165-35 cu TMS320C25(decodificarea adreselor)

5.2.2 Generatorul de stări de aşteptare

Intrarea READY a procesorului TMS320C2x permite interfaţarea cu memorii şiperiferice cu un timp de acces mai mare, nerealizabil într-un singur ciclu. Numărulde cicluri în memorie sau accesul I/O este determinat de starea intrării READY.Dacă READY este în starea high, accesul la memorie se termină pe frontul căzătoral CLKOUT1. Dacă este low, ciclul memorie se va extinde pe durata unui ciclumaşină şi toate celelalte semnale rămân valide. Fig.5.9 arată succesiunea în timp asemnalelor la accesarea memoriei cu o stare de aşteptare. Trebuie notat că pentruprograme situate în memoria internă de pe circuit, la accesarea datelor din memorieintrarea READY este ignorată.

Fig.5.9 Accesarea memoriei cu o stare Wait

8 Procesoare numerice de semnal - Cap. 5

Generarea automată a unei singure stări de aşteptare poate fi realizată prin folosireasemnalului MSC şi a unui dintre semnalele /PS, /DS, /IS. Ieşirea MSC estemenţinută în "0" pe durata CLKOUT1 pentru a indica începutul unei operaţii deI/O (Fig.5.9).

O alternativă pentru generarea stării de aşteptare este un generator de stări deaşteptare. În această schemă, READY trebuie să fie valid ("1" sau "0") într-un timpmai scurt de Q - 20ns = 5ns după trecerea în "0" a /STRB.

Dacă READY este în starea "1", accesul memorie / periferice este realizat în ciclulmaşină în curs. Dacă READY este "0", accesul se va extinde în ciclul maşinăurmător. Numărul stărilor de aşteptare cerut depinde de timpul de acces t. Dacă t <40ns, nu se cer stări de aşteptare. Dacă 40ns < t < 140ns, trebuie introdusă o starede aşteptare. În general, N stări de aşteptare sunt cerute pentru acces dacă timpii deacces (t) ai circuitelor interfaţate sunt:

(la TMS320C25) (100(N-1)+40)ns < (100N+40)nsExemple de generatoare de stări de aşteptare şi diagramele de timpcorespunzătoare sunt date în Fig.5.10a, Fig.5.10b şi Fig.5.11.

Fig.5.10a Circuit de introducere de stări de WAIT (varianta 1)

Fig.5.10b Circuit de introducere de stări de WAIT (varianta 2)

Procesoare numerice de semnal - Cap. 5 9

Fig.5.11 Diagrama de timp a generatorului de stări de WAIT (varianta 1)

În cazul unei singure stări de aşteptare, intervalul t1 din Fig.5.11 este durata în careadresa validă de pe magistrală selectează dispozitivul pentru cererea stării deaşteptare. Pentru implementarea a două stări de aşteptare, este utilizat un al doileabistabil. Acesta va întârzia trecerea lui READY în "1" cu un ciclu (vezi Fig.5.11).Dacă sunt cerute mai multe stări de aşteptare, trebuie incluse bistabile suplimentareîn schemă.

5.2.3 Interfaţarea memoriilor EPROM

Memoriile EPROM pot fi utilizate pentru dezvoltarea algoritmilor specificiprocesorului TMS320C2x în cursul realizării prototipurilor. Sunt posibile douătipuri de interfaţare la EPROM: interfaţă directă pentru un EPROM care nu solicităstări de aşteptare şi interfeţe la EPROM care necesită una sau 2 stări de aşteptare.

EPROM TMS27C292-35 de 2K pe 8 biţi se poate interfaţa direct cu procesorulTMS320C25 fără a necesita stări de aşteptare fiind un EPROM CMOS cu timp deacces de 35ns pentru validarea adresei şi 25ns pentru CS.

Dacă se utilizează un EPROM mai lent, care este şi mai ieftin, se poate folosipentru generarea uneia sau mai multor stări de aşteptare un circuit adecvat (vezi§5.2.2). Fig.5.12 prezintă o interfaţă la un EPROM WS57C64F-12 cu o stare deaşteptare. Acest circuit este varianta mai lentă a circuitului WS57C64F din seriaEPROM. Fig.5.13 arată succesiunea în timp a semnalelor caracteristice. În Fig.5.14este indicată interfaţarea la un EPROM CMOS de 8K pe 8 biţi TMS27C64-20, uncircuit cu timp de acces de 200ns, folosind două stări de aşteptare. Succesiuneasemnalelor este prezentată în Fig.5.15.

10 Procesoare numerice de semnal - Cap. 5

Fig.5.12 Interfaţarea circuitelor EPROM de tip WS57C64F-12

Fig.5.13 Interfaţarea WS57C65F-12 cu TMS320C25

Procesoare numerice de semnal - Cap. 5 11

Fig.5.14 Interfaţarea TMS27C64-20 la TMS320C25

Fig.5.15 Interfaţarea TMS27C64-20 cu TMS320C25

5.2.4 Interfaţarea RAM static

Interfaţarea procesorului TMS320C2x cu un RAM static exterior poate fi utilăpentru a extinde memoria de date internă sau implementarea memoriei de programadiţionale. Circuitele RAM static pot fi folosite şi pentru a extinde memoria internăde 544 cuvinte.

RAM-ul static folosit în acest exemplu este circuitul CY7C169-25 de 4K pe 4 biţi.Acest circuit are un timp de acces pentru date de t(A) = 25ns şi t(CE) = 15nspentru validarea circuitului. Aceste intervale sunt destul de scurte pentru a nunecesita folosirea generatorului de stări de aşteptare.

12 Procesoare numerice de semnal - Cap. 5

Schema din Fig.5.16 este asemănătoare cu cele prezentate în §5.2.1 şi §5.2.2. Înschemă, RAM-ul fără stare de aşteptare se află în jumătatea de jos (sub 32K) a luiTMS320C25, iar jumătatea superioară din spaţiul de date este folosită pentru RAMcu una sau mai multe stări de aşteptare. În Fig.5.17 este prezentată succesiuneasemnalelor în timp.

Fig.5.16 Interfaţarea CY7C169-25 la TMS320C25

Fig.5.17 Interfaţarea CY7C169-25 cu TMS320C25