PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welchen Logic-IC für eine spezielle Anwendung?



Elu
01.11.2010, 21:40
Hallo,
mit welchem Logic-IC bzw. in Kombination mit einem weiteren IC kann man folgende Aufgabenstellung realisieren?

An den Eingängen E1 und E2 stehen nacheinander digitale Signale an. A1 und A2 sind sind die entsprechenden Ausgänge dazu.

Es kann vorkommen, dass an beiden Eingängen gleichzeitig HIGH ansteht. In diesem Fall darf aber nur der Ausgang auf HIGH geschaltet sein, deren Eingang zuerst das Signal bekommen hat. Erlöscht das Signal an diesem Eingang, dann wird der andere Ausgang, wenn hier noch das Eingangs-HIGH anliegt, auf HIGH geschaltet.

Hat jemand dafür eine Lösung?

Gruß Elu

PICture
01.11.2010, 22:06
Hallo Elu!

Leider verstehe ich dein Problem nicht. :(

Ich könnte eine Lösung haben, wenn ich deine Wahrheitstabelle hätte ... ;)

MfG

Richard
01.11.2010, 22:16
Hallo,
mit welchem Logic-IC bzw. in Kombination mit einem weiteren IC kann man folgende Aufgabenstellung realisieren?

An den Eingängen E1 und E2 stehen nacheinander digitale Signale an. A1 und A2 sind sind die entsprechenden Ausgänge dazu.

Es kann vorkommen, dass an beiden Eingängen gleichzeitig HIGH ansteht. In diesem Fall darf aber nur der Ausgang auf HIGH geschaltet sein, deren Eingang zuerst das Signal bekommen hat. Erlöscht das Signal an diesem Eingang, dann wird der andere Ausgang, wenn hier noch das Eingangs-HIGH anliegt, auf HIGH geschaltet.

Hat jemand dafür eine Lösung?

Gruß Elu

Normaler Weise haben solche Logik Gatter immer nur 1 Ausgang, Man muss also einige Gatter so verknüpfen das die von Dir gewünschte Funktion (Warheitstabelle) heraus kommt. Das ergibt einen netten "TTL Verhau". :-) Für Heute bin ich a zu müde und b ich habe das laaaange nicht mehr gemacht. Am einfachste berechnet man das mit Binär Algebra Da gibt es auch sicher Programme für, irgend etwas in Form von minni SPS Programmierung.

http://www.ipsta.de/download/automationstechnik/Kap5_BinaereSteuerungen.pdf

Gruß Richard

PICture
01.11.2010, 22:35
Hallo!

Ich verwende Karnaugh-Tabellen für beliebige Anzahl von Ein- und Ausgängen. Das kann ich aber leider nur mit Warheitstabelle ... :(

MfG

oZe
01.11.2010, 22:48
Karnaugh ist ne schöne Möglichkeit aber ab 5 Variablen wirds unübersichtlich. Da rate ich dringend zu quine mccluskey. Damit ist es etwas einfacher. Naja aber ohne Wahrheitstabelle wird das nix ;-)
Es ist eh nicht mit einem Flip Flop getan sondern muss wie gesagt eine Kombination aus mehreren werden.

PICture
01.11.2010, 23:01
Das lässt sich sowohl für beliebige rein kombinatorische als auch sequenziele (getaktete) logische Funktionen verwenden.

Als einfaches Beispiel: https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=14650 .

Übrigens, die Methode habe ich früher bei "TTL Grab" sehr oft für Entwicklungen benutzt.

MfG

Besserwessi
01.11.2010, 23:12
Ganz einfach ist das mit der zuverlässigen Erkennung der Reihenfolge nicht.
Da gibt es prinzipelle Probleme, ohne eine zusätzliche Verzögerung für die Signale geht das nicht zuverlässig.

Wenn man kleinen Störungen durch die Laufzeit der Gatter akzeptiert, wäre eine Möglichkeit einfach ein Schaltung mit UND und NICHT Gattern:

A1 = E1 & nicht A2
A2 = E2 & nicht A1

Man könnte das z.B. mit einem 74xx00 ( 4 Nand gatter) realisieren.
An sich so etwas wie ein einfaches RS Flipflop mit Invertern dahinter.

Wenn die beiden Signale fast gleichzeitig high werden, gibt es Störungen, die aber meistens nach relativ kurzer Zeit abgeklungen sein sollten.

Elu
02.11.2010, 17:11
Hallo,
vielen Dank für eure Bemühungen, mir zu helfen. Ich habe mich noch nie so richtig mit logischen Schaltungen beschäftigt. Darum hier meine Nachfrage.

