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
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.
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".
@ 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.
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.
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.
>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.
anderes ich schrieb: > ein "not or" ist bekannterweise ein NAND. Du hast aber seltsame Bekannte. :-) Gruss Harald
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.
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.
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.
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?
>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.
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.
@ 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.
>>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.
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?
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?
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.
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
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.
6A66 schrieb: > 2 Möglichkeiten: > a) > 3x74F521 8bit-comparator, gibt kaskadiert 22bit, tpd = 3x11ns = 35ns > total. Klingt am besten, vielen dank.
@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
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?
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?
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.
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
sind deine Adressleitungen gelatcht? ev. kann man dann einen Comparator einspaaren.
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.
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.