线程中讨论的其他部件:ADC5140EVM-PDK
您好! 我需要一些帮助,以菊花链模式配置两个ADC5140 ADC (如应用说明中的图9所示: 具有共享TDM和I 2C总线的多个TLV320ADCx140设备)。 我正在 使用TDM模式,24位,8个通道(4个来自第一个ADC,4个来自第二个ADC)。 大部分情况下都正常工作,但随机的情况是,我从链上最后一个ADC的第一个通道中得到全部0或全部1。 我附上了一个示例,说明了该问题。 我的初始化代码如下所示:
//拉低硬件重置,等待10毫秒,然后释放
CLR_ADCMASTER_RESET;
Systick_Delay_ms (10);
Set_ADCMASTER_RESET;
Systick_Delay_ms (10);
// 模数转换器1/////////////////////////////////////////////////////////////////////
LPI2C1_Write (I2C_ADDR_ADC1,ADCX140_PAGE_SELECT,0x00);//将页面设置为零
LPI2C1_Write (I2C_ADDR_ADC1,ADCX140_SLEEP_CFG,0x81);//唤醒并启用Areg
Systick_Delay_ms (10);
LPI2C1_Write (I2C_ADDR_ADC1,ADCX140_ASI_CFG0,0x20); // 24位字
LPI2C1_Write (I2C_ADDR_ADC1,ADCX140_ASI_CFG1,0x00);
LPI2C1_Write (I2C_ADDR_ADC1,ADCX140_ASI_CH1,0x00);//映射到默认插槽
LPI2C1_Write (I2C_ADDR_ADC1,ADCX140_ASI_CH2,0x01);
LPI2C1_Write (I2C_ADDR_ADC1,ADCX140_ASI_CH3,0x02);
LPI2C1_Write (I2C_ADDR_ADC1,ADCX140_ASI_CH4,0x03);
LPI2C1_Write (I2C_ADDR_ADC1,ADCX140_BIAS-CFG,0x60);
LPI2C1_Write (I2C_ADDR_ADC1,ADCX140_CH1_CFG0,0x80);//线路输入,差分, 交流耦合
LPI2C1_Write (I2C_ADDR_ADC1,ADCX140_CH2_CFG0,0x80);//
LPI2C1_Write (I2C_ADDR_ADC1,ADCX140_CH3_CFG0,0x80);//
LPI2C1_Write (I2C_ADDR_ADC1,ADCX140_CH4_CFG0,0x80);//
LPI2C1_Write (I2C_ADDR_ADC1,ADCX140_DSP_CFG0,0x00);//
LPI2C1_Write (I2C_ADDR_ADC1,ADCX140_ASI_OUT CH_EN,0xf0);
LPI2C1_Write (I2C_ADDR_ADC1,ADCX140_in_CH_EN,0xf0);
LPI2C1_Write (I2C_ADDR_ADC1,ADCX140_PWR_CFG,0x60);
// 模数转换器2 //////////////////////////////////////////////////////////////////////
LPI2C1_Write (I2C_ADDR_ADC2,ADCX140_PAGE_SELECT,0x00);//将页面设置为零
LPI2C1_Write (I2C_ADDR_ADC2,ADCX140_SLEEP_CFG,0x81);//唤醒并启用Areg
Systick_Delay_ms (10);
LPI2C1_Write (I2C_ADDR_ADC2,ADCX140_ASI_CFG0,0x20);
LPI2C1_Write (I2C_ADDR_ADC2,ADCX140_ASI_CFG1,0x00);
LPI2C1_Write (I2C_ADDR_ADC2,ADCX140_ASI_CFG2,0x80);//设置Daisy链模式
LPI2C1_Write (I2C_ADDR_ADC2,ADCX140_ASI_CH1,0x00);// 映射到默认插槽
LPI2C1_Write (I2C_ADDR_ADC2,ADCX140_ASI_CH2,0x01);//
LPI2C1_Write (I2C_ADDR_ADC2,ADCX140_ASI_CH3,0x02);//
LPI2C1_Write (I2C_ADDR_ADC2,ADCX140_ASI_CH4,0x03);//
LPI2C1_Write (I2C_ADDR_ADC2,ADCX140_GPIO _CFG0,0xB0);//为菊花链式输入GPIO
LPI2C1_Write (I2C_ADDR_ADC2,ADCX140_BIAS-CFG,0x60);//
LPI2C1_Write (I2C_ADDR_ADC2,ADCX140_CH1_CFG0,0x80);//通道1配置
LPI2C1_Write (I2C_ADDR_ADC2,ADCX140_CH2_CFG0,0x80);//通道2配置
LPI2C1_Write (I2C_ADDR_ADC2,ADCX140_CH3_CFG0,0x80);//通道3配置
LPI2C1_Write (I2C_ADDR_ADC2,ADCX140_CH4_CFG0,0x80);//通道4配置
LPI2C1_Write (I2C_ADDR_ADC2,ADCX140_DSP_CFG0,0x00);
LPI2C1_Write (I2C_ADDR_ADC2,ADCX140_ASI_OUT CH_EN,0xf0);
LPI2C1_Write (I2C_ADDR_ADC2,ADCX140_in_CH_EN,0xf0);
LPI2C1_Write (I2C_ADDR_ADC2,ADCX140_PWR_CFG,0x60);
有人能告诉我为什么我会得到粘在所有0或1上的间歇性样本吗? 只有第二个ADC的第一个通道?
提前感谢大家!



