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

PCM1864: SPI配置增益寄存器(0x01,0x02),写入和读出不一致

Part Number:PCM1864

PCM1864,使用的是SPI接口,

配置增益寄存器(0x01,0x02),写入和读出不一致,

SPI通讯正常,其他的寄存器读写都正常,唯独0x01,0x02这两个寄存器,写入和读出不一致;

上电读默认值,0x01寄存器读出是2;0x02寄存器读出是4;

两个寄存器分别写入0,读出还是2和4;

0x19寄存器配置成自动,手动都是一样的问题。

是否还有其他寄存器需要配置?

xiao three:

逻辑分析仪的数据,SPI接口,前面是配置的其他寄存器,读写都正常,

后面对0x01,0x02做了三次值的写读,都是异常。

,

Kailyn Chen:

您好,看了下数据手册关于PGA部分的介绍,它的增益配置是通过模拟增益和数字增益结合配置的结果,比如我们要配置18dB的Gain,可以配置12dB的Analog Gain和6dB的digital Gain,这种配置方法是自动增益映射方法。

另外,需要注意的是在更换增益时,需要SCK给片上DSP2 时钟,也就是Page0,Regsiter 32的bit 2,对DSP2 clock源的选择。datasheet中有介绍:

Changing gain in the PGA requires the on-chip DSP to be clocked. The DSP is used to calculate the steps to the target gain。 

您这边验证下看是否能解决您的问题。

,

xiao three:

感谢你回复,但是还是没弄明白,望解惑。

1.所谓的自动和手动模式到底是什么,我现在操作0x01,0x02寄存器,那么0x19的寄存器应该是配置成手动么?

2.看0x01,0x02寄存器的定义是-12dB到40dB,步进0.5dB,按理我直接配0x01,0x02寄存器就可以得到我要的增益值。我使用的是模拟麦克风输入,0x01,0x02这两个寄存器可以起作用么?

,

xiao three:

关于你说的Page0,Regsiter 32的bit 2配置,我现在使用的是默认的CLKDET_EN=1,

这时应该是自动获取时钟,不需要配置Page0,Regsiter 32的bit 2。

,

Kailyn Chen:

手动增益通常是用来数字麦克风输入,PDM 输入,以及模拟PGA bypass的时候用。 

操作0x01和0x02的寄存器,应该是选择auto gain。正如数据手册上描述的:假如我们配置18dB的增益12dB 配置的模拟PGA gain,6的B的数字PGA gain,这被称为自动增益映射。

For example, set 18 dB gain, and the system allocates 12 dB to the analog PGA, and 6 dB to the digital PGA. This function is called auto gain mapping.

,

xiao three:

这么说,我用模拟的mic输入,调节0x01,0x02寄存器没有用咯?

先说下我的应用吧,PCM1864我是做从机使用,所有的时钟都是主机提供,和主机通讯是SPI+I2S;

输入用了3,4脚的VINL1,VINR1,单端输入。

PCM1864我选择的是CLKDET_EN=1,也就是自动时钟源,现在芯片采样等其他工作都正常,

唯独增益设置这块有问题,现在我就想能按我的需求设置增益值。

就我这个应用场景,需要配哪个寄存器才能正确的配置我想要的增益值?

可编程的增益范围是多少?步进是多少?

谢谢。

,

Kailyn Chen:

您好,模拟和数字增益的范围和步进如下。

Analog PGA: -12dB~+12dB(1dB step)  Digital PGA: 0.0dB~11.5dB(0.5dB step)

我认为如果是模拟mic输入,配置0x01和0x02是没问题的。要看您需要配置的增益是多大,就像数据手册中描述的,比如要设置18dB的增益,而模拟增益的范围-12dB~12dB,这时候就可选择自动增益,系统会分配给模拟PGA12dB,6dB需要数字增益。我是这么理解的。

赞(0)
未经允许不得转载:TI中文支持网 » PCM1864: SPI配置增益寄存器(0x01,0x02),写入和读出不一致
分享到: 更多 (0)