SPI: Liefert /CS-Wechsel einen Frame-Reset?

Gast #5713394
Lesenswert?

Kann man bei SPI generell davon ausgehen, dass ein Wechsel des Zustands 
von /CS zu einem Reset der Übertragung führt (d.h. nach Wechsel von High 
zu Low wird das nächste Bit wieder als das erste Bit eines Befehls etc. 
gelten)?

Oder muss man einen ggf. vorhandenen Reset-Pin nutzen, wenn der 
Microcontroller einen Reset hingelegt hat und die Übertragung neu 
initialisieren muss?
Gast #5713454
Lesenswert?

Mike R. schrieb:
> Generell kann man davon ausgehen, dass so etwas im Datenblatt des Slaves
> beschrieben ist.

So wie ich es verstehe will der TO die Verhältnisse auf der Master-
Seite wissen. Aber auch das müsste im Datenblatt (des Masters) zu
finden sein.

sandc schrieb:
> Kann man bei SPI generell davon ausgehen, dass ein Wechsel des Zustands
> von /CS zu einem Reset der Übertragung führt

Kann man nicht da immer alles anders ist.
Gast #5713469
Lesenswert?

Im Datenblatt steht dazu nichts 
(https://www.nxp.com/docs/en/data-sheet/SC16IS740_750_760.pdf).

Die Wikipedia sagt "Eine Übertragung ist beendet, wenn das 
Slave-Select-Signal endgültig auf High gesetzt wird".

Das IC hätte einen dezidierten /Reset-Anschluss, aber mir gehen die 
Signale aus. Ich habe 4 auf MCU-Seite übrig und wollte MISO, MOSI, SCK 
und /CS nehmen - und darauf hoffen, dass ich von /CS den Frame-Reset 
bekomme und somit nach einem Reset der MCU das IC per Software 
zuverlässig initialisieren kann und nicht mitten in einer abgebrochenen 
Übertragung stecke.
#5713534
Lesenswert?

sandc schrieb:
> Kann man bei SPI generell davon ausgehen, dass ein Wechsel des Zustands
> von /CS zu einem Reset der Übertragung führt (d.h. nach Wechsel von High
> zu Low wird das nächste Bit wieder als das erste Bit eines Befehls etc.
> gelten)?

Meistens schon, wenn gleich es da von IC zu IC sehr verschiedene 
Mindestzeiten gibt.

> Oder muss man einen ggf. vorhandenen Reset-Pin nutzen,

Selten.

> wenn der
> Microcontroller einen Reset hingelegt hat

Dann ist eh was faul und der IC wird komplett neu initialisiert.

> und die Übertragung neu
> initialisieren muss?

Nö.
#5713586
Lesenswert?

sandc schrieb:
> Im Datenblatt steht dazu nichts
> (https://www.nxp.com/docs/en/data-sheet/SC16IS740_750_760.pdf).

Faszinierend. Das Datenblatt zeigt das /CS Signal gar nicht in den 
SPI-Diagrammen. Womöglich kann man /CS ja sogar statisch auf L legen?

> Das IC hätte einen dezidierten /Reset-Anschluss, aber mir gehen die
> Signale aus. Ich habe 4 auf MCU-Seite übrig und wollte MISO, MOSI, SCK
> und /CS nehmen

Tja. Da wirst du wohl mal bei NXP stochern müssen. Ich habe schon beides 
gesehen: SPI Slaves die zwingend eine L->H Flanke an CS sehen wollten, 
um die per SPI gerade geschriebenen Daten auch wirksam werden zu lassen. 
Genauso wie SPI-Slaves, die einfach die Bits mitzählen und die Daten 
übernehmen, sobald sie vollzählig sind.

Ein Software-Reset bietet der Chip ja an. Insofern würden deine 4 
Signale von oben reichen. Alternativ nimm I²C. Dann reichen zwei Pins 
und Reset.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren