74HC595 und 74HC166 an einem SPI

Hallo Gruppe,

ich glaube ich habe gerade ein volles Brett vorm Kopf und bin mir jetzt

habe mehrere kaskadierte HC595 und mehrere kaskadierte HC166. Anzahl 595 gleich Anzahl 166. Also zwei Ketten.

letzten 166 an MISO, SCK an SHCP der 595 und an CP der 166. Wenn ich die

Flanke Daten.

Wenn ich jetzt also mit CPOL = 0, CPHA = 0 da ran gehe, dann wird doch

Das sollte doch also exakt so sein, wie ich das habe will, oder? Ich bin

formatting link

"Note the software must change the clock phase, CPHA, for reads/writes to this circuit."

Oder hier:

formatting link
(allerdings 165

den 165."

Ich hab ein totales Brett vorm Kopf und verstehe nicht, warum 595 und

165 (identisch zum 166, aber asynchroner parallel load) inkompatibel

ich kapiere es gerade nicht.

Johannes

--
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? 


Kosmologen: Die Geheim-Vorhersage.
Reply to
Johannes Bauer
Loading thread data ...

Am 14.04.2017 um 00:07 schrieb Johannes Bauer:

Soweit richtig.

Jein.

Schau Dir mal im Datenblatt die Diagramme 18-3 Transfer Format und 28-3 Timing Requirements (Master Mode) an.

der Controller ebenfalls mit der steigenden (aktiven) Flanke sampelt,

der aktiven Flanke angegeben, also ziemlich klein. Da auf der Leitung

alte Bit lange genug am Controller anliegen, um dort richtig reingeschoben zu werden.

Dich ausprobieren ;-)

DoDi

Reply to
Hans-Peter Diettrich

Ich vermeide NXP, bevorzuge NS/Fairchild oder TI.

Timing mit Lineal auf Blatt Papier aufmalen:

--- --- | | | | 74HC595 CLK rising edge

---- ---- ---

----X--------x------ 74HC595 sample MOSI

--- --- | | | | 74HC166 CLK rising edge

---- ---- ---

----00000000011111111 74HC166 data-out MISO

--- --- | | | | SCK (CPOL=0)

---- ---- ---

---- ---- --- | | | | SCK (CPOL=1) --- ---

00000000011111111 CPU data-out MOSI (CPHA=1) ----X--------X--- CPU sample MISO (CPHA=1)

00000000011111111 CPU data-out MOSI (CPHA=0)

----X--------X------- CPU sample MISO (CPHA=0)

MfG JRD

Reply to
Rafael Deliano

Bei langen Schieberegisterketten ist Testschleife sinnvoll. D.h. den Aushang des letzten 74HC595 Schieberegisters mit dem Eingang des letzten 74HC166 Schieberegisters verbinden. Wenn man in Testroutine mehr taktet kommen

MfG JRD

Reply to
Rafael Deliano

Ah, daher kam mein Brett vorm Kopf!

Ich war der irrigen Meinung, dass Setup bei CPOL=0, CPHA=0 mit der steigenden Flanke, aber Sampling mit der fallenden Flanke passiert.

Ich bin auf einem STM32F407, d.h. sogar noch kleiner: 2.5ns.

Ich glaube einen 74LVC1G04 werde ich spendieren. Dann sollte das laufen.

Bisher alles nur CAD ;-)

Vielen Dank nochmal,

Johannes

--
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? 


Kosmologen: Die Geheim-Vorhersage.
Reply to
Johannes Bauer

ist. Mein Denkfehler war, dass ich dachte, vor der fallenden Flanke wird

eigentlich, dass man nicht beides konfigurieren kann.

Johannes

--
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? 


Kosmologen: Die Geheim-Vorhersage.
Reply to
Johannes Bauer

Falls Du simulierst, dann baue kleine Delays (RC Filter?) in die Leitungen ein. Falls die in den Schieberegistern nicht schon drin sind...

DoDi

Reply to
Hans-Peter Diettrich

Am 14.04.2017 um 07:58 schrieb Rafael Deliano:

als PDF.

Karopapier hilft :-)

Das sollte eher so aussehen: 00001111111122222222 74HC166 data-out MISO oder HHHH/GGGGGGG\FFFFFFF/ 74HC166 data-out MISO

DoDi

Reply to
Hans-Peter Diettrich

Am 14.04.2017 um 10:20 schrieb Johannes Bauer:

Wozu? Wenn die Weitergabe mit der gleichen Flanke nicht funktioniert, dann kannst Du auch keine 166 hintereinanderschalten!

Delays sich aufsummieren, dann begrenzen sie die Taktrate.

dem Prozessortakt synchronisiert werden. Ist das bei SPI nicht so? Bei I2C?

DoDi

Reply to
Hans-Peter Diettrich

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.