PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : serieller D/A Wandler mit Testschaltung



Manf
08.01.2005, 15:15
Kann mir jemand sagen welche Funktion hier ausprobiert wird?
(Wenn ja, bitte um kurze Erläuterung der Funktion.)
Manfred

martin
08.01.2005, 17:43
Hallo,

ich versuche einmal hier meine Gedanken zusammenzufassen, da mir die Funktion noch nicht ganz klar ist, aber vielleicht weiß jemand anders weiter.

Die 3 LSB's adressieren ja die 8 MSB's. Das heißt, sie werden durch den Multiplexer 'gemuxt' und kommen hinten als serieller Datenstrom raus.

Das aber nur bei jedem zweiten Durchgang, da nur hier das 4. Bit Low ist und den Mux aktiviert. Allerdings wird hinten der Schalter nur geschlossen, wenn das 4. Bit High ist (hoffe ich sehe das richtig).

Effektiv wird, während das 4. Bit Low ist, der Kondensator mit einer bestimmten Ladung 'geladen', und in der anderen Phase die Ladung über den Schalter (zur Hälfte, falls beide C's gleich groß sind) zum Anderen Kondensator übertragen.

Grüsse, Martin

Manf
08.01.2005, 17:53
Das ist im wesentlichen richtig. Da kommt aber noch was entscheidendes.

Der zweite C ist klein gegen den ersten.
Wirklich wichtig ist der erste Kondensator.

Und das RC Glied liegt mit seiner Zeitkonstanten in einer bestimmten Beziehung zur Clockperiode (in der gleichen Größenordnung).

Manfred

JanB
08.01.2005, 18:21
Hallo,
ich blich da nicht durch,
ich denke, die Spannung an C1,
ist proportional zur Anzahl der Einsen
in den 8 MSBs des Zählers.
Aber was soll das ?

Gruß Jan

Manf
08.01.2005, 18:30
Richtig, die Schaltung verblüfft etwas. Sie macht etwas, was man ab und zu gebrauchen kann auf recht effiziente Weise.

Die ganze Schaltung ist aber eine Testschaltung, in der Form dient sie mehr als Demonstrator.

Die Spannung an C1 ist aber nicht proportional zu der Anzahl der Einsen, das wäre für R*C >> Periodendauer, wobei auch noch die Entladung von C1 fehlen würde.

Die Frage nach der Funktion ist damit noch nicht gelöst.
Manfred

Manf
08.01.2005, 23:01
Ich will es ja nicht zwingen aber ...

Was wäre denn das beste was ein Analog-Multiplexer mit 8 Bit machen könnte, auch wenn man es der Schaltung nicht gleich ansieht?

Manfred

sonic
08.01.2005, 23:59
Kannst du kurz den 4016 Schalter beschreiben und die Verbindung zum Enable eingang des Mux? Der Zusammenhang ist mir noch nicht ganz klar, also wann ist der Schalter geschlossen und wann nicht...

Gruß, Sonic

Manf
09.01.2005, 00:24
Die Grundfunktion geht auch so, aber die Testschaltung zum Darstellen geht besser mit enable' (invers) und Analogschalter hinten dran.

Der Mux bekommt Adressen und schaltet die ausgewählten Eingänge nacheinander durch solange en' null ist.
Der Analogschalter schaltet bei high am Steuereingang durch. Das geht also alternierend.

Wenn der Mux ein Signal für den Kondensator produziert hat, dann wird es übernommen und bis zum nächsten Wechsel ausgegeben. Eine geschaltete Entkopplung.
Manfred

BlueNature
09.01.2005, 01:15
Ich denke eben es ist ein Dreiecksignal am Ausgang mit einer Periodendauer von 8 Clocks im Anstieg und 8 Clocks im Abfall. Wenn ich aber die Ladekurve eines RC-Glieds mitbetrachte kann da auch gut eine Art Sinus herauskommen, also ein verrundetes Dreiecksignal. Aber ich muss jetzt mal ins Bett, ich glaub ich blick das heute nicht mehr.

Grüsse Wolfgang

sonic
09.01.2005, 01:19
Also der 4040 zählt ja nicht "richtig" sondern schaltet nach und nach die Ausgänge der Reihe nach durch, oder (binary ripple counter)?

Ich tipp mal auf einen Frequenzteiler...

@BlueNature
An ein Dreiecksignal hab ich auch schon gedacht, aber was mich stört ist das die Adressierung mit LSB, und die Ausgänge mit MSB gekennzeichnet sind. Außerdem fehlt ein meiner Meinung nach ein Ausgang. 12 Bit wären 3 Bit LSB und 9 Bit MSB. Es sind aber nur 8 MSB.

Wenn ich richtig liege dann ist der 9. Ausgang an den Enable angeschlossen, oder Manfred?

Also werden zuerst die Ausgänge 1-8 (MSB) auf High gesetzt. Die nächsten 3 Ausgänge (LSB) schalten dann der Reihe nach die Eingänge 5,3 und 2 des Mux an. Spielt aber keine Rolle da an allen Eingängen eine 1 anliegt. Bit 12 des 4040 geht auf Enable und schaltet den Schalter durch und das Ganze beginnt von Vorne.

Das Signal am Ausgang des Mux könnte so aussehen, jedes Zeichen ein Takt weiter.

________----________----________----________----


8 Takte aus, 4 Takte an, usw.

Was das RC-Glied dahinter daraus macht kommt auf R*C an...

Is bestimmt grottenfalsch ;-)

