Forum: Mikrocontroller und Digitale Elektronik Not or + AND gatter


von frager (Gast)


Lesenswert?

Welchen IC kann ich verwenden wenn ich einen 8 Kanal NOT or und einen 16 
kanal AND gatter benötige?

Also wenn 8 kanäle 0 sind, soll dieser an einem Pin 1 ausgeben.
Und wenn 16 Kanäle 1 sind, soll dieser an einem Pin auch 1 ausgeben. Ein 
µC ist zu langsam

von clirrrp (Gast)


Lesenswert?

wenn dir ein µC zu langsam ist und es keine fertigen Bausteine auf dem 
Markt gibt (ich habe jetzt nicht nachgeschaut), dann wäre vlt. ein CPLD 
etwas für dich!?

is halt immer der kack wenn man die dinger programmieren muss (wie einen 
µC eben auch), ein "einfaches" fertiges Logikgatter wäre wohl die erste 
Wahl.

von Rudolf (Gast)


Lesenswert?

frager schrieb:
> Welchen IC kann ich verwenden wenn ich einen 8 Kanal NOT or und einen 16
> kanal AND gatter benötige?

Stichwort "De Morgan".

von (prx) A. K. (prx)


Lesenswert?

Man kann sich das ggf. auch mit einer Ladung Dioden zusammen bauen.

von Falk B. (falk)


Lesenswert?

@ frager (Gast)

>Welchen IC kann ich verwenden wenn ich einen 8 Kanal NOT or und einen 16
>kanal AND gatter benötige?

>Also wenn 8 kanäle 0 sind, soll dieser an einem Pin 1 ausgeben.

Das ist ein NOR 8 Eingängen.

4078, 1x NOR mit 8 Eingängen

>Und wenn 16 Kanäle 1 sind, soll dieser an einem Pin auch 1 ausgeben. Ein
>µC ist zu langsam

Ein AND mit 16 Eingängen, nicht Kanälen.

Muss man wohl aus kleineren Gattern zusammenbauen.

2x 74HC30, NAND mit 8 Eingängen.
1x 74HC00, 4x NAND mit 2 Eingängen.

von anderes ich (Gast)


Lesenswert?

ein "not or" ist bekannterweise ein NAND. Mit 8 Eingängen wäre das z.B. 
ein 7430.

Bausteine mit 16 Eingängen sind mir nicht bekannt. Die musst du wohl aus 
mehreren Einzelbausteinen zusammenbauen.

Oder gleich ein CPLD nehmen.

von (prx) A. K. (prx)


Lesenswert?

anderes ich schrieb:
> ein "not or" ist bekannterweise ein NAND

Nicht bei ihm.

von NOR (Gast)


Lesenswert?

anderes ich schrieb:
> ein "not or" ist bekannterweise ein NAND. Mit 8 Eingängen wäre das z.B.
> ein 7430.

ein "Not OR" ist bekannterweise ein NOR.

von anderes ich (Gast)


Lesenswert?

>ein "Not OR" ist bekannterweise ein NOR.

nein. ein NOR ist ein OR NOT und kein NOT OR

Ich interpretiere ein "not or" als ein OR mit invertierten Eingängen und 
das ist eben ein NAND. Ob er das gemeint hat, weis ich nicht, aber die 
Bezeichnung "not or" lässt eigentlich keinen anderen Schluß zu.

von Harald W. (wilhelms)


Lesenswert?

anderes ich schrieb:

> ein "not or" ist bekannterweise ein NAND.

Du hast aber seltsame Bekannte. :-)
Gruss
Harald

von frager (Gast)


Lesenswert?

Falk Brunner schrieb:
>
> Das ist ein NOR 8 Eingängen.
>
> 4078, 1x NOR mit 8 Eingängen
>
>>Und wenn 16 Kanäle 1 sind, soll dieser an einem Pin auch 1 ausgeben. Ein
>>µC ist zu langsam
>
> Ein AND mit 16 Eingängen, nicht Kanälen.
>
> Muss man wohl aus kleineren Gattern zusammenbauen.
>
> 2x 74HC30, NAND mit 8 Eingängen.
> 1x 74HC00, 4x NAND mit 2 Eingängen.

Die sind leider alle zu langsam. Sie sollten bei 5v 120ns schnell sein.

von B. S. (bestucki)


Lesenswert?

frager schrieb:
> Also wenn 8 kanäle 0 sind, soll dieser an einem Pin 1 ausgeben.
Das ist ein NAND.

> Und wenn 16 Kanäle 1 sind, soll dieser an einem Pin auch 1 ausgeben.
Das ist ein AND.



