This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Why my aic26 doesn't work?

Other Parts Discussed in Thread: TLV320AIC26

I have designed a circuit with AIC26, but it doesn't work completely. the power up sequence is as follows:
1,power up IOVDD firstly.(if this is a wrong step? but after I correct the mistake, the same result).
2,power up DVDD,AVDD,DRVDD simultaneously;(while the reset pin is 1 or 0 , all the same result)
2,PWD=1;
3,reset=0; reset=1; (genurate a reset pulse)
  (by now, if the voltage of MICBIAS pin should be 2.5v?, but the voltage of my board is 0v)
4,13MHz MCLK clock send out.
  ...
 and I cann't read anything from the spi interface(oxFFFF). 
 Can  anybody  give me some advice? Thanks !

  • Hi Bo,

    We'd love to help.  Could you provide your schematic and registers?

    Regards,

    DK

  • Hi DK,
       Here is the schematic and maybe I have never optain the chance to set registers.
       here is part of my program.
    =======================================
    void Init_AIC26(void)
    {
     
       //-----------PWD ON
        PC_AUDIO = 1; 
        SYNC = 1;

      //-----------RESET
       AUDIO_RST = 0;
       AUDIO_RST = 1;

       //-----------MCLK
       Set_Timer4(1);
       TIMER4_RUN(TRUE);
       //------------- the following code is for test , I begin to power off  AIC26 .
      
       TIMER4_RUN(FALSE);
         Set_Timer4(0);
         //
         P0SEL &= 0xfe;
         SYNC = 0;
         PC_AUDIO = 0; 
       //------------- the code  up  is for test , I begin to power off  AIC26 .
      
      
       //-----------REG 

       CODEC_control_data = 0xBB00;   //Reset all TLV320AIC26 registers
       AIC26_Write( RESET_CONTROL , CODEC_control_data);
      
       CODEC_control_data = 0x003F;   //highpass disabled, single ended MIC, 16bit,i2s,DAC/ADC Sampling Rate=Fsref/6 = 8 kHz
       AIC26_Write( AUDIO_CONTROL_1 , CODEC_control_data);

       CODEC_control_data = 0x3401;   //ADC Channel not muted,ADC PGA = 26 dB,AGC Target Level = -5.5 dB, AGC is on ,  ---3400???
       AIC26_Write( ADC_GAIN_CONTROL, CODEC_control_data);
     
       CODEC_control_data = 0x0000;   //left right on, 0DB,
       AIC26_Write( DAC_GAIN_CONTROL, CODEC_control_data);
      
       CODEC_control_data = 0xC580;   //Analog sidetone muted,Digital sidetone muted.
       AIC26_Write(SIDETONE_CONTROL, CODEC_control_data);
      
       CODEC_control_data = 0xC410;   //Keyclick enabled, others be default. ---44F0
       AIC26_Write( AUDIO_CONTROL_2 , CODEC_control_data);
     
       CODEC_control_data = 0x2020;   //powered up CODEC/ADC/DAC,VGND ON,2.5V BIAS,ADWS pin acts as ADC Word.Select
       AIC26_Write( POWER_CONTROL , CODEC_control_data);
     
       CODEC_control_data = 0x3430;   //44.1 kHz,256-s data transfer mode,slave codec,---3430???
       AIC26_Write( AUDIO_CONTROL_3 , CODEC_control_data);
     
       //PLL_PROGRAMMABILITY_1, 0x911C;
      
       //PLL_PROGRAMMABILITY_2, 0x57C8
     
       CODEC_control_data = 0x8030;  //default  ---8030
       AIC26_Write( AUDIO_CONTROL_5 , CODEC_control_data);
       //----------- I try to read register , but failed.
       
        while (1){
         
          AIC26_Read(BAT1_VALUE);
          //AIC26_Write( RESET_CONTROL , 0x55aa);
          delay_ms(1);
       }
      
       P0SEL |= 0x01;              //SYNC RESCURE
    }

    ====================================================
    Regards,

    BO.