我使用该芯片的ADC0、ADC1采集2mV的小信号,PGA均设定为128倍。
ADC0接AIN0正AIN3负的差分;ADC1接AIN1正AIN2负的差分。
一共焊接了六台样机,一开始的两周,测量功能完全正常:
ADC0、ADC1的采样结果均是0.002516V
直到50℃温度测试的第15天,发现ADC0的采样结果完全错误,采样16次,结果都是4*10E-7这样接近0的值(每个值都不一样)。
为了排除
电路原因引起的测量不准,我把原ADC1配置到ADC0那一路,也就是:ADC1接AIN0正AIN3负的差分;ADC0接AIN1正AIN2负的差分。结果,ADC0仍然是错的,ADC1仍然是对的。 所以这个故障和待测电路无关。
进一步调试,我发现把ADC0的PGA设定为1,也就是关掉PGA---测量结果就是准确的了。
用官方代码ADuCM360_361_Code_Examples_Func
tion_LibrariesADuCM360361 code examples and function librariesexamplesADC_DMA 重复以上,现象相同。所以也不是代码引起的故障。
综上,我得出结论:
ADC0的那一路PGA坏掉,ADC1的那一路PGA完好。
另外,芯片是直接国外进口的,应该不存在劣质品的可能。
那么问题来了:
1.什么样的恶劣条件会导致ADuCM360的PGA坏掉,而其他功能诸如串口、IO完全正常?
2.
单片机电路的哪一部分,具体是哪一个引脚的外围电路异常,会引起PGA坏掉?
3.怎么样检测PGA坏掉,能否有方法百分之百的得出PGA是坏的这一结论?
望ADI的技术人员解答,谢谢!