Gruß, Sonic

Manf
09.01.2005, 11:36
Die Ausgänge des 12bit Zählers sind der Reihe nach eingezeichnet der LSB (schnellste) links und der MSB (langsamste) rechts. Die Eigenschaft Ripple counter tritt hier nicht in Erscheinung.

(Man kann, wenn man bei anderen Schaltungen den Effekt nutzen will, die Versorgungsspannung reduzieren ... ). Also hierbei nicht)

Wenn die MSBs mit ihren Daten durchgeschaltet werden, dann könnte sich etwas anderes ergeben als ein Vorgang der sich alle 8 Perioden wiederholt. Wenn es von den MSBs abhängt dann ist es etwas mit 4096 Clock-Perioden. Oder ein Vorgang von 2mal 8 Perioden der für 256 MSB Kombinationen nacheinander abläuft.

Noch mal zum Ablauf in der Übersicht: Es gibt 3 LSBs die zählen 8 Zustände durch, einmal schalten sie dabei die 8 MSBs nacheinander an den Tiefpass, im nächsten Durchgang wird nichts an den Tiefpass geschaltet, er ist hochohmig angeschlossen und gibt praktisch seinen Spannungswert an den anderen viel kleineren Kondensator weiter. Dann kommt wieder ein Durchgang in der der Multiplexer aktiv ist, dann wieder Weitergabe...

Der Kern des Geschehens ist der Tiefpass, was kann der mit einer Sequenz von 8 bit machen die im konstanten Zeitraster angelegt wird?

Manfred

Manf
09.01.2005, 21:09
Wie gesagt etwas ungewohnt die Schaltung, deshalb ein Umweg in der Erklärung.

Wenn man einen Eimer hat, mit einem Loch, aus der das Wasser umso schneller herausläuft, je höher der Wasserstand ist, dann wird man beobachten dass es eine Zeit gibt in der gerade die Hälfte des Wassers hinausfließt. Das ist die Halbwertszeit T.

Man hat nun eine Reihe von Eimern die halb voll sind und schüttet deren Inhalt in den Eimer mit dem Loch und zwar gerade immer einen weiteren Eimer nach dieser Halbwertszeit. Bekommt man den Eimer damit voll? Man müsste es unendlich lange machen mit dem Schütten, denn es ist schon ein voller Eimer nötig, damit er nach der Halbwertszeit noch halb voll ist. Sonst ist weniger drin und er wird von dem aktuellen halben Eimer nicht voll.

Wie voll ist denn der Eimer nach dem aktuellen Einschütten also zur Zeit t? Er hat einen halben Eimer von jetzt t-0 bekommen und die Hälfte der Füllung einen Takt vorher, also eine Viertel Füllung von t-T entsprechend ein Achtel von t-2*T ein Sechzehntel von t-3*T.

