Menü verbergen


Druckansicht


An Umfrage teilnehmen




Zu meinem Solarprojekt
Zurückblättern Letzte Änderungen Liste der Seiten Stammtisch Kontakt Menü EIN / AUS



5.3.1.3 RS232-Parallel-Interface

Erstellt ab 11.04.2010

"Schieberegister ?, was'n das ?"

Dieses fragen sich vielleicht noch einige Bastler. Ein Schieberegister besteht im Wensentlichen aus einer aneinanderreihung von D-Flip-Flops.

Dazu will ich einmal ein einzelnes D-Flip-Flop aufmalen:


Wie wir hier sehen, besitzt ein D-Flip-Flop einen Dateneingang D, einen Takteingang CL und einen Ausgang Q und Q-nicht. Das Zeitdiagramm auf der rechten Seite verdeutlicht, wie dieses Flip-Flop arbeitet. Wenn also eine logische "1" am Dateneingang "D" liegt und ein Taktimpuls kommt, so wird diese "1" an den ausgang "Q" weitergegeben und dort gespeichert. Genau so wird auch eine logische "0" weitergegeben. zuerst muss die Null anliegen, dann der Taktimpuls kommen. Danach steht die Null am Ausgang gespeichert bereit.

Daraus hat man nun ein Schieberegister gebaut, das aus acht solcher D-Flip-Flops besteht. Der Einfachheit halbe zeichen ich hier mal eins mit 4 Bit auf, damit das schön auf den Bildschirm passt:

Hier sieht man, wie jeder Ausgang Q auf den nachfolgenden Eingang D geschaltet wurde. Somit wird das betreffende Bit bei jedem Taktimpuls um eine Stelle nach rechts geschoben, denn die Takteingänge "CL" sind alle miteinander verbunden, so dass alle Daten mit einem einzigen Taktimpuls nach rechts geschoben werden.

In diesem Fall kann man das Register mit vier Takten vollschreiben und die Bits stehen dann parallel an den ausgängen Q1 bi Q4 zur Verfügung.

Diese Schaltung hat aber noch einen Nachteil, denn die Ausgänge Q sind ständig mit der Außenwelt verbunden und ein angeschlossenes Gerät würde den Schiebevorgang mitbekommen, bevor die gültigen 4 Bit anliegen. Dazu hat man dem Schiberegister dann noch ein paar soganannte Latches beigefügt, die die Ausgänge Q erst nach Erhalt eines Impulses am Strobe-Eingang an die Außenwelt  durchschalten:



Erst jetzt bekommt die hinten angeschlossene Schaltung von dem Schiebevorgang nichts mehr mit und bekommt dann mit einem einzigen Strobe-impuls das Ergebnis präsentiert.

Ganz genau so funktioniert unser Schieberegister, das wir für das Interface benutzen wollen. Es hat jedoch 8 Bit und noch einen zusätzlichen Freigabeeingang, den wir aber dauerhaft auf plus 5 Volt legen können.

Hier einmal die DIL-Ansicht des ICs MOS 4094 (CD 4094):

  
So. Aha ! Das ist das Ganze Geheimnis eines Schieberegisters.

Jetzt erinnern wir uns einmal an das Programm, mit dem wir mit der RS232-Schnittstelle drei Leitungen schalten konnten.

Wie schon erwähnt, kümmern wir uns nicht um den Freigaber eingang und legen ihn auf plus 5 Volt, so dass das IC also ständig frei gegeben ist.

Alles, was wir nun noch machen müssen, ist die richtige Verschaltung der Ausgangspins der RS 232 mit dem MOS 4094. Dabei müssen wir bedenken, dass eine serielle Schnittstelle bis zu plus / minus 15 Volt "heraus haut". Das ist aber relativ unrkitisch, denn eine vernünftige RS232 Schnittstelle ist von Haus aus kurzschlussfest. Daher können wir diese 15 Volt auch einfach mit jeweils einer 4,7 Volt Z-Diode "entschärfen" und auf die 5 Volt bringen. Für die nötige Strombegrenzung sorgen Schutzwiderstände innerhalb der Schnittstelle.

Ich habe auf meinem kleinen Versuchsfeld einmal folgende Beschaltung gewählt:



Tja, der Rest ist reine Programmierung.

Dazu habe ich einmal ein kleines Progamm für Windows vorbereitet:





Hier noch abschließend die Downloads dazu:

Quellcode für PureBasic ==> Download

Fertig compilierte EXE als Miniprogramm zum Schalten der Ausgänge ==> Download  


----------------------------------------------------------------------------------------------------------------------

Viel Erfolg beim Datenschieben,


Springe zur Startseite --- Nach oben zum Seitenanfang






Hinweis nach EU-Richtlinie: Diese Seiten verwenden Cookies für den Surfgenuss.