Using single I2S to read from two external stereo ADC ICs (2+2 channels)
Hello! Is it possible to use single I2S port to read from two external stereo audio ADC ICS?
I want to obtain 4-channel audio signal without any time offset.
My setup is:
1) STM32F407 x 1pcs
2) PCM1808 24bit ADC 2 channels x 2pcs
My idea is to configure
I2S2 as master full-duplex receiver with master clock generation.
Connect all clock signals from mater I2S2 to two slaves PCM1808 in parallel
Then configure
I2S2_EXT as I2S_MODE_SLAVE_RX
(by default STM32HAL firmware makes
I2S2_EXT =-
TX if I2S2 is set to RX)
Is there any problem with this approach?
Reference manual rm0090 and HAL i2s driver source code states that 'Both I2Sx and I2Sx_ext can be configured as transmitters or receivers.'
Another way is to use two I2S ports, but i am unsure if they will run synchronously. Maybe I can use I2S2 master with clock generation and I2S3 as slave. Then all I2S2 clock signals will be connected to pair of PCM1808 ICs and I2S3 input.
Please tell me which way is better. Currently I prefer first solution, although I did not tested it (using I2S2 receiver with one additional line I2S2_EXT as I2S_MODE_SLAVE_RX).
Thank for your attention.