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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.