ADAU1978 configuration

Hi,

 I am going to use ADAU1978 audio codec. I have 3 MICs connected to 3 of the ADCs on the codec. I use I2C interface between the codec and STM3F407. What are the register settings that needs to be done?

I will be using the ADC as master. Also, I have a crystal of 12.288 Mhz which will be the master clock.Please help me with register settings.

Parents
  • I have done a register setting as follows:

    REGISTER ADDRESS       VALUE

    0x00                                     0x01

    0x01                                     0x40

    0x04                                      0x37

      0x05                                     0x04

      0x06                                      0x01

      0x07                                        0x10

      0x08                                       0x32

      0x09                                        0xF0

      0x0A                                        0xA0

      0x0B                                           0xA0

      0x0C                                        0xA0

    0X0D                                           0xA0

      0x0E                                          0x02

      0x19                                               0x00

      0x1A                                           0x00

    please confirm the same.

  • Hello niyathi08!,

    You made no mention of what the sample rate is and what serial format you require.

    0x01                                     0x40

    With 12.288MHz MCLK then you need to set this for 256x fs. So 0x41 should be the setting.

    0x05                                     0x04

    So you are setting this for 192kHz fs with I2S as your serial format. If this is what you need then this is correct.

    0x06                                      0x01

    This is set to have the ADC be the master. This is correct. The rest of the format settings are correct for standard I2S.

    0x1A                                           0x00

    This register is for control of the DC offset present on all ADCs. If this is a standard audio application then I would recommend you turn on the High Pass Filters. The cutoff is really low so it has minimal effect on the audio but it saves MIPS in the DSP by having the HPF located on the ADC. It will also help prevent and switching pops when switching signals or muting since there will be no DC offset.

    The other option with this part is to do a calibration at startup to obtain the value of the DC offset. Then in this register you can set it to subtract this DC offset from the output signal. This is good to do if you have an application where you need the ADC to go down to DC so therefore you cannot use the HPF, this allows you to remove this offset and still go down to DC on the output of the ADC.

    So since you mentioned you are using this part with three mics I will assume this is a standard audio application. In addition, microphones themselves can have a high DC offset. So I recommend you turn on the HPF for all channels you are using. Set it to 0x07

    Dave T

Reply
  • Hello niyathi08!,

    You made no mention of what the sample rate is and what serial format you require.

    0x01                                     0x40

    With 12.288MHz MCLK then you need to set this for 256x fs. So 0x41 should be the setting.

    0x05                                     0x04

    So you are setting this for 192kHz fs with I2S as your serial format. If this is what you need then this is correct.

    0x06                                      0x01

    This is set to have the ADC be the master. This is correct. The rest of the format settings are correct for standard I2S.

    0x1A                                           0x00

    This register is for control of the DC offset present on all ADCs. If this is a standard audio application then I would recommend you turn on the High Pass Filters. The cutoff is really low so it has minimal effect on the audio but it saves MIPS in the DSP by having the HPF located on the ADC. It will also help prevent and switching pops when switching signals or muting since there will be no DC offset.

    The other option with this part is to do a calibration at startup to obtain the value of the DC offset. Then in this register you can set it to subtract this DC offset from the output signal. This is good to do if you have an application where you need the ADC to go down to DC so therefore you cannot use the HPF, this allows you to remove this offset and still go down to DC on the output of the ADC.

    So since you mentioned you are using this part with three mics I will assume this is a standard audio application. In addition, microphones themselves can have a high DC offset. So I recommend you turn on the HPF for all channels you are using. Set it to 0x07

    Dave T

Children