Dear E2E community, I'd like to ask you some comments about the use of DMAs. My application is basically a data logger, and it should move a good amount of data from different peripherals (ADC., SPI and I2C) to the RAM, process these data, put the results in a circular buffer, and then transfer/store them via SPI (to a SD) and sometimes via UART (in case I wanted to monitor these data in realtime).
I have read that using DMAs on MSP430 causes a 20% free CPU time, thus I'm quite confused if it could be worth to implement
1) a global DMA based transfer of data (basically there would be around 4 different sources of data from digital communications and two destinations)
2) a differentiated approach: just IRQ based communication from the port where I have to gather some few bites every 5 to 20 ms) and DMA for the transfer of the blocks of 256 or 512 bytes of data
3) not to use DMA at all.
Actually the fw i coded is in the 3rd mode (basically due to my laziness), but any comments (or reference to further literature/examples) about the issue is very very welcome.
Thanks a lot
Paolo