I am transferring PCM audio to DAC peripheral via DMA in circular manner. Here the DMA is continuous and triggered by PIT at 44100 Hz. I cannot halt this at any time. I am decoding MP3 and transferring to DAC via DMA, while DMA is throwing first half of PCM, I will be decoding and filling second half and vice versa, this is working fine for now.
I am transferring a frame buffer to OLED in one shot which I tested already with DMA transfer and it is working fine. But if DAC transfer is already happening via DMA as a continuous circular process and in the middle of it how can I do I2C transfer via DMA without affecting the DAC transfer ?
Currently I couldn't find a solution so I am using I2C BULK transfer via Interrupt in non blocking mode which works fine for me with a little penalty of ISR hit which is ok for my application. But I am curious to know if there is any way to do both DMA simultaneously ?
It seems like it is having only one DMA0 in hardware and I don't know if it can do simultaneous transfer.