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

AIC3104 ADC的数据不能让后面HPLOUT发出声音

你好,

我在配置tlv320aic3104时,打算用MIC2L连到left ADC,然后再通过DAC_L1给到HPLOUT。发现HPLOUT没有声音。

当用PGA_L直接连到HPLOUT就有声音。我的mclk 是外部12MHz时钟,代码如下:

        //PLL  48KHz//
        I2C1_Write(3,0×81);            //PLL_EN=1(D7),PLL_Q=0(D6-D3),PLL_P=1(D2-D0)    
        I2C1_Write(8,0xd0);            //BCLK&WCLK output
        I2C1_Write(4,0×20);            //PLL_J=8(D7-D2)
        I2C1_Write(5,0x1e);            //PLL_D_MSB(D7-D0) D=1920—–48k
        I2C1_Write(6,0×00);            //PLL_D_LSB(D7-D2)
        I2C1_Write(11,0×01);        //PLL_R=1(D2-D0)
        delay_ms(100);

        I2C1_Write(2,0×00);            //Fs = Fs(ref)
        I2C1_Write(12,0×44);        //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,0×28);        //unmute Left PGA, set gain to 20 dB
        
        I2C1_Write(7,0x0A);            //Left-DAC data path plays left-channel input data
        I2C1_Write(37,0×80);        //Left DAC is powered up, HPLCOM configured as differential of HPLOUT        
        I2C1_Write(43,0×00);        //The left-DAC channel is not muted,0db
               I2C1_Write(47,0×80);        //DAC_L1 is routed to HPLOUT,0db
        I2C1_Write(14,0×80);        //Programs high-power outputs for ac-coupled driver configuration
        I2C1_Write(51,0x0f);        //HPLOUT is not muted,HPLOUT is fully powered up,0db

user151383853:

有没有验证一下 ADC 的工作情况, 正常否

Alix Wan:

你好,我看你代码里:I2C1_Write(17,0x0f);        //route Mic2L to the Left ADC, 0dB,

17写0f手册里写的是没有连接到left ADC.

请详细解释一下你这里的系统配置思路,谢谢!

user5114453:

回复 Alix Wan:

你好Alix ,

您红色圈出的部分是说寄存器17低4位,如果全1是断开MIC2R。我没有用MIC2R,用的MIC2L。

整体连接思路是MIC2L—>Left ADC—->Left DAC—->HPLOUT,但是没有声音。

user5114453:

回复 user151383853:

你好 Airwill ,

您能说下怎么验证ADC是否正常吗?我查过WCLK/DOUT信号,正常。

Alix Wan:

回复 user5114453:

Hi Jason,

很抱歉,我们芯片内部不支持直接配置:MIC2L—>Left ADC—->Left DAC—->HPLOUT. 请参考如下内部原理图:

MIC2L没有直接到达left ADC的路径:

        建议你根据系统要求,基于上图的信号数据链路,选取符合要求的方案。因为不清楚你的需求,这里举个简单例子,比如:MIC2L—>DOUTR,然后再通过外部输入DINL再进入到Left DAC–> HPLOUT. 

        如果我的回答解决了你的问题,请点击采纳,谢谢!

user5114453:

回复 Alix Wan:

Hi Alix,

多谢您解答。上图中左上角是MIC2L,到HPLOUT的链路应该是有的(抱歉,半天没能把截图上传上来)。但是中间经过一个开关SW-D1,如果它不闭合那么ADC_L的数据必然走不过去,HPLOUT也就没有声音了。资料里说只有DAC_L/DAC_R都关闭时才会让SW-D1断开DAC,而我是使能了DAC_L的,仍然很疑惑。

user5114453:

回复 user5114453:

我把SPI数据线接上DSP数据正常,现在能肯定的是ADC正常工作了,问题应该在DAC!

Alix Wan:

回复 user5114453:

Hi Jason,

很抱歉,回复延迟。请问如下理解是否正确:

1. 你实际想要配置的详细信号路径是:MIC2L–>PGA–>ADC–>SW-D1–>effects–>volume control–>DAC_L–>HPLOUT。 也就是说,信号不是经过ADC后直接经过Dout输出到片外,然后经过处理器处理后经过DIN再送回到DACL,最后在HPLOUT输出。请问对吗?

2. 你说把SPI的数据线接上DSP数据正常,请问你是通过外部处理器(例如DSP )从可以配置成left- or right-justified, I2S, DSP, 或者TDM模式的Audio data serial interface来读取数据,从而排除ADC的问题的是吗?

3. 如果你定位问题可能在DAC,那么请问,你有尝试过使用外部处理器直接从DIN给DACL灌入信号来测试DACL是否有问题呢?

麻烦您回复上述问题,我们会进一步协助解决问题。谢谢!

user5114453:

回复 Alix Wan:

Hi Alix,

下面是对您的回复:

1. 你实际想要配置的详细信号路径是:MIC2L–>PGA–>ADC–>SW-D1–>effects–>volume control–>DAC_L–>HPLOUT。 也就是说,信号不是经过ADC后直接经过Dout输出到片外,然后经过处理器处理后经过DIN再送回到DACL,最后在HPLOUT输出。请问对吗?

——是的。我这个案子正常是不连接外部DSP的,只想利用一下芯片内部音效单元;模拟进,模拟出。DSP是我debug时连接的。

2. 你说把SPI的数据线接上DSP数据正常,请问你是通过外部处理器(例如DSP )从可以配置成left- or right-justified, I2S, DSP, 或者TDM模式的Audio data serial interface来读取数据,从而排除ADC的问题的是吗?

——没错,就是把接口和外部dsp对接后,读到adc数据正常,从而判断adc正常。

3. 如果你定位问题可能在DAC,那么请问,你有尝试过使用外部处理器直接从DIN给DACL灌入信号来测试DACL是否有问题呢?

——还没做

user5114453:

回复 user5114453:

Alix,

第3点,我用外部MCU给芯片数据DAC没有输出,所以问题很可能在DAC

赞(0)
未经允许不得转载:TI中文支持网 » AIC3104 ADC的数据不能让后面HPLOUT发出声音
分享到: 更多 (0)