Ich habe mich beim ersten Lesen des Schaltplans nach Erscheinen des Heftes schon daran gestört, dass der edle 16 Bit-DAC mit einer kruden Sample & Hold-Stufe vergesellschaftet wurde und so die Sollwerte höchstwahrscheinlich qualitätsmäßig versaut werden. Ich habe mich jedoch von der Beschreibung der Geräteeigenschaften beruhigen lassen - es schien ja so, als würde das DCG die 16 Bit bis auf das Opamp-Rauschen auch tatsächlich auf die Straße bringen. Nach dem ersten Aufbau gabs dann den Salat: eine sinusähnliche Schwingung auf der Ausgangsspannung. Nach erfolgloser Frickelei an den Regelschaltungen für Strom und Spannung kam die Idee, dass das Störsignal u. U. ein Artefakt der S&H-Schaltung ist.
Ich konnte bei meinem DCG die Schaltfrequenz des Multiplexers deutlich nachweisen. Bei 5 V Ausgangsspannung waren das 20 mVpp Ripple. Stör- und Umschaltsignal des Multiplexers waren jedenfalls synchron. Mehr Filterung verminderte das Störsignal.
Ich hatte schon vor Einführung der Ripple-Funktion durch CM ein ähnliches Projekt vor. Mit mehr Speicherkapazität in der S&H-Stufe hätte der Frequenzbereich allerdings nur noch sehr niedrig sein dürfen.
Ich habe mich dazu entschlossen, die S&H-Stufe zu umgehen und zwei LTC1655 einzusetzen.
Um diesen Umbau möglich zu machen, ist eine Platine notwendig, die ähnlich wie das DCG-Bugfix in die IC-Sockel auf der DCG-Platine gesteckt werden kann. An der DCG-Platine sind also keine Änderungen notwendig. Will man jedoch Ripple mit höheren Frequenzen erzeugen, sollte man das RC-Filter verändern, das ist aber keine Pflicht. Zur Zeit ist die Ripple-Funktion in der alternativen Firmware von amd-65 noch nicht mit drin - und die Firmware von CM kann ich nicht ändern (habe den Compiler nicht). Softwaremäßig muss das DCG jedoch angepasst werden, dazu habe ich die alternative Firmwareentsprechend umgestrickt.
Die Leitungen MPXU und MPXI, die den Multiplexer zwischen den S&H-Stufen umschalten, habe ich als Chip Select für die DACs verwendet, die nun unbenutzte Hälfte des DG413 lahmgelegt. Die ursprüngliche /CS-Leitung (in den DCG-Plänen heißt sie STRDC) ist nun ohne Verwendung. Ein Schreibzugriff auf die DACs erfolgt nur noch, wenn sich der Sollwert tatsächlich geändert hat.
Den Schaltplan und das Layout für die Leiterplatte habe ich mit Eagle in der kostenlosen Version erstellt. Die Eagle-Dateien habe ich als Anhang hier ins Trac gelegt. Eine Library, die den LTC1655 enthält ist mit dabei.
Die Firmware habe ich auch schon hochgeladen. Mittels bedingter Kompilierung lassen sich aus den gleichen Sourcen sowohl die ursprüngliche, als auch die Dual-DAC-Version bauen. Man muss DUAL_DAC=1 an den Compiler übergeben. Das geschieht im Makefile bei der Definition der Variable "CDEFS":
xxxxxxxxxx
CDEFS = -DF_CPU=$(F_CPU)UL -DUART_BAUDRATE=38400 -DUART_2X -DDUAL_DAC=1
Ich habe einen Thread im Forum begonnen - wenn Diskussionsbedarf besteht, macht mit: http://www.heise.de/ct/foren/S-DAC-Add-On-Board-um-die-S-H-Stufe-des-DCG-zu-umgehen/forum-116199/msg-15337085/read/
Ich werde mal amd-65 schreiben, ob er die Änderungen vielleicht mit in sein Repository aufnehmen will.
??Timestamp? --JCW