工具/软件:
我有一个应用、用于通过 ESP32 控制 PCM1792A。 此时我只是尝试通过 SPI 总线读取寄存器。 ESP32 配置为模式 0、时钟速度设置为 500kHz。 逻辑分析仪数据对我来说看起来是正确的、但在发送设置了 MSB 读取字节的寄存器地址后的第 2 个字节传输期间、PCM 芯片不会以任何数据进行响应。
当前我的启动过程是:
1、为 ESP32 和 PCM1792A 上电
2.开始 I2S 数据传输(左对齐并移位 1 位、24 位样本、SYSCLK 36MHz、BCLK<xmt-block1> 5MHz</xmt-block>)。 5MHz。
3.将 PCM1792A 复位引脚置于低电平达 100mS、然后置于高电平、然后等待 2000ms
4.通过 SPI 将 0x9000 发送到 PCM1792A
我预计会收到 0x00FF、根据 数据表、寄存器 16 的默认值为 0xFF、但我总是收到 0x0000。
周围的混乱我发现、如果我发送 0x90A5A5A5、我会收到返回 0x000010A5。 所以,我知道芯片是活的,但没有表现出预期。 字节 0xA5 只是任意的、无论我替换为 A5 的任何值都将由 PCM 芯片在第 4 个字节上回显。
对于我的行为有什么明显的突出之处吗?