ADC芯片pcm1864,slave模式,录制4路音频数据,bclk,lrck配置正确,可以正常录音。通过修改page0 的寄存器0x01,0x02,更改Vin1P,Vin2P的增益时,发现写入的值和读出的值不一致,写入的值不同时,读出的值有时会变化,有时不会变化。请帮忙查看一下怎么回事。
寄存器的值配置如下:
第1次,修改0x01,0x02,0x03,0x04为E9,E9,28,28读出来的值为28,25,26,27
第2次,修改0x01,0x02,0x03,0x04为E9,E9,00,00读出来的值为E5,E6,00,FF
电路图如下:
Amy Luo:
您好,
您想将增益设置为多少呢,Register 25 Page.0 0x19值设置的是多少呢
PCM186X具有两级可编程增益放大器(PGA)。粗增益调整在模拟域,在数字域进行精细增益调整。±12-dB模拟增益阶跃为设计用于不同的线路电平输入,而20dB和32dB主要用于麦克风输入,可能需要额外的增益,可以在数字领域完成。在–12dB和+12dB之间的模拟增益阶跃为1dB阶跃。这些点之间的半分贝步骤在数字pga中完成。12dB到20dB的增益阶跃都是在数字域内完成的。(例如,18dB增益=12dB模拟+6dB数字)。可参考数据手册PCM186X中的增益结构如图28所示。
lei liu20:
回复 Amy Luo:
你好,已经找到原因了,page0 寄存器0x05,bit0 AGC_EN设置为0之后,每次修改增益值都会生效。 而AGC_EN设置为1之后,修改增益的值是不生效的。
规格书中,介绍AGC_EN为Enable Automatic Clipping Suppression,经实验,AGC_EN应该不是只在截幅的时候生效,而是在整个音频输入信号的范围之内都生效。
麻烦帮忙确认下。谢谢
Amy Luo:
回复 lei liu20:
应该是的,在数据手册table3 Auto Clipping Suppression Control Registers中AGC_EN定义的是Enable auto gain control。
user5781709:
楼主的PCM1864设备地址是多少呢?看原理图25脚接地,26脚悬空?在主机发送从设备地址时,是:0x4A,难道是0x4A是0x94右移一位得到的吗