Învață cum și când să alegi și să adaugi un convertor DAC extern la un microcontroler

3 SEPTEMBRIE 2019

Unele microcontrolere pe 32 de biți au integrate pe cip convertoare digital-analogice (DAC) pentru generare de frecvență și tensiune. Pentru numeroase aplicații, acest lucru oferă o funcționalitate suplimentară economisind în același timp spațiu pe placa de PCB. Totuși, aplicațiile pot necesita funcționalități specifice ale convertoarelor DAC, care nu se regăsesc în cipurile incluse în microcontrolere. Acest articol prezintă capabilitățile și limitările unui DAC aflat pe cipul unui microcontroler. Sunt apoi prezentate exemple de soluții DAC externe de înaltă precizie și cum să fie utilizate pentru a genera semnale analogice de înaltă precizie.

Operarea DAC pe cip
Pentru a permite proiectanților să genereze semnale analogice particulari­zate, producătorii de microcontrolere au început să includă periferice DAC pe cip. Acestea pot fi utilizate pentru a genera tensiuni precise, precum și forme de undă particulare, incluzând aici unde sinusoidale și triunghiulare. Convertoarele DAC pot fi, de asemenea, utilizate pentru sintetizare de voce.
Un convertor DAC generează o tensiune de ieșire care poate lua valori cuprinse în intervalul 0 volți și până la valoarea tensiunii de referință a convertorului. Tensiunea este proporțională cu valoarea digitală a registrului de date al DAC. De exemplu, dacă rezoluția DAC este de 8 biți, iar tensiunea de referință este de 5 volți, atunci precizia de 1 LSB (cel mai puțin semnificativ bit – nota trad.) a convertorului este de 5/255 = 0.0196 volți. Astfel ideal, dacă registrul de date al convertorului DAC pe 8 biți conține valoarea 01h, atunci ieșirea DAC ar trebui să fie echivalentul 1 LSB, adică 0.0196 volți. Dacă registrul de date conține valoarea F1h (241), atunci ieșirea unui DAC ideal ar trebui să fie 4.7236 volți. Ideal, adăugând 01h la registrul de date DAC, valoarea tensiunii de ieșire ar trebui să crească cu tensiunea dată de 1 LSB.
Desigur, ca și în cazul oricărui circuit analogic, niciun DAC nu este ideal. Variația pe ieșirea DAC față de valoarea ideală dată de registrul de date se numește eroare de neliniaritate diferențială (DNL) și se măsoară în LSB. De exemplu, un DAC tipic integrat într-un microcontroler poate avea specificată o eroare DNL de ±2 LSB. Convertoarele DAC pot avea erori de amplificare liniară, măsurate ca un procentaj adăugat la ieșirea ideală, adesea fiind vorba de adăugarea de 0.5% la tensiunea de ieșire.
Pentru un DAC ideal, un grafic al valorilor de ieșire raportate la conținutul registrului de date ar fi o variație liniară. Adăugând erorile liniare cauzate de variațiile parametrilor de circuit ai DAC-ului pentru un convertor din lumea reală ar conduce, de asemenea, la o variație liniară. În realitate, se va devia de la variația liniară către o curbă neliniară. Această neliniaritate este, de asemenea, un rezultat al variaților în circuitul convertorului DAC cu tensiunea și temperatura. Această eroare neliniară este numită eroare neliniară integrală (IRL). Pentru convertoarele DAC ale microcontrolerelor, eroarea în cauză poate fi de ±4 LSB sau mai mare.
Pentru generarea frecvenței, cea mai mare frecvență de ieșire a unui convertor DAC integrat într-un microcontroler este limitată de frecvența unității centrale (CPU) a microcontrolerului.
Toate convertoarele DAC necesită o tensiune de referință precisă pentru a oferi un semnal analogic precis. Pe microcontrolerele moderne, această tensiune de referință este uzual derivată dintr-un pin dedicat de tensiune de referință analogică. În interiorul microcontrolerului, această tensiune de referință analogică este păstrată separat și izolată de logica digitală internă pentru a minimiza riplul sursei de tensiune. Cu toate acestea, pot fi așteptate unele mici interferențe datorate logicii digitale de mare viteză. În vreme ce perifericele DAC nu sunt atât de susceptibile la riplul sursei de tensiune atunci când se generează forme de undă sinusoidale, riplul poate fi însă notabil atunci când este necesară o tensiune de ieșire stabilă și precisă sau când este vorba despre generarea uni voci sintetizate sau a unui ton muzical.

