Other Parts Discussed in Thread:TLV320ADC5140
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使能
}
Amy Luo:
您好,感谢您对TI产品的关注~
原理图中SHDNZ pin是怎样连接的呢,可以把原理图分享输出吗
,
user6449555:
SHDNZ 是拉高的
,
Kailyn Chen:
您好,0X75 bit 6ADC_PDZ是否配置为1:Power up all enabled ADC and PDM channels
另外,读一下寄存器0X76的值是多少?
,
user6449555:
ADC_PDZ读出来是1 ,0x76读出来全是0,我现在没有MCI电路,是不是这个影响的?
,
Kailyn Chen:
您好,您是否使用Purepath console GUI来配置的寄存器?
如果是的话,注意是否从standby mode 改为active mode?
另外,您这里提到的MCI 电路具体指的什么电路?
,
user6449555:
就是ADC输入通道啊,adc输入通道现在没接输入电路,按道理也可以把
,
user6449555:
,
user6449555:
这个是原理图,还有就是这个模块跑起来不需要时钟的吗?时钟哪里来的?
,
user6449555:
Purepath console GUI这个软件去哪里下载呢?我现在是看手册自己配置的寄存器
,
Kailyn Chen:
您好,您的意思是没有输入源对吧? 寄存器分为控制寄存器和数据寄存器的配置,所有通道的power up 我认为即使没有输入源,也应该能正常写入。
,
Kailyn Chen:
时钟您指的MCLK吗?要么是外部时钟源直接提供,要么主控输出的clock也可以作为系统时钟。
,
user6449555:
那是怎么回事呢?0x73 0x74 0x75寄存器写入的数据读出来都没问题
,
user6449555:
没有时钟的话ADC模块会跑吗?是不是会出现Device is in active mode with all ADC or PDM channels turned off,这种情况
,
user6449555:
请问下0x7e IIC_CHECK_SEM 寄存器是干嘛用的?如果这个寄存器写入的数据不正确是不是配置的其他寄存器就不生效?
,
Amy Luo:
您的问题解决了吗,您的寄存器配置中,在选择IIS模式,ASI长度:32bit时,ASI_CFG0寄存器应该为0x70
,
user6449555:
问题已解决,需要外部MCLK才行
,
Amy Luo:
很高兴您的问题得到解决,感谢您的分享
,
user6562358:
您好,请问您怎么解决的。我用主机给从机adc5140提供MCLK,还是不行?