Forum: Mikrocontroller und Digitale Elektronik Shift Register


von Luca (Gast)


Lesenswert?

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 :)

von 6A66 (Gast)


Lesenswert?

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

von 6A66 (Gast)


Lesenswert?

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

von Luca (Gast)


Lesenswert?

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.

von Luca Z. (soundstorm)


Angehängte Dateien:

Lesenswert?

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...

von Peter D. (peda)


Lesenswert?

Und welchen Pegel hat ein floatender Eingang???

von Luca Z. (soundstorm)


Lesenswert?

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?

von Luca Z. (soundstorm)


Lesenswert?

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.

von Luca Z. (soundstorm)


Lesenswert?

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.

von Peter D. (peda)


Lesenswert?

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.

von Luca Z. (soundstorm)


Lesenswert?

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 :-)

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
Noch kein Account? Hier anmelden.