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

Gast #5713394
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
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
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.
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ö.
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

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.