TI论坛
直播中

王玉兰

7年用户 1323经验值
私信 关注
[问答]

tlv320adc5140配置完成读取0x77状态寄存器显示Device is in active mode with all ADC or PDM channels turned of的原因?


  • tlv320adc5140配置完成读取0x77状态寄存器显示Device is in active mode with all ADC or PDM channels turned of,这是怎么回事呢?配置没有问题的,是不是通道没有输入信号也会这样?
    void Adc5410_Init_Hack(void)
    {
    //adc_regmap_write(ADC5140_PAGE_SELECT, 0x00); //选择页0
    adc_regmap_write(ADC5140_SLEEP_CFG, 0x81); //iic非广播模式,不在sleep模式
    Wait1ms(50);
    adc_regmap_write(ADC5140_SW_RESET, 0x01); //reset复位
    Wait1ms(50);
    adc_regmap_write(ADC5140_SLEEP_CFG, 0x81); //iic非广播模式,不在sleep模式
    adc_regmap_write(ADC5140_ASI_CFG0, 0x30); //选择IIS模式,ASI长度:32bit
    adc_regmap_write(ADC5140_CH1_CFG0, 0x4c);
    adc_regmap_write(ADC5140_CH2_CFG0, 0x4c);
    adc_regmap_write(ADC5140_CH3_CFG0, 0x4c);
    adc_regmap_write(ADC5140_CH4_CFG0, 0x4c);


    adc_regmap_write(ADC5140_IN_CH_EN, 0xf0); //输入通道1234使能
    adc_regmap_write(ADC5140_ASI_OUT_CH_EN, 0xf0); //输出通道1234使能
    adc_regmap_write(ADC5140_PWR_CFG, 0xe0); //micbias使能,使能所有的ADC和 PDM通道,PLL使能

    }

回帖(3)

李景天

2024-10-11 10:38:16
您好,0X75 bit 6  ADC_PDZ是否配置为1:Power up all enabled ADC and PDM channels
另外,读一下寄存器0X76的值是多少?
举报

mintsy

2024-10-11 10:39:44

您好,您是否使用Purepath console GUI来配置的寄存器?

如果是的话,注意是否从standby

mode 改为active mode?


另外,您这里提到的MCI

电路具体指的什么电路?


举报

vinww特烦恼

2024-10-14 18:05:29
根据您提供的代码和描述,您已经正确地初始化了TLV320ADC5140。状态寄存器0x77显示设备处于活动模式,所有ADC或PDM通道都已关闭。这可能是因为您尚未启用任何ADC或PDM通道。

要解决这个问题,请确保您已经正确配置了ADC通道。以下是一些可能的步骤:

1. 确保您已经选择了正确的页(例如,页0)。
2. 配置ADC通道的输入模式(例如,单端或差分输入)。
3. 启用ADC通道。例如,如果您要启用通道A,您可以写入通道A的控制寄存器(例如,ADC5140_CHANNEL_A_CTRL)以启用通道。

以下是修改后的初始化代码示例:

```c
void Adc5410_Init_Hack(void)
{
    // 选择页0
    adc_regmap_write(ADC5140_PAGE_SELECT, 0x00);

    // iic非广播模式,不在sleep模式
    adc_regmap_write(ADC5140_SLEEP_CFG, 0x81);

    Wait1ms(50);

    // reset复位
    adc_regmap_write(ADC5140_SW_RESET, 0x01);

    Wait1ms(50);

    // iic非广播模式,不在sleep模式
    adc_regmap_write(ADC5140_SLEEP_CFG, 0x81);

    // 选择页1
    adc_regmap_write(ADC5140_PAGE_SELECT, 0x01);

    // 配置通道A的输入模式(单端输入)
    adc_regmap_write(ADC5140_CHANNEL_A_CTRL, 0x00);

    // 启用通道A
    adc_regmap_write(ADC5140_CHANNEL_A_CTRL, 0x01);

    // 返回页0
    adc_regmap_write(ADC5140_PAGE_SELECT, 0x00);
}
```

请确保您的代码中包含了正确的寄存器地址和值。此外,确保您的硬件连接正确,并且输入信号已经连接到ADC通道。如果问题仍然存在,请检查您的代码和硬件连接,以确保没有其他问题。
举报

更多回帖

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