AnsweredAssumed Answered

ADC -> digital filter -> I2S Audio

Question asked by Nicholas Parker on Apr 17, 2018

I'm using the STM32F407 Discovery Board to implement a digital band pass filter, this board has a CS43L22 Audio DAC which I want to use for output, (not in analog pass through mode).


However, this seems to create a challenge as the data flow to the DAC must have a continuous clock signal from the STM32F407, so this means the DAC update  rate sets the rate at which I'd need to sample using the STM32F4's on-board ADC.


Is there a clean mechanism / way to use an ADC on the STM, at an arbirtary rate (set by a timer used as a trigger source) and then do some filtering, then pass the data to the I2S DAC?


The only way I can think, is to have the CL43L22 clocked continuously at 'some' rate with data being sent over I2S being supplied from a couple of data (L and R channel) ram variables, which I update from my filter asynchronously (when its ready).


Is there a better way?