"Wandler" von 8 Bit auf 14 Bit?

Hallo,

gegeben ist eine 8-bit-Datenquelle (8 mal Daten-Leitungen und einmal Clock). Einen 74HCT574 da rangeschaltet und man kann sich die Bits schonmal mit ein paar LEDs anschauen.

Einfach gesagt hätte ich statt der 8 LEDs jetzt aber lieber 14 Stück und würde ein Bit zum "Hin und Herschalten" zwischen den zwei siebener Gruppen verwenden.

Multiplexer-ICs für Eingänge gibt es viele. Für Ausgänge bin ich noch nicht fündig geworden. Nächster Gedanke ist nun, zwei 74HCT574 zu verwenden und über das 8te Bit zu wählen welcher der zwei das Clock-Signal empfängt.

Mein Vorschlag wäre, einen 4081 zu verwenden (4er AND Gatter). Ein AND hänge ich einseitig auf GND und mit der anderen Seite auf Bit 8. Bit 8 würde so invertiert. Mit zwei weiteren AND aus dem IC verknüpfe ich nun einmal das nicht invertierte und einmal das invertierte Bit 8 mit dem Clock-Signal. An den Ausgängen dieser zwei AND-Gatter kommt so je ein Clock-Signal für das jeweilige Flip-Flop raus.

Eigentlich sollte ich so durch entsprechendes Manipulieren meines "Bytes" (letztes Bit) festlegen können, auf welchem Flip-Flop die ersten

7 Bits landen.

Würde das so funktionieren oder ist mein Ansatz verkert?

CU

Manuel

--
Alle wollen zurück zur Natur - aber keiner zu Fuß
 Der Mensch erfand Maschinen, um sich damit die Arbeit zu erleichtern.
 Nur leider hat er vergessen, rechtzeitig damit aufzuhören...
Beiträge mit *X-No-Html Header* kann ich weder lesen, noch beantworten!
Reply to
Manuel Reimer
Loading thread data ...

Manuel Reimer schrieb:

k und=20

h noch=20

Das w=FCrde man dann Decoder nennen - aber diese Teile helfen Dir hier nicht weiter, wenn Du die Ausgangszust=E4nde zwischen den Zugriffen behalten (speichern) m=F6chtest.

Das w=E4re im Prinzip OK, aber:

8.=20

Ein AND invertiert nicht. Ansonsten w=E4re die Methode schon OK, wenn man=

statt der AND-Gatter a) mit NAND arbeiten und die Logik entprechend anpasste, oder b) gleich einen Decoder ('139) n=E4hme.

Wenn es Dir reicht, jeweils ein einzelnes Bit zu =E4ndern (d.h. nie mehr als eines gleichzeitig), kannst Du das mit zwei '259 ohne Zusatzlogik bewerkstelligen - mit 16 Bit Ausgang und der M=F6glichkeit, das mit noch zwei weiteren '259 auf 32 Bit zu erweitern (mit Decodern auf noch mehr).

Tilmann

Reply to
Tilmann Reh

Manuel Reimer schrieb:

Zweimal zwei hoch sieben ergibt zwei hoch acht. D.h. dieses achte Bit ist bereits das Hinundherschaltbit.

Du könntest aber mit Deinen 8 Bit einen ROM adressieren, der dann irgendwas Breiteres ausgibt. Ob sich was geeignetes aus alten CD-Spielern extrahieren lässt, weiß ich nicht.

MfG hjs

Reply to
Hans-Jürgen Schneider

Am Wed, 31 Mar 2010 13:06:14 +0200 schrieb Hans-Jürgen Schneider:

2^8 = 256. Hier ging es aber offensichtlich um: aus 8 mach 7*2^1 = 14. ;-)
--
MfG Knut
Reply to
Knut Schottstädt

Soll das eine Port-Erweiterung für einen Controller werden ? Mache ich für meinen GP32 häufig, weil DIL40 nicht immer genügend Portpins hat.

Typ lokaler Bus:

formatting link
Port A ist der Datenbus, Port B wird teilweise für die /CS und den /OE der 74HCxxx verwendet.

Typ Schieberegister:

formatting link
Macht hier nur Output-Pins. Und gemischt 5V und 15V. In dem Fall empfiehlt sich SPI-Schnittstelle um die Bytes schneller rauszubekommen.

Wenn man Pins benötigt die Controller-Portpins ähnlicher sind, also Richtung änderbar, kann man auf alte CMOS-Port-ICs wie RCA CDP6823 in DIL40 zurückgreifen, Ansteuerung wie lokaler Bus.

MfG JRD

Reply to
Rafael Deliano

Was hindert dich daran, 2x 74HCT574 (für je 7 LED) zu benutzen und ein Bit zu invertieren um damit wechselweise die Freigabeeingänge anzusteuern? Tschüß GERD

--
Gerd Belo
G.Belo@BAFAS.de
Reply to
Gerd Belo

