完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
PCM1864,使用的是SPI接口, SPI通讯正常,其他的寄存器读写都正常,唯独0x01,0x02这两个寄存器,写入和读出不一致; 上电读默认值,0x01寄存器读出是2;0x02寄存器读出是4; 两个寄存器分别写入0,读出还是2和4; 0x19寄存器配置成自动,手动都是一样的问题。 是否还有其他寄存器需要配置? |
|
相关推荐
8个回答
|
|
|
|
|
|
|
|
|
看了下数据手册关于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。 您这边验证下看是否能解决您的问题。 |
|
|
|
|
|
还是没弄明白,望解惑。
1.所谓的自动和手动模式到底是什么,我现在操作0x01,0x02寄存器,那么0x19的寄存器应该是配置成手动么? 2.看0x01,0x02寄存器的定义是-12dB到40dB,步进0.5dB,按理我直接配0x01,0x02寄存器就可以得到我要的增益值。我使用的是模拟麦克风输入,0x01,0x02这两个寄存器可以起作用么? |
|
|
|
|
|
关于你说的Page0,Regsiter 32的bit 2配置,我现在使用的是默认的CLKDET_EN=1,
这时应该是自动获取时钟,不需要配置Page0,Regsiter 32的bit 2。 |
|
|
|
|
|
手动增益通常是用来数字麦克风输入,PDM 输入,以及模拟PGA bypass的时候用。
操作0x01和0x02的寄存器,应该是选择auto gain。正如数据手册上描述的:假如我们配置18dB的增益12dB 配置的模拟PGA gain,6的B的数字PGA gain,这被称为自动增益映射。 |
|
|
|
|
|
这么说,我用模拟的mic输入,调节0x01,0x02寄存器没有用咯?
先说下我的应用吧,PCM1864我是做从机使用,所有的时钟都是主机提供,和主机通讯是SPI+I2S; 输入用了3,4脚的VINL1,VINR1,单端输入。 PCM1864我选择的是CLKDET_EN=1,也就是自动时钟源,现在芯片采样等其他工作都正常, 唯独增益设置这块有问题,现在我就想能按我的需求设置增益值。 就我这个应用场景,需要配哪个寄存器才能正确的配置我想要的增益值? 可编程的增益范围是多少?步进是多少? 谢谢。 |
|
|
|
|
|
模拟和数字增益的范围和步进如下。
Analog PGA: -12dB~+12dB(1dB step) Digital PGA: 0.0dB~11.5dB(0.5dB step) 我认为如果是模拟mic输入,配置0x01和0x02是没问题的。要看您需要配置的增益是多大,就像数据手册中描述的,比如要设置18dB的增益,而模拟增益的范围-12dB~12dB,这时候就可选择自动增益,系统会分配给模拟PGA12dB,6dB需要数字增益。我是这么理解的。 |
|
|
|
|
|
PCM1864是一款高性能的音频编解码器,支持多种通信接口,包括I2C和SPI。在您的问题中,您提到了使用SPI接口配置增益寄存器(0x01,0x02)时,写入和读出不一致。以下是一些建议和可能的原因:
1. **SPI通信模式**:确保您的SPI通信模式(如时钟极性和相位)与PCM1864的要求相匹配。PCM1864的SPI模式通常是CPOL=0,CPHA=0。 2. **写入命令格式**:写入PCM1864的寄存器时,需要使用正确的命令格式。通常,写入命令的格式为: - 控制字节(通常为0x3,表示写操作) - 寄存器地址 - 数据字节 3. **读取命令格式**:读取PCM1864的寄存器时,也需要使用正确的命令格式。通常,读取命令的格式为: - 控制字节(通常为0x2,表示读操作) - 寄存器地址 - 读取数据 4. **寄存器地址**:确保您使用的寄存器地址是正确的。PCM1864的增益寄存器地址是0x01和0x02。 5. **寄存器默认值**:您提到上电后0x01寄存器读出是2,0x02寄存器读出是4。这可能意味着寄存器的默认值不是0。请检查PCM1864的数据手册,确认这些寄存器的默认值。 6. **寄存器保护**:某些寄存器可能受到保护,需要特定的步骤来解锁。请检查PCM1864的数据手册,看是否有关于寄存器保护的信息。 7. **其他寄存器配置**:虽然您提到其他寄存器读写都正常,但有时候某些寄存器的配置可能会影响其他寄存器的行为。例如,某些控制寄存器可能会影响增益寄存器的行为。请检查是否有这样的寄存器需要配置。 8. **硬件问题**:如果软件配置正确,但问题仍然存在,可能是硬件连接问题。检查SPI连接是否正确,包括数据线、时钟线和片选线。 9. **固件/软件问题**:确保您的固件或软件正确处理SPI通信,包括正确的位顺序和时序。 10. **数据手册**:仔细阅读PCM1864的数据手册,可能会有关于这些寄存器的特殊说明或配置步骤。 如果以上步骤都无法解决问题,建议联系PCM1864的制造商或技术支持,以获取更专业的帮助。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
549 浏览 0 评论
1613 浏览 0 评论
2047 浏览 0 评论
为啥BQ7693003DBTR芯片在和BQ769X0盒子通讯时收不到信号?
1513 浏览 0 评论
DSP 28027F 开发板 XDS100v2调试探针诊断日志显示了 Error -150 (SC_ERR_FTDI_FAIL)如何解决
1337 浏览 0 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
1756浏览 29评论
2781浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
1723浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
1634浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
1645浏览 13评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 21:28 , Processed in 0.713328 second(s), Total 87, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3501