大家好!
我正在研制一款采用 PCM5121的新电路板、该电路板连接到 ESP32S3微控制器。
这是与 PCM5121相关的原理图:
我希望(但不是绝对需要)将 PCM 用作从模式。 我尝试用32位样本播放44100hz 的声音。
由于这里没有什么花哨的东西、我当前尝试使用可通过寄存器37启用的时钟自动设置功能。
我还通过寄存器4禁用 PLL、将 DAC 时钟源设置为 SCK、并将 I2S 格式(寄存器40)设置为0x03。
设置好所有内容后,我将在微控制器上解码 MP3文件,然后用示波器观察时钟和信号:
- SCK : 11.4Mhz
- bck : 1.4Mhz
-LRCK : 44.1kHz
这些信号对我来说似乎很清晰:
播放时、我还能看到 DIN 上的数据。 不过、寄存器118"电源状态"始终保持在0001:"等待 CP 电压有效"。 它在我播放或不播放文件时不会改变(DIN 上的数据)。
VNEG 也未处于预期值、它保持在400mV 左右。
以下是所有寄存器的完整转储:
寄存器0x01 -> 0x00
寄存器0x02 -> 0x00
寄存器0x03 -> 0x00
寄存器0x04 -> 0x10
寄存器0x05 -> 0x01
寄存器0x06 -> 0x00
寄存器0x07 -> 0x00
寄存器0x08 -> 0x30
寄存器0x09 -> 0x00
寄存器0x0a -> 0x00
寄存器0x0B -> 0x01
寄存器0x0c -> 0x7c
寄存器0x0d -> 0x00
寄存器0x0E -> 0x30
寄存器0x0F -> 0x00
寄存器0x10 -> 0x00
寄存器0x11 -> 0x00
寄存器0x12 -> 0x00
寄存器0x13 -> 0x10
寄存器0x14 -> 0x00
寄存器0x15 -> 0x00
寄存器0x16 -> 0x00
寄存器0x17 -> 0x00
寄存器0x18 -> 0x00
寄存器0x19 -> 0x00
寄存器0x1a -> 0x80
寄存器0x1b -> 0x00
寄存器0x1c -> 0x00
寄存器0x1d -> 0x00
寄存器0x1E -> 0x00
寄存器0x1f -> 0x04
寄存器0x20 -> 0x00
寄存器0x21 -> 0x00
寄存器0x22 -> 0x00
寄存器0x23 -> 0x01
寄存器0x24 -> 0x00
寄存器0x25 -> 0x00
寄存器0x26 -> 0xF3
寄存器0x27 -> 0x04
寄存器0x28 -> 0x03
寄存器0x29 -> 0x00
寄存器0x2a -> 0x11
寄存器0x2b -> 0x01
寄存器0x2C -> 0x00
寄存器0x2D -> 0x00
寄存器0x2e -> 0x00
寄存器0x2F -> 0x00
寄存器0x30 -> 0x00
寄存器0x31 -> 0x00
寄存器0x32 -> 0x00
寄存器0x33 -> 0x00
寄存器0x34 -> 0x00
寄存器0x35 -> 0x00
寄存器0x36 -> 0x00
寄存器0x37 -> 0x00
寄存器0x38 -> 0x00
寄存器0x39 -> 0x00
寄存器0x3a -> 0x00
寄存器0x3b -> 0x00
寄存器0x3c -> 0x00
寄存器0x3D -> 0x64
寄存器0x3E -> 0x64
寄存器0x3f -> 0x22
寄存器0x40 -> 0x02
寄存器0x41 -> 0x00
寄存器0x42 -> 0x14
寄存器0x43 -> 0x05
寄存器0x44 -> 0x00
寄存器0x45 -> 0x00
寄存器0x46 -> 0x00
寄存器0x47 -> 0x00
寄存器0x48 -> 0x55
寄存器0x49 -> 0x00
寄存器0x4a -> 0x00
寄存器0x4b -> 0x00
寄存器0x4c -> 0x00
寄存器0x4d -> 0x00
寄存器0x4e -> 0x00
寄存器0x4f -> 0x00
寄存器0x50 -> 0x00
寄存器0x51 -> 0x00
寄存器0x52 -> 0x00
寄存器0x53 -> 0x00
寄存器0x54 -> 0x02
寄存器0x55 -> 0x00
寄存器0x56 -> 0x10
寄存器0x57 -> 0x00
寄存器0x58 -> 0x61
寄存器0x59 -> 0x00
寄存器0x5a -> 0x00
寄存器0x5b -> 0x36
寄存器0x5c -> 0x00
寄存器0x5d -> 0x20
寄存器0x5e -> 0x20
寄存器0x5f -> 0x00
寄存器0x60 -> 0x01
寄存器0x61 -> 0x10
寄存器0x62 -> 0x00
寄存器0x63 -> 0x00
寄存器0x64 -> 0x00
寄存器0x65 -> 0x00
寄存器0x66 -> 0x01
寄存器0x67 -> 0x03
寄存器0x68 -> 0x07
寄存器0x69 -> 0x00
寄存器0x6a -> 0xd8
寄存器0x6b -> 0x10
寄存器0x6c -> 0x00
寄存器0x6d -> 0x00
寄存器0x6e -> 0x00
寄存器0x6f -> 0x00
寄存器0x70 -> 0x00
寄存器0x71 -> 0x00
寄存器0x72 -> 0x03
寄存器0x73 -> 0x00
寄存器0x74 -> 0x01
寄存器0x75 -> 0x00
寄存器0x76 -> 0x81
寄存器0x77 -> 0x11
寄存器0x78 -> 0x00
寄存器0x79 -> 0x00
寄存器0x7a -> 0x00
寄存器0x7B -> 0x00
寄存器0x7c -> 0x00
寄存器0x7d -> 0x00
寄存器0x102 -> 0x00
寄存器0x105 -> 0x00
寄存器0x106 -> 0x00
寄存器0x107 -> 0x00
寄存器0x108 -> 0x00
寄存器0x109 -> 0x01
寄存器0x2c01 -> 0x00
寄存器0xfd3f -> 0x00
寄存器0xfd40 -> 0x00
什么能解释这种行为?
感谢你的帮助。