Renesas RA4M1 , SPI mit DMAC

OP #7196869
Lesenswert?
• ▲
▼
Hallo,
ich möchte mit dem R7FA4M1 von Renesas ein SPI ADC auslesen.
Da das sehr schnell und mit wenig Ressourcen passieren soll möchte ic 
hdas per DMAC machen.
Leider stelle ich mich anscheinen zu "bl.." an und bekomme es einfach 
nicht hin.
Hat das jemand schon mal gemacht und kann mir da Starthilfe geben ?

Ic hbenutze das e2 Studio mit dem FSP4.0

Vielen Dank im Voraus
#7196892
Lesenswert?
• ▲
▼
Roy .. schrieb:
> Da das sehr schnell und mit wenig Ressourcen passieren soll möchte ich
> das per DMAC machen.

Welches ADC benutzt du ?
Bis die sicher das die SPI kommunikation der beschaenkende factor ist 
und nicht der Analog-Digital conversion ?
Musz der processor weiter noch etwas machen wahrende die SPI 
kommunikation ?
DMA macht die SPI kommunikation nicht schneller.

Patrick aus die Niederlande
OP #7196898
Lesenswert?
• ▲
▼
Der ADC ist sehr schnell und der Prozessor macht noch deutlich mehr und 
dadurch möchte ich nicht zig µs auf die Kommunikation warten, sondern 
nur das Ergebnis verarbeiten. Dafür wurde ja DMA erfunden, das die MCU 
entlastet wird. Ich möchte keinen anderen Weg gehen, sondern es per DMA 
lösen.
Ich habe es bereits bei anderen MCUs gemacht, aber der Renesas/ Software 
möchte es nicht so machen wie ich es will ... Oder ich verstehe die 
Logik dahinter nicht ...
#7197047
Lesenswert?
• ▲
▼
Roy .. schrieb:
> möchte ich nicht zig µs auf die Kommunikation warten
Versteh ich, deswegen wuerde ich da einen interrupt verwenden. Ich 
versteh nicht warum DMA es dann schneller machen wuerde. Aber es kann 
sein das ich die funktion von DMA dann nicht so richtig verstehe. Wenn 
du sagst welcher ADC du benutzt kann ich mich vielleicht besser eine 
vorstellung machen.

Patrick aus die Niederlande
OP #7197068
Lesenswert?
• ▲
▼
DMA transferiert Daten ohne Zutun der MCU. Beim Interrupt Mode musst du 
ja das Daten senden für jedes Byte usw. Selbst starten. Das kostet 
natürlich Zeit und Ressourcen. Beim DMA sagst du nur von wo nach wo und 
wie viele Bytes übertragen werden sollen. Wenn die Übertragung fertig 
ist wird ein Interrupt ausgelöst.

Der ADC ist der ADS131A04

Antwort schreiben

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.

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.