Figura 1: Interfața DAC80508 cu majoritatea micro­controlerelor care utilizează o interfață SPI; are opt canale identice de ieșire analogică .

În vreme ce utilizarea unei tensiuni de referință mai mari poate minimiza efectul riplului sursei de tensiune, acest lucru va împiedica DAC-ul să genereze tensiuni mai mici, reducând în același timp precizia convertorului pentru 1 LSB.

Circuite DAC externe pe un singur cip pentru semnale mici
Perifericele DAC de pe majoritatea microcontrolerelor pot oferi o precizie suficientă pentru majoritatea aplicațiilor uzuale. Totuși, există situații unde este necesară o precizie extrem de ridicată și/sau mare viteză. Aici este momentul în care devine practic o necesitate utilizarea unui convertor DAC extern.
Texas Instruments are o linie de convertoare externe DAC care pot genera semnale analogice pentru orice problemă de proiectare. De exemplu, dacă este greu de găsit spațiu pe placa de PCB, DAC80508MYZFT pe 16-biți este extrem de mic, de numai 2.4 × 2.4 mm în capsulă DSBGA. Acest convertor are opt ieșiri și se poate interfața cu majoritatea microcontrolerelor ce utilizează interfață SPI cu o frecvență de ceas de până la 50 MHz (Figura 1).
DAC80508 poate utiliza o referință de tensiune analogică externă sau poate utiliza tensiunea sursei de alimentare digitale a DAC pentru a genera propria tensiune de referință internă de 2.5 volți cu o precizie de ±5 mV. Deriva tensiunii de referință interne este de 2 părți pe milion pe grad Celsius (ppm/°C). Aceasta oferă o tensiune de referință foarte stabilă pe întreg domeniul de temperatură, de la -40°C la +125°C. Opțional, tensiunea de referință poate fi divizată la 2 pentru a oferi un semnal analogic cu un nivel maxim de 1.25 volți.
DAC80508 are o precizie ce nu poate fi găsită pe majoritatea perifericelor DAC ale microcontrolerelor. INL și DNL sunt amândouă de ±0.5 LSB tipic, ±1 LSB maxim. Eroarea de amplificare este de ±0.5% tipic, ±1% maxim. Cu o rezoluție de 16-biți, acest nivel de precizie este perfect pentru conversia semnalelor audio digitale în semnale audio analogice. De exemplu, dispozitivul poate fi utilizat pentru a converti semnalul audio digital PCM (pulse code modulated) transmis prin cabluri de fibră optică sau pentru conversia semnalelor audio digitale de pe un dispozitiv de stocare. După conversia semnalului audio digital în date audio pe 16-biți, DAC80508 poate converti datele în semnale audio analogice care sunt transmise prin cabluri uzuale RCA. Dacă tensiunea de referință este stabilită la 1.25 volți, aceasta este o precizie mai mult decât suficientă pentru a genera semnale audio la nivel de linie.
DAC80508 are, de asemenea, un amplificator de ieșire care poate multiplica tensiunea de ieșire cu 2, generând o tensiune de ieșire care este de două ori tensiunea de referință.
Generarea formelor de undă analogice cu DAC80508 prin interfață SPI este simplă. Fiecare pachet de comandă SPI trimis către un registru de date DAC are o lățime de 32 de biți. Fiecare pachet conține adresa canalului pe care trebuie scris împreună cu datele pe 16-biți ce trebuie scrise în registru. Orice canal de ieșire al DAC80508 poate fi programat pentru a genera tensiunea de ieșire imediat după scrierea datelor în registru sau pentru a păstra valorile în regiștri de date DAC până când SPI scrie într-un registru de transmisie internă. Scrierea unui “1” logic pe oricare dintre cele 8 poziții ale biților regis­trului de transmisie va actualiza numai acea ieșire DAC cu valoarea din regis­trul său de date. Acest lucru permite generarea de semnale sincronizate, utile pentru generarea de forme de undă pentru echipamente de testare.

Tabelul 1: DAC38RF82 este un convertor DAC de performanță ultra-ridicată, care poate genera forme de undă de peste 1GHz. El se conectează la un microprocesor gazdă utilizând o interfață de joasă putere, cu 8 linii, JEDSD204B cu 12.5Gbit/s

Evitarea erorilor de semnal și a zgomotului
Când convertoarele sunt utilizate în medii industriale zgomotoase, interferențele ocazionale nu pot fi evitate, în special dacă sunt prezente tensiuni ridicate. Pentru a preveni erori ale semnalului de ieșire ca rezultat al interferențelor pe SPI, DAC80508 poate genera opțional o valoare de control pe 8-biți (checksum) la sfârșitul fiecărui pachet SPI (Tabelul 1). Dacă valoarea de control este validă, registrul de date DAC este scris. Dacă valoa­rea de control este eronată, nu sunt scrise date. Opțional, la o valoare de control eronată, DAC-ul poate ”trage” pinul SPI SDO în nivel logic inferior, acționând ca pin de alarmă de tip activ în nivel logic inferior. Este apoi respon­sabilitatea firmware-ului microcontrolerului de a reacționa ca urmare a valorii de control eronate.
Indiferent de precizia declarată de orice DAC, ea poate fi asigurată numai prin utilizarea unei surse de tensiune curate. Este critic ca VDD pentru DAC80508 să aibă zgomot redus și să fie fără riplu.
Dacă DAC80508 este utilizat într-un convertor DC-DC, trebuie avută o grijă suplimentară, deoarece aceste surse de tensiune sunt prin natura lor extrem de zgomotoase. Filtrarea pe VDD este importantă, astfel că, între VDD și masa analogică trebuie plasat un condensator de la 1 µF la 10 µF, împreună cu un altul de 0.1 µF. Trebuie utilizate condensatoare ceramice cu ESR scăzut și ar trebui plasate cât de aproape posibil de pinul VDD.
Ieșirile de semnal analogic trebuie ținute lângă marginea plăcii de circuit imprimat, bine izolate de componentele digitale. Acest lucru servește nu numai la a preveni interferențele cu ieșirile analogice ale DAC, ci și să prevină ca aceste semnale analogice să interfereze cu alte semnale de pe placa de circuit.

Figura 2: DAC38RF82 este un convertor DAC de performanță ultra-ridicată, care poate genera forme de undă de peste 1 GHz. El se conectează la un microprocesor gazdă utilizând o interfață de joasă putere, cu 8 linii, JEDSD204B cu 12.5 Gbit/s

DAC de mare viteză și performanță ridicată
Uneori o aplicație lipsită de compromisuri necesită performanțe extrem de ridicate. Convertoarele DAC pot genera semnale și în gama de GHz. Acest lucru poate fi important, de exemplu, pentru echipamente radar, în care circuitele analogice normale nu pot crea precizia cerută pentru aplicație. Pentru asemenea aplicații poate fi utilizat convertorul DAC de mare viteză, RF cu canal dual DAC38RF82IAAV de la Texas Instruments, cu scop de a genera forme de undă de peste 1 GHz, totul într-o capsulă relativ mică BGA de 10mm × 10mm (Figura 2).
DAC38RF82 suportă trei rezoluții. Atunci când este reglat pentru o rezoluție de 16-biți, el poate genera semnale RF de până la 2 GHz. Când este selectată o rezoluție de 12-biți, el poate genera semnale de 2.66 GHz. Cel mai rapid mod este atunci când se selectează rezoluția de 8-biți, caz în care se pot genera forme de undă de 4.5 GHz. Cu siguranță, aceste viteze sunt dincolo de capabilitățile oricărui periferic DAC de pe un microcontroler.
DAC38RF82 are suficiente performanțe pentru a fi utilizat în transmițătoare în banda de bază, precum antene de telefonie mobilă și pot fi, de asemenea, utilizate pentru generare de forme de undă particularizate pentru aplicații precum echipamente de testare de înaltă calitate. DAC38RF82 poate fi, de asemenea, utilizat pentru generare de semnal radar pentru vehicule autonome.
Acest dispozitiv este mult mai complex decât DAC80508. Generarea semnalelor de până la 4.5 GHz necesită o interfață de date foarte rapidă.
DAC38RF82 utilizează o interfață de date serială JESD204B, care în modul de 8-biți are o viteză de 9 Gbits/s. La aceste viteze de interfațare dispozitivul se interfațează cu un FPGA sau un ASIC.
Când este utilizat în modurile de 12-biți sau 16-biți, DAC38RF82 poate genera două forme de undă RF. În modul de mare viteză de 8-biți, este suportată numai o formă de undă. Sunt necesare trei tensiuni de alimentare, 1V; 1.8V și -1.8V. Ținând cont de cerințele de aplicație tipice ale dispozitivului, aceste tensiuni de alimentare trebuie să fie foarte curate și fără riplu.
Ideal, fiecare dintre cele trei secțiuni principale și relativ independente ale DAC – subsistemul digital, subsistemul analogic și subsistemul de ceas – ar trebui să dispună de surse proprii de tensiune pentru a evita interacțiuni neintenționate.