"Manuel Reimer" schrieb im Newsbeitrag news: snipped-for-privacy@user.newsoffice.de...

Das HCT574 ist eine gute Wahl, denn es reagiert auf die steigende Flanke. Damit eines auf die steigende Flanke des 8. Datenbits reagiert und das andere auf die fallende Flanke, versorgt du CLK das anderen über einen Inverter (74HCT04). Mehr Bauteile brauchst du nicht. Die Bits 0..7 leitest du jeweils an beide 574, deren 8. bit ungenutzt bleibt (Eingang auf Masse).

Dann besteht die Datenübertragung: Bits 0..6 mit Datenmuster der LED 1..7 vorbelegen, bit 8 auf 1, bits 0..6 mit Datenmuster der LED 8..14 vorbelegen, bit 8 auf 0.

Eine Alternative wäre 74HCT259 adressierbares Latch. Damit kann man bis 64 LEDs über 8 bit steuern.

--
Manfred Winterhoff, reply-to invalid, use mawin at gmx dot net
homepage: http://freenet-homepage.de/mawin/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
Reply to
MaWin

Der 74*574 hat nur leider einen Output Enable und keinen Clock Enable.

Gruß Henning

Reply to
Henning Paul

Man koennte ja auch einen 74HC574 und einen 74HC573 nehmen. Der eine reagiert auf steigende, der andere auf fallende Flanke. So hat man doch beim guten alten MCS51 mit externem EPROM auch einen Port zurueckgewonnen.

Olaf

Reply to
Olaf Kaluza

Naja: 573 ist ein Latch das während des high-Pegels an LE transparent geschaltet ist. Wenn man nicht sicherstellen kann, daß bevor man den LE anlegt alle Daten stabil sind hat man Spikes am Ausgang. Als Port-Ersatz an Mikroprozessor-Bus ist Latch nicht so optimal, für die LEDs würds reichen.

MfG JRD

Reply to
Rafael Deliano

Am 31.03.2010 20:01, schrieb Rafael Deliano:

Den Unterschied zwischen pegelgesteuertem Latch und flankengetriggerten Flipflop kennen maximal 5% der "Fachleute" :-(

Butzo

Reply to
Klaus Butzmann

Henning Paul schrieb:

Braucht man auch nicht: einer bekommt den normalen Clock, der andere den invertierten. Man muß halt bei jeder Flanke gültige Daten für das jeweilige Register anliegen haben.

cu Michael

Reply to
Michael Schwingen

Ich kann leider nur alle Bits auf einem Schlag belegen. Mit jedem vollen Byte wird "Clock" einmal "High" gezogen. Theoretisch müsste ich dann meinerseits den Datenempfang bestätigen, was ich aber der Einfachkeit halber mit "Clock" kurzgeschlossen habe. Es werden also "irgendwie" alle Bits gesetzt. Dann wird Clock kurz High. Wenn Clock wieder Low ist, dann könnten die Bits theoretisch alles mögliche anstellen, z.B. ohne meine Einflussmöglichkeit alle Low gehen. Erst wenn Clock wieder High wird kann ich wieder Bits einlesen.

Irgendwie werde ich also doch das 8te Bit in invertierter und nicht invertierter Form mit einem Und-Gatter an das Clock-Signal binden müssen.

CU

Manuel

--
Alle wollen zurück zur Natur - aber keiner zu Fuß
 Der Mensch erfand Maschinen, um sich damit die Arbeit zu erleichtern.
 Nur leider hat er vergessen, rechtzeitig damit aufzuhören...
Beiträge mit *X-No-Html Header* kann ich weder lesen, noch beantworten!
Reply to
Manuel Reimer

Nur zum Zeitpunkt "Clock ist High" liegen von mir kontrollierbare Daten an.

CU

Manuel

--
Alle wollen zurück zur Natur - aber keiner zu Fuß
 Der Mensch erfand Maschinen, um sich damit die Arbeit zu erleichtern.
 Nur leider hat er vergessen, rechtzeitig damit aufzuhören...
Beiträge mit *X-No-Html Header* kann ich weder lesen, noch beantworten!
Reply to
Manuel Reimer

Manuel Reimer schrieb:

Kommt denn die Variante mit 2x '259 nicht in Frage? Ist kleiner, kommt ohne Zusatzlogik aus, hat 16 Ausg=E4nge und ist bei Bedarf sogar noch erweiterbar.

Tilmann

Reply to
Tilmann Reh

.. Ich grüble gerade über dem Datenblatt zu diesem IC und frage mich, wie ich dann die Ausgänge auf den von mir gewünschen Zustand bringe...

- Ich benötige ausgangsseitig mindestens 11 Bits, die ich frei in beliebiger Kombination auf High und Low bringen muss.

- Ich muss immer volle Bytes senden. Bei meiner vorgeschlagenen Logik muss ich also zwangsweise für meine 11 Bits zwei volle Bytes senden. Beim ersten Byte ist mein "Schaltbit" nicht gesetzt, beim zweiten ist es gesetzt.

- Ich will möglichst viel Datendurchsatz erreichen. Zwei Byte pro 11 Bit ist eigentlich schon Verschwendung, aber noch zu verkraften.

Was mich irgendwie schon stört ist, dass die ICs doch recht groß sind. Ich brauche zwei Flip-Flop, ein AND-Gatter und einen Inverter. Macht vier recht sperrige ICs. Ob ich das zweite Flip-Flop später wirklich brauche, wird sich noch zeigen, aber eines ist auf jedem Fall nötig, da ich die Daten des ersten Bytes ja bis zum Eintreffen des zweiten halten muss.

CU

Manuel

--
Alle wollen zurück zur Natur - aber keiner zu Fuß
 Der Mensch erfand Maschinen, um sich damit die Arbeit zu erleichtern.
 Nur leider hat er vergessen, rechtzeitig damit aufzuhören...
Beiträge mit *X-No-Html Header* kann ich weder lesen, noch beantworten!
Reply to
Manuel Reimer

Manuel Reimer schrieb:

h,=20

=2E..

:-)

