cancel
Showing results for 
Search instead for 
Did you mean: 

Can STM32F103 make i2s output 192Khz/24Bits ?

athoa2487
Associate
Posted on January 14, 2014 at 05:48

Hi all

I need to make an I2S 192Khz/ 24 Bits and purpose use STM32F103. I read STM32F103 data sheet (RM0008) , they said that STM32F103 not support I2S 192Khz.  But in this datasheet, i also see in page (704/1096):

When the master clock is disabled (MCKOE bit cleared)

FS= I2SxCLK / [(32*2)*((2*I2SDIV)+ODD))] when the channel frame is 32-bit wide.

So i think i can make I2S 192Khz/24Bits follow this way below, please help to review, Is this way ok ?

1. Fs = 24.576 Mhz / 128 = 192 Khz ( DIV=1, odd =0 )

2. Do not generate MCK master clock.

3. Use MCO as an MCK ( page 90/1096).

If my first way is not ok . Can i use I2S as an slave , all clock is input and can i run 192Khz/24 bits in I2S slave ?

#i2s-192khz/-24bits-of-stm32f103
1 REPLY 1
Posted on January 14, 2014 at 09:51

> 1. Fs = 24.576 Mhz / 128 = 192 Khz ( DIV=1, odd =0 )

Minimum I2SDIV is 2 according to RM0008.

I understand that DIV=1 ODD=0 might be working (see https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=https%3a%2f%2fmy.st.com%2fpublic%2fSTe2ecommunities%2fmcu%2fLists%2fcortex_mx_stm32%2fF2F4%20I2S%20Ext.Clock&FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B&currentviews=1... ), but I wouldn't use this without somebody from ST confirming this is a working setup. Try asking the support.

Maximum input clock in slave mode is given in the datasheet (6.5MHz -> max. sampling frequency at 32bit frames = cca 100kHz). OTOH, the same datasheet (STM32F103xF/xG, rev.3) says, ''Audio sampling frequencies from 8 kHz up to 48 kHz are supported.''. But the ST documentation is not known for its quality.

JW