Wenn hier verschiedentlich nach der Wahrheitstabelle gefragt wird, dann sieht diese so aus:

E1 E2 A1 A2

0 0 0 0
1 0 1 0
0 1 0 1
1 1 0 0


Anderfalls kann ich auch einen Mikrocontroller nehmen und entsprechend programmieren.

Elu

Richard
02.11.2010, 17:35
Vom Prinzip her eine exor Funktion

00 0
01 1
10 1
11 0

Um 2 Ausgänge zu Bekommen 2 davon Parallel und an jeden Ausgang ein UND mit 2 Eingängen. Wobei von den UND jeweils 1 Eingang auf den Ausgang von Exor 1 und der 2. Eingang auf den Ausgang von exor 2 liegt. So wird verhindert das beide UND Ausgänge gleichzeitig 1 Haben.

Hoffe ich jedenfalls, habe das beim Schreiben aus dem Kopf "entwickelt". ....

Besserwessi
02.11.2010, 17:48
Eine Einfache Wahrheitstabelle reicht hier noch nicht. Man braucht wenigstens noch einen extra Funktion die bei beiden Signalen high bestimmt wer zuerst da war. Dieser Funktion müßte man dann bei der Wahrheitstabelle als zusätzliche Eingangsgröße H mit dazu nehmen.
Dann also mehr so:
E1 E2 H A1 A2
0 0 x 0 0
1 0 x 1 0
0 1 x 0 1
1 1 1 1 0
1 1 0 0 1

Der Knackpunkt bleibt die Realisierung der Hilfsfunktion H ohne das dabei kurzzeitige Störungen auftreten. Möglich wäre da als erster Versuch ein D-Flipflop. Mit E1 und E2 als Takt und D Eingang und dann noch ein UND Gatter dazu.

PicNick
02.11.2010, 18:17
Scheint mir doch einfach:

E1 and (not E2) ---> A1
E2 and (not E1) ---> A2

Besserwessi
02.11.2010, 18:21
Für die Original Aufgabe eher:
E1 and (not A2) ---> A1
E2 and (not A1) ---> A2

das sollte auch bis auf kurze / seltenen Glitches wenn beide Signale gleichzeitig (innerhalb ca. 5 ns) von L-> H wechseln gut gehen.

PICture
02.11.2010, 18:24
Hallo!

@ Elu

Wie der Besserwessi schon sagte, deine Funktion braucht ein "Speicher". Um minimale Schaltung zu ermitteln, sind genaues Zeitdiagramm bzw mehrere Wahrheitstabellen nötig, die alle Signale fur beide Flanken mit allen Möglichkeiten zeigen (E1 vor E2, E1 und E2 gleichzeitig, E2 vor E1). Angeblich könnte es asynchronisch (ohne Taktfrequenz) laufen, ist aber noch nicht genau definiert.

MfG

TobiKa
02.11.2010, 19:28
Kommt auch ein Mikrocontroller in Frage? z.B. ein ATtiny12

PICture
02.11.2010, 20:08
Das ist das Einfachste, wenn getakter werden darf, weil dann sicher ein IC ausreicht ... :)

MfG

Elu
02.11.2010, 20:15
Hallo,


Kommt auch ein Mikrocontroller in Frage?

Ja, nach alledem, was hier dargelegt wurde, wird es das Beste sein.

Als ich diesen Thread eröffnet habe, dachte ich, dass es für mein Problem eine ganz einfache Lösung gibt. Nun sicher doch nicht, sodass nun eine PICAXE dafür herhalten muss.

Gruß Elu

Besserwessi
02.11.2010, 20:47
Für die einfache Form aus Logicgattern reichen 2 NAND Gatter und 1 Inverter. Das geht mit auch nur einem IC, z.B. 7HC00.

Elu
02.11.2010, 22:41
Hallo Besserwessi,

Für die einfache Form aus Logicgattern reichen 2 NAND Gatter und 1 Inverter. Das geht mit auch nur einem IC, z.B. 7HC00
Du hast sicher den 74HC00 gemeint. Ich habe noch einige SN7400 in der Bastelkiste. Die Funktion ist doch die gleiche, lediglich kein Highspeed.
Wäre doch für einen Versuch gut.

Wie ich den mit meinen Ein- und Ausgängen gemäß meiner Aufgabenstellung beschalten muss, müsstest du mir schon sagen. Soweit reichen meine Bastlerkenntnisse leider nicht. Ich würde die Schaltung dann mal auf dem Steckbrett testen.

