Hallo allerseits. Mal eine generelle Frage zum EDMA beim TMS320C6416T. Macht es Sinn, den Prozessor einen Wert erst in den Speicher schreiben zu lassen und von dort an einen DAC zu übergeben? Schneller wäre es doch sicher, den Wert ohne Umwege direkt auf den DAC zu schreiben? Ohne EDMA? Kann die Frage überhaupt so generell beantwortet werden? Gruß, Christian
Hi, Der DMA kostet dich ansich nix an Zeit. Das Problem ist beim direkten Registerzugriff, dass du meistens noch ein "TX Empty"-Flag abfragen musst, bevor du den nächsten Wert schicken kannst. Dazu kommt, dass dein DAC schnell einen Underrun erleiden kann (-> Knackser im Audio). Das kann dann passieren, wenn irgend ein anderer Prozess (Interrupt) beim Register-Schreiben dazwischenfunkt. Ganz abgesehen davon ist es fuer einen DSP guenstiger, erst einen Puffer mit Werten zu verarbeiten (-> Pipelining) und dann per DMA rauszuhauen, waehrend der naechste Puffer schon simultan verarbeitet wird. Deswegen gilt fast ausnahmslos das Prinzip der verketteten DMA-Puffer ("buffer queue") beim Streamen auf/von DAC/ADC, wenn Du stabilen Datentransfer anstrebst. Gruss, - Strubi
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.