Part Number: TLV320ADC6120
使用这个电路,两块板都出现AREF为0V,VREF为0V, DREG为1.8V,SDOUT低电平无输出,I2C配置数据回读完全正确

data = SLEEP_CFG_AREG_SELECT_INTERNAL | SLEEP_CFG_SLEEP_ENZ_ACTIVE; //唤醒 内部ref
if (tlv320adcx120_i2c_write_data(SLEEP_CFG_ADDRESS, &data, 1) != RT_EOK)
{
return RT_ERROR;
}
rt_thread_mdelay(100);
if (tlv320adcx120_i2c_read_data(SLEEP_CFG_ADDRESS, &data2, 1) != RT_EOK)
{
return RT_ERROR;
}
data = SW_RESET_RESET; //复位
if (tlv320adcx120_i2c_write_data(SW_RESET_ADDRESS, &data, 1) != RT_EOK)
{
return RT_ERROR;
}
data = ASI_CFG0_FORMAT_I2S | ASI_CFG0_WLEN_24_BITS; //I2S模式24位
if (tlv320adcx120_i2c_write_data(ASI_CFG0_ADDRESS, &data, 1) != RT_EOK)
{
return RT_ERROR;
}
if (tlv320adcx120_i2c_read_data(ASI_CFG0_ADDRESS, &data2, 1) != RT_EOK)
{
return RT_ERROR;
}
data = IN_CH_EN_CH1_ENABLED | IN_CH_EN_CH2_ENABLED; //CH1 CH2使能
if (tlv320adcx120_i2c_write_data(IN_CH_EN_ADDRESS, &data, 1) != RT_EOK)
{
return RT_ERROR;
}
if (tlv320adcx120_i2c_read_data(IN_CH_EN_ADDRESS, &data2, 1) != RT_EOK)
{
return RT_ERROR;
}
data = ASI_OUT_CH_EN_CH1_ENABLED | ASI_OUT_CH_EN_CH2_ENABLED; //CH1 CH2使能
if (tlv320adcx120_i2c_write_data(ASI_OUT_CH_EN_ADDRESS, &data, 1) != RT_EOK)
{
return RT_ERROR;
}
if (tlv320adcx120_i2c_read_data(ASI_OUT_CH_EN_ADDRESS, &data2, 1) != RT_EOK)
{
return RT_ERROR;
}
data = 0xe0;//PWR_CFG_ADC_PDZ_ON | PWR_CFG_PLL_PDZ_ON; //打开adc pll电源
if (tlv320adcx120_i2c_write_data(PWR_CFG_ADDRESS, &data, 1) != RT_EOK)
{
return RT_ERROR;
}
if (tlv320adcx120_i2c_read_data(PWR_CFG_ADDRESS, &data2, 1) != RT_EOK)
{
return RT_ERROR;
}