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.
你好,
我在配置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
你好Alix ,
您红色圈出的部分是说寄存器17低4位,如果全1是断开MIC2R。我没有用MIC2R,用的MIC2L。
整体连接思路是MIC2L--->Left ADC---->Left DAC---->HPLOUT,但是没有声音。
Hi Alix,
多谢您解答。上图中左上角是MIC2L,到HPLOUT的链路应该是有的(抱歉,半天没能把截图上传上来)。但是中间经过一个开关SW-D1,如果它不闭合那么ADC_L的数据必然走不过去,HPLOUT也就没有声音了。资料里说只有DAC_L/DAC_R都关闭时才会让SW-D1断开DAC,而我是使能了DAC_L的,仍然很疑惑。
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是否有问题呢?
麻烦您回复上述问题,我们会进一步协助解决问题。谢谢!
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是否有问题呢?
——还没做
Hi Jason,
我们器件不支持:SW-D1-->effects-->volume control-->DAC_L-->HPLOUT. 也就是说,实际上我们芯片时没有内部路径可以让ADC的输出直接连接到DAC的。你必须经过serial interface。
原因是SW-D2是数字信号处理record的一部分。如果需要使用effect,那么需要使用到 D2 和 D1一起处于闭合。此时DAC就必须关闭。
我们建议你讲DIN和DOUT连接到一起实现你的目的,同时还可以测试DAC。
当然,既然你用MCU单独给DIN输入数据,发现DAC还是没有输出,那么可能是这块芯片DAC有问题,请尝试换一颗尝试。
Thanks & best regards.