Forum: Mikrocontroller und Digitale Elektronik STM32F7: unerwarteter Fehlerinterupt bei SPI-Übertragung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von recently (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich arbeitete an einem Projekt mit dem STM32F767VGtx Prozessor. Es 
sollen Daten zu einem anderen Controller (ESP-WROOM-02) per SPI gesendet 
werden, wobei der STM der SPI-Slave ist. Auf dem anderen Controller gibt 
es einen Interrupt-Eingang, der vom STM gesteuert wird. Hat der STM 
etwas zu melden, loest er einen Interrupt auf dem anderen Controller 
aus, der dann als SPI-Master einen Datenaustausch durchführt. Das ganze 
wurde mit CubeMx mit der MDK-ARM V5 Toolchain auf einem STM-Nucleo-Board 
erfolgreich unter Verwendung der DMA-Möglichkeiten entwickelt und läuft 
dort prima.

- Auf der Zielhardware wird nun statt SPI1 der Anschluss SPI4 verwendet. 
Dabei wird beobachtet, das ca. alle 100 Übertragungen die Fehlerfunktion 
HAL_SPI_ErrorCallback() aufgerufen wird.

- Habe zum querchecken auf dem Nucleo-Test-Board die SPI-Schnittstelle 
von 1 auf 4 geaendert und habe das Problem nun dort auch.

- Wenn ich das zugehörige Statusregister direkt beim Eintritt in die 
Funktion DMA2_Stream0_IRQHandler(void) debugge, sehe ich, dass dort der 
Wer 0x82 gesetzt wurde. Das Datenblatt sagt, das dies das FRE-Error-Bit 
(TI frame format error) was aber eigentlich gar nicht gesetzt werden 
darf, da ich im Motorola-Mode arbeite ... sehr merkwürdig.

- Ich habe mit Zufallszahlen und Prüfsumme getestet, das die Daten trotz 
des gesetzten Fehlers, der dann zu einem Timeout-Abbruch führt, völlig 
in Ordnung sind.

Meine Frage wäre, hat jemand eine Idee, wie das Setzen dieses Bits 
unterbinden kann ?

Vielen Dank für Ideen
recently

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.