Showing results for 
Search instead for 
Did you mean: 

SAI transmission to external DAC - more serial data outputs ?


Hello dear community,

I’m working on a USB sound interface, using a STM32F7 and an external DAC chip offering 8 stereo output channels.

Most of the DAC are offering multiple serial data inputs ports. For example, the Analog Device ADAU1966A is offering 8x data inputs. That’s great to lower the clock speed.

For example, for 8 stereo channels at 24-bit 96kHz, the clock speed will be

  • Using 1x serial data port  2*8*24*96000 / 1 = 36,864 MHz
  • Using 2x serial data port  2*8*24*96000 / 2 = 18,432 MHz
  • Using 8x serial data port  2*8*24*96000 / 8 = 4,608 MHz

On the STM32F723, if I understand correctly, there are 2 SAI ports. Each SAI has two blocs, SAI_A and SAI_B, so two serial data outputs that I can use to transfert the audio data to the DAC.

Image of the envisaged communication:


I have 2 questions:

  1. Am I right to suppose that I can use SD_A and SD_B in parallel to send audio data to the DAC? (I can configure this DAC to use only DSDATA1 and DSDATA2 to control OUT1 … OUT16)
  2. It’s a shame that I can’t have more serial data outputs on the STM32. A lot of high end DACs have multiple serial data inputs, and can work at 32-bit and 192kHz and more. Maybe I miss something? Do you have an idea on how to get the best out of this SAI transmission?

Thanks a lot, have a nice day!