2015-06-17 11:36 AM
Its been an exhausting week, I'm busy trying to build a DSP processing pipeline on the STMF4 discovery board, however I'm failing to grasp a few things,maybe, I'm misunderstanding a few things.
Here is a what I'm trying to achieve. 1) Sample using the 12-bit ADC (this works)2) Take the ADC sampled data and perform signal processing on the data. (this works)3) Route the processed audio sampledata
blocks directly to the CS43L22, I'm not sure, if I can use I2S from the ADC??? or if possible, how do the STM ADC directly interface with the CS43L22 DAC. Im seriously stuck at this point2015-06-17 12:07 PM
3)
Well there's no magic routing options. You have to create data flows that work with the chip/wiring the board presents.As I understand the design :You can send data via I2SYou can send analogue via DACWith a common clocking strategy, I'd imagine you can DMA out at the same rate as you DMA in via the ADC. You might have to strategically select your buffer sizes to minimize lag/latency, you would then use the DMA HT/TC interrupts to get your DSP code to do it's work.You might be able to do this with interrupts on the ADC/DAC sampling, but that's likely to be less forgiving, and will increase processor loading entering/exiting the IRQs2015-06-17 12:58 PM
thanks. I understand the routing needs to be understood before I can proceed.
Correct me if Im wrong.
You saying the the stm ADC can sent the processed data in I2S format to the CS43L22 DAC ? OR from STM32 ADC (non I2S) directly to the DAC
CS43L
I was under the impression, the microphonesampled the data in (I2S PDM format) its the only sensor that seem to use communicate in I2S format.
My application isreal time,theaudio processing chain looks like this.
I read the datasheets, the
CS43L22 offers some nice built in dsp stuff like voume ramping, mute, and lots of useful things, so I can off load some tasks to the codec.
INPUT->[ADC]->[DSP]->[CS43L22]->[DAC]->OUT
________________ Attachments : cs43L22.PNG : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006I0n0&d=%2Fa%2F0X0000000bdg%2FLgunE.aKUq97BT4P96PdD7Oh0QRAijerCmUKRAVk8A0&asPdf=false2015-06-17 01:32 PM
I'm just observing that the STM32's DAC (PA4) is connected to L/R analogue input pins of the CS42L22