Deine Fragestellung ist etwas undeutlich, ich kann daraus folgende 
unterschiedlichen Fälle interpretieren:

1. Wenn die Eingänge 0 bis 7 low sind oder die Eingänge 0 bis 15 (oder 
evt. auch 8 bis 23?) high sind, ist der Ausgang high, ansonsten low.

2. Wenn aus der unbekannten Anzahl Eingängen 8 beliebige Eingänge low 
sind oder 16 beliebige Eingänge high sind, ist eider Ausgang high, 
ansonsten low.

Ich nehme an, ersteres trifft zu. Lösungsvorschläge dazu wurde bereits 
genannt.

von (prx) A. K. (prx)


Lesenswert?

frager schrieb:
>> 2x 74HC30, NAND mit 8 Eingängen.
>> 1x 74HC00, 4x NAND mit 2 Eingängen.
>
> Die sind leider alle zu langsam. Sie sollten bei 5v 120ns schnell sein.

Die sind bei 5V nicht zu langsam.

von frager (Gast)


Lesenswert?

be stucki schrieb:
> 1. Wenn die Eingänge 0 bis 7 low sind oder die Eingänge 0 bis 15 (oder
> evt. auch 8 bis 23?) high sind, ist der Ausgang high, ansonsten low.

Fast. Es sind ca. 16 Ausgänge, wenn bestimmte ausgänge low sind, und 
andere bestimmte ausgänge high sind, soll dies einem Mikrocontroller 
mitgeteilt werden.

CPLD klingt interessant. Sollte leicht zu Programmieren sein, am besten, 
so wie bei http://www.mikrocontroller.net/articles/CPLD beschrieben 
durch ein Schaltplan.
Womit wird dieser beschriebene? Geht dies mit einem Willem Programmer?

von (prx) A. K. (prx)


Lesenswert?

frager schrieb:
> CPLD klingt interessant.

Kanone auf Spatzen...

von anderes ich (Gast)


Lesenswert?

>Fast. Es sind ca. 16 Ausgänge, wenn bestimmte ausgänge low sind, und
>andere bestimmte ausgänge high sind...

oh man...

Sag GENAU was du willst sonst wird hier bis Silvester rumgenandet und 
rumgenort.

von (prx) A. K. (prx)


Lesenswert?

anderes ich schrieb:
> Sag GENAU was du willst sonst wird hier bis Silvester rumgenandet und
> rumgenort.

Hat er. Bereits im ersten Posting. Wenn man sich die Mühe macht, auch 
den zweiten Absatz zu lesen. Einzig die 120ns fehlten.

von Falk B. (falk)


Lesenswert?

@ frager (Gast)

>> 4078, 1x NOR mit 8 Eingängen

Gibt es wahrscheinlich auch als 74HC4078, das ist dann bei 5V deutlich 
schneller.

>> 2x 74HC30, NAND mit 8 Eingängen.
>> 1x 74HC00, 4x NAND mit 2 Eingängen.

>Die sind leider alle zu langsam. Sie sollten bei 5v 120ns schnell sein.

Die 74HCxx haben so um die 10-20ns Verzögerungszeit.

von anderes ich (Gast)


Lesenswert?

>>Welchen IC kann ich verwenden wenn ich einen 8 Kanal NOT or und einen 16
>>kanal AND gatter benötige?

>>Also wenn 8 kanäle 0 sind, soll dieser an einem Pin 1 ausgeben.
>>Und wenn 16 Kanäle 1 sind, soll dieser an einem Pin auch 1 ausgeben.

>Hat er. Bereits im ersten Posting. Wenn man sich die Mühe macht, auch
>den zweiten Absatz zu lesen.

Es wird nicht erwähnt dass die 8 Kanäle irgendwie Teil der 16 Kanäle 
sind. Es könnten ebensogut 2 separate Schaltungen sein (wovon ich bis 
jetzt ausgegangen bin). Es wird 2 mal von einem Pin gesprochen der dann 
1 haben soll. Ist das der gleiche Pin, oder ein anderer? Sind das 
spezielle 8 Kanäle bei denen was passieren soll, oder irgendwelche, 
hauptsache 8?

Eine genaue Beschreibung des Problems sieht anders aus.

von frager (Gast)


Lesenswert?

anderes ich schrieb:
> Eine genaue Beschreibung des Problems sieht anders aus.

Ums ganz konkret zu sagen.

