Einerseits möchte man mit einem DMA Kanal gleich mehrere ADC/DAC Kanäle
in/aus dem Speicher schreiben und andererseits möchte man dem
Programmierer die Möglichkeit geben indirekt über Zeiger auf einen
DAC/ADC Kanal zuzugreifen. So wie dies Horst als "New WSorld Order"
beschrieben hat.
Zb. hat man im Speicher ein Stereo-WAVE liegen, also abwechselnd immer
ein Sample für Linken und Rechten Kanal. Man möchte aber die DMA
Resourcen schonen und nicht mit zwei, eventuell nicht-synchronen, DMA
Kanälen diesen Sound ausgeben. Also benutzt man eine einzigen DMA Kanal
der mit 4-Bytes-Burst Modus synchron gleich beide DAC Kanäle füttert.
Dazu müssen aber die beiden DAC Daten Register im Speicher linear
aufeinanderfolgen.
Gleiches Spiel beim ADC. Man möchte mit einem DMA Kanal gleich 4 ADC
Kanäle eines ADCs in den SRAM speichern.
Andererseits möchte man in Software über indirekte Zeiger, die zur
Laufzeit dynmisch sein können, den gleichen Konfigurationscode für
unterschiedliche DAC/ADC Kanäle merhfach benutzten. Dazu müssen alle
Register wie ein Record im Adressbereich gemappt werden.
Also ziemlich logisch durchdacht die Sache.
Gruß Hagen