1、硬件连线配置:
LRCKAD 与 LRCKDA 合并后 和 主控芯片的 LRCK 相连
BCKAD 与 BCKDA 合并后 和 主控芯片的 BCK 相连
SCKI 与 主控芯片的 MCLK 相连
主控侧, MCLK, BCK, LRCK 同源分频产生
数据线,只有 DOUT1 和 DIN1 和主控I2S相连
2、软件配置:
linux内核版本:4.9; 采用linux内核的pcm3168驱动
主控输出I2S时钟:MCLK: 24.456M, BCK:12.228M; LRCK:48K
期望工作模式:Left-Justified tdm + signal rate (数据线只有 DOUT1 和 DIN1 和主控I2S相连)
3、问题:
linux的pcm3168驱动 默认只有I2S 和 Left-Justified; 无 I2S/ Left-Justified on tdm; 需要手动配置寄存器
初始话默认寄存器值:
reg:40, val:c0
reg:41, val:1
reg:42, val:f0
reg:43, val:0
reg:44, val:0
reg:45, val:0
reg:46, val:0
reg:47, val:ff
reg:48, val:ff
reg:49, val:ff
reg:4a, val:ff
reg:4b, val:ff
reg:4c, val:ff
reg:4d, val:ff
reg:4e, val:ff
reg:4f, val:ff
reg:50, val:0
reg:51, val:1
reg:52, val:0
reg:53, val:0
reg:54, val:0
reg:55, val:0
reg:56, val:0
reg:57, val:0
reg:58, val:d3
reg:59, val:d3
reg:5a, val:d3
reg:5b, val:d3
reg:5c, val:d3
reg:5d, val:d3
reg:5e, val:d3
试验测试ad数据采集,配置寄存器如下:
reg:50, val:1
reg:51, val:7
此时无DOUT1无数据输出,但多次配置reg51寄存器,有时 DOUT1 有数据输出