本公司一直在使用TI的audio codec芯片TLV320AIC3106,I2S 模式,8K ADC/DAC录音放音使用都没有问题。近期本人在修改配置使HPLOUT、HPLCOM、HPROUT、HPRCOM作为单端输出时,出现以下问题,以下是相关配置和问题,希望给予相关解答。
配置如下:以下配置都选择page0
1、配置7号寄存器 0x0a,左DAC播左声道数据,右DAC播右DAC数据。
2、配置37号寄存器0xC0,左DAC上电、右DAC上电。
3、配置41号寄存器0xC0,左DAC选择连接到DAC_L1,右DAC选择连接到DAC_R1。
4、配置43号寄存器0x00,左DAC不mute,增益0dB。
5、配置47寄存器0x80,DAC_L1输出连接至HPLOUT。增益0dB。
6、配置54寄存器0x80,DAC_L1输出至连接HPLCOM。增益0dB。
7、配置51号寄存器0x0B,HPLOUT增益0dB,not mute,HPLOUT上电。
8、配置58号寄存器0x4B,HPLCOM增益4dB,not mute,HPLCOM上电。
9、读取37号寄存器值,修改D5-D4位为10,设置HPLCOM单端输出。
HPROUT、HPRCOM输出配置修改相关寄存器,流程上述1~9一致。
现问题:
本人在配置完后通过MCU的I2S输出8K 16bit音频数据至codec,测量codec的HPLOUT 、HPLCOM,输出波形幅值一致,本人不理解,因为配置时输出增益设置不一样。好像设置没有起到任何作用。
还有就是,在配置寄存器过程中寄存器配置的值一样但是顺序不一样,结果也不一样。这一点我很是纳闷,希望给出相关解答,谢谢。
user151383853:
手册推荐,有些寄存器最好写入后再读一遍,验证一下
ming zhang5:
回复 user151383853:
你好,每次写入后都读取查看,写入没有错误。目前最大的困惑在于寄存器写入顺序不一样,还会出现不同效果。。