Sunteți pe pagina 1din 12

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.

Procesoare numerice de semnal - Cap. 5 1


5.1.1 Circuitul de resetare la punerea sub tensiune

Acest circuit asigură resetarea lui TMS320C2x în momentul aplicării tensiunii de


alimentare. În schemă este inclus şi un circuit de eliminare a oscilaţiilor
contactelor. 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 timpul


ultimelor 3 cicluri CLKOUT, adică 300ns pentru TMS320C25 care lucrează la 40
MHz. 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 de
reset până când oscilatorul se stabilizează (100 - 200 ms). Tensiunea de pe pinul
RS este controlată de reţeaua R1C1. După resetare, această tensiune creşte
exponenţ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 care
rezultă 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 care
lucrează la frecvenţe mai mari de 30 MHz nu sunt larg răspândite, de aceea este
folosit un circuit oscilant paralel "third-overtone" care foloseşte a treia armonică
superioară.
2 Procesoare numerice de semnal - Cap. 5
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 ţine
oscilatorul în stare stabilă. Potenţiometrul de 10K este folosit pentru a menţine
circuitul 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 LC
care elimină fundamentala şi lasă să treacă a treia armonică. Filtrul LC trebuie să
aibă caracter inductiv în jurul fundamentalei şi caracter capacitiv în jurul armonicii
a treia. Frecvenţa de rezonanţă trebuie aleasă aproximativ la jumătatea dintre
frecvenţ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ţ pentru
fundamentală. Circuitul funcţionează până la frecvenţe de 27 - 30 MHz şi
utilizează inversoare Schottky (74S04). Pentru frecvenţe care nu depăşesc 20 MHz
se 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 tact


necesară 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

Procesoare numerice de semnal - Cap. 5 3


oscilator derivă din faptul că este puternic dependent de tipul de cuarţ folosit, de
aceea 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 RAM


static. Viteza, costul şi limitările de putere determină utilizările fiecărui tip.
Procesorul suportă două spaţii de memorie distincte şi separate: 64K pentru
programe ş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 a
interfaţ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 citire
2) STRB devine "0" în t = Q - 12ns după validarea magistralei de adrese
3) Î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ătoarele


diferenţe:
1) R/W devine "0" pentru a indica scrierea
2) Magistrala de date poate fi accesată aproximativ odată cu trecerea lui STRB în
"0" logic
3) Magistrala de date trece în stare de impedanţă ridicată în t = Q + 15ns după ce
STRB devine "1" logic.

4 Procesoare numerice de semnal - Cap. 5


5.2.1 Interfaţarea memoriilor PROM

Memoria de program la TMS320C2x poate fi implementată utilizând memorii


PROM. Problema interfaţării poate fi rezolvată în două feluri depinzând de
necesitatea 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 este
necesară decodificarea adresei dacă sistemul necesită numai un paţiu mic de
memorie.

Când unele memorii din sistem cer stări de aşteptare, trebuie realizată o
decodificare a adresei acestora pentru a se face distincţie de alte tipuri de memorii
cu timpi de acces diferiţi. În acest caz trebuie asigurat un semnal READY valid
conform cerinţelor DSP-ului. Exemple de sisteme proiectate în cele două cazuri
sunt 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


Procesoare numerice de semnal - Cap. 5 5
Circuitul TMS320C25 aşteaptă ca data să fie validată în mai puţin de 20 - 23 ns
după ce STRB devine "0". Timpul de acces pentru circuitul TBP38L165-35 este de
35ns pentru adrese şi 20ns pentru intrarea de validare circuit. Procesorul trece
adresele î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 se


utilizează memorii PROM. Fig.5.7 prezintă o schemă care utilizează un circuit
decodificator de adresă pentru a genera semnalul READY şi un al doilea circuit
decodificator de adresă pentru validarea diferitelor bancuri de memorie. În schemă,
memoria activă este implementată în jumătatea de sus (32K high) a spaţiului de
program. Jumătatea de jos este utilizată pentru memorii cu una sau mai multe stări
de 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. Aceste
ieş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 în
memoria PROM.

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

6 Procesoare numerice de semnal - Cap. 5


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 şi


periferice cu un timp de acces mai mare, nerealizabil într-un singur ciclu. Numărul
de 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ător
al CLKOUT1. Dacă este low, ciclul memorie se va extinde pe durata unui ciclu
maşină şi toate celelalte semnale rămân valide. Fig.5.9 arată succesiunea în timp a
semnalelor la accesarea memoriei cu o stare de aşteptare. Trebuie notat că pentru
programe situate în memoria internă de pe circuit, la accesarea datelor din memorie
intrarea READY este ignorată.

Fig.5.9 Accesarea memoriei cu o stare Wait


Procesoare numerice de semnal - Cap. 5 7
Generarea automată a unei singure stări de aşteptare poate fi realizată prin folosirea
semnalului MSC şi a unui dintre semnalele /PS, /DS, /IS. Ieşirea MSC este
menţinută în "0" pe durata CLKOUT1 pentru a indica începutul unei operaţii de
I/O (Fig.5.9).

O alternativă pentru generarea stării de aşteptare este un generator de stări de


aşteptare. În această schemă, READY trebuie să fie valid ("1" sau "0") într-un timp
mai scurt de Q - 20ns = 5ns după trecerea în "0" a /STRB.

Dacă READY este în starea "1", accesul memorie / periferice este realizat în ciclul
maş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 stare
de aşteptare. În general, N stări de aşteptare sunt cerute pentru acces dacă timpii de
acces (t) ai circuitelor interfaţate sunt:
(la TMS320C25) (100(N-1)+40)ns < (100N+40)ns
Exemple de generatoare de stări de aşteptare şi diagramele de timp
corespunză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)


