Forum: Digitale Signalverarbeitung / DSP / Machine Learning Ring Buffer Implementierung in C6747


von Johann (Gast)


Lesenswert?

Hallo all,

ich bin ein Neuling in Sachen DSP und stehe vor einer, wie mir schein 
fuer Fachleute, einfache aufgabe :). Und zwar muss ich alle Samples (16 
bit) eines AD Wandlers (10 MSPS) in den RAM bzw. Cache des DSPs 
(TMS320C6747) schreiben am besten in ner Schleife, also Ringbuffer.
Bevor ich nun tausende von Buechern oder Dekumenten durchschaue, kann 
mir da jemand was Empfehlen. Ein Guide waere auch super, muss ja net 
unbedingt der gleiche DSP sein, einer aus der gleichen Serie tut es ja 
auch. Ich suche wirklich nach einer guten Beschreibung fuer Dummis. 
Waere Dankbar fuer jede Hilfe.

Gruss
Johann

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Ich würde das eventgesteuert über DMA machen lassen. Der EDMA3 
Controller kann genau das.
http://www.ti.com/litv/pdf/sprufl1c

Grüße,

Peter

von Johann (Gast)


Lesenswert?

Naja tausende Dokumente habe ich schlussendlich doch gelesen, hilft ja 
alles nix :)

OK, also einen GPIO, der mit dem AD-Wandlers verbunden ist, als 
Interrupt benutzen und den DMA triggern.
Mir stellt sich nur noch dir Frage wie genau ich den PaRAM konfigurieren 
soll, damit ich einen Ringbuffer bekomme. Also ich will einen 8 kByte 
Ringbuffer erstellen. Der AD-Wandler liefert mir 16 bit Output. Mit 
jedem Triggering soll ja halt die Die ZielAdresse im Speicher um 16 bzw. 
32 bit erhoeht werden, die Quelladresse bleibt ja gleich. Wie stelle ich 
dass an ohne die CPU zu benutzen?

Gruss
Johann

von Johann (Gast)


Lesenswert?

Also ich weiss schon, dass der PaRAM automatisch die Zieladresse 
erhoehen kann, aber wann macht er das? Wenn nach jedem Triggern bzw. 
ausloesen des DMA, dann hat sich mein Problem schon geloest.

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Wenn der DMA den gesamten gewünschten Adressraum mit Daten aufgefüllt 
hat, also ein Parameterset komplett abgearbeitet hat, kann man mit der 
Link-Option ein neues Parameterset laden.
Für Ringpuffer eignet sich die Betriebsart "Link-to-self".
Das steht in Kapitel 2.3.7.

Grüße,

Peter

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.