DNL-ul pentru DAC este tipic de ±3 LSB, INL este tipic de ±4 LSB și are o eroare de amplificare de ±2%. Precizia pentru o aplicație dată poate fi asigurată prin selectarea pe durata testării a valorilor potrivite ale registrului de date al DAC.

Figura 3: DAC38RF82EVM (din partea stângă a imaginii) generează semnale RF pentru testare. Aceasta este alimentată cu date digitale, care sunt generate de placa TSW14J56EVM (din partea dreaptă a imaginii) printr-o interfață JESD204B.

Începerea dezvoltării cu DAC38RF82
Atunci când se generează asemenea frecvențe ridicate cu suficientă precizie, o placă de evaluare este o parte esențială a procesului de dezvoltare. DAC38RF82 este susținut de placa de dezvoltare și evaluare DAC38RF82EVM, care suportă toate funcțiile acestui DAC de înaltă calitate. El necesită o placă de interfațare pentru captare de date TSW14J56EVM pentru a genera semnalele digitale care se interfațează cu DAC38RF82EVM. Placa de captare de date se conectează la PC utilizând o interfață USB 3.0.
Software-ul de evaluare furnizat conține totul pentru evaluare, testare și programare a DAC38RF82 pentru aplicația țintă.

Atunci când se utilizează un dispozitiv de asemenea viteză ridicată, layout-ul este critic. DAC38RF82 trebuie să fie amplasat la marginea plăcii de circuit imprimat și separat de celelalte componente pe cât de mult posibil. Trebuie urmate cu strictețe recomandările de trasee RF scurte și de condensatoare de bypass între pinii de alimentare și masă. Alte recomandări legate de layout sunt utilizarea unor condensatoare de bypass cu tehnologie via-in-pad și lungimi mici ale liniei de transmisie pentru a evita inductanțele parazite. De asemenea, proiectanții trebuie să utilizeze un ghid de undă coplanar diferențial de 100 Ω pentru traseele de ieșire.

Concluzie
Microcontrolerele cu convertoare DAC de uz general pe cip sunt potrivite pentru generarea de tensiuni de precizie rezonabilă și forme de undă în gama de kHz. Totuși, pentru tensiuni precise sau generare de viteze foarte mari, pot fi utilizate convertoare DAC externe pentru a îmbunătăți semnificativ precizia și performanța aplicației, utilizând câteva bune practici de proiectare de nivel superior cu privire la sursele de tensiune și realizarea de layout-uri.

Autor: Rich Miron – Inginer de aplicații

Rich Miron, Inginer de aplicații la Digi-Key Electronics, face parte din grupul de autori care crează articole tehnice (Technical Content Group) din 2007, având res­ponsabilitatea principală de a scrie și edita articole, bloguri și module de instruire pentru cunoașterea produselor.
Înainte de Digi-Key, el a testat și calificat sisteme de control și instrumentare pentru submarine nucleare. Rich deține o diplomă în inginerie electrică și electronică de la Universitatea de Stat din North Dakota din Fargo, ND.

Digi-Key Electronics   |    www.digikey.com

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *

  • Folosim datele dumneavoastră cu caracter personal NUMAI pentru a răspunde comentariilor/solicitărilor dumneavoastră.
  • Pentru a primi raspunsuri adecvate solicitărilor dumneavoastră, este posibil să transferăm adresa de email și numele dumneavoastră către autorul articolului.
  • Pentru mai multe informații privind politica noastră de confidențialitate și de prelucrare a datelor cu caracter personal, accesați link-ul Politica de prelucrare a datelor (GDPR) si Cookie-uri.
  • Dacă aveți întrebări sau nelămuriri cu privire la modul în care noi prelucrăm datele dumneavoastră cu caracter personal, puteți contacta responsabilul nostru cu protecția datelor la adresa de email: gdpr@esp2000.ro
  • Abonați-vă la newsletter-ul revistei noastre