XMega - DMA-Controller

Gast #1303867
Lesenswert?

Moin!

Bei der Verwendung des DMAC sind 2 Fragen bei mir aufgetaucht. Vllt kann 
einer von euch sie mir beantworten.

1. Welchen Vorteil gibt es bei einem 8 Byte Burst-Mode? Ich finde, dass 
der 1 Byte Burst-Mode deutlich mehr Vorteile bietet, denn der Datenbus 
wird nicht so lange durch den DMA-Transfer belegt ... dafür aber 
natürlich öfter. Ich erkenne den tieferen Sinn der Skalierbarkeit der 
Bursts nicht. Hat ihn einer von euch erkannt?

2.Hat schon mal einer das Double-Buffering benutzt? Ich habe jetzt 2 
Kanäle über das DMA.CTRL Register verbunden. Beide Kanäle haben die 
gleichen Parameter ... aber trotzdem schreibt Kanal 1 zur gleichen Zeit 
in den zugehörigen Speicherbereich wie Kanal 0, dabei sollte er doch das 
erst machen wenn Kanal 0 fertig ist. Übersehe ich da eine 
Registereinstellung? Ich kann doch nur in DMA.CTRL das Double-Buffering 
aktivieren und mehr nicht!

Vielen Dank für eure Hilfe!
LG Stefan
Gast #1304149
Lesenswert?

Wenn du deinem DMA eine hohe Priorität "zuweisen" willst kannst du dafür 
die Burst-größe höherstellen. Bei 1-Byte-Bursts kann dir der DMA halt 
gut ausgebremst werden, wenn die CPU auch grad viel drauf zugreift. Bei 
8-Byte-Bursts sind die Daten viel schneller durch, dafür wird die CPU 
ausgebremst.

Sebastian
Gast #1304449
Lesenswert?

Vielen Dank Sebastian.
Deine Begründung hört sich logisch an.

Meine zweite Frage habe ich inzwischen selbst beantwortet. Man darf den 
zweiten Kanal nicht händisch aktivieren, das wird dann automatisch 
gemacht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren