AIC3104 ADC的数据不能让后面HPLOUT发出声音
你好,
我在配置tlv320aic3104时,打算用MIC2L连到left ADC,然后再通过DAC_L1给到HPLOUT。发现HPLOUT没有声音。
当用PGA_L直接连到HPLOUT就有声音。我的mclk 是外部12MHz时钟,代码如下:
//PLL 48KHz//
I2C1_Write(3,0x81); //PLL_EN=1(D7),PLL_Q=0(D6-D3),PLL_P=1(D2-D0)
I2C1_Write(8,0xd0); //BCLK&WCLK output
I2C1_Write(4,0x20); //PLL_J=8(D7-D2)
I2C1_Write(5,0x1e); //PLL_D_MSB(D7-D0) D=1920-----48k
I2C1_Write(6,0x00); //PLL_D_LSB(D7-D2)
I2C1_Write(11,0x01); //PLL_R=1(D2-D0)
delay_ms(100);
I2C1_Write(2,0x00); //Fs = Fs(ref)
I2C1_Write(12,0x44); //Left-ADC high-pass filter frequency = 0.0045 Fs,Left-DAC de-emphasis filter enabled
I2C1_Write(17,0x0f); //route Mic2L to the Left ADC, 0dB,
I2C1_Write(19,0x7c); //Left-ADC channel is powered up
I2C1_Write(15,0x28); //unmute Left PGA, set gain to 20 dB
I2C1_Write(7,0x0A); //Left-DAC data path plays left-channel input data
I2C1_Write(37,0x80); //Left DAC is powered up, HPLCOM configured as differential of HPLOUT
I2C1_Write(43,0x00); //The left-DAC channel is not muted,0db
I2C1_Write(47,0x80); //DAC_L1 is routed to HPLOUT,0db
I2C1_Write(14,0x80); //Programs high-power outputs for ac-coupled driver configuration
I2C1_Write(51,0x0f); //HPLOUT is not muted,HPLOUT is fully powered up,0db
有没有验证一下 ADC 的工作情况, 正常否
你好,我看你代码里:I2C1_Write(17,0x0f); //route Mic2L to the Left ADC, 0dB,
17写0f手册里写的是没有连接到left ADC.
请详细解释一下你这里的系统配置思路,谢谢!
你好Alix ,
您红色圈出的部分是说寄存器17低4位,如果全1是断开MIC2R。我没有用MIC2R,用的MIC2L。
整体连接思路是MIC2L--->Left ADC---->Left DAC---->HPLOUT,但是没有声音。
你好 Airwill ,
您能说下怎么验证ADC是否正常吗?我查过WCLK/DOUT信号,正常。
Hi Jason,
很抱歉,我们芯片内部不支持直接配置:MIC2L--->Left ADC---->Left DAC---->HPLOUT. 请参考如下内部原理图:
MIC2L没有直接到达left ADC的路径:
建议你根据系统要求,基于上图的信号数据链路,选取符合要求的方案。因为不清楚你的需求,这里举个简单例子,比如:MIC2L--->DOUTR,然后再通过外部输入DINL再进入到Left DAC--> HPLOUT.
如果我的回答解决了你的问题,请点击采纳,谢谢!
Hi Alix,
多谢您解答。上图中左上角是MIC2L,到HPLOUT的链路应该是有的(抱歉,半天没能把截图上传上来)。但是中间经过一个开关SW-D1,如果它不闭合那么ADC_L的数据必然走不过去,HPLOUT也就没有声音了。资料里说只有DAC_L/DAC_R都关闭时才会让SW-D1断开DAC,而我是使能了DAC_L的,仍然很疑惑。
我把SPI数据线接上DSP数据正常,现在能肯定的是ADC正常工作了,问题应该在DAC!