TI中文支持网
TI专业的中文技术问题搜集分享网站

PCM1864 4路单端MIC, 16000采样, 16bit。TDM输出。 VINL1 出来的数据全部都是0xFFFE

PCM1864 4路单端MIC, 16000采样, 16bit。TDM输出。 VINL1 出来的数据全部都是0xFFFE, 其他三个通道出来的数据全都正常。

其中

VINL1 ->ADC1L 

VINR1 ->ADC1R

VINL2 ->ADC2L 

VINR2 ->ADC2R 

寄存器配置如下:

I2Cx_WriteData(slaveAddr,0x00,0x00);

I2Cx_WriteData(slaveAddr,0x01,0x00);
I2Cx_WriteData(slaveAddr,0x02,0x00);
I2Cx_WriteData(slaveAddr,0x03,0x00);
I2Cx_WriteData(slaveAddr,0x04,0x00);

I2Cx_WriteData(slaveAddr,0x05,0x86);
I2Cx_WriteData(slaveAddr,0x06,0x41);
I2Cx_WriteData(slaveAddr,0x07,0x41);
I2Cx_WriteData(slaveAddr,0x08,0x42);
I2Cx_WriteData(slaveAddr,0x09,0x42);

I2Cx_WriteData(slaveAddr,0x0B,0xCF);
I2Cx_WriteData(slaveAddr,0x0C,0x01);
I2Cx_WriteData(slaveAddr,0x10,0x00);
I2Cx_WriteData(slaveAddr,0x11,0x20);
I2Cx_WriteData(slaveAddr,0x12,0x00);
I2Cx_WriteData(slaveAddr,0x13,0x00);

I2Cx_WriteData(slaveAddr,0x20,0x41); //0x41
//I2Cx_WriteData(slaveAddr,0x26,0x07);
//I2Cx_WriteData(slaveAddr,0x27,0x3F);

I2Cx_WriteData(slaveAddr,0x58,0x07);

示波器显示VINL1 波形是有的。 但是采样出来的数据都是0xfffe

 

Kailyn Chen:

Channel 1的input MUX 配置的没问题,即0X06和0X07的值都配的正确。
读一下状态寄存器0X72, 0X75,0X78 等寄存器呢?看是否电源, clock等问题导致的。

cheng huang25:

回复 Kailyn Chen:

 读了,状态寄存器都正常。0x72是0x0f, 0x75 是0x00, 0x78是0x07. 以为写入寄存器有问题。 读取出来也是对的

cheng huang25:

回复 Kailyn Chen:

还有, 我是PCM1864做从设备。 使用TDM接口来获取数据的。由于MCU主有I2S 接口, 所以MCU的I2S直接配置为主模块, 16K采样, 32bit 来接收数据后。 再分为4个通道的数据。 不知道这样是不是会有问题

user5906153:

很不错的分享资源

user5781709:

您好 楼主 请问您的slaveAddr地址是多少,在master发送slave地址时,需要将slaveAddr右移一位吗,

赞(0)
未经允许不得转载:TI中文支持网 » PCM1864 4路单端MIC, 16000采样, 16bit。TDM输出。 VINL1 出来的数据全部都是0xFFFE
分享到: 更多 (0)