ADC3101采用TDM模式工作,共有4片ADC。有时候重新上电后,ADC3101会没有数据输出。然后重新下电,再上电后便会正常工作。
不正常工作时,对I2C总线进行多次配置,并用逻辑分析仪对数据进行抓取,发现I2C配置全部成功,但是ADC仍然不工作。只有重新下电,然后再上电才会正常工作。这种现象是什么原因啊?
dawei wang1:
1、你的意思是寄存器的值,下电后也会保留。
2、我每次上电后都会有硬件复位,硬件复位会清掉寄存器的值吗。而且每次配置寄存器都会进行softreset复位。
3、我的这种现象比较偶现。偶尔会出现,只要出现这种现象,必须重新下电再上电才会正常工作。
dawei wang1:
这种情况比较偶现,并不是每次都有,只要出现这种情况,必须重新下电,再上电,ADC才会正常工作。重现配置I2C也没用。
dawei wang1:
感觉像是PLL模块不工作了
Kailyn Chen:
回复 dawei wang1:
不好意思,掉电后,寄存器的值也恢复到默认值。根据您说的这种情况,应该是某个模块不正常工作,如果是某个模块不正常工作,但是ADC3101不掉电,那么其他模块的寄存器的值还维持。
如果怀疑是PLL不工作,读一下寄存器Page 0 / Register 5 的bit7是什么状态。
另外,看下MCLK的时序,当PLL power up时至少需要等10ms的时间,然后再给MCLK信号保证PLL稳定工作。
dawei wang1:
回复 Kailyn Chen:
我没有采用MCLK时钟,只用了BCLK和WCLK。PLL模块时钟来源于BCLK。如果是PLL模块不正常工作,这种现象如何避免啊
dawei wang1:
回复 dawei wang1:
这种现象是怎么产生的,PLL模块会有自锁情况发生吗。
dawei wang1:
回复 dawei wang1:
硬件复位然后再配置也没用,必须下电再上电
dawei wang1:
回复 Kailyn Chen:
我说错了,我没有用PLL模块,只用到了NADC、MADC和AOSR
dawei wang1:
回复 Kailyn Chen:
你好,我说下codec内部的时钟配置。其中codec_in时钟配置为BCLK。然后在通过NADC、MADC、AOSR。目前可以验证问题是出现在寄存器page0的reg4和reg18之间,但是没法验证到底是谁的问题。以及什么原因导致的。
dawei wang1:
回复 Kailyn Chen:
请问1.8V和3.3V上电次序对各模块正常工作有影响吗