Prof.Dr.Godfried-Willem RAES
Kursus Experimentele Muziek: Boekdeel 2: Live Electronics for composers and musicians
Hogeschool Gent - Departement Muziek en Drama
ADC-DAC-FVC-Tachos-VFCs
Definities:
1. ADC of , Analog to Digital Converter
Dit is een schakeling die een analoog veranderlijke grootheid (spanning, stroom, weerstand o.i.d. ) omzet in een eenduidige digitale kode (binair, BCD, parallel of serieel).
2. DAC of , Digital to Analog converter
Dit is een schakeling die een digitale numerieke waarde omzet in een proportionele analoog veranderlijke grootheid (spanning of stroom).
3. FVC of , frequency to voltage converter
Dit is een schakeling die een signaal waarvan alleen de frekwentie veranderlijk is , omzet in een proportioneel veranderende analoge spanning. Omwille van hun meest gebruikelijke toepassing worden ze vaak ook tacho's genoemd.
Dit is een schakeling die een aangeboden analoge spanning omzet in een nauwkeurig aan de spanning proportionele frekwentie. Technisch gesproken zijn het dus VCOs.
of stromen- om te zetten in digitale vorm. Er zijn een aantal principieel verschillende mogelijkheden om analoge grootheden -in de praktijk zijn dat welhaast steeds spanningen
1. SSC - Single Slope Conversion (Enkelflankkonvertor)
Hierbij wordt de grootte van het te meten analoge ingangssignaal vergeleken met een signaal dat steeds vanaf 0 toeneemt tot het gelijk is aan dat ingangssignaal. De tijd nodig om beide spanningen gelijk te laten worden is recht evenredig met de grootte van de te meten ingangsspanning. Nadelen verbonden aan deze werkwijze zijn:
1.- de omzettingstijd is een funktie van de grootte van het ingangssignaal.
2.- de precizie van de konvertor is een funktie van de precizie waarmee de weerstand en kondensator (RC-konstante) van de oplopende vergelijkingsspanning kunnen worden gemaakt evenals van hun temperatuurskoefficienten.
Aan dit laatste bezwaar kan worden tegemoet gekomen door het toepassen van 'Dual Slope Conversion', waarbij niet alleen de tijd wordt gemeten bij klimmende vergelijkingsspanning, maar tevens die nodig voor het omgekeerde trajekt. Hierdoor worden de fouten afhankelijk van de RC-eigenschappen volledig weggewerkt, maar, het eerste bezwaar is nu wel dubbel zo zwaar gaan wegen. Immers, de omzettingstijd is nu ook verdubbeld.
Ondanks deze nadelen, wordt dit type (meestal de dual-slope uitvoering) toch heel vaak gebruikt, vooral bij metingen van traag veranderende grootheden, of in toestellen zoals termometers, voltmeters, multimeters...
Er zijn heel hoge precisies mee te behalen (tot zelfs 32-bits). Het spreekt vanzelf dat met dit type ADC niet aan digitale audio kan worden gedaan.
De precizie van dit type konvertor, wordt ook vaak uitgedrukt in aantal digits in plaats van in bits, dit precies vanwege hun veelvuldige toepassing in paneelmeetinstrumenten met decimale uitlezing.
Koerante cijferwaarden voor dit soort konverters zijn:
2. SAR - Successive approximation register
Hierbij wordt door de schakeling een analoge beginwaarde (de helft van het bereik) opgewekt die wordt vergeleken met de analoge waarde op de ingang. Logische 1 en 0 worden opgewekt naargelang de opgewekte waarde groter of kleiner is dan de om te zetten waarde.
Het SAR-algoritme, in pseudokode, ziet eruit alsvolgt:
res = resolutie in bits
Umax = grootste waarde van het meetbereik
Wanneer beide waarden gelijk zijn of wanneer de gewenste resolutie is bereikt, is de konversie beeindigd. Voor een volledige konversie met een oplossend vermogen van n-bits zijn dus steeds n-konversiestappen nodig. De analoge waarde waarmee het ingangssignaal wordt vergeleken, wordt opgewekt via een DAC (zie verder), zodat dit type ADC eigenlijk steeds uit een ADC-DAC kombinatie bestaat. De binaire digits worden dus eigenlijk serieel van MSB naar LSB opgewekt. Willen we de data in parallele vorm, dan dienen we een schuifregister toe te passen. Deze methode is bijzonder precies, maar neemt nogal wat tijd in beslag. Niettemin kan dit type met sukses worden toegepast in audio-ADC's en dit in resoluties van 8 tot 16 bits. Voor de konversie van videosignalen is dit type echter veel te traag.
Chipvoorbeelden: MC14549, ADC1280 , ADC0816, AD7870 (12 bit , 100ks/s)
Zowel voor SAR-ADC's als voor SSC en DSC's geldt dat het ingangssignaal niet mag veranderen tijdens de konversiecyclus. Om dit te bereiken worden dan ook steeds S&H's (Sample and Hold's) voor de ADC-ingangen toegepast.
Koerante cijfermatige gegevens voor SAR-ADC's zijn:
3. Parallel-encoder of flash-convertor
Hierbij wordt het om te zetten analoog signaal naar een reeks parallel aangesloten komparators gevoerd. Er moeten evenveel komparators worden gebruikt als we mogelijke numerieke waarden willen hebben in het konversieresultaat. Dit betekent dat voor een 8-bits resolutie reeds niet minder dan 255 komparators nodig zullen zijn. (Voor N bits resolutie zijn (2^N)-1 komparators nodig.) De komparatoruitgangen zijn rechtstreeks verbonden met een encoder en een latch en de uitgang daarvan is rechtstreeks de gewenste digitale omzetting . Deze techniek laat de grootst mogelijke snelheid toe (8-bits conversies in minder dan 20ns bvb. is makkelijk haalbaar), maar helaas is zij ook tevens de allerduurste. Zij vormen wezenlijke bestanddelen in real-time video-toepassingen, radarsystemen, digitale HDTV...
Chipvoorbeeld:
Ook wanneer we in muzikale of andere real-time toepassingen niet direkt behoefte hebben aan dergelijke ekstreem hoge sample-rates, heeft het gebruik van dit soort ADC's toch immense voordelen. Immers, in de software hoeven we niet langer de voor SAR-ADC's zo typische wachtlussen op te nemen, maar kunnen we volstaan met een eenvoudige inlezing van de digitale waarde van ons analoog signaal.
Koerante cijfermatige gegevens voor flash-konvertors zijn:
4. VFC - voltage to frequency converter + counter
Hierbij wordt de analoog veranderlijke spanning eerst omgezet in een proportioneel veranderende frekwentie, die vervolgens wordt geteld. De uitslag van de numerieke telling is dan uiteraard een digitale maat voor de grootte van het analoge ingangssignaal.
De precisie van dit soort omzetter staat of valt uiteraard met de precisie van de gebruikte VFC. Voorts is de snelheid afhankelijk van de gate-time van de gebruikte teller. Voor snelle toepassingen is het gebruik ervan niet aangewezen. Voor digitale meters echter is het zowat de ideale, want ook erg goedkope, oplossing.
Het uit de doeken doen van de details van dergelijke schakelingen valt buiten het bestek van ons opzet, maar gelukkig kunnen we in de praktijk gebruik maken van specifieke chips die ons het grootste deel van de ontwerptechnische en wiskundige komplikaties uit handen nemen.
Bij de praktische selektie van chips voor ADC's moeten we steeds uitgaan van een nauwkeurige omschrijving van onze wensen :
Eens deze gegevens vastgelegd, wordt de keuze van het soort te gebruiken ADC een loutere kwestie van opzoeken in datasheets en selekteren in funktie van het gebruikersgemak.
Enkele vuistregels die dienstig kunnen zijn:
Wanneer het oplossend vermogen 4 bits zou belopen, dan bedraagt de minimale vervorming van het signaal ca. 6%. Bij volle 16 bits, loopt het signaalvervormingspercentage terug tot circa 0.001%...
Wat betreft de konversiesnelheid (het omgekeerde van de sampling-rate), geldt de wet die zegt dat de bemonsteringsfrekwentie minstens tweemaal de hoogste te verwerken ingangsfrekwentie dient te bedragen. Willen we dus audio-signalen tot 20kHz kunnen samplen, dan moet onze sample-rate minsten 40kHz bedragen. In de vakliteratuur staat deze wet bekend als het theorema van Nyquist.
Per audiokanaal is uiteraard een ADC-kanaal noodzakelijk. Voor stereo hebben we dan ook twee ADC's nodig, of een, maar dan dienen we 'multiplexing' toe te passen, waarbij dan de ADC beurtelings het ene en het andere kanaal omzet. Een seriele 16-bit SAR met een sampling rate van 100ks/s gemultiplekst over beide stereo kanalen, volstaat dus voor het bereiken van de voor CD's gangbare 44.1ks/s en zelfs voor de DAT-rate van 48ks/s.
De omzettingswet is voor muzikale toepassingen in samplers niet direkt van belang. Wij gebruiken daar steeds lineaire omzetters. Overigens kunnen diverse karakteristieken ook op komputernivo worden gerealiseerd, mits deze uiteraard voldoende verwerkingssnelheid heeft. Voor dergelijke doeleinden werden er overigens speciale supersnelle microprocessoren ontwikkeld: de DSP-chips. (Digital Signal Processor Chips)
Schakelvoorbeeld goedkope 8-bits ADC of sampler:
5.: Meerkanaals ADC's
Heel vaak zullen we geinteresseerd zijn in de waarde van meer dan 1 enkel analoog signaal. Uiteraard kunnen we dan evenzoveel ADC's gebruiken als we kanalen willen konverteren. In de praktijk wordt dit echter welhaast nooit toegepast, vooral omdat ADC's betrekkelijk dure komponenten zijn. De techniek waarop meestal beroep wordt gedaan in multi-channel data-verwervingssystemen noemt men multiplexing. Daarbij maakt men gebruik van een meerkanaals sample-en hold uitgevoerd als een soort meerkeuzeschakelaar waarmee een van de ingangskanalen kan worden geadresseerd en dat kanaal wordt gesampeld en aan de ene ADC aangeboden.
Het is eenvoudig in te zien dat de sample-rate bij toepassing van multiplexers gedeeld moet worden door het aantal gesampelde kanalen. Gebruiken we bvb. een 12 bit 100ks/s ADC chip in een systeem met 16 kanalen, dan wordt de maximale samplingrate per kanaal nog slechts hooguit 6.250ks/s, wat de hoogste meetbare frekwentie in het ingangssignaal beperkt tot zo'n 3000 Hz.
Een ander nadeel verbonden aan de multipleksing techniek is dat de diverse kanalen niet tegelijkertijd kunnen worden gesampeld, waardoor informatie met betrekking tot de onderlinge fase van de aangeboden ingangssignalen niet kan worden verworven.
DAC's doen precies het omgekeerde van ADC's: zij zetten digitale informatie om in analoog veranderlijke spanningen. Willen we digitaal opgeslagen muziek bvb. terug hoorbaar maken, dan dienen we die informatie, geklokt tegen de oorspronkelijke data-verwervingssnelheid, naar een DAC te sturen.
In principe zijn DAC's vele malen eenvoudiger opgebouwd dan hun ADC tegenhangers, een feit dat alleen al blijkt uit de aanwezigheid van DAC's in de opbouw van alle SART-ADC's. Een R-2R weerstandsnetwerk is wellicht de eenvoudigste implementatie van een DAC.
DAC's zijn daarom ook heel wat goedkoper dan ADC's, wat mede verklaart waarom CD-spelers zoveel goedkoper zijn dan soortgelijke toestellen (o.m. DAT-recorders) die ook kunnen opnemen.
Andere bruikbare chips: ZN428, AD7520, AD7525, AD7533,
Frekwentie naar spanningsomzetters, worden niet gebruikt in 'sampler' toepassingen, maar wel heel vaak in meettoestellen en als signaalbron voor analoge komputers (zie 2090). Een eenvoudige ons allen welbekende toepassing vinden we in de tachometer in de meeste autos. Dit wijzerinstrument geeft een uitleesmogelijkheid van het toerental van de motor. Een toerental nu, is een frekwentie , terwijl een paneelmeter om iets relevants aan te tonen, een gelijkstroom door zijn spoeltje wil voelen lopen.
Een belangrijke beperking in het gebruik van FVC's bestaat erin, dat zij alleen een werkelijk relevant signaal aan de uitgang opleveren, wanneer het ingangssignaal een monofoon en redelijk periodiek signaal is. Dit laatste nu, is wanneer het om muziek gaat, uiterst zelden het geval.
overdrachtsfunktie: Vo= Vcc * Fin * C1 * R1 * k (k= +/-1)
De werking van tachos verloopt alsvolgt: het ingangssignaal wordt naar een nuldoorgangsdetektor gevoerd waardoor een naaldvormig signaal ontstaat met de dubbele frekwentie van het ingangssignaal. Een nuldoorgangsdetektor wordt opgebouwd met een komparator. De amplitude, mits die de drempelwaarde overschrijdt, speelt geen rol meer. De bekomen naaldpulsen worden vervolgens als triggersignaal gebruikt voor een monostabiele oscillator (een monoflop in het elektronische jargon) die een nauwkeurig afgemeten puls opwekt bij elke ontvangen naaldpuls. Via een laadweerstand wordt dit signaal opgeslagen in een kondensator, die dus een lading krijgt evenredig met het aantal spannings pulsen van de monostabiele. Het signaal over de kon densator wordt vervolgens geintegreerd en klaar is kees: we hebben een DC uitgangsspanning evenredig met de ingangsfrekwentie.
Toepassingsvoorbeelden:
-Wie graag wat experimenteert kan steeds proberen het ontwerp van de Theremin (zie boekdeel 4) te verbeteren door de toonhoogteuitgang van het instrument in plaats van rechtstreeks naar een versterkerschakeling, eerst naar een tacho-omzetter (bvb. LM2908) te sturen en dan -na herschaling via een operationele versterker (evt. in een logaritmische konfiguratie)- met het door de tacho geleverde DC-signaal, een VCO uit te sturen. Het regelbereik van de Theremin kan op die wijze enorm uitgebreid worden.
-In de hardware voor ons eigen 'Onzichtbaar Instrument' (anacomp-versie uit 1992) worden eveneens tachos gebruikt om uit de bewegingssnelheidsinformatie te bekomen. (cfr. hoofdstuk 3 van 'Een Onzichtbaar Muziekinstrument', evenals de vele artikels over dit onderwerp op de Logos website))
(zie ook verder: 2085 voor een praktische toepassing)
Naar inhoudstafel kursus
Naar homepage dr.Godfried-Willem RAES