Post Go back to editing

Intefacing BF592 SPORT in I2S mode to ADAU1978


I have ADAU1978 ( A to D ) that is connected to a BF592 SPORT 0.  I would like to configure the ADAU1978 as a master and work in I2S mode. I configured both the ADAU1978 and the BF592 , so the ADAU1978 is the master in I2S mode and the BF592 to slave in I2S mose. I enabled the BF592 SPORT 0 RX interrupt ( I am not using DMA ) . When reading SPORT 0 RX FIFO I do not get what I expected. From the data **** I can not figure out if the RX interrupt is generated on the falling edge of the LRCLK i.e. four ADAU samples are in the FIFO.  Has any one work in that mode and can provide the code both for the initialization of the ADAU registers and the BF592 SPORT 0 registers ?



  • Hi Zohar,

    The ADAU1978 by default is in Slave, to configure it as master, set the Reg 0x06 to 0x01. I am assuming you have MCLK going to the 1978 and using the default I2S stereo operation. Once set, ensure that the waveforms at the 1978 serial port.

    For 48KHz sample rate the LRCLK and BCLK frequency would be 48KHz(fs) and 3.072MHz (64*fs) respectively. The MCLK frequency would be 12.288MHz (256*fs). Trigger the scope using the LRCLK edge and you should be able to see the SDATAx from the 1978. This is the first step in debugging. Once you get this going, the BF592 SPORT settings need to be checked.

    I do not have BF592 SPORT details to help you on the DSP side.