Wenn man's einmal begriffen hat, ist das ganz einfach.

s=20

Soweit alles kein Problem.

Bit=20

An dieser Stelle wird's enger: Beim 259 kannst Du pro Zugriff immer nur ein Bit =E4ndern (setzen oder r=FCcksetzen). Um 11 Ausgangsbits zu =E4nde= rn, brauchst Du daher 11 Zugriffe. Je nachdem, welche Ausgangsdaten Du in welcher Reihenfolge brauchst, brauchst Du aber nicht immer alle 11 zu aktualisieren (z.B. reichen bei sequentiellem Durchschieben einer 1 jeweils zwei Zugriffe - einer zum L=F6schen des bisherigen Bit und einer zum Setzen des neuen).

nd.=20

Genau hier liegt der Charme der 259er L=F6sung. :-)

Tilmann

Reply to
Tilmann Reh

Geht auch Multiplexbetrieb?

Einfach die 14 LEDs in eine 7x2 Matrix schalten, mit zwei PNP Transistoren die beiden Anodengruppen mit einem Inverter wechselweise nach VCC schalten und mit dem Treiberbaustein die 7 Kathodengruppen nach GND ziehen.

Oder eine 4x4 Matrix, ergibt dann 16 LEDs und man spart den Inverter, braucht dafür aber 4 statt 2 Anodentreiber.

Wenn es nur um LEDs geht, funktioniert das eventuell ja sogar direkt am Port deines Microcontrollers, d.h. ganz ohne Treiberbaustein.

Gruß

Stefan DF9BI

Reply to
Stefan Brröring

Schätze, dass ich lieber erstmal meine zwei-Byte-Lösung probiere, denn ich zweifle schon bei der an, dass ich den gewünschten Durchsatz bekomme.

Für den Anfang wird das ohnehin ein Aufbau auf dem Steckbrett. Wenn es da funktioniert und die gewünschte Geschwindigkeit erreicht wird, dann kann ich immer noch über andere Lösungen nachdenken.

Danke aber dennoch für den Tipp. Schon denkbar, dass ich darauf zurückkomme, falls ich an der Digitaltechnik erstmal Gefallen gefunden habe.

CU

Manuel

--
Alle wollen zurück zur Natur - aber keiner zu Fuß
 Der Mensch erfand Maschinen, um sich damit die Arbeit zu erleichtern.
 Nur leider hat er vergessen, rechtzeitig damit aufzuhören...
Beiträge mit *X-No-Html Header* kann ich weder lesen, noch beantworten!
Reply to
Manuel Reimer

Stimmt. Mein Fehler... Hätte ich nur mal die Dokus genauer gelesen ;-) Irgendwie dachte ich, dass zweimal 0 auch eine 1 ergibt, was natürlich falsch ist.

Nur mit NAND geht das wohl nicht. Ich habe zumindest keine Lösung gefunden.

Eher möglich scheint mir ein Aufbau mit zwei AND-Gattern und einem Inverter. Der Inverter dreht einmal das "Steuer-Bit" um und die zwei AND verknüpfen Clock mit dem entweder invertierten oder nicht invertierten Steuer-Bit. So müsste ich zwei Flip-Flop getrennt ansteuern können um dort je 7 Bits abzulegen.

Die entsprechenden Bauteile werde ich mal auf meine Reichelt-Bestelliste setzen und beim nächsten Mal mitbestellen. Dann wird sich zeigen ob das so funktioniert.

CU

Manuel

--
Alle wollen zurück zur Natur - aber keiner zu Fuß
 Der Mensch erfand Maschinen, um sich damit die Arbeit zu erleichtern.
 Nur leider hat er vergessen, rechtzeitig damit aufzuhören...
Beiträge mit *X-No-Html Header* kann ich weder lesen, noch beantworten!
Reply to
Manuel Reimer

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.