TI论坛
直播中

无人岛

9年用户 870经验值
擅长:嵌入式技术 制造/封装 控制/MCU
私信 关注
[问答]

PCM1864 4路单端MIC,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


回帖(2)

刘桂英

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

王波

2024-10-14 18:19:01
根据您提供的信息,PCM1864是一个4路单端麦克风,您遇到了一个问题,即VINL1通道的数据全部为0xFFFE,而其他三个通道的数据正常。您已经提供了一些寄存器配置信息,但似乎不完整。以下是一些建议和可能的原因:

1. 检查VINL1通道的硬件连接:请确保VINL1通道的硬件连接正确,没有短路或断路。检查麦克风、连接器和线路是否有损坏。

2. 检查寄存器配置:请确保您已经正确配置了PCM1864的寄存器。您提供的寄存器配置信息不完整,建议您查阅PCM1864的数据手册,确保所有相关寄存器都已正确配置。特别是与VINL1通道相关的寄存器,如输入选择、增益控制等。

3. 检查I2C通信:请确保您的I2C通信正常工作。您可以尝试使用I2C扫描工具检查PCM1864的I2C地址是否正确,以及I2C通信是否正常。

4. 检查电源和时钟:请确保PCM1864的电源和时钟信号正常。检查电源电压是否在规定的范围内,时钟信号是否稳定。

5. 检查固件和软件:请确保您的固件和软件正确处理PCM1864的数据。检查数据读取和处理逻辑,确保没有错误。

6. 检查数据手册:查阅PCM1864的数据手册,了解0xFFFE数据值的含义。可能这个值表示特定的错误状态或异常情况。

如果以上建议都无法解决问题,建议您联系PCM1864的制造商或技术支持,寻求更专业的帮助。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分