Forum: Mikrocontroller und Digitale Elektronik Gatterlösung zur Emittlung des Wertes des niedrigsten gesetzten Bits


von Herb G. (donar)


Lesenswert?

Ich grüble schon eine ganze Weile, und ein gefühlter halber Wald an 
Papier ist bereits vernichtet :(

Gegeben sei ein 4-bit DIP-Schalter mit den Schaltern D3 D2 D1 D0, von 
denen jeder physikalisch ein- oder ausgeschaltet sein kann.

Durch jeden der geschlossenen Schalter D3...D0 kann ein Signal Sn laufen 
(1) oder auch nicht (0); durch die geöffneten natürlich nie, also immer 
(0).

Ich bin nun am Signal (0) oder (1) interessiert, das durch das 
niedrigste gesetze Bit in D3...D0 läuft.

Es muss dafür ja eine Gatterlösung geben, aber ich denke irgendwo falsch 
rum...

D3...D0  R
0 0 0 0  0  (kein Bit gesetzt, immer 0)
0 0 0 1  S0 (S0 kann 0 oder 1 liefern)
0 0 1 0  S1
0 0 1 1  S0
0 1 0 0  S2
...
1 0 0 0  S3
1 0 0 1  S0
...
1 1 1 1  S0

Wenn mir jemand mit einem Ansatz auf die Sprünge helfen könnte, dann 
würde mich das freuen!

Gruss,
Herb

von Peter D. (peda)


Lesenswert?

y = x0 & S0
  | !x0 & x1 & S1
  | !x0 & !x1 & x2 & S2
  | !x0 & !x1 & !x2 & x3 & S3

von Bitflüsterer (Gast)


Lesenswert?

Wobei Peters Lösung voraussetzt, dass die Signale d3 bis d0 (resp. X3 
bis X0) nicht durch die Schalter laufen, sondern gesonderte Eingänge 
in die Logik darstellen.

von Stefan P. (form)


Lesenswert?

Prioritätsdekoder + Oder

von Herb G. (donar)


Lesenswert?

Nächstes Mal werde ich vor dem Zeichnen abstrahieren. Danke, Peter.

von Uwe (Gast)


Lesenswert?

Dazu müßte die Logik ja wissen welche Schalter geschlossen sind und 
welche nicht. Die Logik kann ja nicht wissen ob das jetzt ne Signal '0' 
ist oder nen Offener Schalter.

von Herb G. (donar)


Lesenswert?

Bitflüsterer schrieb:
> Wobei Peters Lösung voraussetzt, dass die Signale d3 bis d0 (resp. X3
> bis X0) nicht durch die Schalter laufen, sondern gesonderte Eingänge
> in die Logik darstellen.

Ich kann die gesondert machen, das ist kein Problem. Aber danke für den 
Hinweis.

----

Stefan P. schrieb:
> Prioritätsdekoder + Oder

Das verstehe ich jetzt leider nicht. Wie ich das verstehe, würde ein 
Prioritätsdekoder doch so arbeiten:

D3...D0
0 0 0 0 -> 0 0 0
0 0 0 1 -> 0 0 1
0 0 1 x -> 0 1 0
0 1 x x -> 0 1 1
1 x x x -> 1 0 0

Und wie geht's jetzt weiter?

----

Uwe schrieb:
> Dazu müßte die Logik ja wissen welche Schalter geschlossen sind und
> welche nicht. Die Logik kann ja nicht wissen ob das jetzt ne Signal '0'
> ist oder nen Offener Schalter.

Passt aber schon.

Sei S3...S0 = 1110
und D3...D0 = 1100

Mit

y =  D0 &  S0
  | !D0 &  D1 &  S1
  | !D0 & !D1 &  D2 & S2
  | !D0 & !D1 & !D2 & D3 & S3

dann also

y = 0 & 0
  | 1 & 0 & 1
  | 1 & 1 & 1 & 1
  | 1 & 1 & 0 & 1 & 1

Der 3. Term produziert y = 1, wie gefordert.


Sei S3...S0 = 1010 (S2 ist nun offen)
und D3...D0 = 1100 (wie gehabt)

dann

y = 0 & 0
  | 1 & 0 & 1
  | 1 & 1 & 1 & 0
  | 1 & 1 & 0 & 1 & 1

Kein Term produziert y = 1, passt.

von Uwe (Gast)


Lesenswert?

> Wobei Peters Lösung voraussetzt, dass die Signale d3 bis d0 (resp. X3
> bis X0) nicht durch die Schalter laufen, sondern gesonderte Eingänge
> in die Logik darstellen.
Klar damit kann man ja herleiten ob es nun ein offener Schalter war oder 
'0' Signal.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.