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?
Ich bin mir nicht 100% sicher, aber eigentlich sollte es reichen wenn du das Clock-Signal für den 165 einfach invertierst (via Transistor),
Vielen Dank für die Antwort. Welche Widerstände müsste man bei einer Clock von ca 1.1MHz verwenden (im Anhang R10/R51 unten links = 4K7)?
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.
Wieso? Hast Du die gleichen Daten an Tasten und LED oder wo ist der Sinn die Ein/Ausgänge zu verbinden?
Nicht die parallelen Ein/Ausgänge werden verbunden, sondern die beiden seriellen Pins (ein Eingang, ein Ausgang).
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
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.