TI中文支持网
TI专业的中文技术问题搜集分享网站

PCM1690 TDM8 模式不出声音

         PCM1690接收的信号是从DSP给出的TDM8,用示波器测量信号,MCLK :24.576MHz,BCLK:12.288MHz,LRCLK:48KHz, DATA 线上也能看到音乐的波形;在PCM1690输出端没有量到输出信号。请帮忙看一下,谢谢!

TDM时的配置

         PCM1690 初始化如下:

void Pcm1690_Init(void)

{    DAC_MSG("\r\n Pcm1690_Init!\r\n");   

    PCM1690_RST(OUTPUT_LOW);

    HAL_DelayMs(10);

    PCM1690_RST(OUTPUT_HIGH);

    HAL_DelayMs(10);   

     //Pcm1690Write_i2c(0x40,0xc0);//use default

     Pcm1690Write_i2c(0x41,0x86);//disable power save , tmd i2s

     //Pcm1690Write_i2c(0x42,0x00);//use default DAC power save and roll-off

     //Pcm1690Write_i2c(0x43,0x00);//use default DAC normal or inverted

     //Pcm1690Write_i2c(0x44,0x00);//use default soft mute each channel

     //Pcm1690Write_i2c(0x45,0x00);//use default zero flag

     Pcm1690Write_i2c(0x46,0x02);//DAMS(BIT7)=0

     //0x47 no use

     Pcm1690Write_i2c(0x48,0xff);//DAC1 VOLUME  0xff: 0db  0x00 MUTE STEP 0.5db(DAMS=0) or 1db(DAMS=1)

     Pcm1690Write_i2c(0x49,0xff);//DAC2 VOLUME  0xff: 0db  0x00 MUTE

     Pcm1690Write_i2c(0x4A,0xff);//DAC3 VOLUME  0xff: 0db  0x00 MUTE

     Pcm1690Write_i2c(0x4B,0xff);//DAC4 VOLUME  0xff: 0db  0x00 MUTE

     Pcm1690Write_i2c(0x4C,0xff);//DAC5 VOLUME  0xff: 0db  0x00 MUTE

     Pcm1690Write_i2c(0x4D,0xff);//DAC6 VOLUME  0xff: 0db  0x00 MUTE

     Pcm1690Write_i2c(0x4E,0xff);//DAC7 VOLUME  0xff: 0db  0x00 MUTE

     Pcm1690Write_i2c(0x4F,0xff);//DAC8 VOLUME  0xff: 0db  0x00 MUTE

}

DSP 配置如图:

 

将DSP 和PCM1690同时配置为I2S信号时是有输出的:

I2S时的配置:

                    PCM1690 初始化如下:

void Pcm1690_Init(void)

{    DAC_MSG("\r\n Pcm1690_Init!\r\n");   

    PCM1690_RST(OUTPUT_LOW);

    HAL_DelayMs(10);

    PCM1690_RST(OUTPUT_HIGH);

    HAL_DelayMs(10);   

     //Pcm1690Write_i2c(0x40,0xc0);//use default

     Pcm1690Write_i2c(0x41,0x80);//disable power save , i2s

     //Pcm1690Write_i2c(0x42,0x00);//use default DAC power save and roll-off

     //Pcm1690Write_i2c(0x43,0x00);//use default DAC normal or inverted

     //Pcm1690Write_i2c(0x44,0x00);//use default soft mute each channel

     //Pcm1690Write_i2c(0x45,0x00);//use default zero flag

     Pcm1690Write_i2c(0x46,0x02);//DAMS(BIT7)=0

     //0x47 no use

     Pcm1690Write_i2c(0x48,0xff);//DAC1 VOLUME  0xff: 0db  0x00 MUTE STEP 0.5db(DAMS=0) or 1db(DAMS=1)

     Pcm1690Write_i2c(0x49,0xff);//DAC2 VOLUME  0xff: 0db  0x00 MUTE

     Pcm1690Write_i2c(0x4A,0xff);//DAC3 VOLUME  0xff: 0db  0x00 MUTE

     Pcm1690Write_i2c(0x4B,0xff);//DAC4 VOLUME  0xff: 0db  0x00 MUTE

     Pcm1690Write_i2c(0x4C,0xff);//DAC5 VOLUME  0xff: 0db  0x00 MUTE

     Pcm1690Write_i2c(0x4D,0xff);//DAC6 VOLUME  0xff: 0db  0x00 MUTE

     Pcm1690Write_i2c(0x4E,0xff);//DAC7 VOLUME  0xff: 0db  0x00 MUTE

     Pcm1690Write_i2c(0x4F,0xff);//DAC8 VOLUME  0xff: 0db  0x00 MUTE

}

DSP 配置如图:

Kailyn Chen:

TDM模式的话,时序正常吗? 对比数据手册测量下TDM的时序呢。

jelly sha:

回复 Kailyn Chen:

问题已经解决谢谢支持

赞(0)
未经允许不得转载:TI中文支持网 » PCM1690 TDM8 模式不出声音
分享到: 更多 (0)