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:
问题已经解决谢谢支持