Weten wanneer en hoe je een externe DAC moet kiezen en toepassen voor een microcontroller
Bijgedragen door De Noord-Amerikaanse redacteurs van DigiKey
2019-03-06
Sommige 32-bits microcontrollers zijn voorzien van digitaal-naar-analoog-converters (DAC's) op chip om frequentie of spanning te genereren. Dit levert extra functionaliteit op voor veel toepassingen, terwijl er minder ruimte op de printplaat nodig is. Er kunnen echter gespecialiseerde DAC-functies nodig zijn voor bepaalde toepassingen, die niet in microcontrollers zitten.
In dit artikel worden de mogelijkheden en de beperkingen van een microcontroller-DAC op chip besproken. Daarna worden er voorbeelden gegeven van uiterst nauwkeurige externe DAC-oplossingen en wordt getoond hoe die moeten worden gebruikt om precieze analoge signalen te genereren.
Gebruik van DAC op chip
Microcontrollerfabrikanten zijn begonnen met het toevoegen van DAC-randapparatuur op chips zodat ontwerpers aangepaste analoge signalen kunnen genereren. Deze DAC's kunnen worden gebruikt om precieze spanningen en aangepaste golfvormen, waaronder sinus- en driehoeksgolven, te genereren. DAC's kunnen ook worden gebruikt voor spraaksynthese.
Een DAC genereert een uitgangsspanning die zo laag kan zijn als 0 volt en zo hoog als de analoge referentiespanning voor de DAC. De spanning is evenredig met de digitale waarde in het DAC-gegevensregister, met een precisie die is gebaseerd op de resolutie van de DAC. Als de DAC-resolutie bijvoorbeeld 8 bit is en de referentiespanning 5 volt, is de precisie van 1 LSB van de DAC 5/255 = 0,0196 volt. Dus als het 8-bits DAC gegevensregister 01h bevat, zou de DAC-uitgang in het ideale geval het equivalent zijn van 1 LSB, ofwel 0,0196 volt. Als het 8-bits DAC-gegevensregister de waarde F1h bevat (241), zou de uitgang van een ideale DAC 4,7236 volt zijn. In het ideale geval zou een toevoeging van 01h aan het DAC-gegevensregister de waarde van de uitgangsspanning moeten verhogen met 1 LSB.
Maar, net als alle analoge circuits, is geen enkele DAC ideaal. De afwijking van de DAC-uitgang van de ideale waarde van het gegevensregister wordt de differentiële non-lineariteitsfout (DNL) genoemd en wordt gemeten in LSB. Een typische microcontroller-DAC kan bijvoorbeeld een DNL van ±2 LSB aangeven.
DAC's kunnen ook een lineaire versterkingsfout hebben, gemeten als een percentage dat wordt toegevoegd aan de ideale uitgang, waarbij vaak een extra 0,5% wordt toegevoegd aan de uitgangsspanning.
Voor een ideale DAC zou een diagram van de uitgangswaarden tegen de inhoud van het DAC-gegevensregister een rechte lijn moeten zijn. Met toevoeging van de lineaire fouten die worden veroorzaakt door variaties in de DAC-circuitparameters bij een real-world DAC, zou het ook een rechte lijn moeten zijn. In werkelijkheid, zou die lijn echter afwijken van een rechte lijn en naar buiten toe afbuigen in een niet-lineaire curve. Deze non-lineariteit is ook een gevolg van afwijkingen in het DAC-circuit door spanning en temperatuur. Deze non-lineariteitsfout wordt de integrale non-lineariteitsfout (IRL) genoemd. Bij microcontroller-DAC's kan dit ±4 LSB of hoger zijn.
Voor frequentiegeneratie is de snelste uitgangsfrequentie van een microcontroller-DAC beperkt tot de CPU-frequentie van de microcontroller.
Alle DAC's hebben een nauwkeurige referentiespanning nodig om een precies analoog signaal te kunnen bieden. In moderne microcontrollers wordt die DAC-referentiespanning gewoonlijk afgeleid van een speciale analoge referentiespanningspin. In de microcontroller wordt deze analoge referentiespanning gescheiden en geïsoleerd gehouden van de interne digitale logica, om rimpelspanning te beperken. Er kan echter wel wat kleine interferentie van de digitale hogesnelheidslogica worden verwacht. Terwijl DAC-randapparatuur niet echt gevoelig is voor rimpelspanning bij het genereren van sinusgolven, kan de rimpeling wel merkbaar zijn als er een stabiele en precieze uitgangsspanning nodig is, of bij het genereren van een gesynthetiseerde stem of muziektoon.
Hoewel het gebruik van een hogere referentiespanning het effect van voedingsrimpelspanning kan beperken, zou de DAC daardoor geen lagere spanningen meer kunnen genereren en zou de precisie van de DAC voor 1 LSB worden verminderd.
Externe single-chip-DAC's voor kleine signalen
De DAC-randapparatuur kan op de meeste microcontrollers voldoende nauwkeurigheid bieden voor algemene toepassingen. Er zijn echter situaties waarin extreem hoge precisie en/of hoge snelheid is vereist. In die gevallen wordt een externe DAC een praktische noodzaak.
Texas Instruments heeft een lijn externe DAC's die analoge signalen kunnen genereren voor ieder ontwerpprobleem. Als er bijvoorbeeld weinig printplaatruimte is, is de DAC80508MYZFT 16-bits-DAC extreem klein met maar 2,4 x 2,4 mm in een DSBGA-pakket. Deze DAC heeft acht uitgangen en kan communiceren met de meeste microcontrollers via een SPI-interface met een kloksnelheid tot 50 megahertz (MHz) (Afbeelding 1).

Afbeelding 1: De DAC80508 communiceert met de meeste microcontrollers via SPI-interface en heeft acht identieke analoge uitgangskanalen. (Bron afbeelding: Texas Instruments)
De DAC80508 kan een externe analoge spanningsreferentie of de digitale voedingsspanning van de DAC gebruiken om zijn eigen interne referentiespanning van 2,5 volt te genereren met een nauwkeurigheid van ±5 mV. De referentiespanningsafwijking is een minieme 2 delen per miljoen per graad Celsius (ppm/°C). Dit biedt een zeer stabiele referentiespanning over het temperatuurbereik van -40°C tot +125°C. De referentiespanning kan eventueel ook door twee worden gedeeld om analoge signalen te bieden met een maximum van 1,25 volt.
De DAC80508 heeft een precisie die je op de meeste microcontroller DAC-randapparatuur niet aantreft. Zowel de INL als de DNL zijn typisch ±0,5 LSB, maximaal ±1 LSB. De versterkingsfout is typisch ±0,5%, maximaal ±1%. Met een resolutie van 16 bit is dit nauwkeurigheidsniveau perfect voor het converteren van digitale audiosignalen in analoog geluid. Het kan bijvoorbeeld worden gebruikt voor het converteren van pulse code modulated (PCM) digitale audio die wordt verzonden via glasvezelkabels of voor het converteren van de digitale audio van een opslagapparaat. Na het omzetten van de digitale audio in 16-bits audiodata, kan de DAC80508 de data converteren in analoge audiosignalen die via normale RCA-kabels worden verzonden. Als de referentiespanning is ingesteld op 1,25 volt, is dat meer dan voldoende nauwkeurig om lijnniveau-audiosignalen te genereren.
De DAC80508 heeft ook een uitgangsversterker die de uitgangsspanning met twee kan vermenigvuldigen, zodat er een uitgangsspanning wordt gegenereerd die tweemaal de referentiespanning is.
Het is eenvoudig om met de DAC80508 analoge golfvormen te genereren via de SPI-interface. Ieder SPI-opdrachtpakket dat naar een DAC-gegevensregister wordt gestuurd, is 32 bits breed. Ieder pakket bevat het kanaaladres waarnaar moet worden geschreven samen met de 16 bits-gegevens die in het register moeten worden geschreven. Ieder DAC80508-uitgangskanaal kan worden geprogrammeerd om de uitgangsspanning onmiddellijk te genereren nadat de gegevens in het register zijn geschreven, of om alle waarden in de DAC-gegevensregisters te houden totdat de SPI naar een intern uitzendregister schrijft. Door het schrijven van een logische "1" in één van de acht uitzendregisterbitposities, wordt alleen die DAC-uitgang bijgewerkt met de waarde in het DAC-gegevensregister. Hierdoor kunnen er synchrone signalen worden gegenereerd, wat handig is voor het genereren van golfvormen voor testapparatuur.
Signaalfouten en ruis voorkomen
Bij gebruik in rumoerige industriële omgevingen kan interferentie soms onvermijdelijk zijn, met name als er hoge spanningen aanwezig zijn. Om uitgangssignaalfouten als gevolg van interferentie op de SPI te voorkomen, kan de DAC80508 optioneel een 8-bits controlesom genereren aan het einde van ieder SPI-pakket (Afbeelding 2). Als de controlesom geldig is, wordt het DAC-gegevensregister geschreven. Als de controlesom mislukt, worden er geen gegevens geschreven. Optioneel kan bij een mislukte controlesom de DAC de SPI SDO-pin omlaag trekken, wat werkt als een actieve lage-alarmpin. Het is de verantwoordelijkheid van de firmware van de microcontroller om te reageren op de mislukte controlesom.
|
Afbeelding 2: Structuur van het 32-bits SPI-pakket. Als het DAC-gegevensregister-SPI-pakket van de DAC80508 een 8-bits controlesom bevat, wordt het pakket met MSB eerst verzonden, waarbij de laatste bits (7:0) de controlesom bevatten. De controlesom wordt automatisch door de DAC80508 gegenereerd. (Bron afbeelding: Texas Instruments)
Los van de verklaarde precisie van een DAC kan nauwkeurigheid alleen worden gegarandeerd door een schone voeding te gebruiken. Het is van cruciaal belang dat de VDD van de DAC80508 lage ruis heeft zonder rimpel. Als de DAC80508 in een DC-DC converter wordt gebruikt, moet er extra voorzichtig te werk worden gegaan omdat deze voedingen van nature extreem veel ruis hebben. Filtering op VDD is belangrijk en daarom moet er een condensator van 1 microfarad (µF) tot 10 µF, samen met een condensator van 0,1 µF, tussen de VDD en de analoge aarde worden geplaatst. Er moeten keramische condensatoren met een lage ESR worden gebruikt, die zo dicht mogelijk bij de VDD-pin moeten worden geplaatst.
De analoge signaaluitgangen moeten bij de randen van de printplaat worden gehouden en goed worden geïsoleerd van de digitale componenten. Dat is niet alleen om interferentie op de analoge DAC-uitgangen te voorkomen, maar ook om te voorkomen dat de analoge signalen interfereren met de andere signalen op de printplaat.
DAC met hoge snelheid en hoge prestaties
Soms zijn er voor een compromisloze toepassing extreem hoge prestaties nodig. DAC's kunnen zelfs signalen in het gigahertz-bereik genereren. Dat kan met name belangrijk zijn voor radarapparatuur, wanneer een rechtstreeks analoge circuits niet de voor radar vereiste precisie kunnen creëren. Voor dergelijke toepassingen kan de DAC38RF82IAAV hogesnelheids- RF- tweekanaals-DAC van Texas Instruments worden gebruikt om golfvormen boven 1 gigahertz (GHz) te genereren in een relatief klein BGA-pakket van 10 mm x 10 mm (Afbeelding 3).

Afbeelding 3: De DAC38RF82 is een ultrahoog presterende DAC die golfvormen van hoger dan 1GHz kan genereren. De DAC communiceert met een host-microprocessor via een laagvermogen JEDSD204B achtkanaals interface van 12,5 Gbit/s. (Bron afbeelding: Texas Instruments)
De DAC38RF82 ondersteunt drie resoluties. Als hij wordt ingesteld op een resolutie van 16 bit, kan hij RF-signalen tot 2 GHz genereren. Als een resolutie van 12 bit wordt geselecteerd, kan de DAC signalen van 2,66 GHz genereren. De snelste modus is wanneer de DAC wordt ingesteld op een resolutie van 8 bit, waarbij hij golfvormen van 4,5 GHz kan genereren. Deze snelheden liggen absoluut boven het vermogen van welke microcontroller-DAC op chip dan ook.
De DAC38RF82 biedt voldoende prestaties om te kunnen worden gebruikt in basisbandzenders als gsm-masten, maar kan ook worden gebruikt voor aangepaste golfvormgeneratie bij toepassingen als hoogwaardige testapparatuur. De DAC38RF82 kan ook worden gebruikt voor het genereren van radarsignalen voor autonome voertuigen.
Dit apparaat is complexer dan de DAC80508. Voor het genereren van signalen tot 4,5 GHz is een zeer snelle data-interface nodig. De DAC38RF82 gebruikt een JESD204B seriële data-interface die in de 8-bits modus zo snel is als 9 Gbit/s. Bij deze interfacesnelheden communiceert het apparaat met een FPGA of een ASIC.
Bij gebruik in 12-bits of 16-bits modus kan de DAC38RF82 twee RF-golfvormen genereren. In de hogesnelheids 8-bits modus wordt er slechts één golfvorm ondersteund. Er zijn drie voedingsspanningen voor nodig: 1 volt, 1,8 volt en -1,8 volt. Gezien de typische toepassingsvereisten van het apparaat moeten deze voedingsspanningen zeer schoon en rimpelvrij zijn. Ideaal gezien heeft elk van de drie hoofd- en relatief onafhankelijke sectoren van de DAC - het digitale subsysteem, het analoge subsysteem en het klok-subsysteem - zijn eigen, verdeelde voeding om onbedoelde interacties te vermijden.
De DNL van de DAC is typisch ±3 LSB, de INL is typisch ±4 LSB en de typische versterkingsfout is ±2%. De nauwkeurigheid voor een bepaalde toepassing kan worden gegarandeerd door de juiste DAC-gegevensregisterwaarden te selecteren tijdens het testen.
De ontwikkeling van de DAC38RF82 stimuleren
Bij het genereren van zulke hoge frequenties met voldoende nauwkeurigheid, is een evaluatiebord een essentieel onderdeel van het ontwikkelingsproces. De DAC38RF82 wordt ondersteund door het DAC38RF82EVM-evaluatie- en ontwikkelingsbord, dat alle functies van deze hoogwaardige DAC ondersteunt. Er is een TSW14J56EVM interfacekaart voor data-acquisitie nodig om de digitale signalen te genereren die met de DAC38RF82EVM communiceren. De data-acquisitiekaart communiceert met een pc via een USB 3.0-interface.

Afbeelding 4: De DAC38RF82EVM links ontvangt digitale data die wordt verzonden via een JESD204B-interface, gegenereerd door de TSW14J56EVM rechts, en genereert RF-signalen voor tests. (Bron afbeelding: Texas Instruments)
De bijgeleverde evaluatiesoftware bevat alles wat nodig is voor het evalueren, testen en programmeren van de DAC38RF82 voor de doeltoepassing.
Bij het gebruik van een toestel met zo'n hoge snelheid is de lay-out bijzonder belangrijk. De DAC38RF82 moet op de rand van de printplaat worden aangebracht en zo veel mogelijk worden gescheiden van alle andere componenten. Korte RF-sporen en de bewezen bypass-condensatoren tussen voedingspinnen en aarde moeten strikt worden opgevolgd. Andere aanbevelingen voor de lay-out zijn het gebruik van bypass-condensatoren met in-pad vias en minimale stubs op de condensatoren om parasitaire inductantie te voorkomen. De ontwerpers moeten bovendien een differentiële 100 Ω coplanaire golfgeleider gebruiken voor de uitgangssporen.
Conclusie
Microcontrollers met DAC's op chip voor algemeen gebruik zijn geschikt voor het genereren van redelijk nauwkeurige spanning en golfvormen in het kilohertz-bereik. Voor precisiespanning of het genereren van zeer hoge snelheden, kunnen echter externe DAC's worden gebruikt om de nauwkeurigheid en de prestaties van de toepassing aanzienlijk te verbeteren, hoewel er dan wel ontwerppraktijken van hoger niveau nodig zijn op het gebied van voedingen en lay-out.
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

