Introduction to MSP430 ADCs Lane Westlund MSP430 Applications Engineer Texas Instruments © 2006 Texas Instruments Inc, Slide 1 Agenda • Analog measurements with the MSP430 (cid:131) Comparator, ADC10, ADC12, SD16, SD16_A • Hands-on lab with ADC12 • Summary © 2006 Texas Instruments Inc, Slide 2 Comparator_A 0V VCC • References CAEX usable internally CA0 and externally CCI1B + + • Low-pass filter CA1 -- CAOUT selectable by set CAIFG Flag 0V VCC software CAON • Input terminal CAREF multiplexer • One interrupt 0.5xVCC vector with enable 0.25xVCC D G S © 2006 Texas Instruments Inc, Slide 3 Comparator-Based Slope ADC • 10-bit+ accuracy • Resistive sensors • Low battery detect • Very low cost • App note SLAA038 VCAREF t_x = R_x x C x ln Vcc . . . t_NTC R_NTC = 10k x t_10k © 2006 Texas Instruments Inc, Slide 4 Example: Thermistor • R = 10K, R = NTC REF M • V = V *e(-t/RC) CAREF CC • Relationship simplifies to single multiply & divide operations t_NTC V CAREF C x ln Vcc t_NTC R_NTC R_NTC = 10k x = t_10k 10k t_10k V CAREF C x ln Vcc © 2006 Texas Instruments Inc, Slide 5 Slope Resistance Considerations • Measurement as accurate as R REF • V independent CC • Resolution based on number of max counts possible • Precharge of C impacts accuracy M • Slope measurement time duration a function of RC © 2006 Texas Instruments Inc, Slide 6 Integrating A/D Voltage Measurement • V range is near full scale IN • P toggling creates a X.Y 1-bit DAC at V MSP430 OUT SD-Type • Match V to V OUT IN P • SLAA104 X.Y V Software OUT CA V Integration IN Used for voltage sensors, 10-bit+ resolution as accurate as Vcc © 2006 Texas Instruments Inc, Slide 7 Integrating A/D Considerations • Resolution determined by times through S/W loop • Inherently excellent noise immunity • V must be known CC • DAC pulse symmetry required • Select RC values for < +/- 1LSB V ripple OUT • Reference: SLAA104 © 2006 Texas Instruments Inc, Slide 8 ADC10 • 200ksps+ • Autoscan • Single Sequence Repeat-single Repeat-sequence • Int/ext reference • TA SOC triggers • Data transfer controller • 30us ref settling, No decoupling required © 2006 Texas Instruments Inc, Slide 9 Why Is Autoscan + DTC Important? O Data2 T ADC U Data1 A Data0 DTC Data2 // Software // Autoscan + DTC // Software // Autoscan + DTC Res[pRes++] = ADC10MEM; _BIS_SR(CPUOFF); Res[pRes++] = ADC10MEM; _BIS_SR(CPUOFF); ADC10CTL0 &= ~ENC; ADC10CTL0 &= ~ENC; if (pRes < NR_CONV) if (pRes < NR_CONV) { { CurrINCH++; CurrINCH++; if (CurrINCH == 3) if (CurrINCH == 3) CurrINCH = 0; CurrINCH = 0; ADC10CTL1 &= ~INCH_3; ADC10CTL1 &= ~INCH_3; ADC10CTL1 |= CurrINCH; ADC10CTL1 |= CurrINCH; ADC10CTL0 |= ENC+ADC10SC; ADC10CTL0 |= ENC+ADC10SC; } } Fully Automatic 70 cycles/Sample © 2006 Texas Instruments Inc, Slide 10
Description: