你好!在3106的line-out可以听到line-in或者mic-in的声音,但是听不到i2s的声音,i2s的波形测试都正常,如果用一个转换模块pcm5102a(i2s转line-out)通过飞线的方式焊接i2s总线上也可以听到声音,这就说明adv7612输出的i2s是正常的
3106是从模式
请问3106哪里是不是没有配置好?谢谢!
sir sanmaoljh:
引入的i2s的MCLK=12MHZ,WCLK=48KHZ,BLCK示波器测试有音频数据输入,但是LEFT/RIGHT_LOUT输出端就没有音频数据,请问怎么回事?
配置的相关寄存器如下:
tlv320aic31_write(IIC_device_addr[chip_num], 7, 0xa);/* FSref = 48 kHz */
/*left and right DAC power on*/ || soft_reset tlv320aic31_write(IIC_device_addr[chip_num], 37, 0xc0);
/*left DAC not muted*/ tlv320aic31_write(IIC_device_addr[chip_num], 43, 0x0); /*right DAC not muted*/ ~ tlv320aic31_write(IIC_device_addr[chip_num], 44, 0x0);
//left-dac tlv320aic31_write(IIC_device_addr[chip_num], 82, 0x80); tlv320aic31_write(IIC_device_addr[chip_num], 86, 0x08);
//right-dac tlv320aic31_write(IIC_device_addr[chip_num], 92, 0x80); tlv320aic31_write(IIC_device_addr[chip_num], 93, 0x08);
为什么就没有声音?
如果LINE1或者LINE2接入音频信号,做旁路输出bypss的话,tlv320aic31_write(IIC_device_addr[chip_num], 108, 0xff);
LEFT/RIGHT_LOUT有音频输出,芯片外围输出是正常的,
Kailyn Chen:
您好,您的意思是如果Line in输入的话,则输出正常,也有声音。
但如果直接给I2S输入信号, 没有输出是吗?
那么给的DIN 时序满足要求吗,比如建立时间,保持时间等是否都满足I2S的时序要求呢?
sir sanmaoljh:
回复 Kailyn Chen:
i2s时序是没有问题的,现在读取 Page 0 / Register 94: Module Power Status Register发现reg94 = 0xc0,发现 LEFT_LOP/M RIGHT_LOP/M都是powered down,哪里可以设置成powered up?下面是我读取3106的寄存器截图,麻烦看下哪里设置有问题?谢谢!
sir sanmaoljh:
如果LRCLK和BCLK短碰一下,有时候就有i2s的声音了,很不稳定,请问3106是不是没有识别到时钟信号吗?或者说有 关于3106对于时钟有特殊的配置吗,谢谢!我这里adv7612是主模式产生3个时钟信号和一个数据线,3106作为从模式
Kailyn Chen:
您好, 可以看到您的输出部分都已经power down,一个原因是AIC3106 内部有短路保护,一旦发生短路,输出也会disable。
另一个看下几个输出的架构,以MONO_LOP/M 输出为例,register 73-78 我看您这边都配置的为0, 也就是line,PGA, DAC都没有routed to MONO_LOP。
Register 79的MONO_LOP/M也配置的为mute状态呢。
sir sanmaoljh:
回复 Kailyn Chen:
这是我修改的寄存器
LEFT_LOP/M output driver powered up
RIGHT_LOP/M is fully powered up
都已经powered up了,但是i2s就是没有声音,后来把reg2 = 0x00,不分频,line-out就能听到hdmi的声音了,请问是什么原因?