Wenn in einem parallel Eprom auf eine ganz bestimmte zelle zugegriffen 
wird, möchte ich, das dies ein Attiny erkennen kann.
Da der Speicher allerdings 120ns schnell ist, ist ein Attiny dafür zu 
langsam. Dieser Eprom wird durch 21 Adressleitungen adressiert. Wovon 
aber nur ein Teil beschrieben ist.

Wenn also an bestimmten, bekannten Adressleitungen ein bestimmter 
zustand (high/low) eintritt, soll einem Attiny gesagt werden = 
Speicherzugriff...

Wie realisiere ich das am besten, und am Platzsparensten?

von B. S. (bestucki)


Lesenswert?

frager schrieb:
> Wie realisiere ich das am besten, und am Platzsparensten?

In dem du den Controller (der, der das EEPROM ansteuert) so 
programmierst, dass er, wenn er auf das EEPROM zugreift, einen Ausgang 
auf high setzt, den du mit deinem anderen Controller einliest. Bist du 
sicher, dass dein Controller einen Impuls von 120ns einlesen kann?

von frager (Gast)


Lesenswert?

Das System, dass den Eprom ansteuert, ist geschlossen und kann nicht 
verändert werden.

Also wenn ichs richtig verstanden habe. Kann ein ATtiny mit 20Mhz gerade 
mal 2 Pins in 100ns gleichzeitig überprüfen, welcher Wert anliegt.
Da 10Mhz = 100ns, 20Mhz also 2 Aufgaben in 100ns.

Somit dürfte ein ATtiny mit 16mhz einen PIN dauerhaft überprüfen können. 
Der µC hat wärend er auf dieses Signal wartet, keine anderen Aufgaben.

von 6A66 (Gast)


Lesenswert?

frager schrieb:
> Wie realisiere ich das am besten, und am Platzsparensten?

2 Möglichkeiten:
a)
3x74F521 8bit-comparator, gibt kaskadiert 22bit, tpd = 3x11ns = 35ns 
total.

b) EPROM Huckepack auf das andere, ein bit der gewünschten Adresse auf 0 
setzen, alle anderen bleiben 1, auf diese Datenleitung triggern. Tpd des 
EPROMs wird aber langsam sein.

rgds

von B. S. (bestucki)


Lesenswert?

frager schrieb:
> Also wenn ichs richtig verstanden habe. Kann ein ATtiny mit 20Mhz gerade
> mal 2 Pins in 100ns gleichzeitig überprüfen, welcher Wert anliegt.
> Da 10Mhz = 100ns, 20Mhz also 2 Aufgaben in 100ns.

Das hast du falsch verstanden. In 50ns lädtst du höchstens den Zustand 
des Eingangs ins Arbeitsregister. Überprüft hast du da noch gar nichts.
PS: kenne den Befehlssatz deines Controllers nicht.

> Somit dürfte ein ATtiny mit 16mhz einen PIN dauerhaft überprüfen können.
> Der µC hat wärend er auf dieses Signal wartet, keine anderen Aufgaben.

Du hast Sprungbefehle vergessen, Stichwort: Endlosschleife


Machbar ist sowas mit einem externen Interrupt, der auf die positive 
oder negative Flanke des Eingangssignals reagiert. Oder du verlängerst 
den Impuls mit einem Monoflop. Die Anzahl Zugriffe kannst du dann aber 
nicht mehr zählen.

von frager (Gast)


Lesenswert?

6A66 schrieb:
> 2 Möglichkeiten:
> a)
> 3x74F521 8bit-comparator, gibt kaskadiert 22bit, tpd = 3x11ns = 35ns
> total.

Klingt am besten, vielen dank.

von Dietrich L. (dietrichl)


Lesenswert?

@frager:
Du solltest aber berücksichtigen, dass so eine Lösung Spikes liefern 
kann! Denn bei der Adresse ändern sich nicht alle Bit absolut 
gleichzeitig. Also solltest Du ein Read und/oder Write-Signal dazu 
verknüpfen oder (Bastellösung) noch ein kleines Filter spendieren.

Gruß Dietrich

von frager (Gast)


Lesenswert?

Dietrich L. schrieb:
> Also solltest Du ein Read und/oder Write-Signal dazu
> verknüpfen oder (Bastellösung) noch ein kleines Filter spendieren.

Wie genau stellst du dir das vor?
Wenn ich doch ein Kondensator zwischen diese Komparatoren und dem Attiny 
setze, dann hat der Tiny doch länger zeit, diese "1" mitzubekommen oder?

von frager (Gast)


Lesenswert?

So nochmal ist, ich habe nun ein wenig überlegt und versuche doch die 
EPROM methode.

