请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TLV320ADC3140 您好!
我们的布局如下所示:

在嵌入式系统(无 Linux)中运行。 我们按如下方式配置 ADC:
// wake up device
TLV320WriteRegister(TLV320_SLEEP_CFG, TLV320_SLEEP_CFG_AREG_SELECT | TLV320_SLEEP_CFG_WAKE);
// wait for at least 1 ms to allow the device to complete the internal wake-up sequence
Cy_SysLib_Delay(1);
// set up asi i2s mode
TLV320WriteRegister(TLV320_ASI_CFG0, (TLV320_ASI_CFG0_FORMAT_I2S |
TLV320_ASI_CFG0_FORMAT_WLEN_32));
// set up channels
TLV320WriteRegister(TLV320_CH1_CFG0, TLV320_CH_CFG0_LINE_INPUT | TLV320_CH_CFG0_IMP_10);
TLV320WriteRegister(TLV320_CH2_CFG0, TLV320_CH_CFG0_LINE_INPUT | TLV320_CH_CFG0_IMP_10);
TLV320WriteRegister(TLV320_CH3_CFG0, TLV320_CH_CFG0_LINE_INPUT | TLV320_CH_CFG0_IMP_10);
TLV320WriteRegister(TLV320_CH4_CFG0, TLV320_CH_CFG0_LINE_INPUT | TLV320_CH_CFG0_IMP_10);
TLV320WriteRegister(TLV320_DSP_CFG0, (TLV320_DSP_CFG0_CH_SUM_2_CHAN |
TLV320_DSP_CFG0_CH_HPF_12HZ));
TLV320WriteRegister(TLV320_DSP_CFG1, TLV320_DSP_CFG1_BIQUADS_DISABLE);
TLV320WriteRegister(TLV320_ASI_CH2, TLV320_ASI_CH2_SLOT_2);
TLV320WriteRegister(TLV320_ASI_CH3, TLV320_ASI_CH3_SLOT_1);
TLV320WriteRegister(TLV320_GPIO_CFG0, TLV320_GPIO_CFG0_GPIO1_DIS);
// enable input channels
TLV320WriteRegister(TLV320_IN_CH_EN, (TLV320_IN_CH_EN_CH1_EN |
TLV320_IN_CH_EN_CH2_EN |
TLV320_IN_CH_EN_CH3_EN |
TLV320_IN_CH_EN_CH4_EN));
// enable output channels
TLV320WriteRegister(TLV320_ASI_OUT_CH_EN, (TLV320_ASI_OUT_CH_EN_CH1_EN |
TLV320_ASI_OUT_CH_EN_CH3_EN));
// power up adc
TLV320WriteRegister(TLV320_PWR_CFG, (TLV320_PWR_CFG_ADC_EN |
TLV320_PWR_CFG_PLL_EN |
TLV320_PWR_CFG_DYN_CH_PUPD_EN |
TLV320_PWR_CFG_DYN_CH_1_4));
其中定义为:
#define TLV320_PAGE_CFG 0x00 #define TLV320_SW_RESET 0x01 #define TLV320_SLEEP_CFG 0x02 #define TLV320_SLEEP_CFG_AREG_SELECT 0x80 #define TLV320_SLEEP_CFG_WAKE 0x01 #define TLV320_SHDN_CFG 0x05 #define TLV320_ASI_CFG0 0x07 #define TLV320_ASI_CFG0_FORMAT_I2S 0x40 #define TLV320_ASI_CFG0_FORMAT_WLEN_32 0x30 #define TLV320_ASI_CH2 0x0c #define TLV320_ASI_CH2_SLOT_2 0x02 #define TLV320_ASI_CH3 0x0d #define TLV320_ASI_CH3_SLOT_1 0x01 #define TLV320_GPIO_CFG0 0x21 #define TLV320_GPIO_CFG0_GPIO1_DIS 0x00 #define TLV320_CH1_CFG0 0x3c #define TLV320_CH2_CFG0 0x41 #define TLV320_CH3_CFG0 0x46 #define TLV320_CH4_CFG0 0x4b #define TLV320_CH_CFG0_LINE_INPUT 0x80 #define TLV320_CH_CFG0_IMP_10 0x04 #define TLV320_DSP_CFG0 0x6b #define TLV320_DSP_CFG0_CH_SUM_2_CHAN 0x04 #define TLV320_DSP_CFG0_CH_HPF_12HZ 0x01 #define TLV320_DSP_CFG1 0x6c #define TLV320_DSP_CFG1_BIQUADS_DISABLE 0x00 #define TLV320_IN_CH_EN 0x73 #define TLV320_IN_CH_EN_CH1_EN 0x80 #define TLV320_IN_CH_EN_CH2_EN 0x40 #define TLV320_IN_CH_EN_CH3_EN 0x20 #define TLV320_IN_CH_EN_CH4_EN 0x10 #define TLV320_ASI_OUT_CH_EN 0x74 #define TLV320_ASI_OUT_CH_EN_CH1_EN 0x80 #define TLV320_ASI_OUT_CH_EN_CH2_EN 0x40 #define TLV320_ASI_OUT_CH_EN_CH3_EN 0x20 #define TLV320_ASI_OUT_CH_EN_CH4_EN 0x10 #define TLV320_PWR_CFG 0x75 #define TLV320_PWR_CFG_ADC_EN 0x40 #define TLV320_PWR_CFG_PLL_EN 0x20 #define TLV320_PWR_CFG_DYN_CH_PUPD_EN 0x10 #define TLV320_PWR_CFG_DYN_CH_1_4 0x04
我们尝试了很多不同的东西、但正确的通道始终是静默的(I2S 上只发送零)。
是否有任何关于该问题可能是什么的建议?