Analog-IO mit digitalen Bausteinen
Oft werden bei der Nutzung digitaler Bausteine einfache Analogeingaben oder -ausgaben benötigt, um langsame Signale zu erfassen. Nicht immer lohnt dabei der Einsatz eines AD-Wandlers, weil er zu teuer ist bzw. nicht mehr nachgerüstet werden kann oder mehrere Kanäle benötigt werden, die zuviel Platz beanspruchen, oder zuviele Pins belegen würden.
Im Artikel werden Funktionen aufgezeigt, die mit maximal 2 Pins auskommen.
Einfacher 1pin-DAC
Die Ausgabe erfolgt mit einer PWM mit anschließender Filterung. Diese kann mit einem RC-Glied, einen T-Filter oder einem Aktivfilter.
Einfacher 1pin ADC
Durch Anwendung eines Komparators, mit einer Rauschquelle gespeist wird, kann ein 1-Bit-Digitalsignal generiert werden, welche durch Filterung mit einem Dezimations-SINC-Filter in einen digitalen Wert überführt werden kann. (Mehr dazu folgt)
Kombinierter 2pin DAC ADC
In Erweiterung der beiden o.g. Methoden kann für niedrige Frequenzen eine Regelung gebaut werden, die einem analogen Eingangssignal folgen kann. Dazu wird mit einem internen Komparator entschieden, ob die per PWM erzeugte externe Analogspannung die eingespeiste Messspannung über- oder unterschritten hat und diese entsprechend angepasst. Die Nachführung der Regelung muss langsamer geschehen, als die Änderungsgeschwindkeit, die durch die Bandbreite PWM-Glättung gegeben ist.
Insgesamt ist diese Schaltung etwas schneller, als die Lösung mit unkontrolliertem Rauschen.
Beispiel
Mit o.g. Schaltung können bei einem FPGA mit 50MHz eine genügend gute PWM mit <10% ripple erzeugt und letztlich 50kHz pro Pin mit einer Auflösung besser als 1% gescannt werden. Die Schaltung ist so in einer Ultraschall-Applikation seit mehren Jahren im Gebrauch. Die OPs sind in einem Mehrfachgehäuse zusammengefasst.
Links
- Artikel zur PWM-Glättung: 1-Bit Analog-Digital-Wandlung
- AD-Wandler
- Soft-PWM
- OneBitSound