Elu

PICture
03.11.2010, 13:48
Hallo Elu!

Das könnte höchstens für statische Funktion reichen, aber für Erkennung welches Eingangsignal als erste war und entsprechende Reaktion der Ausgänge nicht.

MfG

MeckPommER
03.11.2010, 15:29
Ich würde für diese Aufgabenstellung einen CPLD nehmen. Ein ganz kleiner CPLD, z.B. ein XC9536 düfte locker reichen.
In VHDL dürfte das nicht schwer zu beschreiben sein, denke ich.

Zumindest könnte man z.B. mit der Xilinx-Synthese-Umgebung einmal ausprobieren, welche Gattergrab bei der VHDL-Version herauskommt.

Gruß MeckPommER

Besserwessi
03.11.2010, 15:57
Die passende Logic habe ich oben schon beschrieben.


Erstmal die Eingänge an je 1 NAND gatter. Den anderen Eingang der NAND-gatter an der Ausgang es jeweils andern Gatters. Die beiden Gatter bilden damit ein RS Flipflop mit L-aktiven Eingängen. Danach nur noch die beiden Ausgänge invertieren - das geht mit den beiden restlichen NAND gattern, wenn man beide Eingänge zusammenschaltet, oder je einen immer auf H.

Richard
03.11.2010, 16:27
Hallo,
vielen Dank für eure Bemühungen, mir zu helfen. Ich habe mich noch nie so richtig mit logischen Schaltungen beschäftigt. Darum hier meine Nachfrage.

Wenn hier verschiedentlich nach der Wahrheitstabelle gefragt wird, dann sieht diese so aus:

E1 E2 A1 A2

0 0 0 0
1 0 1 0
0 1 0 1
1 1 0 0


https://storage.driveonweb.de/dowdoc/1867b7c1f4c11873e7671bbd91721fcf.jpg

Gruß Richard

PICture
03.11.2010, 16:39
Hallo!

@ Besserwessi!

Ich habe deine Beschreibung hoffentlich richtig im Code skizziert. Die Inverter am Ausgängen sind nicht nötig.

Ich sehe jedoch, dass die Schaltung die richtige statische Funktionen aus deinem Beitrag vom 02.11.2010, 20:21 eventuell nur in negativer Logik realisieren könnte. Die alle Zeitverhältnisse wegen unbekantem Zeitdiagramm konnte ich nicht prüfen.

MfG

__
E1 >-----| \
| & )o-+---> A2
+-|__/ |
| /
\ /
\ /
\/
/\
/ \
/ \
/ \
| __ \
+-| \ |
| & )o-+----> A1
E2 >----|__/

(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)

Richard
03.11.2010, 17:19
Hallo!

@ Besserwessi!

Ich habe deine Beschreibung hoffentlich richtig im Code skizziert. Die Inverter am Ausgängen sind nicht nötig.

Ich sehe jedoch, dass die Schaltung die richtige statische Funktionen aus deinem Beitrag vom 02.11.2010, 20:21 eventuell nur in negativer Logik realisieren könnte. Die alle Zeitverhältnisse wegen unbekantem Zeitdiagramm konnte ich nicht prüfen.

MfG

__
E1 >-----| \
| & )o-+---> A2
+-|__/ |
| /
\ /
\ /
\/
/\
/ \
/ \
/ \
| __ \
+-| \ |
| & )o-+----> A1
E2 >----|__/

(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)

Beide AND haben nach dem Einschalten an ihren Ausgängen 0 und damit kann an egal welchem Eingang 1 Anliegt keines der Gatter jemals am Ausgang 1 haben.....

E1 E2 E1' E2' A1(E2') A2(E1')
0 0 0 0 0 0
0 1 0 0 0 0
1 0 0 0 0 0
0 0 0 0 0 0

Gruß Richard

PICture
03.11.2010, 17:35
Genau sind es NAND Gatter (Kreis bedeutet Negation). Deshalb stimmt deine Wahrheitstabelle nicht.

MfG

Richard
03.11.2010, 18:05
Genau sind es NAND Gatter (Kreis bedeutet Negation). Deshalb stimmt deine Wahrheitstabelle nicht.

MfG

Stimmt!.....(fast)....

Besserwessi! "Die Inverter am Ausgängen sind nicht nötig. "
Also kein NAND! :-)

Die Wahrheitstabelle entspricht der geposteten Zeichnung mit UND/AND Gattern.... Mit Nand Gattern kann man halt Alle Gatter nachbilden. :-)

