. Generatoare de Functii. Considerente Legate de Proiectarea Antipertubativa a Cablajelor Imprima
2. Studiu bibliografic
Generatoarele de semnale sunt aparate electronice care, în laboratoarele de măsurări electronice, sunt utilizate ca surse de tensiune variabile în timp, cu o anumită formă de undă și cu nivel și frecventă reglabile. În esența lor, generatoarele de semnal conțin circuite electronice care transformă energia furnizată de sursa de curent continuu (de alimentare, Ea) în energie de curent alternativ furnizată la ieșirea aparatului, într-un singur punct (la borne), cu semnalul eg(t + kT), reglabil într-un anumit domeniu de frecvențe (f= 1/T).
Sunt denumite generatoare de semnale datorită faptului că, în cazul acestor aparate, accentul nu se pune pe randamentul conversiei energiei electrice, ci pe calitățile formei de undă a semnalului de curent alternativ.
Un prim criteriu de clasificare a generatoarelor de semnal se referă la forma de undă a semnalului de la bornele de ieșire; în funcție de acest criteriu există următoarele generatoare:
sinusoidale sau armonice, când forma de undă a semnalului produs este sinusoidală;
de semnale liniar variabile, când forma de undă este liniar crescatoare în timpul cursei active (crescătoare) și cu pantă mare de cădere in timpul cursei inverse (descrescătoare);
de semnale dreptunghiulare:
de semnale triunghiulare;
de semnale trapezoidale;
de semnale cu forme de undă specifice unei anume aplicații (spre exemplu, de semnale dreptunghiulare defazate în timp – în cazul circuitelor de sincronizare a funcționării calculatoarelor electronice).
De notat este că nu există un criteriu unic de calitate pentru toate formele de undă generate, fiecare având definite mărimi specifice care, in fond, exprimă cât de bine aproximează forma de undă de la ieșirea generatorului modelul matematic al oscilației impuse de proces.
Pe langă calitatea formei de undă, alt criteriu de calitate se referă la stabilitatea oscilației, in condițiile în care asupra sistemului acționeaza perturbații (cele mai importante perturbații constau în modificarea valorii tensiunii de alimentare a sursei de curent continuu și/sau in modificarea temperaturii la care funcționează circuitul).Un al doilea criteriu de clasificare al generatoarelor ia în considerație principiul de funcționare. Din acest punct de vedere generatoarele de semnal pot fi:
parametrice, atunci când generatorul conține un dispozitiv neliniar a cărui caracteristică statică are o zonă cu panta negativă (spre exemplu dioda tunel);
cu amplificator, în cazul în care generatorul conține unul sau mai multe circuite de amplificare prevăzute cu reacții pozitive și negative (selective sau nu).
Se pot evidenția și alte criterii de clasificare care să exprime limitările în funcționare (spre exemplu domeniul de frecvență) impuse de circuitele cu care au fost implementate sau de circuitul pe care îl deservesc.
În primul rând, generatorul de semnal trebuie să îndeplinească condițiile impuse de sistemele cu care este interconectat în scopul realizării măsurării, condiții care se referă, de cele mai multe ori, la urmatoarele aspecte:
precizia formei de undă;
amplitudinea semnalului generat;
stabilitatea oscilației;
necesitatea modificării amplitudinii semnalului, a frecvenței de oscilație sau a formei de undă;
funcționarea în condiții de exploatare și de mediu impuse.
În funcție de tipul generatorului, durata unui impuls poate fi cuprinsă între câteva ore și câteva nanosecunde, iar frecvența de repetiție a tensiunilor periodice poate lua valori de la câteva zeci de µHz pâna la cateva sute de MHz. Durata și frecvența de repetiție ale tensiunilor generate sunt reglabile între anumite limite, raportul între valoarea maximă și cea minimă fiind de la 102 la 1010.
În această lucrare se dorește o abordare inedită în domeninul generatoarelor de semnal, prin proiectarea unui generator de funcții arbitrare, adică fiecare punct de pe forma de undă ce se dorește a fi generată se poate defini sau modifica de către utilizator. Rezoluția propusă pe verticală, de 16 biți oferă suficientă precizie oricărei aplicații, iar frecvența de reîmprospătare a eșantioanelor de până la 30 megaeșantioane pe secundă oferă un raport frecvență/număr de eșantioane pe perioadă rezonabil.
3. Fundamentarea teoretică
3.1. Schema bloc a sistemului propus
Figura 3.1.1.Schema bloc a generatorului de funcții
Generatorul de funcții este construit în jurul microcontrolerului C167, care va coordona toate blocurile funcționale ale sistemului, ca în figura 3.1.1.
Generarea semnalului de ieșire se face prin transformarea eșantioanelor conținute de memoria RAM în trepte de semnal analogic, a căror succesiune va determina forma semnalului de ieșire. Frecvența semnalului analogic se poate determina în două feluri: definită de utilizator sau dependentă de un semnal extern, după care se va sincroniza ieșirea. Generarea frecvenței de ceas cu care se vor genera eșantioanele ce compun semnalul de ieșire se face cu ajutorul a două surse. Prima sursă este un generator de frecvență comandat digital, care are la bază un circuit DDS (Direct Digital Synthesis) de tip AD9850. A doua sursă este un circuit de calare pe fază digital (DPLL, Digital Phase Locked Loop).
Pentru a baleia setul de eșantioane pe o perioadă a semnalului de ieșire, semnalul de ceas va incrementa un numărător. Ieșirile acestui numărător se vor folosi ca și semnal de adresă pentru memoria RAM care conține eșantioanele. Pentru a limita adresa maximă care poate fi atinsă prin incrementarea număratorului, vom folosi tehnica descrisă mai jos. Se va folosi un comparator pe 16 biți, la intrările căruia se vor lega liniile de adresă ale RAM-ului pe de o parte, iar pe de altă parte un set de semnale de la microcontrollerul C167 care reprezintă numărul de eșantioane pe perioadă. Ieșirea comparatorului va fi activă doar în momentul în care valorile prezente pe cele două intrări sunt egale. Acest semnal va fi folosit pentru resetarea numărătorului, reluând astfel numărarea de la primul eșantion din componența semnalului de ieșire și asigurând continuitatea acestuia.
Valorile eșantioanelor obținute prin baleierea adreselor memoriei RAM de la 0 până la numărul maxim specificat se vor aplica unui convertor numeric/analogic de mare viteză pe 16 biți, la ieșirea acestuia obținându-se un semnal care poate varia în amplitudine numai în domeniul precizat de capetele de scală a convertorului. Pentru a avea mai multă flexibilitate, asupra semnalului obținut la ieșirea convertorului se vor aplica două operații matematice, una de înmulțire, prin care se aduce amplitudinea la un nivel dorit și una de adunare/scădere, prin care se face o corecție a componentei de curent continuu. Sistemul dispune de două ieșiri identice Analog Out 1 și Analog Out 2, deci aceste operații vor fi efectuate pe ambele canale.
3.2. Minimodul-167
Minimodul-167 este un modul de dezvoltare care conține microcontrolerul C167, precum și circuite aferente acestuia, cum ar fi memoria de date, memoria program de tip flash, logica de decodare pentru memorii, circuite de reset, ceas de timp real și interfața RS232. Pe lângă acestea, pinii controlerului sunt disponibili pe conectorii de pe minimodul pentru integrarea în aplicația utilizatorului. Această structură permite concentrarea atenției utilizatorului asupra aplicației și nu mai este necesară etapa de dezvoltare a interfețelor microcontrolerului cu exteriorul. Schema bloc a minimodulului se regăsește în figura 3.2.1.
Figura 3.2.1. Schema bloc a minimodulului
Modulul conține:
sursă de tact de 20MHz pentru microcontrolerul C167,
2MB de memorie RAM statică, folosită ca și memorie de date,
2MB de memorie Flash, folosită ca și memorie program,
interfață dublă RS232
plachetă de 55*85mm cu conectori, care permite amplasarea modului în aplicație ca un circuit integrat.
Memoria este conectată pe magistralele microcontrolerului în modul de adresare nemultiplexat. Memoriile (atât RAM cât și Flash) având timpi de acces de 70ns, la configurarea modului de adresare se va avea în vedere introducerea a cel puțin unei stări de WAIT. Aceste setări se vor specifica prin intermediul regtistrilor BUSCONx ai microcontrolerului C167.
Configurația pinilor pentru minimodul este redată în figura 3.2.2.
Figura 3.2.2. Configurația pinilor minimodulului
3.3. Circuite DDS
Sinteza digitală de semnal (Direct Digital Synthesis) este modalitatea de a obține pe cale digitală o anumită frecvență cu o precizie foarte mare și pură din punct de vedere al armonicilor. Reprezentarea digitală a frecvenței obținute este transformată în analogic de regulă prin folosire unui convertor numeric/analogic de mare viteză și mare precizie, semnalul obținut fiind de obicei de formă sinusoidală, sau sumă de componente sinusoidale. Din moment ce ieșirea circuitelor DDS este controlată digital, funcționalitatea acestora poate fi ușor modificată prin intermediul software-ului de aplicație, acest lucru oferind un avantaj enorm față de toate celelalte metode de sinteză de semnal. Deși limitat de criteriul lui Nyquist, circuitele DDS permit obținerea unor rezoluții de ordinul miliherților sau pentru frecvența de ieșire.
Circuitele DDS funcționează pe baza principiului că o formă de undă digitizată de o anumită frecvență se poate genera prin adunarea schimbărilor de fază a unei frecvențe mai mari. Conform teoriei eșantionării frecvența generată în acest fel nu poate fi mai mare de jumătate din frecvența de la care se pornește.
Figura 3.3.1. arată faza acumulată pentru un semnal sinusoidal cu frecvența de 8 ori mai mică decât a semnalului de referință. Pe cercul din figură s-au reprezentat valorile fazei la anumite momente de timp, acestea reflectându-se în domeniul amplitudine pe semnalul sinusoidal rezultat. Pentru transformarea valorilor fazei în valori ale amplitudinii se folosește de regulă o tabelă de căutare, care va conține valorile discrete ale amplitudinii aferente fiecărui defazaj posibil ce se poate obține cu ajutorul circuitului DDS utilizat. În cazul exemplificat aici, la fiecare perioadă a semnalului de referință acumulatorului de fază i se va adăuga o valoare corespunzătoare defazajului π/4.
Figura 3.3.1.Corespondența fază-amplitudine la DDS
Valoarea fazei, memorată într-un registru-frecvență se adună la valoarea unui acumulator de fază o dată la fiecare perioadă a semnalului de referință. Faza rezultată, cu valori în domeniul 0 – 2π este aplicat tabelei de căutare. Această tabelă transformă valoarea fazei în amplitudinea corespunzătoare a sinusoidei de ieșire, care se aplică unui convertor numeric/analogic.
Pentru a obține o anumită frecvență de ieșire, incrementul de fază aferent acesteia se va încărca în registrul-frecvență. Frecvența de ieșire (Fout) și frecvența de referință (Fclk) sunt legate de incrementul de fază prin următoarea ecuație:
Ecuația 3.3.1.
Unde N este numărul de biți din acumulatorul de fază. Utilizând această formulă putem obține cu exactitate frecvența de ieșire propusă. De exemplu, pentru un tact de referință de 30MHz, dacă se dorește o frecvență de ieșire de 7,5MHz, cu un acumulator de fază pe 32 de biți, obținem:
Ecuația 3.3.2.
Astfel, se poate obține orice frecvență în limita rezoluției acumulatorului de fază. Rezoluția în frecvență se poate determina cu ajutorul formulei:
Ecuația 3.3.3.
Unde
Fclk – frecvența de referință
N – numărul de biți din acumulatorul de fază
Fiecare valoare a fazei este transformată în domeniul analogic de către un convertor numeric/analogic. Ieșirea acestui convertor are ca și componentă fundamentală frecvența de ieșire dorită, dar include și componente imagine ale acesteia datorită conversiei unei forme de undă eșantionate. Pentru a înlătura aceste componente se va folosi un filtru trece jos la ieșirea convertorului. Frecvența de tăiere a acestui filtru trebuie să fie mai mică sau egală decât jumătatea frecvenței de eșantionare.
În aplicația noastră propunem folosirea unui circuit DDS de tipul AD9850. Acesta are posibilitate de tipul AD9850. Acesta are posibilitatea de a genera frecvențe pure din punct de vedere spectral, în condițiile în care sursa de tact de referință este stabilă. Ieșirea sinusoidală dată de AD9850 poate fi folosită ca atere pentu anumite aplicații, sau se poate opta pentru transformarea acestuia în semnal dreptunghiular. Rezoluția registrului de fază de 32 biți permite obținerea unei rezoluții în frecvență de 0,0291Hz la frecvența maximă acceptabilă pe intrarea de tact referință, 125MHz. Frecvența maximă ce se poate obține cu ajutorul acestui circuit este de 62,5MHz. Frecvența se poate modifica asincron, cu o rată de până la 23*106 de ori pe secundă. O altă caracteristică importantă a circuitului AD9850 este posibilitatea de a seta faza semnalului de ieșire, în pași de 180, 90, 45, 22,5 și 11,25 grade sau combinații ale acestor valori.Rezoluția converotrului numeric/analogic folosit pentru generarea semnalului sinusoidal de ieșire este de 10 biți (vezi figura 3.3.2.). Circuitul mai conține și un comparator de mare viteză, care se va folosi în aplicațiile în care avem nevoie de semnale de ieșire dreptunghiulare.
Figura 3.3.2.Schema bloc a lui AD9850
AD9850 dispune de două tiupri de interfață pentru încărcarea informațiilor de configurare, una de tip serial și una de tip paralel.
3.4. Circuite cu calare pe fază (PLL)
Primul circuit PLL a fost introdus de cercetătorul francez Bellescize în 1932. Acestea își au locul în diverse aplicații, cum ar fi cele pentru sincronizarea unor semnale, refacerea unei purtătoare, multiplicare sau divizare de frecvență, demodulare. Primele circuite PLL au fost implementate cu componente discrete, apoi au fost încorporate în circuite integrate. Acum putem deosebi circuite PLL analogice, digitale și pur digitale. Acestea au în spate aceleași concepte de bază și au aceeași structură.
Un PLL are în componentță trei componente principale:
1. Detectorul de fază (sau circuitul de înmulțire)
2. Filtrul buclei
3. Oscilatorul comandat în tensiune
Detectorul de fază este în principiu un circuit de înmulțire. Acestuia i se asociază și o amplificare, ce o vom nota cu Km.
Fie două semanle sinusoidale s1(t) și s2(t). Ambele vor avea aceeași frecvență, dar vor fi defazate între ele cu 90°.
Ecuația 3.4.1.
Înmulțind aceste semnale, obținem:
Ecuația 3.4.2.
Unde Km este amplificarea asociată circuitului de înmulțire. Făcând calculele, ajungem la forma:
Ecuația 3.4.3.
În această formă putem observa că rezultatul înmulțirii celor două semnale are două componente, una dependentă doar de diferența de fază dintre cele două semnale, cealaltă dependentă de frecvența celor două semnale. Pentru noi partea importantă este cea referitoare la diferența de fază dintre cele două semnale, dat fiind faptul că urmărim obținerea unui bloc comparator de fază. Componenta care conține informația referitoare la frecvențele semnalelor se va elimina cu ajutorul unui filtru trece jos.
Dacă unul din semnalele analizate mai sus se va înlocui cu un semnal de intrare de referință iar celălalt cu semnalul dat de un oscilator local, cele două semnale se pot aduce la sincronism prin folosirea semnalului diferență de fază la compensarea în frecvență a oscilatorului local, ca în figura 3.4.1.
Figura 3.4.1.Schema bloc a unui PLL
Semnalul de la ieșirea filtrului trece-jos se va numi semnal de eroare, deoarece reprezintă diferența dintre faza la care se află în momentul de față semnalul dat de oscilatorul comandat în tensiune și faza la care trebuie să ajungă. Se dorește ca acest semnal de eroare să aibe valoare nulă. Din moment ce semnalul de intrare nu poate fi modificat, se va trece la modificarea fecvenței de la ieșirea oscilatorului comandat în tensiune. Acesta va avea o frecvență de lucru de bază când tensiunea de comandă aplicată la intrare este nulă. Aplicarea unei tensiuni diferite de 0 ca avea ca efect modificare frecvenței de lucru. Factorul care definește în ce măsură frecvența de ieșire variază cu tensiunea de comandă se numește sensibilitatea OCT (Oscilator Comandat în Tensiune). Acesta se poate exprima ca fiind:
Ecuația 3.4.4.
Astfel, putem scrie că frecvența de ieșire a oscilatorului comandat în tensiune va fi:
Ecuația 3.4.5.
Cunoscând faptul că pentru un semnal periodic, frecvența acestuia reprezintă rata schimbării fazei acestuia în perioade de 2π, putem scrie:
Ecuația 3.4.6.
de unde faza se poate scrie ca integrala frecvenței pe o perioadă de timp:
Ecuația 3.4.7.
Aceaste relații sunt valabile pentru toate semnalele periodice, chiar și cele nesinusoidale.
Dacă descriem un semnal periodic cu ajutorul formulei:
Ecuația 3.4.8.
faza semnalului de reacție se poate scrie:
Ecuația 3.4.9.
Atâta vreme cât semnalul de eroare are o valoare nenulă faza OCT va crește până în momentul în care acesta va deveni nulă. Înlocuind rezultatul obținut mai sus în expresia semnalului de eroare, obținem:
Ecuația 3.4.10.
Dacă presupunem φ1≈ φ2, rezultă:
Ecuația 3.4.11.
Unde Se este valoarea lui se(t) la momentul t.
Atât timp semnalul de eroare este prezent, faza va crește liniar. Odată cu reglarea fazei valoarea semnalului de eroare va fi mai mică, până la atingerea valorii 0.
În cazul sistemului nostru, unde este nevoie de urmărirea unei frecvențe într-o gamă foarte largă, subsistemul PLL va fi compus din mai multe blocuri, prin intermediul cărora se face sincronizarea în mai mulți pași. Astfel, primul pas va fi aflarea aproximativă a valorii frecvenței de referință pentru setarea brută a frecvenței de lucru a oscilatorului local. Apoi se va trece la calarea pe fază propriu-zisă.
Cel mai important element folosit în circuitul PLL din sistemul propus circuitul integrat MAX038.
MAX038 e un generator de funcții versatil, care poate funcționa la frecvențe înaltă generând frecvențe triunghiulare, impulsuri dinte de fierăstrău ,sinusoidale și dreptunghiulare, impulsuri cu un minim de componente externe. Frecvența de ieșire poate fi controlată între 0,1Hz și 20MHz, cu ajutorul unei referințe de tensiune cu bandă interzisă de 2,5 V, un rezistor și un capacitor extern. Frecvența poate să varieze pe un interval mare după aplicarea a ±2,3V pe unul din pinii de control.
Semnalul de ieșire pentru toate formele de undă este de 2Vpp care este simetric față de 0. Având o impedață de ieșire redusă, MAX038 poate da la ieșire ±20mA.
Ieșirea SYNC a comaptibilă TTL de la oscilatorul intern menține la 50% factorul de umplere, neglijând setările pentru factorul de umplere de la ieșirea analogică, sincronizând alte dispozitive în sistem.
MAX038 operează cu o tensiune de ±5V, simetrică față de o masă de referință. Oscilatorul se bazează pe principiul oscilatorului de relaxare care operează alternativ cu încărcarea și descărcarea capacității, CF, cu curent constant facând posibilă producerea simultană a semnalului triunghiular și a semnalului dreptunghiular.Încărcarea și descărcarea condensatorului este controlată de curentul prin pinul IIN și este modulat de tensiunea aplicată la FADJ și DADJ. Curentul în IIN poate fi variat de la 2μA la 75μA, producând mai mult în cele două decade ale frecvenței pentru orice valoare a lui CF, aplicând ±2,4V la FADJ și schimbând frecvența nominală (cu VFADJ= 0V) la ±70%; această procedură poate fi utilizată pentru un bun control.
Factorul de umplere poate fi controlată de la 10%până la 90%, aplicând ±2,3Vla DADJ.
Figura 3.4.2.Schema bloc a lui MAX038
Tensiunea de referință stabilă 2,5V, permite determinarea implă a lui IIN; FADJ sau DADJ asupra fixării rezistorului și permite ajustarea operațiilor când potențiometrele sunt conectate de la fiecare al acestor intrări la REF. FADJ și/sau DADJ pot fi pământate,producând frecvența nominală la 50% frecvența de lucru.
Frecvența de ieșire este invers proporțională cu capacitatea CF. Valoare CF poate fi selectată să producă frecvențe mai ales de 20 MHz.
Un circuit de modelare sinusoidală transformă undele triunghiulare în unde sinusoidale fără distorsiuni cu amplitudine constantă. Undele triunghiulare, dreptunghiulare și sinusoidale sunt introduse într-un multiplexor. Amândouă linii de adrese A0 și A1 care din aceste trei unde este selectată. Ieșirea amplificatorului produce o constantă de amplitudine 2 VPP (±1V) indiferent de forma de undă a frecvenței.
Unda triunghiulară este deasemenea trimisă la comparator care produce o undă dreptunghiulară cu viteză mare, forma de undă SYNC poate fi utilizată să sincronizeze alte oscilații. Circuitul SYNC separă comanda puterii de alimentare și poate fi nevalidată.
Alte doua faze în cuadratură ale undelor dreptunghiulare sunt generate în oscilatorul principal și trimise pe o parte din faza detectorului SAU exclusiv. Pe cealaltă parte a detectorului de fază de intrare PDI poate fi conectată la un oscilator extern. Faza detectorului de ieșire PDO este sursa de curent care poate fi conectată direct la FADJ pentru sincronizarea lui MAX038 cu oscilatorul extern.
Selecția semnalului cu ajutorul liniilor de adrese A0 și A1. MAX038 poate produce oricare dintre undele sinusoidale,dreptunghiulare sau triunghiulare. TTL/CMOS-pinii adresei logice (A0,A1)
Tabelul 3.4.1.Selecția semnalelor
X – putând fi 1 sau 0
Comutarea semnalelor poate fi făcută în orice timp, în afară de ceea ce privește ieșirea fazei. Comutarea se face cu 0,3μs , dar poate să treacă până la ieșirea semnalului acesta 0,5μs întârziere.
3.5. Interfața serială asincronă RS232
RS-232 este o interfață serială asincronă (RS – Recommended Standard), cunoscută oficial ca și standardul EIA/TIA-232-E (Electronics Industry Association and Telecommunications Industry Association). Numele oficial al standardului este “Interface Between Data Terminal Equipment and Data Circuit-Termination Equipment Employing Serial Binary Data Interchange”.
RS-232 este un standard complet pentru că asigură compatibilitatea dintre perifericele interconectate prin specificarea unor parametri cum ar fi:
Nivele de tensiune
Modul de interconectare dinte periferice
Cantitatea minimă de informație pentru controlul transferului de date.
Spre deosebire de alte standarde care specifică numai nivele de semnal, RS-232 definește caracteristicile electrice, mecanice și funcționale, pentru a îndeplini condiția de standard complet.
Caracteristicile electrice ale standardului RS-232 includ specificări ale nivelului de semnal, viteza de variație a semnalelor, precum și aspecte legate de impedanța liniilor de comunicație.
Din cauză că standardul RS-232 a fost introdus în 1962, înainte de apariția circuitelor TTL, nu trebuie să ne mire faptul că nu se utilizează logica de 5V și 0V. Pragul de sus pentru tensiunea de ieșire dintr-un dispozitiv care comunică pe RS-232 este cuprinsă între +5V și +15V iar pragul de jos este cuprins între –5V și –15V. Pentru intrarea unui dispozitiv cu comunicare pe RS-232 se specifică o margine zgomot de 2V, ceea ce se traduce printr-o tensiune de intrare cuprinsă între +3V și +15V pentru tensiunea pozitivă respectiv –3V și –15V pentru tensiunea negativă. Trebuie specificat că pentru comunicarea pe RS-232 tensiunea pozitivă (+3V – +15V) reprezintă nivelul logic 0, pe când tensiunea negativă(-3V – -15V) reprezintă nivelul logic 1.
Figura 3.5.1. Nivelele de semnal pe RS-232
Standardul RS-232 prevede o limitare a vitezei de variație a semnalului de ieșire pentru a micșora diafonia dintre semnalele adiacente. Astfel, viteza maximă de variație a semnalului de ieșire este de 30V/s. Standardul mai prevede o viteză maximă de comunicare de 20Kbiți/s, tot în scopul reducerii diafoniei.
Impedanța dintre interfața de emisie și cea de recepție este definită de standard la o valoare cuprinsă între 3K și 7K.
Standardul original prevedea o lungime maximă a cablului de interconectare de 15m. Noile revizii au modificat această prevedere și în loc de specificarea lungimii maxime, se specifică capacitatea maximă a cablului, care nu poate depăși 2500pF. Astfel lungimea maximă a cablului depinde de capacitatea acestuia pe unitatea de lungime.
Aspectele funcționale definite de standard sunt legate de tipul semnalelor utilizate în interfața de comunicare. Acestea se împart în patru categorii: de uz comun, de date, de control și de temporizare.
Tabelul de mai jos ilustrează totalitatea semnalelor definite de standardul RS-232.
Observație: Dispozitivul care transmite date pe RS-232 se numește terminal de date (DTE – Data Terminal Equipment) iar cel care recepționează date se numește echipament de terminare a circuitului de date (DCE – Data Circuit-Terminating Equipment).
Tabelul 3.5.1.Semnalele definite de standardul RS-232
Așa cum se vede din tabelul de mai sus, standardul prevede o mulțime de semnale de control și are două canale de comunicație. Din aceste semnale numai câteva sunt folosite în mod regulat în aplicații. De exemplu, pentru un modem sunt folosite numai 8 din semnalele de mai sus. O comunicare simplă cu protocol hardware poate fi implementat cu ajutorul a patru semnale, două de date și două de control. Comunicarea cu protocol software poate fi implementat numai cu ajutorul semnalelor de date TD și RD.
Al treilea aspect definit de standardul RS-232 este legat de interfața mecanică. Conectorul pe care putem așeza toate semnalele definite de standard trebuie să aibă cel puțin 25 de pini. Dispunerea semnalelor pe conectorul de 25 de pini se regăsește în figura de mai jos:
Figura 3.5.2. – Dispunerea semnalelor pe conectorul RS-232 cu 25 pini
Conectorul pentru echipamentele care comunică pe RS-232 sunt de tip tată și pentru cablul de conexiune sunt de tip mamă. Deoarece sunt foarte puține aplicații care utilizează toate semnalele definite de standard s-a introdus un conector cu 9 contacte care conține semnalele utilizate în mod curent.
Figura 3.5.3. Dispunerea semnalelor pe conectorul RS-232 cu 9 pini
Deoarece majoritatea echipamentelor nu dispun de nivele logice compatibile cu cele definite de standardul RS-232, avem nevoie de o serie de adaptoare de nivel, care apar sub forma unor circuite integrate specializate. Aceste adaptoare de nivel inversează și logica semnalului, astfel încât aceasta să corespundă cu logica impusă de standard – tensiune pozitivă pentru nivel logic 0 și tensiune negativă pentru nivel logic 1.
Din moment ce nu există un tact pe care să se facă citirea datelor la recepție, trebuie ca emițătorul să emită o serie de semnale prin care să indice începutul și sfârșitul unui octet, precum și informații privitoare la corectitudinea informației transmise. Din acest motiv structura datelor transmise conține o parte care indică începutul transmisiei, o parte de date efective, o parte de corecție de eroare și o parte care indică sfârșitul octetului.
Începutul transmisiei este indicat printr-un bit de start care are nivel logic 1 (tensiune pozitivă). Datele efective transmise pe interfața RS-232 pot avea o lungime cuprinsă între 4 și 8 biți. Corecția de eroare se face cu ajutorul unui bit de paritate. Putem avea paritate pară, impară sau putem seta bitul de paritate la 1 sau 0. Sfârșitul unei structuri de date transmise pe interfața serială este indicat printr-un nivel logic 0, care poate avea o lungime de 1, 1,5 sau 2 octeți. Variantele cu mai mult de un bit de stop erau utilizate în sistemele mai vechi pentru a permite echipamentului de recepție să proceseze datele recepționate.
Figura 3.5.4. Structura pachetelor de date definit de RS-232
În figura de mai sus s-a prezentat structura unui pachet de date transmis cu un bit de start, opt biți de date, un bit de stop și fără bit de paritate. În documentația standardului nivelul logic 1 este denumit Mark și nivelul logic 0 Space.
Problema care se pune în cazul nostru este implementarea software a transmisiei și recepției de date. Pentru a realiza această implementare trebuie să cunoaștem sau să impunem viteza de comunicare. În funcție de viteza de comunicare se va calcula durata biților din structura prezentată mai sus. Vitezele de comunicare sunt cuprinse între 110 și 921600 de biți pe secundă. De obicei se folosesc viteze de comunicare din domeniul 1200 bps – 115200bps,cel mai des 9600bps cu 8 biți de date, un bit de stop fără bit de paritate.
Pentru transmisia datelor prin interfața serială se vor transmite biții din pachetul de date începând cu bitul de start apoi bitul cel mai nesemnificativ și terminând cu bitul de stop. Valoarea corespunzătoare fiecărui bit se va menține pe pinul de transmisie de date pe durata de timp a unui bit, calculat în funcție de viteza de comunicație.
3.6. Magistrala serială sincronă I2C
În sistemele electronice deseori apare nevoia de comunicare între diferitele componente integrate. Pentru a maximiza eficiența interconectării acestora și a reduce cerințele hardware Philips a introdus o magistrală serială bidirecțională pe două fire – tact (SCL, Serial CLock)și date (SDA, Serial DAta) – numită I2C (Inter Integrated Circuit). Această magistrală permite comunicarea facilă între diferite circuite integrate cum ar fi microcontrollere, convertoare analog numerice și numeric analogice, memorii EEPROM, interfețe LCD și în general dispozitive care nu necesită rată de transfer mare. Această magistrală poate fi folosită și pentru circuite integrate fabricate în tehnologii diferite. Pentru a avea o comunicare corectă se impune obligativitatea unui protocol care să elimine confuziile legate de sursa și destinația datelor, pierderea de date și blocarea comunicării pe magistrală. De asemenea, dispozitivele mai rapide trebuie să fie capabile să comunice cu dispozitivele mai lente. Sistemul nu trebuie să depindă de tipul dispozitivelor conectate la magistrală, în caz contrar nu ar fi posibile modificările sau îmbunătățirile ulterioare.
Fiecare dispozitiv conectat pe magistrala I2C este recunoscut prin intermediul unei adrese, care trebuie să fie unică și se poate recepționa sau emite date, în funcție de rolul acestuia în circuit. Pe lângă conceptele de emițător și receptor putem introduce cele de stăpân și sclav pe durata schimbului de informație. Un dispozitiv stăpân este cel care inițiază un transfer de date pe magistrală și deține controlul asupra acesteia prin generarea tactului pe care se face transferul de date. În acel moment orice dispozitiv de pe magistrală care este adresat de către dispozitivul stăpân este considerat sclav.
Magistrala I2C este multi-stăpân, adică pot exista mai multe dispozitive care sunt capabile să controleze magistrala (la momente de timp diferite). Din moment ce dispozitivele stăpân sunt de obicei microcontrollere, pentru a ilustra relația emițător-receptor și stăpân-sclav considerăm o magistrală I2C cu două microcontrollere. Relațiile dintre cele două dispozitive nu sunt de natură permanentă, dar depind de direcția transferului de date în acel moment.
Avem următoarele situații:
Presupunem că microcontrollerul A vrea să trimită date către B
microcontrollerul A (stăpân) adresează microcontrollerul B (sclav)
microcontrollerul A (stăpân – emițător) trimite datele spre microcontrollerul B (sclav – receptor)
microcontrollerul A termină transferul de date și eliberează magistrala.
Presupunem că microcontrollerul A vrea să citească date de la B
microcontrollerul A (stăpân) adresează microcontrollerul B (sclav)
microcontrollerul A (stăpân – receptor) citește datele trimise de către microcontrollerul B (sclav – emițător)
microcontrollerul A termină transferul și eliberează magistrala.
Și în acest al caz microcontrollerul A generează tactul pentru transferul de date, chiar dacă este receptor.
Deoarece în cazul în care avem mai multe dispozitive care pot deveni stăpâni pe magistrală acestea pot genera conflicte prin generarea simultană a tactului sau ocuparea liniei de date, trebuie să avem o serie de reguli de arbitrare, care reglementează controlul magistralei.
Aceste reguli se bazează pe logica ȘI cablată a magistralei. Dacă mai mult de un dispozitiv stăpân încearcă să ocupe magistrala, primul care aduce o linie în 1 în timp ce ea este ținută în 0 de alte dispozitive pierde controlul asupra magistralei.
Logica ȘI cablată constă în folosirea de dispozitive cu ieșiri de tip colector în gol sau drenă în gol, care se vor conecta la o tensiune de alimentare comună prin intermediul unor rezistențe pull-up.
Figura 3.6.1. Modul de conectare a dispozitivelor pe magistrala I2C
Viteza de transfer pe magistrala I2C este de 100Kbiți pe secundă în modul de transfer normal și de 400Kbiți pe secundă în modul de transfer rapid. Numărul de dispozitive care se pot conecta pe magistrală este limitat doar de capacitatea totală, care nu poate depăși 400pF.
Schimbul stării liniei de date (SDA) trebuie să se facă numai atunci când linia de tact (SDA) este în 0 logic.
Figura 3.6.2. Schimbarea stării liniei de date în funcție de starea liniei de date
Există două excepții, acestea indică începutul sau sfârșitul unui transfer de date. Dacă în timp ce linia de tact este la nivel logic 1 apare un front descrescător pe linia de date, spunem că avem o condiție de START. În aceleași condiții, dacă avem un front crescător pe linia de date, zicem că avem o condiție de STOP. Acestea sunt întotdeauna generate de un dispozitiv stăpân.
Figura 3.6.3. Condițiile de START și STOP pe magistrala I2C
În cazul în care avem un receptor mai lent pe magistrală acesta va ține linia de tact (ACL) în 0 până la procesarea datelor recepționate.
Transferul de date pe magistrala I2C se face utilizând cuvinte de câte 8 biți, care se vor transmite începând cu bitul cel mai semnificativ. Fiecare cuvânt transmis trebuie să fie confirmat prin intermediul unui bit de confirmare (ACK), care constă într-un nivel logic 0.
Figura 3.6.4. Structura datelor transmise pe magistrala I2C
Tactul pentru bitul de confirmare este generat de către dispozitivul stăpân. Dacă dispozitivul sclav nu confirmă recepționarea octetului, stăpânul va întrerupe transmisia datelor prin generarea unei condiții de STOP. Dacă un dispozitiv nu mai e capabil de recepționarea altor cuvinte decât cel curent, va indica acest lucru prin lipsa confirmării cuvântului curent.
Accesarea fiecărui dispozitiv de pe magistrala I2C se face prin intermediul unei adrese unice care poate fi pe 7 sau 10 biți. Adresarea pe 7 biți se face prin transmiterea celor 7 biți din adresă după care avem un bit de scriere/citire care specifică direcția transferului care urmează. Dacă acest bit este 1 este vorba de o citire de date, în caz contrar de o scriere. Dacă un stăpân dorește schimbarea modului de acces sau adresarea altui dispozitiv o poate face prin generarea unei condiții de start repetat. Pentru o adresare pe 10 biți primul octet are cei mai semnificativi 5 biți setați la 11110. Restul de doi biți sunt cei mai semnificativi din adresă. Dacă bitul 8 este 0, următorul cuvânt transmis conține restul de 8 biți din adresă, în caz contrar cuvântul va conține date transmise de dispozitivul sclav.
Figura 3.6.5. Schema logică după care funcționează perifericul I2C
Dacă la frecvența impusă de dispozitivele stăpân magistrala nu funcționează corespunzător se va micșora valoarea rezistențelor de pull-up. Astfel, pentru o frecvență de tact pe magistrală de 97KHz se vor folosi rezistoare de 2,2,K.
Figura 3.6.6. Schema logică după care funcționează dispozitivul stăpân I2C
3.7. Interfața serială sincronă SPI
Magistrala SPI (Serial Peripheral Interface) face parte din categoria magistralelor seriale sincrone pe trei fire. Standardul pentru această magistrală prevede un semnal de tact, unul de ieșire de date și unul pentru intrare de date. Toate transferurile de date se fac sub comanda unui dispozitiv stăpân, care generează tactul necesar transferului. Din moment ce este vorba de o magistrală, se presupune că avem mai multe dispozitive care împart aceleași linii de comunicație. Aceste dispozitive sunt selectate prin intermediul unor semnale de selecție (Slave Select), cele neselectate nu intervin în transferul de date care se efectuează pe magistrală.
Transferul de date pe magistrală se face în cuvinte care nu au o lungime impusă. Acestea pot avea o lungime de 8 biți, multiplii de 8 biți sau un număr impar de biți, în funcție de tipul perifericului. Pentru transferurile pe un număr impar de biți se transmit de obicei cuvinte de 8 biți, biții de informație introduși suplimentar vor fi ignorați de către perifericul căruia i se adresează.
Semnalele magistralei SPI sunt:
Semnalul de tact Sck – Serial Clock, generat de dispozitivul master pentru sincronizarea transferului de date pe magistrală.
Semnalul de intrare date Sdi – Serial Data In, generat de către perifericul selectat la un moment dat în scopul transmiterii de date către master.
Semnalul de ieșire date Sdo – Serial Data Out, generat de master pentru transmiterea de date către perifericul selectat la momentul respectiv.
Figura 3.7.1. Semnalele magistralei seriale SPI și direcția lor
Semnalele de selectare a perifericelor nu sunt prevăzute de standardul SPI. Acestea sunt generate de către master pentru selectarea unică a unui periferic de pe magistrală. Semnalul de tact poate fi un semnal cu frecvența cuprinsă între câțiva hertzi și câțiva megahertzi. Pentru generarea semnalului de tact se vor avea în vedere specificațiile pentru fiecare periferic.
Pe magistrala SPI sunt definite patru moduri de transfer, în funcție de valoarea flagurilor CPOL și CPHA. Acestea sunt date în tabelul de mai jos:
Tabelul 3.7.1. Modurile de transfer pe magistrala SPI
Pentru a realiza transferul de date trebuie să ne definim modul de transfer prin setarea corespunzătoare a CPOL și CPHA, frecvența de tact, precum și a dimensiunii cuvintelor care se vor transmite.
Pentru a iniția o comunicare cu un periferic, masterul va genera semnalul de selecție corespunzător perifericului și va transmite un pachet de date. Formatul și cantitatea datelor ce se vehiculează pe magistrala SPI sunt dependente de tipul perifericului adresat, spre deosebire de magistrala I2C unde standardul prevede structura pachetelor de date.
3.8. Considerente legate de proiectarea antipertubativă
a cablajelor imprimate
Pentru asigurarea compatibilității electromagnetice a unui circuit, în proiectarea plachetei trebuie să se ține cont de anumite aspecte. Perturbațiile care pot apărea se pot elimina sau reduce prin următoarele tehnici de proiectare:
amplasarea optimă a componentelor, reducându-se astfel cuplajele dintre ele;
trasarea traseelor de alimentare astfel încât să se minimizeze cuplajul galvanic creat prin intermediul lor. Prin modul de realizare al acestora se poate reduce și emisia și recepția electromagnetică parazită;
proiectarea planelor de masă în structurile plachetelor, obținându-se prin aceasta o atenuare a perturbațiilor cuplate capacitiv și inductiv.
modul de trasare a liniilor de semnal evitându-se cuplajele capacitive și inductive, reflexiile și diafoniile pe linii lungi, timpii mari de propagare, recepția și emisia electromagnetică;
plasarea de elemente de drenare, filtrare pentru eliminarea componentelor perturbative din punctele susceptibile la perturbații.
În utilizarea circuitelor digitale se va ține cont de sensibilitatea acestora la perturbațiile introduse de sursa de alimentare și de liniile de alimentare.
Sursa de alimentare nu este pe departe o sursă ideală, așadar tensiunea generată de ea are abateri de la valoarea nominală. O altă problemă a surselor de alimentare o constituie componenta alternativă suprapusă peste componenta continuă furnizată de sursă.
O altă componentă care trebuie avută în vedere la proiectarea unei plachete este recepția electromagnetică, care are o pondere importantă atunci când avem de-a face cu circuite logice care lucrează la viteze mari. În cazul acestor circuite, curenții de comutare introduc o componentă importantă de perturbații cuplate prin unde electromagnetice.
Pe lângă procedeele amintite mai sus, în proiectarea plachetelor multistrat se vor avea în vedere și următoarele aspecte:
realizarea de arii largi pentru planul de masă, respectiv de alimentare, obținându-se impedanțe scăzute ceea ce ajută la realizarea de căi de întoarcere pentru curenți;
în cazul plachetelor dublustrat
se va păstra o suprafață mai mare de 75%, pe una din fețe, pentru realizarea planului de masă
se va încerca reducere densității de trasee, pentru a nu împiedica trasarea planului de masă
în cazul plachetelor multistrat:
se vor dedica câte un strat planului de masă, respectiv planului de alimentare,
în cazul plachetelor interconectate prin mufe (fizice sau executate pe cablaj) numărul conectorilor legați la masă trebuie să depășească 30-40% din numărul lor.
planul de masă se va continua și pe cealaltă fațetă.
Alegerea numărului de straturi
În condițiile tehnologice actuale realizarea plachetelor multistrat nu mai este o problemă deosebită. Însă odată cu creșterea numărului de straturi apare și problema costului. De aceea atunci când se dorește realizarea unei plachete multistrat trebuie ținut cont și de raportul performanță-cost.
Un principiu general respectat în realizarea plachetelor multistrat este realizarea de straturi de masă sau alimentare adiacente straturilor cu trasee de semnal.
Fiecare plachetă de circuit imprimat, PCB, aflată într-un sistem ar trebui să aibă un strat complet dedicat planului de masă. O plachetă pe 2 straturi ar trebui să aibă un strat dedicat doar planului de masă, însă acest lucru nu este posibil întotdeauna datorită existenței pe această fațetă a unor trasee le legătură între unele componente și a găurilor de interconectare și trecere de pe o fațetă pe alta. Chiar și în acest caz păstrarea unei zone de app. 75% pentru trasarea planului de masă este satisfăcătoare.
Pentru un circuit care are o mare densitate de componente SMD (componente montate pe suprafață), între care există un număr mare de conexiuni, este preferată alegerea unei plachete multistrat deoarece în acest caz vom avea două straturi interioare, dedicate planului de masă respectiv planului de alimentare. În acest sens se poate alege o plachetă cu patru straturi, în care planele de masă, respectiv de alimentare sunt interioare, iar fațetele exterioare pot fi utilizare pentru realizarea traseelor de semnal între componente.
Astfel prin plasarea adiacentă a planelor de alimentare și masă, se vor dezvolta capacități interstrat care vor ajuta la decuplarea la frecvențe mari, a sursei de alimentare
Considerente legate de realizarea traseelor.
În cazul traseelor pe care se propagă semnale de mare viteză este esențială impunerea unor restricții privind distanța dintre trasee, pentru a se evita apariția diafoniilor între aceste trasee sau pe cele învecinate. O atenție deosebită se acordă circuitelor digitale, sau mai precis traseelor pe care circulă semnalele de ceas ale acestor circuite, care sunt cele mai agresive din punct de vedere al diafoniilor.
Lungimea traseelor trebuie limitată în multe cazuri sub o lungime critică, lcr, deoarece timpul de răspuns al circuitului comandat trebuie să depășească de 5 ori timpul de propagare pe linie. După scurgerea acestui interval se pot considera încheiate fenomenele tranzitorii produse de reflexiile pe linie.
Un alt aspect care influențează asigurarea CEM (compatibilitate electromagnetică) îl constituie modul de realizare a frângerii traseelor. La frecvențe înalte este recomandată realizarea frângerii traseelor sub unghiuri mai mici de 90o.
În esență prezența unor unghiuri mari accentuează câmpul electric în vecinătatea lor (crește capacitatea specifică), respectiv se produce o orientare bruscă a fluxului magnetic (crește inductivitatea specifică). Ca și un exemplu pentru un unghi de frângere de 45o se poate considera că se obține o diminuare cu 57% a capacității specifice față de situația în care se realizează un unghi de frângere de 90o.
Distanța între trasee – Regula 3W
Regula 3W se referă la o restricție aplicată distanței dintre două trasee vecine, și anume pentru înlăturarea efectelor perturbative și obținerea unei bune compatibilități electromagnetice se impune o distanță minimă de 3W între axele a două trasee învecinate, unde W este lățimea traseelor. Prin impunerea acestei distanțe se elimină 70% din fluxurile de cuplaj dintre traseele vecine.
Figura 3.8.1Exemplificarea regulii 3W
Dacă se dorește o și mai mare compatibilitate electromagnetică se poate extinde regula la 10W, înlăturându-se în acest fel 98% din fluxurile de cuplaj.
Aceste reguli se aplică și în cazul în care în jurul traseelor agresive există găuri de trecere, care prin inductivitatea și capacitatea proprie pot acționa ca un element de cuplaj între cele două trasee.
Figura 3.8.1 Aplicarea regulii 3W când există vias-uri între 2 trasee agresive
În cazul în care prin cele două trasee vecine se transmite un semnal diferențial, distanța se poate reduce la 2W. Totuși în se atrage atenția că la marginea plachetei planul de masă trebuie extins cu cel puțin W.
Figura 3.8.2 Aplicarea regulii 3W în cazul unor trasee diferențiale
O altă tehnică prin care se poate reduce efectul perturbativ pe care îl au traseele agresive o constituie gardarea acestora. O gardare eficientă se obține prin cuplarea traseelor de gardare la masă prin cât mai multe puncte.
Regula 20H în trasarea planului de masă și a planului de alimentare
La frecvențe foarte mari prin planul de masă și prin planul de alimentare circulă curenți de radiofrecvență care generează un câmp electromagnetic variabil.(fig.3.8.3) La marginea plachetei, unde se termină cele două plane, închiderea liniilor de câmp se face prin fenomenul de franjurare. Pentru minimizarea efectului acestui fenomen se impune extinderea planului de masă în exteriorul planului de alimentare. Prin această procedură se asigură o închidere a liniilor de câmp direct în planul de masă, reducându-se interferența acestora cu traseele adiacente.
Figura3.8.3 Emisia perturbatoare de unde de radiofrecvență
Datorită apariției acestor unde de radiofrecvență, traseele de semnal care se vor afla la extremitatea plachetei vor capta aceste unde sub formă de tensiuni perturbative.
Apariția acestui fenomen se poate evita prin extinderea planului de masă în exteriorul planului de alimentare cu cel puțin 20H (de unde și numele regulii), unde H este distanța dintre cele două plane. Asigurarea acestei distanțe minime duce la o captare a undelor și o închidere a fluxului radiat în planul de masă în proporție de 70%. Prin extinderea regulii la 100H, se va asigura o captare a acestor unde în proporție de 98%. (fig.3.8.4.)
Figura3.8.4 Închiderea undelor de radiofrecvență în planul de masă
În situațiile în care avem pe aceeași față mai multe plane (analog și digital), între aceste plane se va aplica regula 20H, lăsându-se un spațiu corespunzător între două plane adiacente.
Figura3.8.5 Aplicare regulii 20H în cazul plăcilor mixte
Realizarea planului de masă și a planului de alimentare
Importanța realizării unui plan de masă cât mai mare, și de o cât mai mică impedanță este crucială pentru sistemele care utilizează circuite analogice. Planul de masă acționează ca o cale de întoarcere, de mică impedanță pentru curenții de decuplare cu frecvență ridicată (cauzați de logica digitală rapidă), și în același timp minimizează emisiile EMI / RFI (electromagnetice și de radiofrecvență). Datorită izolării oferite de planul de masă se reduce și influența asupra circuitlor a EMI / RFI externe.
Planele de masă permit totodată și transmisia semnalelor analogice și digitale de mare viteză prin utilizarea de tehnologii microstrip și stripline, pentru care obținerea unei impedanțe controlate este crucială.
Utilizarea unui traseu lat (de tip buss wire) este inacceptabilă datorită impedanței pe care o dezvoltă la frecvența echivalentă a majorității tranzițiilor logice. De exemplu pentru un traseu #22 care o impedanță de 20nH/inch, care este parcurs de un curent tranzitoriu generat de un semnal logic, ce are un slew rate de 10mA/ns rezultă o eroare de tensiune de 200mV/inch.
Ec. 0.1
Așadar, pentru un semnal de 2Vvv avem o eroare de 200mV adică o eroare de 10%, ceea ce are consecințe dezastruoase în cazul semnalelor de valoare mică. Chiar și în cazul unui sistem constituit în întregime din circuite digitale vom avea o degradare a marginii de zgomot considerabilă.
În fig.3.8.6 este ilustrat un exemplu în care curentul de întoarcere al circuitelor digitale modulează curentul de întoarcere al circuitelor analogice. Traseul de masă (inductanța și rezistența acestuia) este folosit în comun de circuitele digitale și cele analogice ceea ce duce la apariția fenomenului de modulare. O soluție propusă este realizarea unei căi separate pentru partea digitală până la punctul GND REF. În acest caz s-a optat pentru conceptul de stea, conform căruia există un singur punct de masă pentru tot sistemul. Implementarea acestui concept într-un sistem care conține mai multe căi de întoarcere, de înaltă frecvență este dificilă deoarece lungimea efectivă a acestor trasee va introduce la rândul ei inductanțe și rezistențe parazite, ceea ce face aproape imposibilă realizarea unui plan de masă cu impedanță scăzută.
Figura3.8.6 Modul de conectare al circuitelor analogice și digitale la punctul de masă
În practică planul de masă trebuie să fie cât mai mare pentru a asigura o impedanță scăzută pentru scurgerea curenților de înaltă frecvență. Fără un plan de masă de joasă impedanță este aproape imposibilă evitarea impedanțelor comune, în special la frecvențe mari.
Pentru a minimiza inductanțele și rezistențele serie pinii de masă ai circuitelor integrate trebuie lipiți direct pe planul de masă. Totodată nu este recomandată utilizarea soclurilor în amplasarea circuitelor de mare viteză. Dacă totuși folosirea unor socluri este imperioasă se recomandă folosirea unor socluri de calitate, cu pini auriți care au o bună conectivitate electrică și mecanică.
Pinii de alimentare ai circuitelor integrate vor fi decuplați direct pe planul de masă prin intermediul unor condensatoare ceramice, de preferință de tip SMD, deoarece au o impedanță mică. Dacă utilizarea unor condensatoare through-hole este necesară atunci lungimea pinilor condensatorilor nu trebuie să depășească 1mm. Totodată condensatoarele de decuplare vor fi amplasate cât mai aproape de pinii de alimentare ai circuitului integrat.
După realizarea planului de masă, acesta va trebui să fie verificat pentru a se putea îndepărta insulele, create în jurul pinilor de masă ai circuitului integrat, deoarece un pin de masă aflat într-o insulă nu are validă o cale de închidere a curentului către planul de masă. Totodată vor ajusta legăturile subțiri între două plane de masă pentru că prezența acestora reduce simțitor eficacitatea planului de masă.
În general utilizarea tehnicii de rutare automată (auto-route) are consecințe dezastruoase, din punct de vederea al planului de masă, pentru plăcile echipate cu circuite mixte analog – digitale. De aceea în rutarea acestor plăci se recomandă rutarea manuală a acestor trasee.
Realizarea planului de masă în circuite mixte
Sistemele de procesare de semnale din ziua de azi necesită circuite care sunt capabile să lucreze cu semnale mixte, analogice și digitale, cum sunt ADC și DAC și DSP-urile rapide (procesoare digitale de semnal). Cerințele speciale în procesarea semnalelor analogice cu o gamă dinamică mare, impun utilizarea unor ADC și DAC rapide și de mare performanță. Pentru a menține această gamă dinamică mare și un zgomot scăzut, atunci când circuitele lucrează în medii ostile din punct de vedere digital, sunt necesare tehnici de proiectare adecvate pentru routarea traseelor, realizarea circuitelor de decuplare și a planului de masă.
În trecut circuitele de mare precizie și viteză mică au fost preferate în detrimetrul circuitelor de mare viteză. Un criteriu important în catalogarea unui circuit, în acea vreme, a fost viteza de eșantionare. În practică, majoritatea circuitelor de procesare a semnalului sunt de fapt circuite rapide și ca urmare trebuie tratate ca atare, pentru a nu le fi afectate performanțele.
Problema se complică atunci când este vorba de circuite mixte analog – digitale, unde se pune deja problema tehnicii de proiectare adecvate, care să satisfacă atât proiectații de circuite analogice cât și pe cei de circuite digitale.
Sisteme multicard
În realizarea sistemelor multicard planul de masă al modului se continuă de obicei pe placa de bază, aici legându-se la planul de masă al plăcii de bază. De obicei plachetele sunt înfipte în placa de bază prin intermediul unor conectori realizați direct pe placă. La acești conectori, pentru o mai bună conectivitate a planului de masă pinii alocați pentru punctele de masă sunt în proporție de 30%-40%.
În aceste sisteme planul de masă este de obicei legat la carcasa aparatului prin intermediul unor suporți metalici, sau șuruburi. Prin aceste legături între planul de masă și carcasa metalică a aparatului se asigură o mai bună protecție electromagnetică a montajului. Legăturile la carcasă sunt realizate prin cât mai multe puncte, aici făcându-și loc conceptul de legare la masă prin mai multe puncte (Multipoint Ground Concept
Cel de-al doilea concept de realizare a planului de masă este conceptul de stea, care presupune existența unui singur punct de masă, și care este utilizat în proiectarea sistemelor echipate cu circuite mixte rapide. La aceste sisteme se face o separare a planului de masă analog față de planul de masă digital, ele întâlnindu-se în sursă. (un exemplu în acest sens este ilustrat în fig. 3.8.7.).
Separarea planului de masă analogic de planul de masă digital
În circuitele mixte analog – digitale, dar care conțin o însemnată parte de circuite digitale, partea analogică trebuie separată complet de partea digitală. Odată cu această separare se face o separare și a planului de masă digital de cel analogic. Cele două plane nu trebuie să se întrepătrundă, pentru a se evita realizarea de cuplaje capacitive parazite. Cele două plane sunt continuate pe placa de bază de planele de masă ale acesteia sau de legături metalice rigide. În fig.3.8.8 este prezentat un exemplu în care planele de masă sunt continuate pe placa de bază, până în sursa de alimentare unde există doar un singur punct de masă. (utilizarea conceptului de stea).
Figura3.8.7 Ilustrarea conceptului de conectare la masă prin puncte multiple
Figura 3.8.8 Ilustrarea conceptului de stea în realizarea planului de masă
Conexiunea între planul de masă, sursă și punctul de masă comun este realizată prin barete sau zone largi de cupru pentru asigurarea unei rezistențe și a unei inductanțe mici.
Componentele analogice sensibile, cum sunt amplificatoarele și referințele, sunt decuplate prin planul de masă. ADC-urile, DAC-urile și alte circuite mixte sunt în general tratate ca și circuite analogice și sunt decuplate și legate la masă prin planul de masă analogic.
Proiectare
Pe baza fundamentelor teoretice expuse în capitolul precedent se va trece la calculul elementelor de circuit.
4.1. Circuitul de generare a adreselor
Acest circuit trebuie să permită baleierea unei memorii RAM care conține eșantioanele semnalului ce urmează a fi generat. În figura de mai jos s-a reprezentat reprezentarea în domeniul analogic (sus) a eșantioanelor din memoria RAM (jos).
Figura 4.1.1.Corespondența eșantioanelor din RAM cu valoare analogică
Pentru a putea obține o frecvență de până la 30MHz, generarea tebuie să se facă într-un mod automat, fără asistența microcontrollerului, acesta setând doar anumiți parametri. Pentru a implementa acest lucru, ca și generator de adrese va fi folosit un numărător de tip 74F579. Acesta fiind pe 8 biți, pentru a parcurge întreaga zonă de memorie de 64Kcuvinte, se vor cascada două numărătoare identice.
Figura 4.1.2.Configurația numărătoarelor de adresă
Generarea adreselor se va face cu viteza impusă de un semnal de teact ce se poate obține de la subsistemul DDS, dacă circuitul funcționează în mod generare și de la subsistemul PLL, când circuitul funcționează în mod urmărire. În afară de acestea, mai există un mod încărcare cu o sursă de tact separată, care se va trata în capitolele următoare.
Pentru o flexibilitate mai mare în ceea ce privește semnalul generat, va trebui să ne putem defini numărul eșantioanelor dorite pentru o perioadă. Această informație ne va ajuta la readucerea numărătoarelor la începutul secvenței de eșantioane când acestea au atins ultimul eșantion din perioada lor. Acest lucru se realizează prin resetarea numărătoarelor. Soluția practică la care s-a recurs, este cascadarea a două comparatoare pe 8 biți, care au la una din intrări semnalele de adresă și la cealaltă intrare
Figure 4.1.3.Conexiunea în cascadă a comparatoarelor
După cum se observă și din schema de mai sus, o egalitate a celor două seturi de valori ce se aplică pe intrările A0-A7 și B0-B7 ale circuitului U6 determină activarea semnalului OE/ pentru cel de-al doilea comparator. Dacă și intrările acestuia (U5) vor ajunge la o condiție de egalitate, ieșirea lui U5 trece în 0 logic, determinând resetarea numărătoarelor (vezi figura 4.1.2.).
Odată rezolvată problema generării adreselor, ne concentrăm asupra căii de date, care trebuie să permită două modațități de funcționare: una de înscriere a datelor și una de citire a lor.
În modul citire, aplicarea unei adrese are ca rezultat apariția la ieșire a unei valori ce se va aplica convertorului numeric/analogic prin intermediul unor latchuri, generând ieșirea analogică. În modul de înscriere, generarea unei adrese trebuie să fie însoțită de apariția pe pinii de date a unei valori, ce urmează a fi înscrisă la acea adresă în memoria RAM. Pentru a realiza acest lucru va fi nevoie de o serie de semnale care să decupleze calea de ieșire de date, să treacă pinii de date ai memorie în stare de înaltă impedanță, iar apoi să activeze ieșirile bufferelor care vor asigura calea de date de la microcontrollerul C167 către memoria RAM. În momentul în care se face înscrierea datelor în memorie, calea de date către convertorul numeric/analogic este dezactivată, ieșirile lachurilor care fac separarea fiind în stare de înaltă impedanță. Pentru a preveni stările necontrolate ale acestor semnale, acestea s-au prevăzut cu o serie de rezistențe la masă, care vor aduce semnalele în 0 logic.
4.2. Etajul de converise numeric/analogic
Datorită vitezei mari de care este nevoie, precum și rezoluției sporite, pentru a realiza conversia în analogic a formei de undă exprimată analogic, s-a ales convertorul AD768. Acesta are o rezoluție de 16 biți și o viteză maximă de 30MSPS (MegaSamples Per Second, Milioane de eșantioane pe secundă).
Reîmprospătarea valorii semnalului de ieșire se face cu ajutorul semnalului CLOCK care va fi echivalent cu semnalul DDS_CLOCK în modul generare și PLL_CLOCK în modul urmărire.
Figura 4.2.1.Conexiunile externe ale convertorului AD768
Convertorul oferă la ieșire două semnale de curent complementare, IOUTA și IOUTB. Acest lucru înseamnă că una din ieșiri va oferi curentul de full-scale în momentul în care toate intrările sunt 1 iar cealaltă ieșire va oferi curentul de full-scale când toate intrările sunt în 0. Curentul de full scale va fi de patru ori mai mare decât curentul de referință, curent ce se selectează prin conectarea unei rezistențe între ieșirea de referință REFOUT și REFIN.
Pinul REFIN fiind intrare de curent, rezistența care va determina curentul de full-scale va fi egală cu raportul dintre tensiunea de referință de 2,5V și un sfert din curentul de full-scale (5mA).
Astfel :
RREF = = = 500Ω Ecuația 4.2.1.
Cu ajutorul unui amplificator diferențial care are la intrări semnalele de curent date de convetor numeric analogic se va obține un semnal de tensiune .
Tensiunea de ieșire ce se poate obține cu ajutorul acestui amplificator diferențial variază între ±VFS unde VFS este egal cu produsul dintre Jfs și R.
UFS = IFS *R Ecuația 4.2.2.
Asfel un curent de full-scale de 20 mA și rezistențele R= 200Ω , tensiunea de ieșire va fi in domeniul ± 4V.
Figura 4.2.2.Scalarea ieșirii convertorului numeric analogic
Acest etaj fiind de tip inversor pentru a obține polaritatea corecta a etajului precum și o adaptare de nivel se va mai folosi un amplificator inversor cu amplificarea de 0,25 obținând astfel tensiunea de ieșire de polaritate corecta cu amplitudinea de ± 1V.
4.3. Etajele de ieșire analogică
Montajul a fost prevăzut cu două circuite de ieșire analogică identice. Acestea primesc semnalul de la etajul de conversie, și aplică asupra lui o corecție de amplitudine și o corecție de offset. Corecția de amplitudine este realizată cu ajutorul unui circuit de înmulțire în patru cadrane, de tip AD834.
Figura 4.3.1.Conexiunea circuitului de multiplexare
Acesta primește la una din intrări semnalul de la convertorul AD768, iar la cealaltă intrare, o tensiune continuă comandată digital prin intermediul convertorului numeric/analogic serial MAX517. Acesta dispune de o interfață serială I2C, prin care se va înscrie valoarea ce va fi unul din termenii înmulțirii făcute de către AD834. După cum se observă din figura 4.3.2., și pentru corecția de offset se va folosi tot un convertor MAX517. Pentru acestea două, singura diferență este adresa de I2C, care se setează prin intermediul pinilor AD0 și AD1, care pentru circuitul U44 (folosit la amplificare) au valoarea de 0 și 0, iar pentru U48 (folosit la offset) au valoarea de 1 și 0. Astfel, adresele complete de I2C devin: pentru U44 – 0101100 iar pentru U48 – 0101101
Figura 4.3.2.Convertoarele analog numerice pentru corecția de offset și amplificare
Semnalul de la ieșirea circuitului de înmulțire este aplicat unui amplificator diferențial, care oferă un semnal de amplitudinea dorită, dar de semn contrar. Pentru a înlătura această problemă, se va folosi un amplificator inversor, cu amplificarea 2.
Figura 4.3.3.Amplificarea circuitelor de multiplexare
Circuitul care realizează acest lucru este U45, cu ajutorul rezistențelor R62 și R64. De la ieșirea acestui bloc, semnalului se aplică unui amplificator-sumator, pentru a adăuga o componentă continuă (corecție de offset). După cum se vede din figura 4.3.4., acest lucru se realizează cu ajutorul U47, R58, R59 și R63.
Valorile identice ale rezistențelor R59 și R63, de 330Ω se reflectă faptul că cele două tensiuni de intrare vor influența în aceeași măsură tensiunea de ieșire, iar faptul că rezistența de reacție este egală cu cele două rezistențe de pe intrare ne spune faptul că avem o amplificare, unitară, astfel încât Uout = UIn1 + UOffset1.
Am obținut astfel semnalul corectat, care urmează a fi livrat către exterior. Înainte de a face acest lucru, trebuie să ne asigurăm că semnalul are o putere suficientă pentru a face față cerințelor unui circuit extern la care acesta se va conecta. Acest lucru se va face prin intermediul unui driver de line, de fapt un amplificator operațional cu capabilitate mai bună în curent, în conexiune repetor. Pentru a asigura o impedanță standard a ieșirii, între pinul de ieșire al repetorului și masa sistemului se va conecta rezistența R61 în valoare de 50Ω.
Figura 4.3.4.Corecția de offset și etajul de ieșire
Generatorul este prevăzut cu încă o ieșire identică, care permite conectarea a două montaje la aceeași sursă de semnal, fără ca acestea să se interinfluențeze.
4.4. Subsistemul DDS
Pentru a asigura frecvența cu care se vor livra eșantioanele semnalului de ieșire, în modul generare sistemul propus va folosi un circuit DDS. Acesta permite obținerea cu mare precizie a unei frecvențe. Circuitul folosit de noi pentru această aplicație este AD9850. Acesta, având la intrare un generator de tact de referință de 125MHz, va genera orice frecvență de până la 62,5MHz cu o precizie de 0,0291Hz. Formula după care circuitul obține frecvența de ieșire este:
Ecuația 4.4.1.
Figura 4.4.1.Conexiunea sistemului DDS
Circuitul AD9850 conține circuitele aferente unui DDS, cu un cuvânt de configurare a frecvenței pe 32 de biți, are posibilitatea de configurarea a fazei, pe 5 biți și 3 biți de specificare a stării circuitului. Convertorul numeric/analogic care va da ieșirea sinusoidală are o rezoluție de 10 biți. Circuitul dispune de două interfețe cu sistemul în care se integrează: interfața digitală, prin care se va face programarea circuitului pentru a genera frecvența dorită la faza dorită sau a-l seta în modul consum redus și interfața analogică, prin care se vor seta valorile de ieșire pentru convertorul numeric/analogic de la ieșire, tensiunile de prag pentru comparatorul integrat și se va obține semnalul de ieșire.
AD9850 are posibilitatea de a primi informațiile de configurare prin două tipuri de interfață: serială sau paralelă. În cazul aplicației noastre s-a ales interfața paralelă. Înscrierea informației de configurare se va face prin plasarea succesivă a celor 5 octeți de configurare și aplicarea semnalelor de control pentru memorarea acestora. Pentru interfața paralelă, vom avea nevoie de 8 biți de date și două semnale de control, unul din acestea, W_CLK folosit la memorarea octetului curent de la intrare, celălalt, FQ_UD folosid la semnalizarea faptului că s-a încheiat înscrierea tuturor valorilor de configurare și se va trece la reîmprospătarea frecvenței de ieșire conform cu valorile recent înscrise.
Figura 4.4.2.Semnalele necesare înscrierii valorilor circuitului DDS
tDS TIMP STABILIZARE DATE
tDH TIMP MENȚINERE DATE
tWH W_CLK HIGH
tWL W_CLK LOW
tCD ÎNTÂRZIERE CLK DUPĂ FQ_UD
tFH FQ_UD HIGH
tFL FQ_UD LOW
tFD ÎNTÂRZIERE FQ_UD DUPĂ W_CLK
tCF ÎNTÂRZIEREA IEȘIRII DUPĂ FQ_UD
Aici, W0 – W4 sunt octeții din cuvântul de configurare, W_CLK este semnalul de memorare pentru octetul curent iar FQ_UD semnalul de reîmprospătare a frecvenței. Acesta va reseta contorul pentru octetul curent la 0, făcând posibilă înscrierea următoarei valori de frecvență. Dacă se vor înscrie mai mult de 5 octeți fără a se aplica un impuls pe semnalul FQ_UD, aceștia vor fi ignorați, dat fiind faptul că pointerul octetului curent din AD9850 nu indică o valoare corectă.
Octeții din cuvântul de configurare au structura din tabelul de mai jos:
Tabelul 4.4.1.Configurația cuvântului de comandă
Primul cuvânt, W0 conține informația de fază pentru semnalul de ieșire pe 5 biți, începând cu bitul cel mai semnificativ (MSB) În completarea primului octet mai avem 3 biți de configurare.
Cuvintele de la W1 la W4 conțin valoarea frecvenței de ieșire, conform ecuației 4.4.1., informația conținută de acești octeți va începe cu bitul cel mai semnificativ de la bitul 7 al W1 și până la bitul cel mai puțin semnificativ la bitul 0 al W4.
Primul parametru ce se va seta cu ajutorul interfeței analogice este curentul de capăt de scală pentru convertorul numeric/analogic de ieșire. Acest lucru se face cu ajutorul rezistenței Rset, notată în schema noastră R6. Cunoscând relația dintre această rezistență și curentul de capăt de scală:
Ecuația 4.4.2.
Cunoscând curentul de capăt de scală tipic pentru aplicațiile acestui circuit DDS, 10mA, vom calcula RSET = 3,9KΩ.
Circuitul DDS oferă la ieșire două semnale analogice de curent obținute cu ajutorul unui convertor numeric analogic pe 10 biți. Cele două semnale de curent sunt obținute pe pinii IOUT și IOUTB, cea din urmă fiind complementara primului semnal.
Acestea fiind semnale analogice și cunoscând faptul că noi avem nevoie de un generator de tact cu o ieșire compatibilă cu semnalele logice, va trebui să găsim o metodă de transformare a semnalelor analogice în semnal digital. Vom face acest lucru cu ajutorul comparatorului integrat în circuitul AD9850.
Media semnalelor IOUT și IOUTB obținută cu ajutorul unui divizor rezistiv se aplică la intrarea inversoare a comparatorului din circuitul AD9850. La filtrarea neinversoare se va conecta semnalul IOUT filtrat cu ajutorul unui filtru trece jos eliptic cu 5 poli cu frecvența de tăiere de 42MHz.
Figura 4.4.3.Filtru eliptic
În figura de mai jos s-a reprezentat caracteristica de frecvență a filtrului:
Figura 4.4.4.Caracteristica de frecvență a filtrului
Având aceste semnale la intrarea comparatorului, acesta va da la ieșire un semnal dreptunghiular cu frecvența egală cu frecvența sinusoidei obținute cu ajutorul convertorului de la ieșirea circuitului DDS:
Semnalul de tact de referință ce se va aplica la intrarea circuitului DDS se obține cu ajutorul unui oscilator Butler, care lucrează la o frecvență de 125MHz. Acesta are frecvența de oscilație fixată în jurul frecvenței de 125MHz cu ajutorul bobinelor L12, L13 și a condensatoarelor C43, C44, frecvență ce va fi stabilizată la 125 cu ajutorul unui cuarț, care fucționează la 125MHz pe armonica a 7-a. Rezistențele R27 și R29 sunt folosite pentru reducerea factorului de calitate a circuitelor rezonante, cu scopul de a elimina posibilitatea de a obține oscilații pe armonici superioare.
Figura 4.4.5.Oscilator Butler
Acest oscilator are la ieșirea dată prin intermediul condensatorului C38 un semnal sinusoidal. Pentru a folosi această frecvență ca și referință pentru circuitul DDS, trebuie să transformăm semnalul sinusoidal într-unul dreptunghiular, compatibil TTL/CMOS. Acest lucru se va realiza cu ajutorul unui circuit de transformare de nivel ECL diferențial/TTL de tip MC10ELT21.
Figura 4.4.6.Circuitul pentru transformare sinus și dreptunghi
4.5. Subsistemul PLL
Dacă se dorește funcționarea generatorului de funcții arbitrare în modul urmărire, acest lucru presupune găsirea unei frecvențe de tact pentru generarea eșantioanelor care să fie egală cu produsul dinte frecvența ce se dorește a fi urmărită și numărul de eșantioane pe perioadă.
Pentru a realiza această sincronizare, se va folosi un subsistem PLL. Numim acest bloc susbsistem PLL, deoarece, datorită gamei frecvențelor ce pot fi aplicate la intrare, nu este suficient un circuit clasic PLL. Sincronizarea se va face cu ajutorul unui așa-numit PLL digital, în mai multe etape, așa cum se vede în figura 4.5.2.
Înainte de a aplica semnalul de sincronizare circuitului PLL digital, acesta va trebui adaptat pentru a avea nivelele necesare comenzii unor circuite digitale. Pentru realizarea acestul lucru, semnalul de intrare va trece printr-un circuit de corecție de nivel și de offset.
Corecția de nivel se va realiza cu ajutorul unui canal din converorul numeric analogic MAX 532 utilizat în conexiune amplificator cu câștig reglabil.Celălalt canal al convertorului se folosește ca și un convertor normal cu ieșire în tensiune pentru introducerea sau anularea unei componente de curent continuu.Semnalele rezultate de la cele două canale ale convertorului vor fi însumate și se vor folosi ca și semnale de referință la sincronizarea semnalului furnizat de generator.
Figura 4.5.1.Circuit de condiționare a semnalului de referință
Semnalul astfel obținut va efectua o excursie în jurul valorii de prag a semnalului logic, acționând ca și un semnal logic pur. De aici, semnalul astfel obținut, considerat de acum semnal logic se va aplica primului bloc din subsistemul PLL.
Pentru detectarea parametrilor ce trebuie folosiți în acest sens se va concepe un algoritm sotfware, care să permită reglajul automat al amplificării și offsetului până la scalarea corectă a semnalului.
Figura 4.5.2.Schema bloc a PLL-ului digital
În primă fază vom folosi un divizor cu care să aducem frecvența la o valoare măsurabilă cu ajutorul unui microcontroller de talie mică, cum ar fi AT89C2051. Deși această măsură se dorește a fi doar o aproximare grosieră a frecvenței de intrare, divizarea se va face cu ajutorul unui divizor programabil, pentru o mai ușoară scalare a măsurării. Circuitul care s-a ales pentru realizarea acestei divizări este 74HC292. Acesta poate efectua o divizare cuprinsă între 22 și 232. Factorul de divizare pentru aceast circuit se va specifica prin intermediul semnalelor DIV_IN_A până la DIV_IN_E de către microcontrollerul C167. Frecvența rezultată după divizare se aplică pe o intrare de timer/counter a microcontrollerului AT89C2051, precum și la o intrare a unui comparator de fază, ce va fi utilizat în lanțul PLL pentru sincronizarea fină a frecvenței de ieșire.
Figura 4.5.3. Microcontrollerul AT89C2051 și divizorul programabil
După măsurarea frecvenței aplicate la intrare, microcontrollerul AT89C2051 va efectua un reglaj brut al frecvenței oscilatorului comandat în tensiune. Prin intermediul semnalelor P1.0 până la P1.7, cele două microcontrollere pot comunica între ele. Acest lucru este necesar, fiindcă astfel microcontrollerul C167 poate comunica date despre numărul de eșantioane pe perioadă din semnalul ce urmează a fi generat. Astfel, se face posibilă setarea corectă a factorului de scalare a frecvenței oscilatorului comandat în tensiune, pentru a da valoarea corectă.
După efectuarea calculelor necesare pentru aflarea frecvenței centrale a oscilatorului comandat în tensiune de către microcontrollerul AT89C2051, se va trece la reglarea efectivă a frecvenței.
Oscilatorul folosit în cazul nostru este un circuit MAX038, specializat pentru aplicații de generare de forme de undă. Acesta poate genera frecvențe în domeniul 0,1Hz – 20MHz. Folsindu-ne de circuitele adiționale din componența acestui circuit, îl vom folosi pentru a face reglajul fin de frecvență în lanțul de sincronizare cu frecvența externă de referință.
Acest circuit dispune de trei modalități de reglare a frecvenței, o modalitate de reglaj al factorului de umplere, posibilitatea de seta forma de undă generată prin intermediul a două intrări digitale, un circuit comparator care oferă ieșire compatibilă TTL/CMOS și un comparator de fază care face posibilă folosirea circuitului în aplicații gen PLL.
În aplicația noastră factorul de umplere este setat la 50%, iar forma de undă generată este sinusoidală, prin legarea la tensiunea de alimentare a celor două semnale care setează forma de undă. Pentru a avea posibilitatea de a regla frecvența după necesitățile subsistemului PLL, două dintre modalitățile de reglare a frecvenței vor fi folosite de către microcontrollerul AT89C2051, iar una de bucla de reacție a PLL-ului digital.
MAX038 având la bază principiul de generare de frecvență prin încărcarea și descărcarea unui condensator, sunt evidente două metode de reglaj al frecvenței: prin modificarea valorii condensatorlui pe care se face operația de încărcare/descărcare și prin modificarea curentului de încărcare/descărcare. Vom avea:
Ecuația 4.5.1.
Prima metodă este una foarte brută, prin care se pot obține comutarea unor game largi de frecvență. Pentru sistemul nostru, acest lucru se realizează prin conectarea permanentă a unui condensator de valoare mică, care să permită funcționarea în gama de frecvențe înalte, al doilea condensator conectându-se prin intermediul unui tranzistor MOS doar când este nevoie de generarea unor frecvențe mai mici. Diferența dintre cele două condensatoare va fi de câteva ordine de mărime, astfel încât valoarea condensatorului pentru frecvența mai mare să fie comparabilă cu toleranța celui pentru domeniul de frecvențe mai mici. În cazul nostru, pentru domeniul de frecvențe mari s-a ales un condensator de 22pF, iar pentru cel de frecvențe mici s-a ales 1nF. Comutarea se face cu ajutorul Q2, de tipul BS170P, prin intermediul semnalului COMUT, de la microcontrollerul AT89C2051.
Figura 4.5.4.Comutatorul camei de frecvență cu ajutorul condensatoarelor
A doua metodă de reglaj este controlarea curentului de încărcare/descărcare. MAX038 permite o plajă a curentului de încîrcare/descărcare de 2μA până la 750 μA. Aceasta este o metodă mai fină de reglaj. În sistemul nostru ne vom folosi de această metodă tot pentru reglajul frecvenței centrale a oscilatorului comandat din blocul PLL.
Pentru implementarea acestei metode de reglaj s-a folosit un generator de curent comandat digital. Acesta se compune dintr-un transformator tensiune/curent, realizat cu amplificatoare operaționale, datorită curenților mici de care este nevoie, precedat de un convertor numeric/analogic MAX517, care la rândul lui este comandat de microcontrollerul AT89C2051.
Semnalul de curent astfel obținut se va injecta în pinul IIN al circuitului MAX038.
Prin aceste două metode vom aproxima frecvența centrală a oscialtorului comandat.
Figura 4.5.5.Generatorul de curent comandat digital
A treia metodă de control de control a frecvenței este modularea în anumite limite a curentului de mai sus, metodă pusă la dispoziție intern de MAX038. Astfel, prin aplicarea unei tensiuni de până la + sau – 2,4V, se poate obține o scalare a frecvenței centrale cu 0,3 până la 1,7. Această metodă va fi folosită pentru bucla de reglaj.
Pentru a realiza acest lucru, ne vom folosi de semnalul de la ieșirea comparatorului de fază intern lui MAX038. Unul dintre intrările acestui comparator este conectat intern la ieșirea de semnal dat de generatorul de frecvență. Cealaltă intrare o vom conecta la ieșirea unui alt comparator de fază extern, prin intermediul unui filtru trece jos. Ieșirea comparatorului de fază va regla frecvența generată de MAX038, prin conectarea acestuia la semnalul de reglaj fin al frecvenței, prin intermediul unui filtru trece-jos, realizat cu ajutorul R43, R44 și C54.
Figura 4.5.6.Conexiunile OCT
Comparatorul de fază extern va da la ieșire un semnal proporțional cu diferența de fază dintre semnalul de intrare de referință divizat cu un factor dictat de microcontrollerul C167 și semnalul generat de MAX038, și divizat cu 210 cu ajutorul unui numărător 74HCT4040. Pentru a face acest lucru, semnalul SYNC de la ieșirea MAX038 se va folosi ca și intrare de tact pentru numărător, iar ieșirea se va colecta de pe pinul Q10.
Figura 4.5.7.Divizorul cu 210
Comparatorul de fază extern face parte din circuitul integrat 74HCT4046, acesta fiind tot un circuit PLL de uz general. Prin intermediul acestui comparator facem o primă aproximare a diferenței de fază dintre semnalul de intrare (după o divizare cunoscută) și cel de ieșire (după o divizare fixă).
Figura 4.5.8.Comparatorul de fază extern
Având acest lanț de circuite, dacă frecvența centrală selectată de către microcontrollerul AT89C2051 a fost aleasă corect, circuitul se poate regla prin intermediul semnalelor diferență de fază date de cele două comparatoare.
Ieșirea circuitului MAX038 se va folosi ca și sursă de tact pentru numărătoarele de adresă în modul urmărire.
4.6. Circuitul de selecție a tactului
Pentru selecția semnalului de tact folosit, în funcție de modul de funcționare a feneratorului de funcții arbitrare se vor folosi trei comutatoare analogice, pe a căror intrare se vor plasa semnalele de tact pentru cele trei moduri de funcționare – generare, urmărire și încărcare – iar ieșirile acestora vor fi conectate împreună și se va distribui către toate circuitele care folosesc semnalul acesta.
Selecția sursei de tact se face cu ajutorul unuia din semnalele SWITCH_CLOCK1, SWITCH_CLOCK2 sau SWITCH_CLOCK3. Nu este permisă activarea simultană a două semnale de selecție a tactului, deoarece astfel se vor lega împreună două surse de semnal.
Figura 4.5.9.Circuitul de comutare a tactului
4.7. Circuitele de alimentare
Circuitul se va alimenta de rețeaua de 220V/50Hz prin intermediul unui transformator care va avea în secundar o tensiune care redresată și filtrată să nu depășească 35V, aceasta fiind tensiunea maximă ce se poate aplica la intrarea stabilizatoarelor de tensiune din seria 78xx.
Pentru a obține o separare cât mai bună între alimentările circuitelor analogice și celor digitale, precum și pentru a preveni o ambalare termică semnificativă, se vor folosi mai multe stabilizatoare de tensiune.
Pentru a preveni alterarea nivelului tensiunii de alimentare fiecare circuit integrat a fost prevăzut cu o bobină serie și un condensator paralel pe barele de alimentare. Astfel pe lângă efectul de rezervor de sarcină al condensatorului se previne și propagarea către alimentarea sistemului a posibilelor variații locale pe pinul de alimnentare.
Rezultate experimentale
La punerea sub tensiune circuitul nu are posibilitatea de a genera semnale, deoarece memoria RAM nu este inițializată. Astfel, microcontrolerul C167 va monitoriza portul serial în așteptarea unei serii de date care să semnifice eșantioanele aparținând unui semnal periodic, numărul de eșantioane, frecvența semnalului, precum și date auxiliare, cum ar fi cele referitoare la modul de funcționare (generare sau urmărire) sau configurarea ieșirilor circuitului (nivelul și ofsetul semnalului). Dacă circuitul se configurează în modul urmărire, se vor transmite și datele referitoare la condiționarea semnalului de referință ce urmează a fi urmărit. Aceste date vor determina modificarea nivelului semnalului de referință și/sau adăugarea/scăderea unei componete de curent continuu pentru a obține un semnal corespunzător comandării divizorului programabil.
Primele date ce urmează a fi recepționate pe serială sunt cele referitoare la numărul de eșantioane ce urmează a fi memorate. Odată recepționată această informație, se va trece la resetarea numărătoarelor și punerea la una din intrările comparatoarelor a informației cu privire la numărul de eșantioane. În acest mod de lucru sursa de tact pentru numărătoarele de adresă va fi WRITE_CLOCK. Această sursă se va selecta prin activarea semnalului SWITCH_CLOCK3 și punerea în 0 a semnalelor SWITCH_CLOCK1 și SWITCH_CLOCK2.
Date fiind resursele limitate ale microcontrollerului C167, datele se vor înscrie în memoria RAM de 64 kilocuvinte pe parcurs ce se recepționează prin interfața serială.
Înscrierea se face prin dezactivarea ieșirilor de date ale memoriei și a căii de date de la memorie către convertorul numeric-analogic pe 16 biți AD768 prin punerea în 1 a semnalului OE_SRAM. Calea de înscriere a datelor de la controller la memorie se va activa prin punerea în 0 a semnalului OEx1, care acționează asupra bufferelor 74HC244, a căror ieșire era în stare de înaltă impedanță.
După resetarea numărătoarelor de adresă acestea vor indica către adresa 0. La recepționarea unui eșantion, datele aferente acestuia vor fi puse pe pinii de date a memoriei, se trec semanlele UB_LB_SRAM și WE_SRAM în 0 pentru memorarea eșantionului la adresa curentă, se vor readuce în starea 1, după care se va aplica un impuls pe semnalul WRITE_CLOCK. Acest lucru determină trecerea la următoarea locație de memorie, pregătindu-se astfel memoria pentru următorul eșantion care se va recepționa. Acest proces se va repeta de un număr de ori egal cu numărul eșantioanelor prestabilit la intrarea comparatoarelor.
Frecvența semnalului (în modul generare) se va stabili prin înscrierea unui cuvânt de comandă în circuitul DDS.
Cele două ieșiri ale circuitului vor oferi forme de undă identice, ele având circuite separate, dar fiind conectate la aceeași sursă de semnal și aceeași comandă digitală. Astfel, pentru cele două canale corecțiile de nivel și de ofset se vor face simultan. Ultimele circuite din etajele de ieșire sunt repetoare de putere, cu o impedanță de ieșire standard de 50Ω, de tip AD811. Acestea oferă o putere suficientă pentru a nu distorsiona sau atenua semnalul în cazul în care impedanța circuitului la care se conectează este acordată cu impedanța de ieșire. În cazul unei impedanțe mai mari poate să apară reflexii la capăt de linie, iar în cazul unei impedanțe mai mici semnalul va fi atenuat.
Pentru mai multă simplitate și un cost mai scăzut, sistemul nu dispune de o interfață cu utilizatorul, acest lucru realizându-se prin intermediul unui modul software care va rula pe o platforma PC. Acest modul va fi responsabil de generarea valorilor eșantioanelor, informațiilor referitoare la frecvență și configurările canalelor, precum și de prezentarea acestor informații într-un mod specificat de generatorul de funcții arbitrare.
Concluzii
Sistemul propus este o alternativă mult mai ieftină pentru generatoarele de funcții arbitrare disponibile în comerț cum ar fi HM8130 și HM8131 de la Hameg care pot atinge o performanță de maxim 40MSPS (Mega Semple Per Second) la 12 biți.
Cu ajutorul montajului se pot genera forme de undă de orice formă, cu felurite aplicații, cum ar fi testarea selectivității unor filtre, răspunsul în frecvență a unor circuite, generarea unor forme de undă “exotice” obținute pe baza unor formule matematice, simularea suprapunerii unor zgomote peste un semnal ideal.
7. Bibliografie
1) Mitrofan Gh.-Generatoare de funcții
2) Dan Pitică – “Proiectarea antiperturbativă în sisteme electronice”, Ed. Albastră, Cluj-Napoca 2000
3) ***minimodul 167 hardwarw manual,PHYTEC.
4) AD9850 datasheet, www.analog.com
5) MAX038 datasheet, www.maxim-ic.com
6) Synthesizer Products Data Book, www.qualcomm.com/ProdTech/asic
7) Unlocking the PLL, www.complextoreal.com
8) Ulrich L. Rhode –“Digital PLL requency synthesizers- Theory and Design”, Pretice-Hall, 1983.
9) Paul R.Gray,robert G. Meyer –“Analysis and design of integrated circuits”, John Wiley and Sons, 1993;
10) William F.Egan –“Frequency Synthesis of Phase Lock”, John Wiley and Sons,2000;
11) T.C.Edwards –“Foundations for microstrip circuit design”, John Wiley and Sons, 1981
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: . Generatoare de Functii. Considerente Legate de Proiectarea Antipertubativa a Cablajelor Imprima (ID: 148970)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
