Forum: Mikrocontroller und Digitale Elektronik STM32F103 DMA ADC und SPI gleichzeitig Fehler


von Willem B. (mr_willem)


Lesenswert?

Hallo,

ich habe eine Frage bezüglich der gleichzeitigen Nutzung des STM32F103 
DMA Controllers für SPI und ADC

Ich habe ein Board mit mehreren SPI LED Controllern, LED siebensegment 
Controllern und einem ADC der Pushbuttons abfragt.
Wenn ich nun auf dem Siebensegment Controller eine Laufschrift laufen 
lasse, und dementsprechend viele DMA Transfers für den SPI Bus generiere 
geht das ca. 1 bis 3 Stunden gut. Dann wird der DMA Transfer Complete 
Interrupt nicht ausgelöst.
Das Transfer Completet Interrupt Flag ist zu diesem Zeitpunkt auch nicht 
gesetzt.

Benutzt werden
DMA1_Channel1 -> ADC
DMA1_Channel2 -> SPI RX
DMA1_Channel3 -> SPI TX

Stoppe ich den DMA Controller einmalig per pushbutton (im Prinzip durch
1
DMA_Cmd(DMA1_Channel2, DISABLE);
2
DMA_Cmd(DMA1_Channel3, DISABLE);
und starte dann einen neuen Transfer läuft alles erst mal ein paar 
Stunden normal weiter, bis irgendwann der Transfer complete Interrupt 
erneut nicht ausgeführt wird.

Wenn ich nun den ADC inklusive ADC DMA nicht starte läuft alles 
mindestens drei Tage durch (danach habe ich es ausgeschaltet).

Meine Frage ist deshalb, weiß jemand ob sich DMA mit ADC und DMA mit SPI 
beim STM32F103 beißen kann?

Für diejenigen die sich den Code anschauen wollen, der findet sich auf 
meinem GitHub account unter

https://github.com/mrwillem/versatube-display/tree/master/src

der ADC DMA wird in buttons.c, der SPI DMA in spi.c konfiguriert.

Vielen Dank für Antworten.

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.