Was sagst Du denn zu meiner gepostetn Zeichnung? Diese Schaltung sollte doch auch die geforderte Wahrheitstabelle liefern.

Gruß Richard

PICture
03.11.2010, 18:20
Was sagst Du denn zu meiner gepostetn Zeichnung? Diese Schaltung sollte doch auch die geforderte Wahrheitstabelle liefern.

Sorry, dass prüfe ich gleich ... es passt ! :)

MfG

Elu
03.11.2010, 22:35
Hallo,
gehe ich richtig in der Annahme, dass ihr Experten eure Meinungsverschiedenheiten jetzt ausgeräumt habt und diese Schaltung (Link) im Posting von Richard die Lösung des Problems ist?


https://storage.driveonweb.de/dowdo.....11873e7671bbd91721fcf.jpg


(Der Link geht von hieraus nicht zu öffnen, sondern nur direkt aus dem heutigen Posting von Richard)

Einen EXOR (4070) habe ich nicht, muss aber in den nächsten Tagen bei Reichelt sowieso eine Bestellung machen.

Nochmals besten Dank für eure Hilfe.

Gruß Elu

MeckPommER
04.11.2010, 07:34
Die Schaltung von Richard mag zwar die geforderte Wahrheitstabelle liefern, aber ich denke in der Wahrheitstabelle liegt schon der Hase im Pfeffer.
Kommt an einem Eingang ein Signal, wird der entsprechende Ausgang gesetzt, kommt nun aber der zweite Eingang hinzu, wird das Ausgangssignal verändert, und das sollte ja nicht sein, oder habe ich das falsch interpretiert?

MfG MeckPommER

Richard
04.11.2010, 08:00
Die Schaltung von Richard mag zwar die geforderte Wahrheitstabelle liefern, aber ich denke in der Wahrheitstabelle liegt schon der Hase im Pfeffer.
Kommt an einem Eingang ein Signal, wird der entsprechende Ausgang gesetzt, kommt nun aber der zweite Eingang hinzu, wird das Ausgangssignal verändert, und das sollte ja nicht sein, oder habe ich das falsch interpretiert?

MfG MeckPommER

Lese Dir die Tabellen besonders die der (Beiden) Ausgänge noch einmal durch. Die Ausgänge ändern sich nicht solange die jeweilige Eingangsforderung für jeden der beiden Ausgänge erfüllt ist.

Die Ausgänge sollen sich ja auch ändern WENN die Bedingung NICHT erfüllt ist, also wenn beide Eingänge

00 oder 11 sind, ein Ausgang soll bei 01 1 sein, der andere bei 10 1. Sollen die Beiden gespeichert werden müssen halt noch D-FF's an den Ausgängen. :-)

https://storage.driveonweb.de/dowdoc/1867b7c1f4c118730997252a4ec6442c.jpg

Gruß Richard

MeckPommER
04.11.2010, 08:17
Gefordert war, das sich der frühere Eingang zu den Ausgängen durchsetzt und das auch, wenn der andere Eingang kurz zeitverzögert auf 1 geht. Das macht deine Schaltung nicht.
Wenn ein FF dahinter geschaltet werden muss ... dann kann man deine Schaltung davor auch weglassen ;-)

Sicherlich braucht man zur Lösung des Problems kein CPLD, aber ich hab damit in den letzten Wochen herumgebastelt und war richtig begeistert davon, das man im Nachhinein eine (Ver-)Schaltung ändern kann, ohne nochmals zum Lötkolben zu greifen.

Gruß MeckPommER

Richard
04.11.2010, 08:51
[quote="Elu"
Einen EXOR (4070) habe ich nicht, muss aber in den nächsten Tagen bei Reichelt sowieso eine Bestellung machen.
Gruß Elu[/quote]

Selber Bauen....

E1 N1 E2 A
0....1.....0....0
0....1.....1....1
1....0.....1....0
0....1.....0....0

Wobei N1 das invertierte E1 darstellen soll.

NE1 E2 A
.1.........0....0
.1.........1....1
.0.........1....0
.1.........0....0

Zwei davon wobei beim 2. E2 negiert ist Oder Verknüpft...:-)

Gruß Richard

Richard
04.11.2010, 08:59
Sicherlich braucht man zur Lösung des Problems kein CPLD, aber ich hab damit in den letzten Wochen herumgebastelt und war richtig begeistert davon, das man im Nachhinein eine (Ver-)Schaltung ändern kann, ohne nochmals zum Lötkolben zu greifen.

Gruß MeckPommER

