主题中讨论的其他器件: PCMD3140
尊敬的所有人:
有 一个基于 pcmd3180器件的音频项目、使用 I2S 接口时的采样率为192KHz。
我们在获取正确的音频数据时会遇到一些困难。 请给我们一些调试建议。
此参考设计如下所示为2通道音频。
首先、MCU 可以使用 i2c 接口成功控制 pcmd3180地址。 然后设置这些寄存器、通过 I2S 接收2CH 音频信号。 设置如下所示。
1.为设备通电:
从硬件关断模式转换到睡眠模式(或软件关断模式):
a.仅当 IOVDD 和 AVDD 电源稳定至稳态工作电压时释放 SHDNZ
b.等待至少1ms、让器件初始化内部寄存器初始化
3. 只要需要记录操作,就从睡眠模式转换到活动模式:
//#通过 I2C 使用内部 Areg 写入 P0_R2来唤醒设备
//w 98 02 81
PCMD3180_WRITE_reg (0x00、0x02、0x81);
rec_reg=PCMD3180_read_reg (0x00、0x02、rec_buf);
//#通过 I2C 写入 P0_R60将 CH1_INSRC 配置为数字 PDM 输入
//w 98 3C 40
PCMD3180_WRITE_reg (0x00、0x3c、0x40);
//#通过 I2C 写入 P0_R65将 CH2_INSRC 配置为数字 PDM 输入
//w 98 41 40
PCMD3180_WRITE_reg (0x00、0x41、0x40);
//#通过 I2C 写入 P0_R70将 CH3_INSRC 配置为数字 PDM 输入
//w 98 46 40
PCMD3180_WRITE_reg (0x00、0x46、0x40);
//#
//#通过 I2C 写入 P0_R75将 CH4_INSRC 配置为数字 PDM 输入
//w 98 4B 40
PCMD3180_WRITE_reg (0x00、0x4b、0x40);
//#通过 I2C 写入 P0_R34将 PDMCLK1_GPO1配置为 PDMCLK
//w 98 22 41
PCMD3180_WRITE_reg (0x00、0x22、0x41);
//#通过 I2C 写入 P0_R35将 PDMCLK1_GPO2配置为 PDMCLK
//w 98 23 41
PCMD3180_WRITE_reg (0x00、0x23、0x41);
//#通过 I2C 写入 P0_R36将 PDMCLK1_GPO3配置为 PDMCLK
//w 98 24 41
PCMD3180_WRITE_reg (0x00、0x24、0x41);
//通过 I2C 写入 P0_R37将 PDMCLK1_GPO4配置为 PDMCLK
//w 98 25 41
PCMD3180_WRITE_reg (0x00、0x25、0x41);
//#通过 I2C 写入 P0_R43将 PDMDIN1_GPI1和 PDMDIN2_GPI2配置为 PDMDIN1和 PDMDIN2
//带98 2B 45
PCMD3180_WRITE_reg (0x00、0x2b、0x45);
//#通过 I2C 写入 P0_R44将 PDMDIN3_GPI3和 PDMDIN4_GPI4配置为 PDMDIN3和 PDMDIN4
//w 98 2C 67
PCMD3180_WRITE_reg (0x00、0x2c、0x67);
//#通过 I2C 写入 P0_R115来使能 Ch-1到 Ch-8的输入
//w 98 73 FF
PCMD3180_WRITE_reg (0x00、0x73、0xff);
//#通过 I2C 写入 P0_R116、启用 ASI 输出 Ch-1至 Ch-8插槽
//w 98 74 FF
PCMD3180_WRITE_reg (0x00、0x74、0xff);
//#通过 I2C 写入 P0_R117来给 PDM 转换器和 PLL 上电
//w 98 75 60
PCMD3180_WRITE_reg (0x00、0x75、0x60);
设置 PWR_CFG 寄存器后、我们可以读取正确的设置值(0x60)。
//#读取 PWR_CFG 寄存器
REC_REG=PCMD3180_READ_REG (0x00、0x75、rec_BUF);
然后读取 DEV_STS0 和 DEV_STS1寄存器、并发现 DEV_STS0/DEV_STS1 值分别为0x00和0xc0。
这意味着所有 PDM 通道都关闭。
//# READ DEV_STS0寄存器
REC_REG=PCMD3180_READ_REG (0x00、0x76、rec_BUF);
//# READ DEV_STS1寄存器
rec_reg=PCMD3180_read_reg (0x00、0x77、rec_buf);
最后、我们 在 pcmd3180中未发现 CLK 信号输出。
如何进行下一步操作。 请就 这个问题给我们一些建议。 非常感谢。
此致、
升华