8 Procesoare numerice de semnal - Cap. 5
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 care
adresa validă de pe magistrală selectează dispozitivul pentru cererea stării de
aşteptare. Pentru implementarea a două stări de aşteptare, este utilizat un al doilea
bistabil. 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 specifici


procesorului 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 procesorul


TMS320C25 fără a necesita stări de aşteptare fiind un EPROM CMOS cu timp de
acces de 35ns pentru validarea adresei şi 25ns pentru CS.

Dacă se utilizează un EPROM mai lent, care este şi mai ieftin, se poate folosi
pentru 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 de
aşteptare. Acest circuit este varianta mai lentă a circuitului WS57C64F din seria
EPROM. Fig.5.13 arată succesiunea în timp a semnalelor caracteristice. În Fig.5.14
este indicată interfaţarea la un EPROM CMOS de 8K pe 8 biţi TMS27C64-20, un
circuit cu timp de acces de 200ns, folosind două stări de aşteptare. Succesiunea
semnalelor este prezentată în Fig.5.15.

Procesoare numerice de semnal - Cap. 5 9


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

Fig.5.13 Interfaţarea WS57C65F-12 cu TMS320C25

10 Procesoare numerice de semnal - Cap. 5


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 program
adiţ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) = 15ns
pentru validarea circuitului. Aceste intervale sunt destul de scurte pentru a nu
necesita folosirea generatorului de stări de aşteptare.
Procesoare numerice de semnal - Cap. 5 11
Schema din Fig.5.16 este asemănătoare cu cele prezentate în §5.2.1 şi §5.2.2. În
schemă, RAM-ul fără stare de aşteptare se află în jumătatea de jos (sub 32K) a lui
TMS320C25, iar jumătatea superioară din spaţiul de date este folosită pentru RAM
cu una sau mai multe stări de aşteptare. În Fig.5.17 este prezentată succesiunea
semnalelor în timp.

Fig.5.16 Interfaţarea CY7C169-25 la TMS320C25

Fig.5.17 Interfaţarea CY7C169-25 cu TMS320C25

12 Procesoare numerice de semnal - Cap. 5

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

  • Cap 43
    Cap 43
    Document10 pagini
    Cap 43
    api-3725868
    Încă nu există evaluări
  • Cap 22
    Cap 22
    Document12 pagini
    Cap 22
    api-3725868
    Încă nu există evaluări
  • Aplicatii DSP
    Aplicatii DSP
    Document12 pagini
    Aplicatii DSP
    Corpaci Petrica
    Încă nu există evaluări
  • Cuprins
    Cuprins
    Document4 pagini
    Cuprins
    api-3725868
    Încă nu există evaluări
  • Cap 42
    Cap 42
    Document18 pagini
    Cap 42
    api-3725868
    Încă nu există evaluări
  • Cap 44
    Cap 44
    Document14 pagini
    Cap 44
    api-3725868
    Încă nu există evaluări
  • Cap 4
    Cap 4
    Document10 pagini
    Cap 4
    api-3725868
    100% (1)
  • Cap 21
    Cap 21
    Document10 pagini
    Cap 21
    api-3725868
    100% (1)
  • Cap 41
    Cap 41
    Document12 pagini
    Cap 41
    api-3725868
    Încă nu există evaluări
  • Cap 1
    Cap 1
    Document5 pagini
    Cap 1
    api-3725868
    50% (2)
  • Pns c8
    Pns c8
    Document23 pagini
    Pns c8
    api-3725868
    Încă nu există evaluări
  • PNS C2
    PNS C2
    Document28 pagini
    PNS C2
    api-3725868
    100% (1)
  • Pns c9
    Pns c9
    Document25 pagini
    Pns c9
    api-3725868
    Încă nu există evaluări
  • Pns c6
    Pns c6
    Document30 pagini
    Pns c6
    api-3725868
    Încă nu există evaluări
  • Pns c5
    Pns c5
    Document38 pagini
    Pns c5
    api-3725868
    Încă nu există evaluări
  • Cap 2
    Cap 2
    Document10 pagini
    Cap 2
    Maria Botnari
    Încă nu există evaluări
  • PNS C7
    PNS C7
    Document25 pagini
    PNS C7
    api-3725868
    100% (1)
  • Pns c3
    Pns c3
    Document35 pagini
    Pns c3
    api-3725868
    Încă nu există evaluări
  • Pns c4
    Pns c4
    Document16 pagini
    Pns c4
    api-3725868
    Încă nu există evaluări
  • PNS C1
    PNS C1
    Document37 pagini
    PNS C1
    api-3725868
    100% (3)
  • Pns c10
    Pns c10
    Document28 pagini
    Pns c10
    api-3725868
    Încă nu există evaluări
  • PNS C11
    PNS C11
    Document26 pagini
    PNS C11
    api-3725868
    100% (1)
  • Pns c9
    Pns c9
    Document25 pagini
    Pns c9
    api-3725868
    Încă nu există evaluări
  • PNS C11
    PNS C11
    Document26 pagini
    PNS C11
    api-3725868
    100% (1)
  • PNS C7
    PNS C7
    Document25 pagini
    PNS C7
    api-3725868
    100% (1)
  • Pns c8
    Pns c8
    Document23 pagini
    Pns c8
    api-3725868
    Încă nu există evaluări
  • Pns c4
    Pns c4
    Document16 pagini
    Pns c4
    api-3725868
    Încă nu există evaluări
  • Pns c6
    Pns c6
    Document30 pagini
    Pns c6
    api-3725868
    Încă nu există evaluări
  • Pns c5
    Pns c5
    Document38 pagini
    Pns c5
    api-3725868
    Încă nu există evaluări