Ja, ist eine tolle Sache. :-) Stimmt, Speichern kann die Schaltung nicht.....Ich bin NUR von der Wahrheitstabelle ausgegangen.

Gruß Richard

PICture
04.11.2010, 09:36
Hallo!

Richtig ! :)

Auf Grund der bisher bekannter Wahrheitstabelle könnte man keine sequenzielle Schaltung entwerfen, da die genaue Zeitverhältnisse für Ein- und Ausgänge fehlen. :(

MfG

Richard
04.11.2010, 11:47
Hallo!

Richtig ! :)

Auf Grund der bisher bekannter Wahrheitstabelle könnte man keine sequenzielle Schaltung entwerfen, da die genaue Zeitverhältnisse für Ein- und Ausgänge fehlen. :(

MfG

Macht ja mal richtig Spaß die alte Bit Schupserei. :-)

https://storage.driveonweb.de/dowdoc/1867b7c1f4c11873e16061134f87ee86.jpg

Hier wird das schnellste Ergebnis benutzt um das 2 schnellste zu verriegeln, WENN ich richtig gedacht habe?

Gruß Richard

MeckPommER
04.11.2010, 13:48
Das sieht für mich auf den ersten und zweiten Blick sehr stimmig aus.

Aber könnte man nun nicht das EXOR komplett weglassen sowie die dadurch bedingten 3. AND Anschlüsse?

Gruß MeckPommER

Richard
04.11.2010, 14:33
Das sieht für mich auf den ersten und zweiten Blick sehr stimmig aus.

Aber könnte man nun nicht das EXOR komplett weglassen sowie die dadurch bedingten 3. AND Anschlüsse?

Gruß MeckPommER

Hmmmm, das exor liefert aber die Grundbedingung
0
1
1
0

Man könnte einen Eingang von den beiden & Gattern invertieren einmal E1 einmal E2 aber damit hat man nichts gewonnen, man braucht immer noch 3 & Eingänge. Und 2 Inverter anstatt 1 exor....(glaube ich).

Gruß Richard

MeckPommER
04.11.2010, 15:14
Die Grundbedingung ist, das sich der erste Eingang durchsetzt, und der Nachkömmling nicht mehr dazwischenfunken kann und das geht auch ohne exor. Damit kommen wir (bis auf eine Negation hier und da) genau zu dem, was Besserwessi geschrieben hatte ... einem FF :-)

Richard
04.11.2010, 15:57
Die Grundbedingung ist, das sich der erste Eingang durchsetzt, und der Nachkömmling nicht mehr dazwischenfunken kann und das geht auch ohne exor. Damit kommen wir (bis auf eine Negation hier und da) genau zu dem, was Besserwessi geschrieben hatte ... einem FF :-)

Das mag schon sein, ein egal welches normale Gatter hat nur einen Ausgang, es sind 2 gefordert. Diese 2 sollen aber nur bei.......
0
1
1
0
einer xeor Funktion überhaupt angesprochen werden? sicher würden auch ff's gehen aber auch die sollen ja nach der exor Wahrheitstabelle angesteuert werden...

Für (mich) stellt das exor eine vorselektion da, ohne diese würden die ff's auch bei 11 getriggert werden?

Wie auch immer, wenn eh ein µC in Verwendung ist würde ich es per Software machen und ein TTL_Grab einsparen. :-)

Gruß Richard

Besserwessi
04.11.2010, 19:56
Die Schaltung mit 4 NAND Gattern (z.B. 7400) reicht schon aus. Einfacher als ein einfaches TTL IC muss es ja auch nicht werden.

Das einzige verbleibende kleine Problem sind Transienten in der Größenordnung der Gatter-laufzeiten, wenn 2 L -> H Flanken gleichzeitig kommen. Das ist aber ein Prinzipielles Problem, das man nicht so einfach lösen kann. Auch einige CPLDs haben hier ein ähnliches Problem bei der Synchronisation mit dem internen Takt. Der µC hat einfach Probleme kurze Verzögerungen (kleiner 1-10 Taktzyklen) zu erkennen und hätte damit relativ oft das Problem mit vermeintlich gleichzeitig und einer entsprechend dann ggf. falschen Ausgabe.

Eine Möglichkeit diese Störungen größtenteils noch zu beseitigen wären 2 extra AND Gatter am Ausgang mit den etwas (z.B. 20 ns , bzw. 3-5 Gatterlaufzeiten) verzögerten Eingangssignalen. Dann hätte man nur noch Probleme, wenn kurze Pulse (<20ns) praktisch gleichzeitig kommen.