最近,在MSP430F5509上做了一个小功能,使用ADC10的ADC10INCH_11测试VCC。做好之后,在多个PCB上运行,并没有出现什么大问题。但是,最近出现了一个PCB,测得结果一直是0x03FF,经过转算,实际电压是4.0V。这明显是测量错误,MSP430额定供电电压是3.7V,而且当时使用万用表测得电池的电压为2.92V。使用数字电源给PCB供电,改变供电电压,测得的值依然是0x03FF。
我初步猜测,问题应该是MSP430F5509内部的ADC10损坏。
问题:
1. 该问题是不是由MSP430F5509内部的ADC10损坏引起的
2. 如何来确保MSP430F5509内部的ADC10完好,可用
灰小子:
没问题,你用的vcc做电压基准,无论vcc怎么变,采样都是0x3F
Gilbert:
回复 灰小子:
dirtwillfly :
你好,感谢你的回复!你说的这种情况确实会产生我之前那种结果。我在线仿真运行了一下,重点观察基准电压的配置,是没有问题的。
Gilbert:
回复 Gilbert:
这是REF的配置:
HG:
看得不是很清楚,你现在ADC10INCH的实际电压用万用表量是多少?
MCU是怎么供电的,电压多少。
ADC内部是怎么配置的,参考电压多少?
以前你说的好的多个PCB运行是什么情况?
Gilbert:
回复 HG:
HG:
你好,感谢你的回复!
1. MSP430F5509IRGZ的ADC10的A11通道并未映射到Pin管脚上。所以无法使用万用表测量该通道的电压。
2. 该产品采用CR2450电池供电,万用表测得MSP430的VCC值为2.92V。曾经做过测试,使用数字电源给PCB供电,改变供电电压,ADC10测得结果未发生改变,依然是0x03FF。
3. ADC10的基准电压取自MSP430内部的REF模块,基准电压设为2.0V。
4. 目前,手中有大量的同一批次的PCB,大部分都没有这个问题,ADC10测量值还算准确。只有个别PCB出现了这种问题。
注:
ADC10 的Channel_11在内部直接连接到了Batt.Monitor,见附图:
HG:
回复 Gilbert:
如果是个别板子出问题,建议做个交叉实验,看看是不是PCB的问题,电池的问题。
Gilbert:
回复 HG:
HG:
不好意思,前段时间没能顾得上给你回复。
你所说的交叉实验,我已做完,有问题的MCU在更换PCB之后,测得结果仍然是0x03FF;而另一组的测得结果基本接近期望值。
灰小子:
回复 Gilbert:
这样看,你的这部分mcu很可能有问题了。建议通过正规渠道采购msp430