Forum: Mikrocontroller und Digitale Elektronik SPI: Liefert /CS-Wechsel einen Frame-Reset?


von sandc (Gast)


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?

von Mike R. (thesealion)


Lesenswert?

Generell kann man davon ausgehen, dass so etwas im Datenblatt des Slaves 
beschrieben ist.

von Mitlesa (Gast)


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.

von sandc (Gast)


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.

von Falk B. (falk)


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ö.

von Axel S. (a-za-z0-9)


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.

von Mitlesa (Gast)


Lesenswert?

Axel S. schrieb:
> Tja.
> .............

Mitlesa schrieb:
> Kann man nicht da immer alles anders ist.

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
Noch kein Account? Hier anmelden.