Logik mit "Drehstrom"?

Ich habe mal versucht, ein Logiksystem zu entwerfen, was den kurzen Kurzschluss-Strom vermeidet, der bei komplementären MOSFET-Ausgangsstufen entsteht. Das Konzept arbeitet mit drei um 120° phasenverschobenen Rechtecksignalen: Die Eingangsstufe wird nur mit Strom versorgt, wenn phi0 auf high ist. Ein Signal am Eingang eines Gates darf nur seinen Wert ändern, wenn phi0 auf low ist. Beim Wechsel von phi0 von low nach high wird das Eingangssignal in ein Flipflop übernommen und für den Rest gehalten, während phi0 auf high ist, sodaß der Treiber, der den Eingang ansteuert, während der Zeit da phi0 auf high ist, ausgeschaltet werden kann.

Ein typisches Gate sieht so aus: der Eingang ist ein Flipflop, was das Signal während phi0 auf high ist, hält. Danach folgt dasselbe für phi120 und am Ende für phi240. Daran anschließend kommt die eigentliche Logikfunktion, z.B. ein Inverter oder ein NAND, dessen Ausgang dann aktiv ist, während phi240 auf high ist, sodaß es wieder als Eingang für andere Gates verwendet werden kann.

Kann das funktionieren und macht sowas Sinn? Wenn ich nichts übersehen habe (und das ist schon wahrscheinlich für einen Nicht-Elektroniker wie mich :-) dann sollten dabei nur die Umladeströme der Gates fließen, die man auch noch durch Widerstände problemlos begrenzen könnte, sodaß das Ganze ziemlich ohne Spikes auf den Versorgungsspannungen auskommen sollte. Nachteil: ist natürlich viel langsamer, als normale Logik, da die Gatterlaufzeit immer ein ganzer Takt ist. Ggf. Vorteil: einige Gatter, z.B. Flipflops, könnten einfacher zu konstruieren sein, da die Gatterlaufzeit immer ein ganzer Takt ist.

Hier mal ein Beispiel:

formatting link

Problem dabei ist, wenn ich mal etwas kompliziertere Schaltungen probieren möchte, dann bleibt es immer bei ca. 9 ms hängen. Hier mal ein komplexeres Beispiel für LTspice:

formatting link

Ich kann an abstol usw. drehen was ich will, es läuft einfach nicht weiter :-(

--
Frank Buss, http://www.frank-buss.de
piano and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss
Loading thread data ...

Das kann man nur in vielen Schaltungen nicht so gut machen, weil keine langen Totzeiten erwuenscht sind. Schaltregler z.B., wenn man da in einem Brueckenzweig beide FETs einen ganzen Taktzyklus offen laesst klingelt das kraeftig, und das gaebe EMV-Aerger. Man macht sowas lieber ueber Verzoegerungsschaltungen. Sauber mit einem One-Shot im Chip Design, hingeschlabbert auch schonmal mit Gatterlaufzeiten.

Das liegt wohl daran dass in Deinem Unterschaltbild "input-buffer.asc" jeweils die ersten beiden Stufen rueckgekoppelt sind und als Latch arbeiten. Das schaltet schnell, und Deine Phasenzeiten wirken dagegen wie Jahrhunderte. Ist aehnlich als wolltest Du die beim Fallenlassen eines Dachziegels auf dem Koelner Dom entstehende Schallwelle ueber die gesamte Bauzeit simulieren :-)

Hab's mal probiert: Max times step in .tran auf 10n gesetzt und bei allen Quellen die Zeiten durch 1000 geteilt (einfach ueberall m hintersetzen). Dann loeppt das durch, man hat nach 10sec mehrere Zyklen drauf und muss nicht bis Neujahr auf das Ergebnis warten.

--
Gruesse, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
Reply to
Joerg

Danke, das funktioniert. Jetzt muß ich nur noch die Schaltungen reparieren, sodaß der Inverter auch wirklich immer invertiert :-)

--
Frank Buss, http://www.frank-buss.de
piano and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

Ein nicht-invertierender Inverter hat aber irgendwie auch was :-)

--
Gruesse, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
Reply to
Joerg

Ja, natürlich.

Kommt auf die Anforderungen an. Wenn die Umschaltzeit keine große Rolle spielt, dann reicht die beschriebene Lösung natürlich aus. Sind aber möglichst kurze Umschaltzeiten gefordert, dann macht eine Ansteuerung in einem starren Synchronzeitraster keinen Sinn mehr, dann ist eine adaptive Lösung gefragt.

Die Problematik entspricht ziemlich genau der von "synchrones Prozessordesign vs. asynchrones Prozessordesign". Dazu gibt es massenhaft Veröffentlichungen, sowohl zu den erwartenden Vorteilen als auch zu den dabei auftretenden Designproblemen.

Reply to
Heiko Nocon

Also meine Idee ist genauso wie die Chips normalerweise arbeiten, zumindest synchron zu einem Takt, nur brauchen meine Gatter was länger zum durchschalten. Ich glaube die Begriffe sind da auch nicht ganz klar: Eine ALU-Operation, z.B. Full-Adder, kann natürlich asynchron zum Takt ablaufen, meist werden aber mit einem Takt die Eingangssignale angelegt und irgendwann zwischen dem Anlegen der Signale und vor dem nächsten Takt ist dann die Berechnung fertig. Das kann man als asynchron bezeichnen. Meine Logik würde auch solche Berechnungen vollkommen synchron für jeden Schritt ausführen, mit dem Nachteil der längeren Berechungszeit, aber dafür braucht man sich auch keine Gedanken mehr über Gatterlaufzeiten zu machen.

Konkret unter asynchrones Prozessordesign hatte ich aber bisher das hier verstanden, was aber zur Zeit noch Gegenstand von Forschungen ist und noch nicht allzu häufig eingesetzt wird, wenn ich das richtig sehe:

formatting link

--
Frank Buss, http://www.frank-buss.de
piano and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.