Hallo ihr lieben,
ich habe ein kleineres Problem mit meinen Shift Registern. Und zwar
wollte ich insgesamt nur 4 GPIOs benutzen, was für die SIPO auch gut
funktionierte - je eins für Serialclock, Registerclock und Serial. Alle
parallelen Ports werden richtig angesprochen. Nun dachte ich, dass ich
die Serialclock auch am PISO benutze, was ja sinnvoll ist, wenn man bei
jedem Schreibvorgang auch das PISO mit ausliest. Serial Inhibit
dauerhaft auf LOW, weil die SCLK generiere ich nur, wenn ich auch etwas
mache. Jetzt kommt das Problem: der Parallel Load muss LOW sein, um die
Ports einzulesen - da die RCLK immer HIGH ist, wenn die Daten fertig
geschrieben sind, war mein Gedanke, dass ich die RCLK über einen
Inverter an den PL anschließe. Nur irgendwie bekomme ich keine
vernünftigen Daten ausgelesen - zufällige Werte für alle Pins des
Registers, egal, ob ein Signal anliegt oder nicht.
Als SIPO benutze ich den 74HC595, als PISO den 74HC165. Getestet bisher
mit einem Taster an PISO [A] und 3,3V, alle anderen Pins bisher nicht
belegt. SER vom PISO auf LOW, da ich 8-Bit PISO hab und insgesamt 24-Bit
SIPO - da wird mir auch alles als LOW ausgegeben (lese und schreibe
immer die maximale Bit-Zahl) Bei Bedarf gerne auch noch den genauen
C-Code.
Schönen Sonntag ansonsten :)
Hallo Luca,
ein Bild (Schaltplan) sagt mehr als tausend Worte. Sprich: bevor wir uns
hier dein mögliche Schaltung aufzeichen ... Die Basis zur Kommunikation
zwischen Elektroniker ist der Sachltplan.
rgds
Luca schrieb:> dauerhaft auf LOW, weil die SCLK generiere ich nur, wenn ich auch etwas> mache. Jetzt kommt das Problem: der Parallel Load muss LOW sein, um die> Ports einzulesen - da die RCLK immer HIGH ist, wenn die Daten fertig> geschrieben sind, war mein Gedanke, dass ich die RCLK über einen> Inverter an den PL anschließe
Du brauchst (normalerweise) vier Signale:
Data out
Shift (beide Register)
Load parallel
Data in
rgds
Schaltplan reiche ich gerne in Kürze nach - gib mir ein paar Minuten ;)
4 GPIOs - Serial In für SIPO, Serial Out für PISO, Serialclock und
Parallel Load bzw. gleichzeitig Registerclock.
Danke erst mal für die schnelle Reaktion.
Jetzt mal unter registriertem Account...
Hier der nötige Ausschnitt aus dem Schaltplan, hoffe man erkennt es...
Serial Clear hängt auf VCC, Latch auf GND. Habe jetzt auf die schnelle
irgendeinen Inverter genommen, da der Schaltplan der ursprünglich
geplant war, doch etwas veraltet war...
Peter Dannegger schrieb:> Und welchen Pegel hat ein floatender Eingang???
Meinst Du am PISO? Sollte ich lieber einen Pulldown hinter den Schalter
setzen, um ihn auf Masse zu ziehen?
Ich glaube ich könnte mit den 3,3V schon etwas niedrig liegen, da bei
4,5V Minimum bei 3,15V liegt. Da ich teilweise Schwankungen habe und
durch die vorgeschalteten Dioden zur Verpolungssicherheit auch noch
einmal etwas schlucken, könnte es sein, dass der Wert nicht ganz
erreicht wird. Als Low Max wird 1,35@4,5V angegeben. Also lieber mal den
Taster an Vcc hängen, anstatt von 5V...
Auch problematisch kann unter Umständen der Inverter werden - der hat
angeblich einen High Out von Vcc, messen konnte ich aber nur grob 2V,
was unter dem High Min vom PISO liegt.
Zwei Dioden entfernt, Kondensator zwischen 3,3V und GND, 470 Ohm als
Pull Down hinter den Taster - dauerhaft LOW, wenn nicht betätigt, HIGH,
wenn betätigt. Die anderen Pins sind ab und zu mal HIGH, obwohl nichts
angeschlossen ist, aber das ändert sich ja bald.
Ich danke Euch erst einmal so weit.
Luca Zimmermann schrieb:> Die anderen Pins sind ab und zu mal HIGH, obwohl nichts> angeschlossen ist
Die anderen Pins sind ab und zu mal HIGH, weil nichts
angeschlossen ist.
Peter Dannegger schrieb:> Die anderen Pins sind ab und zu mal HIGH, weil nichts> angeschlossen ist.
Das meinte ich ja mit "das ändert sich bald" - wenn nichts angeschlossen
ist, sind sie ja letztenendes auch nicht interessant ;-)
Danke, dass Du mich drauf gebracht hast :-)