Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.sci.electronics > #226230

Re: 74HC595 und 74HC166 an einem SPI

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>

Show all headers | View raw


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 | NextPrevious in thread | Next in thread | Find similar | Unroll thread


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