Ingo schrieb:> W wie Wurst schrieb:>> 3-fach XOR
Auf den ersten Blick: Ein 3-fach XOR gibt es nicht. Bei einem EXOR ist
der Ausgang 1, wenn alle Eingänge verschieden sind. Da es nur zwei
Bitzustände gibt, geht das auch nur mit zwei Eingängen.
Interessante Diskussion, ob es ein N-fach XOR für N > 2 überhaupt geben
kann, findet man hier:
Beitrag "XOR-Gate mit 8 Eingängen"
Denn es gibt noch eine andere Definition: Der Ausgang ist dann 1, wenn
die Anzahl der 1en ungerade ist. Also eine Art Paritätsprüfung.
Viel Spaß beim Lesen ;-)
P.S.
Da weder Definition 1 noch 2 auf die Problemstellung in diesem Thread
hier passen, würde ich es eben nicht "3-fach XOR" nennen.
Wikipedia sagt dazu in:
http://de.wikipedia.org/wiki/XOR-Gatter
"Die Funktion eines XOR-Gatters mit mehr als zwei Eingängen ergibt sich,
indem man zunächst zwei der Eingänge XOR-verknüpft, dann deren Ergebnis
mit dem nächsten Eingang XOR-verknüpft, solange bis alle Eingänge
berücksichtigt sind."
Wenn ich das mache, kann ich sofort ein Gegenbeispiel nennen, welches
nicht der Forderung des TOs genügt. Daher ist die Formulierung
"3-fach-XOR" einfach falsch.
Stephan schrieb:> am besten mal eine Logiktabelle posten
Die ist ja leicht gemacht:
A B C Ergebnis
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 0
Unter der Voraussetzung, dass die Aussage des TOs "Ausgang aktiv" mit 1
gleichzusetzen ist.
Ich kenne für diese Logikoperation keinen Namen. Man kann jedenfalls
folgende Aussage machen, wenn man die Aufgabenstellung auf N Eingänge
verallgemeinert:
Die Anzahl der Möglichkeiten steigt mit 2^N, die Anzahl der Ergebnisse =
1 ist aber nur gleich N.
Hi
>Ich kenne für diese Logikoperation keinen Namen.
Hier
Beitrag "Re: XOR-Gate mit 8 Eingängen"
gibt es doch schon einen Link zu einem fast passenden Bauelement. Noch
zwei Gatter und das ganze passt.
MfG Spess
Frank M. schrieb:> Stephan schrieb:>> am besten mal eine Logiktabelle posten>> Die ist ja leicht gemacht:
das weiß ich, ich wollte nur Missverständnisse verhindern.
Ein ODER würde auch bei genau einem Eingang ansprechen. Erfüllt dann
aber eben nicht die von Dir vermutete Funktion. weil es auf den /die
anderen Eingang/ Eingänge auch reagiert.
Zumal nicht klar ist ob H oder L aktiv.
der gesuchte ic heisst atiny13 und ist noch mit wenigen zeilen code zu
füttern. dafür kannst du die pinbelegnung aber auch auch weitgehend nach
bedarf selbst zuordnen.
spess53 schrieb:>>Ich kenne für diese Logikoperation keinen Namen.> Hier>> Beitrag "Re: XOR-Gate mit 8 Eingängen">> gibt es doch schon einen Link zu einem fast passenden Bauelement. Noch> zwei Gatter und das ganze passt.
Ja, Schaltung war mir klar. Ich bezog mich hier nur auf die zweite Frage
des TOs, nämlich nach einer Bezeichnung für diese Logikoperation.
Mit einem 3 zu 8 Decoder und einer nachfolgenden Oderschaltung
(Dioden ?) müsste sich das doch machen lassen egal ob High- oder
Low-Aktiv.
High aktiv: -> 1 oder 2 oder 4
Low aktiv: -> 3 oder 5 oder 6
...igendeinen µC schnappen
Code ohne spezielle syntax:
int hallo;
void funktionfuerdich(){
hallo=0;
if (eingang1==1){
hallo=hallo+1;
}
if (eingang2==1){
hallo=hallo+1;
}
if (eingang3==1){
hallo=hallo+1;
}
if (hallo==1){
ausgang=1;
}
else{
ausgang=0;
}
}//Ende der Funktion
Stephan schrieb:> Ein ODER würde auch bei genau einem Eingang ansprechen.
Nein, ein ODER spricht nicht bei GENAU einem Eingang an. Ein ODER
spricht bei einem, bei zwei und auch bei drei gesetzten Eingängen an
(wenn wie hier drei Eingänge vorhanden sind).
GENAU ein Eingang heißt auch wirklich nur bei einem.
Hallo Leute,
der Vollständigkeit halber noch die "klassische" Lösung, nach der
Wahrheitstabelle von Frank M.
A B C Ergebnis
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 0
Ergebnis X = (C & /B & /A) ODER (/C & B & /A) ODER (/C & /B & A)
Kürzen mit KV noch nicht inbegriffen. Also zwei Logikbausteine, ein
3fach AND mit je 3 Eingängen und ein OR mit 3 Eingängen.
Die Lösung von Peter Dannegger ist aber wesentlich kreativer und gefällt
mir besser.
Gruß. Tom
TomA schrieb:> Habe die Inverter vergessen, es braucht auch noch drei Inverter, also> drei Bausteine :)
und was soll sowas, wenns mit nem dip8 tiny geht??? komisches analogiker
volk hier.
genervter schrieb:> und was soll sowas, wenns mit nem dip8 tiny geht???
Woher weisst Du, dass Du mit einem "dip8 tiny" die Anforderungen des TOs
überhaupt einhalten kannst?
Logikgatter sind im allgemeinen wesentlich schneller als ein µC. Soll
das Ergebnis innerhalb von einigen ns bereitstehen, sieht Dein ATTiny
ganz schön alt aus.
Peters Lösung ist einfach genial.
genervter schrieb:> hat auch weniger beine als 74xxxgenervter schrieb:> und was soll sowas, wenns mit nem dip8 tiny geht??? komisches analogiker> volk hier.
Der SN74LVC1G386 auf den jemand in dem anderen Thread hingewiesen hat,
hätte sogar nur 6 Pins ;-)
TomA schrieb:> Und für Gatter brauche man kein Programmiergerät und keine> Programmierkenntnisse.
dafür muss man sie aber aussuchen und idr. erst besorgen.
tiny hat man da, programmiert ihn fix, und kann machen.
wenns schnell gehen muss eben.
Volker SchK schrieb:> Der SN74LVC1G386 auf den jemand in dem anderen Thread hingewiesen hat,> hätte sogar nur 6 Pins ;-)
dafür tut er nicht das, was gewünscht ist.
> A B C Ergebnis> 0 0 0 0> 0 0 1 1> 0 1 0 1> 0 1 1 0> 1 0 0 1> 1 0 1 0> 1 1 0 0> 1 1 1 1 <-
genervter schrieb:> tiny hat man da, programmiert ihn fix, und kann machen.
Frag doch mal den TO, ob er Tinys da hat und sie auch programmieren
kann.
Wenn du das kannst, heißt das nicht, daß alle anderen das auch können.
Dazu kommt dann noch die Tatsache, daß du mit Software nicht mal in die
Größenordnungen kommst (bezüglich der Gatterlaufzeiten) wie in einem
reinen Digital-IC.
Roland L. schrieb:> Volker SchK schrieb:>> Der SN74LVC1G386 auf den jemand in dem anderen Thread hingewiesen hat,>> hätte sogar nur 6 Pins ;-)>> dafür tut er nicht das, was gewünscht ist.Aaaarrrgggghhh Dreimal hin geschaut und doch nicht gesehen ...
TomA schrieb:> Ergebnis X = (C & /B & /A) ODER (/C & B & /A) ODER (/C & /B & A)>> Kürzen mit KV noch nicht inbegriffen.
Macht nix, der Ausdruck läßt sich eh nicht weiter kürzen.
R. Max schrieb:> TomA schrieb:>>> Ergebnis X = (C & /B & /A) ODER (/C & B & /A) ODER (/C & /B & A)>>>> Kürzen mit KV noch nicht inbegriffen.>> Macht nix, der Ausdruck läßt sich eh nicht weiter kürzen.
Das ist richtig und TomA's Loesung bestaetigt auch das Ergebnis des
Programs "LogicMinimizer"
TomA schrieb:> A B C Ergebnis> 0 0 0 0> 0 0 1 1> 0 1 0 1> 0 1 1 0> 1 0 0 1> 1 0 1 0> 1 1 0 0> 1 1 1 0>> Ergebnis X = (C & /B & /A) ODER (/C & B & /A) ODER (/C & /B & A)
Warum so kompliziert?
A, B, C sind ja Bits. Gehen wir davon aus sie sind im selben
Eingangsbyte e
1
booly=(e&(e-1))!=0
oder in meinen Augen leserlicher und von allen mir bekannten Compilern
gleichbedeutend:
1
booly=e&(e-1)
für reines C darf das bool natürlich auch ein char oder int oder
sonstwas sein...
W wie Wurst schrieb:> steht schon alles im Betreff, ich suche solch eine Schaltung bzw. IC.
Es gäbe noch die analoge Lösung, wenn die Ausgangsspannung der Quellen
definiert sind, z.B. 0V/5V aus einem HC-MOS IC.
1
+5V +5V +5V
2
| | |
3
20k | 1k
4
| | |
5
+--|+\ |
6
| | >--+-- out
7
a --10k--+----(--|-/ |
8
| 10k LM393|
9
b --10k--+----(--|+\ |
10
| | | >--+
11
b --10k--+ +--|-/
12
| |
13
10k |
14
| |
15
GND GND
Irgendwie weiss ich aber nie, wie bei open collector Komparatoren
internierendeer und nicht-invertierender Eingang aufzufassen sind, ist +
positiver als - geht der Ausgang nach + oder wird er aktiv, d.h.
durchgeschaltet...