Das Gewicht der Füllungen aus der Vergangenheit geht also mit der Wertigkeit 2^-n in den aktuellen Füllstand ein. Damit kann man dann auch mit immer der gleichen Wassermenge die man zu den periodischen Zeiten einfüllt, oder nach Wertvorgabe auch nicht einfüllt, einen binär codierten Füllstand erreichen.

Der Übergang auf eine Schaltung mit Kondensator und Widerstand ist einfach. Der Kondensator hat eine Ladungsmenge, die über einen Widerstand nach null Volt abfließt. Dieser Vorgang hat eine Zeitkonstante R*C und eine Halbwertszeit von R*C * ln (2).
Zu jeder der periodischen Zeitintervalle schickt eine Stromquelle die Ladungsmenge i * T mal dem Koeffizienten der Binärzahl beginnend mit dem LSB in den Kondensator.
Am Ende des Vorgangs ist der Kondensator auf den Wert i * R* Binärwert aufgeladen.

Der kleinste Schritt ist nun noch die Transformation der Stromquelle mit Lastwiderstand in eine Spannungsquelle mit Innenwiderstand. (Das fuktioniert in linearen Schaltungen in denen dann auch das Superpositionsprinzip gilt. Überlagerung von unabhängignen Signalen, wie den alten und den neuen Bitwerten.) Man erhält so die beschriebene Schaltung die einen seriellen D/A Wandler darstellt der die Werte eines Zählers wandelt und periodisch ausgibt.

Ein Reset des Kondensators kann sinnvoll sein aber der Fehler ohne Reset bleibt aus Alters-gründen in jedem Fall unter 1 LSB.

Die gesamte Testschaltung testet also einen seriellen D/A Wandler und gibt so ein periodisches Rampensignal aus.
Manfred

sonic
09.01.2005, 22:36
AHAAA!

Wieso gibt's hier eigentlich kein "Lampen"-Smily, mir is gerade eins aufgegangen ;-)

Gruß, Sonic

Manf
09.01.2005, 22:48
Ja :idea: ?, das freut mich aber sehr.
Ehrlich gesagt habe ich die Schaltung nicht als Referenz gefunden und habe sie sicherheitshalber noch mal aufgebaut und nachgemessen, um sicher zu gehen, daß ich keinen Unsinn erzähle.
Einfach ist sie ja wirklich.
Manfred

sonic
10.01.2005, 01:33
Ui da isses ja das Lämpchen ,-)
Das Datenblatt vom 4040 ist aber echt ein bisschen doof. Das Timingdiagram hat mich vom rechten Glauben abgebracht [-o< O:)
Ist ja kein Schieberegister sondern ein !!ZÄHLER!!

Gruß, Sonic

recycle
10.01.2005, 02:10
Ui da isses ja das Lämpchen ,-)
Das Datenblatt vom 4040 ist aber echt ein bisschen doof. Das Timingdiagram hat mich vom rechten Glauben abgebracht
Ist ja kein Schieberegister sondern ein !!ZÄHLER!!


Na hättest du das Lämpchen mal vorher gefunden und damit Manfreds Schaltplan beleuchtet. Da steht ja eigentlich:
"4040 12 bit bin counter" ;-)

sonic
10.01.2005, 02:36
...
Na hättest du das Lämpchen mal vorher gefunden und damit Manfreds Schaltplan beleuchtet. Da steht ja eigentlich:
"4040 12 bit bin counter" ;-)

Ne ne, da steht ganz korrekt "12 stage binary ripple counter" ;-)
Jetzt weiss ich dass das Asynchroner 12 bit Binär-Zähler heist... :-$
Gruß, Sonic

recycle
12.01.2005, 01:37
Ne ne, da steht ganz korrekt "12 stage binary ripple counter"
Jetzt weiss ich dass das Asynchroner 12 bit Binär-Zähler heist...

Ich kann in Manfreds Bild zwar nix von ripple, stage und binary entdecken, kommt für mich aber aufs selbe raus.
Da ich immer alles was mir nichts sagt überspringe bleibt bei beiden Bezeichnungen nur "counter" übrig ;-)

sonic
12.01.2005, 01:58
ich hab mir doch extra das doofe Datenblatt geladen ;-(
da stand das alles drinn...

Gruß, Sonic