Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Andy19312
Anmeldungsdatum: 22.10.2005 Beiträge: 428
|
Verfasst am: 11.06.2006, 20:48 Titel: Schieberegister |
|
|
Ich verwende folgende Bauteile als Datenausgänge:
TTL Version 744094 oder den CMOS Typ 4094.
Nun ist meine Frage, dass wenn ich den IC mit Daten gefüttert habe und demnach 8 Bit in den Bauteilen gespeichert sind, auch nachdem ich es bei Pin 9 hinausschiebe und ich eine 1 hinausschiebe, eine positive Spannung bei diesem Pin ständig anliegt.
Hoffe ihr könnt mir schnell helfen.
Cu Andy |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
Andy19312
Anmeldungsdatum: 22.10.2005 Beiträge: 428
|
Verfasst am: 11.06.2006, 21:12 Titel: |
|
|
Ich bin gerade dabei ein Netzwerkprotokoll zu schreiben.
Hoffe das ihr mir schnell eine Antwort geben könnt. |
|
Nach oben |
|
|
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 11.06.2006, 23:16 Titel: |
|
|
Also mit Schiebereigstern kenn ich mich einigermaßen aus, nachdem ich damit experimentiert habe.
Also, du hast 2 Schieberegister?
Wenn du jetzt 9 bit sendest, dann wird das erste gesendete bit an dem 2. CMOS 4094 übertragen. Damit die ausgänge geschaltet werden, sendet man Strobesignal. Danach werden die Ausgänge ein oder ausgeschaltet.
Wenn du jetzt beim nächsten mal nur 8 bit sendest, und danach wieder das Strobesignal, dann ist bei dem 2. CMOS der 1. Ausgang wieder aus.
Ich hoffe, ich habe dich einigermaßen richtig verstanden.
Frag aber lieber mal skilltronic, der kennt sich 100mal besser aus |
|
Nach oben |
|
|
Andy19312
Anmeldungsdatum: 22.10.2005 Beiträge: 428
|
Verfasst am: 12.06.2006, 16:11 Titel: |
|
|
Datasignal : 1 oder 0 setzen
Clocksignal: eine Stelle weiterschieben
Strobesignal: Ausgänge aktivieren.
Wie ist es nun aber:
Wenn ich Daten weiterschieben will und ich den Datenausgang für das Clocksignal nun 8 Sekunden aktiviert lasse, werden dann mehrere Bits geschoben.
Oder wird ein Bit erst nur geschoben, wenn man mal den Datenausgang inaktiv und dann wieder aktiv schaltet.
Hoffe ihr könnt mir helfen |
|
Nach oben |
|
|
Michael Frey
Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 12.06.2006, 18:45 Titel: |
|
|
Bits werden geschoben wenn es einen Übergang von 0 nach 1 an Clock gibt.
(Fachwort: Positiv Flanken getriggert)
Siehe auch Datenblatt:
Code: | CP clock input (LOW to HIGH edge-triggered) |
Versuch übringes nicht diesen 0 nach 1 Übergang mit einem Taster zu erzeugen, den er wird sicher Prellen (also einige Millisekunden keinen sauberen Kontakt machen, so das das Schieberegister mehrere Flanken erkennt.).
Edit: Erst prüfen dann Posten (Einige Rechtschreibfehler). _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Zuletzt bearbeitet von Michael Frey am 14.06.2006, 18:18, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
Markus
Anmeldungsdatum: 16.09.2004 Beiträge: 104 Wohnort: Wien
|
Verfasst am: 14.06.2006, 14:15 Titel: |
|
|
@ Sebastian: Bei Skill gibt´s einen Vorschlag für eine Einschaltverzögerung
@ Michael: Auf Skills homepage gäb´s ne Schrittschalter-Frage.... die vielleicht mehrere Leutchen interessieren
Der Rest ist für @Andy19312:
ERKLÄRUNG DER ANSTEUERUNG DES 4094
(c) www.skilltronics.de
Der 4094 bzw. 744094 - nicht jeder Elektronikversand hat beide, sie haben aber die gleiche Funktion und Anschlussbelegung - besteht aus 16
Speicherzellen, die in zwei Gruppen zu je acht angeordnet sind. Jede dieser Zellen kann ein Bit speichern und hat neben einem Ein- und einem Ausgang noch einen Steuerleitung zum Setzen des Speichers.
Der Speicher arbeitet mit einer Flankensteuerung. Das bedeutet, er übernimmt den Zustand der am Eingang anliegt, wenn die Spannung an der Steuerleitung von 0 auf 1 wechselt. Das Speichern erfolgt NUR im Moment des Wechsels und NUR bei einem Wechsel von 0 auf 1. Das ist sehr wichtig!
Fast noch wichtiger ist aber der Umstand, dass der Ausgang des Speichers der gespeicherte Wert erst während das nächsten Wechsels - diesmal von 1 zurück auf 0 übernommen wird und NUR während dieses Wechsels. Nicht davor und nicht danach. Deshalb auch Flankensteuerung, denn als Flanke bezeichnet man einen Spannungsanstig oder -abfall, der z.B. auf einem Oszilloskop wie eine Bergflanke aussieht oder so.
Der Dateneingang der ersten Zelle liegt am Pin 2 des ICs (Data). Ihr Ausgang ist mit dem Dateneingang der zweiten Speicherzelle verbunden, deren wiederum mit dem Eingang der dritten usw. Der Ausgang der achten Zelle ist am Pin 9 wieder nach aussen geführt und wird nachher noch gebraucht. Die Steuereingänge aller acht sind miteinander verbunden und liegen gemeinsam am Pin 3 (Clock).
Jetzt zur Steuerung: Data wird mit der TxD Leitung des COM verbunden, Clock mit DTR. Über TxD wird der erste Bitwert (0 oder 1) ausgegeben. Durch das Einschalten der DTR-Leitung wird dieser Wert von der ersten Zelle übernommen, liegt aber noch nicht an deren Ausgang an, solange DTR auf 1 bleibt. Auch die anderen sieben Zellen machen das gleiche - die Steurleitungen sind ja alle mit DTR verbunden. Jede übernimmt den Ausgangswert des Vorgängers, gibt ihn aber vorerst nicht auf den eigenen Ausgang. Das geschieht erst, wenn DTR wieder ausgeschaltet wird. Das machen wir dann auch.
Nun ist also der Wert von TxD - also bit (1) - in der ersten Zelle gespeichert und liegt auch an deren Ausgang an. Nun geht das Ganze mit bit(2) auf TxD weiter. DTR ein, die erste Zelle übernimmt den Wert. Die zweite übernimmt jetzt den Ausgang der ersten, auf dem ja noch der Wert von bit(1) liegt, solange DTR auf eins bleibt. DTR aus und der erste Wert liegt am Ausgang der zweiten Zelle, der zweite an dem der ersten usw.
Mit jedem Takt an DTR werden die einzelnen Bits um je eine Speicherzelle weitergeschoben. Daher auch der Name Schieberegister.. Und dashalb muss auch die Schleife im Programm acht mal durchlaufen werden. Gäbe es im IC nur diese acht Bit Speicher, würden bei jedem "Durchschieben" alle acht Ausgänge flackern, bis alle Bits durch sind. Dafür sind die zweiten acht Speicherzellen. Ihre Eingänge sind mit den acht Ausgängen der anderen verbunden und die Steuerleitungen sind gemeinsam auf Pin 1 (Strobe) herausgeführt.
Mit einem Signal an RTS, das mit dieser Strobe-Leitung verbunden wird, werden die acht Bitwerte erst übenommen und an die tatsächlichen Ausgänge des ICs (Pins 4-7 und 11-14) übergeben.
Wie man nun mehrere solcher ICs hintereinanderschaltet, sollte jetzt eigentlich klar sein. Der Dateneingang des zweiten ICs wird mit Pin 9, dem Ausgang der achten Speicherzelle verbunden. Clock- und Strobeleitung aller ICs werden untereinander zusammengefasst. Dann muss mann statt acht mal die Schleife eben 16, 24 oder was weiss ich wie oft durchlaufen lassen um die einzelnen Bits von einem IC zum nächsten weiter zu schieben. |
|
Nach oben |
|
|
Skilltronic
Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 14.06.2006, 20:17 Titel: |
|
|
Hallo
Die obenstehende Funktionsbeschreibung des 4094 hatte ich vor längerer Zeit mal als Antwort in meinem eigenen Forum geschrieben, allerdings ist sie nicht ganz korrekt. Richtig ist, dass nur die positiven Flanken, also die Wechsel von 0 nach 1 als Steuersignale dienen. Die negativen von 1 auf 0 spielen keine Rolle. Die einzelnen Speicherglieder brauchen einfach ein gewisse Zeit, bis der neue Speicherwert am Ausgang anliegt. Da die Anstiegszeit der Flanke kürzer ist, wird immer nur der alte Wert von der nächsten Speicherzelle übernommen.
Gruss
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
|