Gast
#2325818
Hallo liebes Forum, ich habe mir die Aufgabe gestellt, ein Audiosignal mit der höchstmöglichen Qualität über einen CC1100-Transceiver rauszuschicken. Deshalb fange ich langsam an, Taktzyklen zu zählen... Modul ist ein MSP430F1612. In der naiven Implementation wandelt der AD-Wandler timgetriggert in eins seiner Speicherregister. Die DMA holt sich das, wenn der Wandler fertig ist und füllt einen 64-Word-Buffer. Jetzt habe ich in der Dokumetation gelesen, dass der DMA-Controller bis zu 5 MCLK-Zyklen braucht, um einen Transfer durchzuführen. Meine Frage ist: blockiert der DMA-Controller während der gesamten 5 Zyklen die CPU, oder nur während der 2 Zyklen, die er für den Transfer selbst benötigt? Falls dem so wäre, würde das ja bedeuteten, dass der Transfer länger dauert, als wenn die CPU das machen würde (2 MOV mit jeweils zwei Takten). Dann sollte ich vermutlich den AD-Wandler alle seine 16 "Register" befüllen lassen und diesen Block dann per DMA kopieren... das sollte der DMA-Controller ja dann schneller als die CPU schaffen. Vielen Dank, Maik Hoepfel PS. Für Hinweise und Gedanken zu anspruchsvoller AD-/DA-Wandlung bin ich sehr dankbar. Mein Ziel ist, 12+2 Bit (4x Oversampling) bei 32 kHz zu schaffen.