Ich schreibe in diesem einfach überall:
hex: 00

ausser an diese stellen an denen der Attiny reagieren soll dort "FF"?

Wäre es dann möglich, ich denke mal mit einem Kondensator, dieses "high" 
zu verlängern, damit der Tiny das auch mitbekommt?

von B. S. (bestucki)


Lesenswert?

frager schrieb:
> Wäre es dann möglich, ich denke mal mit einem Kondensator, dieses "high"
> zu verlängern, damit der Tiny das auch mitbekommt?

Ein Kondensator verlängert nicht, er verzögert nur, zusätzlich hast du 
undefinierte Spannungen, wenn du keinen Schmitt-Trigger verwendest. 
Ausserdem können Logikgatter nur einen kleinen Strom liefern. Einen 
Impuls verlängert man mit einem Monoflop.

von Dietrich L. (dietrichl)


Lesenswert?

frager schrieb:
> Wie genau stellst du dir das vor?

Das hängt jetzt alles vom genauen Timing ab:
- wie groß ist der max. Laufzeitunterschied zwischen den Adressen?
- was komm durch die Komparatoren noch dazu?
Daraus ergibt sich die max. Spikelänge.

Jetzt kommt der nächste Schritt:
- was ist die maximale Zeit, die der Tiny garantiert noch nicht 
erkennt?
Je nachdem, was dabei herauskommt, muss man eventuell nicht tun oder man 
muss diesen Spike unterdrücken.

> Wenn ich doch ein Kondensator zwischen diese Komparatoren und dem Attiny
> setze, dann hat der Tiny doch länger zeit, diese "1" mitzubekommen oder?

Wenn Du filtern musst, nimmst Du auch ein RC-Glied (Tiefpass): erst wenn 
das Signal lang genug ist wird die Spannung am Kondensator hoch genug, 
damit das Gatter / der Tiny-Eingang umschaltet. Wenn es nur ein Spike 
war, geht die Spannung vor dem Umschalten wieder zurück.

Aber unabhängig davon, ungewollte Signale (Spikes) zu unterdrücken, ist 
natürlich auch sicherzustellen, dass "gute" Ergebnisse lang genug sind, 
um vom Tiny sicher erkannt zu werden. Die minimal erforderliche Zeit ist 
je nach Lösungsweg (Abfrage eine Portpins, Interrupt, ...) zu ermitteln. 
Wenn das nicht reicht, muss man das (spikefreie!) Signal verlängern 
(z.B. mit einem Monoflop wie "be stucki" schon sagte).

Gruß Dietrich

von Maybe Gatter (Gast)


Lesenswert?


von anderes ich (Gast)


Lesenswert?

sind deine Adressleitungen gelatcht? ev. kann man dann einen Comparator 
einspaaren.

von frager (Gast)


Lesenswert?

be stucki schrieb:
> Einen
> Impuls verlängert man mit einem Monoflop.

Gibt es einen Monoflop auch in einem kleinen DIP gehäuse? Eine 
alternative wäre auch hilfreich.


Danke für eure hilfe.

von 6A66 (Gast)


Lesenswert?

frager schrieb:
> be stucki schrieb:
>> Einen
>> Impuls verlängert man mit einem Monoflop.
>
> Gibt es einen Monoflop auch in einem kleinen DIP gehäuse? Eine
> alternative wäre auch hilfreich.
>
> Danke für eure hilfe.

Zum Entprellen des Signals wäre ein RC-Glied mit Tau etwa 20..50ns 
denkbar, einen Schmitt_Trigger 74F14 hinterher, notfalls Tau besser 
abstimmen. Monoflop kannst Du auch, schau bei TI.COM unter "logic", 
dürfte aber komplexer sein.

rgds

von 6A66 (Gast)


Lesenswert?

Dietrich L. schrieb:
> Also solltest Du ein Read und/oder Write-Signal dazu
> verknüpfen oder

Kannst Du in den Komparator mit reinziehen, der hat ja 22 Eingänge 
anstatt 21, würde ich auf der letzten/höchsten Komapratorebene mit 
reinziehen, dann hast Du ganatiert keine Glitches.

rgds

von 6A66 (Gast)


Lesenswert?

6A66 schrieb:
> Kannst Du in den Komparator mit reinziehen, der hat ja 22 Eingänge
> anstatt 21, würde ich auf der letzten/höchsten Komapratorebene mit
> reinziehen, dann hast Du ganatiert keine Glitches.

Und wenn das dann an Zeit nicht reicht ein Flipflop hinterher, 74F74 
oder ähnlich.

rgds

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.