摘自:微控地带
MSP430F149具备内部1.5V和2.5V的ADC电压基准,此文档为该电压基准的精度测量报告,本报告仅对所测样品负责。测试采用了FET示例代码,编译通过后用本站的MSP430 JTAG V3.3下载至F149,然后使用LM2825 DC-DC模块产生1.8-3.5V的直流电压给MSP430F149供电,MSP430F149焊接在本站的MSP430 QFP64 TO QSIP128转接板上,使用8MHz晶体振荡器,VREF脚通过一个16V 10uF的钽电容连接到地。
下面是测量数据:
1,2.5V基准测量数据:
供电电压: 测得基准电压:
2.801 2.479
3.002 2.480
3.293 2.485
3.505 2.487
2,1.5V基准测量数据:
供电电压: 测得基准电压:
1.800 1.480
2.002 1.481
2.199 1.482
2.500 1.483
2.708 1.483
2.801 1.483
3.003 1.484
3.299 1.485
3.497 1.487
测试代码:
#include "msp430x14x.h" // Standard Equations
void main(void)
{
unsigned int i;
WDTCTL = WDTPW+WDTHOLD; // Stop watchdog timer
P6SEL |= 0x01; // Enable A/D channel A0
// ADC12CTL0 = ADC12ON+SHT0_2+REFON+REF2_5V; // Turn on and set up ADC12,2.5V Internal REF
ADC12CTL0 = ADC12ON+SHT0_2+REFON; // Turn on and set up ADC12,1.5V Internal REF
ADC12CTL1 = SHP; // Use sampling timer
ADC12MCTL0 = SREF_1; // Vr+=Vref+
for ( i=0; i<0x3600; i++) // Delay for reference start-up
{
}
ADC12CTL0 |= ENC; // Enable conversions
while (1)
{
ADC12CTL0 |= ADC12SC; // Start conversion
while ((ADC12IFG & BIT0)==0);
_NOP(); // SET BREAKPOINT HERE
}
}
总结:
本测试中的MSP430F149的1.5V内部基准负偏了2/150=1.3%左右,2.5V内部基准负偏了2/250=0.8%,作为普通用途基本可以接受,和AVR系列的内部基准相比要好不少,但是如果应用在高精度测量设备中则1.5V基准有待改进,建议使用更高精度外部电压基准。
注意本测试仅针对本测试样品,本样品为TI提供的免费样品,可能性能上面也会有点不同,请读者针对自己实际使用的样品进行仔细评估,本报告仅提供一个参考值。
LM2825 DC-DC模块提供的直流电压的AC分量经FLUKE 189测量小于1mV。