TI论坛
直播中

龙献益

7年用户 998经验值
私信 关注
[问答]

PCM1864芯片从master模式调整为slave模式音频无法采集


    之前我们已经实现了PCM1864做主模式的调试并完成了生产,先有芯片做从的需求需要实现,调试更改后还没有音频输出,需要提示一下在从主模式到从模式硬件和软件需要更改的地方,原理图及已经尝试方法如下

   
此原理图已实现芯片做主,做主配置如下
i2c_write 0 0x96 0 0
i2c_write 0 0x96 0x06 0x01
i2c_write 0 0x96 0x07 0x01
i2c_write 0 0x96 0x08 0x02
i2c_write 0 0x96 0x09 0x02
i2c_write 0 0x96 0x0B 0xCF
i2c_write 0 0x96 0x0A 0x00
i2c_write 0 0x96 0x0C 0x01
i2c_write 0 0x96 0x26 0x01
i2c_write 0 0x96 0x27 0xFF
i2c_write 0 0x96 0x20 0x91
i2c_write 0 0x96 0x19 0x0f
i2c_write 0 0x96 0x03 0xe8


尝试芯片做从模式: 1.修改芯片主从模式 i2c_write 0 0x96 0x20 0x01  #没有音频录制
                                 2.去掉外部晶振x7                                                   #没有音频录制
                                 3.修改BCLK给到芯片2Mhz、6Mhz、12Mhz          #没有音频录制
目前状态SCKI引脚12.288
               LRCK      48Khz
               i2c_write 0 0x96 0 0
i2c_write 0 0x96 0x06 0x01
i2c_write 0 0x96 0x07 0x01
i2c_write 0 0x96 0x08 0x02
i2c_write 0 0x96 0x09 0x02
i2c_write 0 0x96 0x0B 0xCF
i2c_write 0 0x96 0x0A 0x00
i2c_write 0 0x96 0x0C 0x01
i2c_write 0 0x96 0x26 0x01
i2c_write 0 0x96 0x27 0xFF
i2c_write 0 0x96 0x20 0x01
i2c_write 0 0x96 0x19 0x0f
i2c_write 0 0x96 0x03 0xe8

回帖(2)

徐远瑶

2024-10-9 16:26:02
    slave mode话,MCK, BCK 和LRCK作为输入,去掉外部晶振X7 是如何给PCM1864提供MCLK的?注意以下两种接法的区别,不建议使用第二种独立给MCLK使用外部时钟容易造成漂移导致采样出问题。

举报
  • WZ18.jpg

楼斌

2024-10-11 14:08:13
要将PCM1864芯片从Master模式调整为Slave模式,您需要在硬件和软件上进行一些更改。以下是一些建议:

1. 硬件更改:
   - 确保PCM1864的BCLK和LRCLK引脚连接到主设备的相应引脚。
   - 确保PCM1864的SDIN引脚连接到主设备的SDOUT引脚。
   - 确保PCM1864的SDOUT引脚连接到主设备的SDIN引脚。

2. 软件更改:
   - 首先,您需要确保I2C通信正常。在Slave模式下,PCM1864将作为I2C从设备。
   - 修改I2C地址。在Slave模式下,PCM1864的I2C地址可能会有所不同。请查阅PCM1864的数据手册以获取正确的I2C地址。
   - 更新寄存器配置。在Slave模式下,某些寄存器的配置可能需要更改。以下是一些建议的寄存器配置:

```
i2c_write 0 0x96 0x01 0x00 // 设置模式寄存器,选择Slave模式
i2c_write 0 0x96 0x02 0x02 // 设置数据格式
i2c_write 0 0x96 0x03 0x01 // 设置采样率
i2c_write 0 0x96 0x04 0x02 // 设置通道数
i2c_write 0 0x96 0x05 0x02 // 设置位宽
i2c_write 0 0x96 0x06 0x01 // 设置时钟模式
i2c_write 0 0x96 0x07 0x01 // 设置数据就绪模式
i2c_write 0 0x96 0x08 0x02 // 设置输出模式
i2c_write 0 0x96 0x09 0x02 // 设置输入模式
i2c_write 0 0x96 0x0B 0xCF // 设置输出音量
i2c_write 0 0x96 0x0A 0x00 // 设置输入音量
i2c_write 0 0x96 0x0C 0x01 // 设置电源管理
i2c_write 0 0x96 0x26 0x01 // 设置时钟源
i2c_write 0 0x96 0x27 0x00 // 设置时钟频率
```

3. 检查时钟和数据同步:
   - 确保主设备的BCLK和LRCLK信号与PCM1864的时钟信号同步。
   - 确保主设备的数据传输与PCM1864的数据就绪信号同步。

4. 调试:
   - 使用示波器或逻辑分析仪检查BCLK、LRCLK、SDIN和SDOUT信号。
   - 检查I2C通信是否正常,确保PCM1864能够正确接收到配置命令。

请尝试这些建议,并根据您的具体硬件和软件环境进行调整。如果问题仍然存在,请提供更多详细信息,以便进一步分析。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分