Shiftregister Ein + Aus mit 4 Signalen?

Gast #1197516
Lesenswert?

Kann man gleichzeitig ein paar Schiftregister für Eingabe (74165) und 
Ausgabe (74595) mit 4 Signalen ansteuern (siehe Anlage)? Das angehängte 
Beispiel soll 16 LEDs ansteuern  und gleichzeitig den Status von 8 
Schaltern einlesen. In 
http://www.mikrocontroller.net/attachment/1483/SPI_74HC595.pdf werden 
fünf Signale benutzt und dort steht was von unterschiedlicher "clock 
phase". Ist das der Grund für 5 Signale, würde das mit einem Signal für 
beide Schieberegister-Typen nicht gehen und falls ja, gibt es ein 
SMD-Äquivalent zum 74165, welches die gleiche Clock Phase wie das 74595 
hat?
Angehängte Dateien:
Gast #1197738
Lesenswert?

Oder so? Serielle Leitung gleichzeitig am Eingang des 74595 und Ausgang 
des 74165. Ein Widerstand vor dem 74165-Ausgang sorgt dafür, dass der 
Controller den 74165-Ausgang überstimmen kann. Leider kann ,an dann kein 
Hardware-SPI mehr machen.
Angehängte Dateien:
Gast #1198342
Lesenswert?

Ok. Was mich wundert: Im Schieberegister-Tutorial 
(http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister) 
steht, dass sich 74165 und 74595 in der Clock-Polarity unterscheiden. In 
den Sourcecodes wird CPOL mal auf 0 (74595), mal auf 1 (74165) gesetzt. 
So steht es zumindest im Kommentar - die binärten Werte habe ich nicht 
kontrolliert. In den Datenblättern steht aber bei beiden Typen, dass 
low-to-high-Flanken der Clock shiften. Also müsste das ATMega-SPI doch 
eigentlich für beide Typen mit CPOL=1 laufen?! Dass man in einem Fall 
laut dem im ersten Beitrag verlinkten Attachment eine Clock Phase CPHA=0 
und im anderen CPHA=1 braucht: welchem Teil des Datenblattes kann man so 
etwas entnehmen? Als Anfänger sehe ich da überhaupt keine Unterschiede.

http://www.datasheetcatalog.org/datasheet/philips/74HC_HCT165_CNV_2.pdf
http://www.datasheetcatalog.org/datasheet/philips/74HC_HCT595_CNV_3.pdf
#1198542
Lesenswert?

Dietmar wrote:

> Ist das der Grund für 5 Signale, würde das mit einem Signal für
> beide Schieberegister-Typen nicht gehen und falls ja

Der Takt (SCK) ist ja gemeinsam und das geht auch.
Ein Inverter bringt nichts.

Was getrennt sein muß, ist der Ladeeingang, da Du das Eingangsregister 
zu Anfang laden mußt, das Ausgaberegister aber erst am Ende.

Oder Du schiebst 3 Byte, also erstmal die 2 Ausgabebytes, dann der 
gemeinsame Ladeimpuls und dann das Eingangsbyte einlesen.


Peter
Gast #1198599
Lesenswert?

Mir wurde gesagt, dass das 4021 ohne irgendwelche Verrenkungen (direkt 
verschaltet) zusammen mit dem 74HC595 und Hardware-SPI geht?

Das soll so gehen: SS ist low (= beide Register im Shift-Modus), per 
Hardware-SPI wird ein Byte mt CPOL = 0 und CPHA = 0 gesendet. Das 
shiftet gleichzeitig 8 Bits vom Eingabe-Register in SPDR. SS einmal 
umschalten (auf high und zurück auf low) macht den neuen Inhalt des 
Ausgabe-Storage-Registers wirksam und aktualisiert gleichzeitig das 
Eingabe-Shift-Register mit dem Status der 8 Schalter. Und dann wieder 
von vorne. Das erste eingelesene Byte würde ich ignorieren, da immer 
zwei Bytes raus und ein Byte rein gehen.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren