Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.sci.electronics > #226230
| From | Hans-Peter Diettrich <DrDiettrich1@aol.com> |
|---|---|
| Newsgroups | de.sci.electronics |
| Subject | Re: 74HC595 und 74HC166 an einem SPI |
| Date | 2017-04-14 02:21 +0200 |
| Message-ID | <elaj05Fb542U1@mid.individual.net> (permalink) |
| References | <ocosqr$q65$1@news.albasani.net> |
Am 14.04.2017 um 00:07 schrieb Johannes Bauer: > Hallo Gruppe, > > ich glaube ich habe gerade ein volles Brett vorm Kopf und bin mir jetzt > unsicher, ob ich überhaupt ein Problem habe oder nicht. Folgendes: Ich > habe mehrere kaskadierte HC595 und mehrere kaskadierte HC166. Anzahl 595 > gleich Anzahl 166. Also zwei Ketten. > > Ich würde gerne beide an demselben SPI betreiben und gleichzeitig > Schreiben und Lesen. Heißt also DS des ersten 595 an MOSI, Q7 des > letzten 166 an MISO, SCK an SHCP der 595 und an CP der 166. Wenn ich die > Datenblätter richtig lese, übernehmen beide IC jeweils an der positiven > Flanke Daten. Soweit richtig. > Wenn ich jetzt also mit CPOL = 0, CPHA = 0 da ran gehe, dann wird doch > folgendes passieren, fürs erste Bit: > > - µC setzt MOSI auf Bitwert (DS der 595-Kette) > - µC gibt steigende Flanke auf SCK > - 595-Kette übernimmt DS, 166-Kette spuckt erstes Bit aus > - µC gibt fallende Flanke auf SCK und sampled MISO (Q7 der 166-Kette, > jetzt stabil weil Änderung nur bei steigender Flanke) > > Das sollte doch also exakt so sein, wie ich das habe will, oder? Jein. Schau Dir mal im Datenblatt die Diagramme 18-3 Transfer Format und 28-3 Timing Requirements (Master Mode) an. Beim 165/166 liegt das erste Bit (H) ständig auf MISO, mit einer steigenden Flanke wird das *nächste* Bit (G) auf den Ausgang gelegt. Da der Controller ebenfalls mit der steigenden (aktiven) Flanke sampelt, könnte er also schon das nächste Bit erwischen. Mit der fallenden (inaktiven) Flanke ändert sich nur MOSI, d.h. dort erscheint das nächste auszugebende Bit. Nach einigem Überlegen bin ich der Meinung, daß Deine Einstellung trotzdem funktionieren sollte. Die Hold-Zeit für MISO ist mit 10ns nach der aktiven Flanke angegeben, also ziemlich klein. Da auf der Leitung sowohl SCK (hin) als auch MISO (zurück) verzögert werden, sollte das alte Bit lange genug am Controller anliegen, um dort richtig reingeschoben zu werden. Wenn es trotzdem Probleme gibt, könnte MISO nochmal zusätzlich verzögert werden, oder SCK für die 165/166 invertiert werden. Wenn Du mir ein paar Schieberegister schickst, könnte ich das auch für Dich ausprobieren ;-) DoDi
Back to de.sci.electronics | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
74HC595 und 74HC166 an einem SPI Johannes Bauer <dfnsonfsduifb@gmx.de> - 2017-04-14 00:07 +0200
Re: 74HC595 und 74HC166 an einem SPI Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2017-04-14 02:21 +0200
Re: 74HC595 und 74HC166 an einem SPI Johannes Bauer <dfnsonfsduifb@gmx.de> - 2017-04-14 10:15 +0200
Re: 74HC595 und 74HC166 an einem SPI Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2017-04-14 11:26 +0200
Re: 74HC595 und 74HC166 an einem SPI Rafael Deliano <rafael_deliano@arcor.de> - 2017-04-14 07:58 +0200
Re: 74HC595 und 74HC166 an einem SPI Rafael Deliano <rafael_deliano@arcor.de> - 2017-04-14 09:59 +0200
Re: 74HC595 und 74HC166 an einem SPI Johannes Bauer <dfnsonfsduifb@gmx.de> - 2017-04-14 10:20 +0200
Re: 74HC595 und 74HC166 an einem SPI Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2017-04-14 11:53 +0200
Re: 74HC595 und 74HC166 an einem SPI Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2017-04-14 11:40 +0200
csiph-web