新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > msp430AD采集數(shù)據(jù)記錄及分析

msp430AD采集數(shù)據(jù)記錄及分析

作者: 時(shí)間:2016-11-13 來源:網(wǎng)絡(luò) 收藏
1、利用先鋒脈沖數(shù)據(jù)采集模擬程序?qū)?shí)現(xiàn)板進(jìn)行測試,

其中測試管腳的信號為:周期為2.4S 高電平時(shí)間為0.3s
設(shè)置AD時(shí):P6SEL |= 0x08;
ADC12CTL0 = ADC12ON+MSC+REFON+REF2_5V + SHT0_8;
ADC12CTL1 = SHP + CONSEQ_2 + ADC12SSEL_3 +ADC12DIV_7;
ADC12MCTL0 = SREF_1 + INCH_3;
ADC12IE = 0X01;
ADC12CTL0 |= ENC;
ADC12CTL0 |= ADC12SC;
即采用第3通道,選用SMCLK(DCO) 并對其進(jìn)行8分頻,SHT0_8(256)選用內(nèi)部參考電壓2.5v

本文引用地址:http://m.butianyuan.cn/article/201611/316556.htm


測試1,基于DCO進(jìn)行的測試

經(jīng)過實(shí)際測試:
周期:869 高電平:108 占空比:108/869 = 0.124
周期:870 高電平:109 占空比:109/870 = 0.125
標(biāo)準(zhǔn):300/2400 = 0.125

理論分析:初始DCO為800K,8分頻為:100K,周期為:10us
而轉(zhuǎn)換一個數(shù)需要的周期數(shù)據(jù)為256+13+3=272個ADC12CLK ,
SO 轉(zhuǎn)換一個數(shù)的時(shí)間為2.72ms
綜上,2.4s內(nèi)能完成2400/2.72=882.35個數(shù)的轉(zhuǎn)換,與實(shí)測的870基本吻合。

若不考慮Tsync:則轉(zhuǎn)換一個數(shù)需要的周期數(shù)據(jù)為256+13=269個ADC12CLK ,
SO 轉(zhuǎn)換一個數(shù)的時(shí)間為2690ms
從而2.4S內(nèi)能完成2400/2.69 = 892 (與實(shí)測的相差大)



測試2,基于外部8MHz晶體進(jìn)行的測試

設(shè)置AD時(shí):
BCSCTL1 &= ~XT2OFF; // 打開XT2高頻晶體振蕩器

do
{
IFG1 &= ~OFIFG; //清除晶振失敗標(biāo)志
for (i = 0xFF; i > 0; i--); // 等待8MHz晶體起振
}
while ((IFG1 & OFIFG)); // 晶振失效標(biāo)志仍然存在?

BCSCTL2 = SELM_2+DIVM_3; //select XT2,并對其進(jìn)行8分頻,然后供給MCLK;
ADC12CTL0 = ADC12ON+MSC+REFON+REF2_5V + SHT0_8; // Turn on ADC12, extend sampling timeSHT0_8

ADC12CTL1 = SHP + CONSEQ_2 + ADC12SSEL_2 +ADC12DIV_7;// Use sampling timer, repeated sequence,并對ADC時(shí)鐘進(jìn)行8分頻

ADC12MCTL0 = SREF_1 + INCH_3;
ADC12IE = 0X01;
ADC12CTL0 |= ENC; // Enable conversions
ADC12CTL0 |= ADC12SC; // Start conversion

理論分析:
初始XT2為8MHz 8分頻為1MHz ,再對其進(jìn)行8分頻為125KHz 所以ADC12CLK的周期為8us
so 轉(zhuǎn)換一個數(shù)的時(shí)間為:(256+3+13)* 8 = 2.176ms
SO 2.4S的周期能轉(zhuǎn)換2400/2.176=1102.9 也即1102個數(shù)

若不考慮Tsync 則轉(zhuǎn)換一個數(shù)的時(shí)間為:(256+13)* 8 = 2.152ms
SO 2.4S的周期能轉(zhuǎn)換2400/2.152=1115.2 也即1115個,與實(shí)際測試僅差一個數(shù)。

實(shí)際測試:
周期:1114 高電平:139 占空比:139/1114 = 0.12477
標(biāo)準(zhǔn):300/2400 = 0.125

2、把周期為2.4ms 高電平為300ms的脈沖信號加到另一塊板子上

另一塊板子采用DCO800k ,其余設(shè)置參數(shù)同上 其測試結(jié)果是:
周期:801 高電平:100 占空比:100/801 =0.1248
周期:799 高電平:99 占空比:99/799 = 0.1239
標(biāo)準(zhǔn):300/2400 = 0.125

另一塊板子采用XT2=6MHz時(shí)的測試結(jié)果:
周期:836 高電平: 104 占空比:104/836 = 0.1244
周期:836 高電平: 104 占空比:104/836 = 0.1244 可以看出(利用外部晶體重復(fù)性好)
標(biāo)準(zhǔn):300/2400 = 0.125


理論分析:
初始XT2為6MHz 8分頻為750KHz ,再對其進(jìn)行8分頻為93.75KHz 所以ADC12CLK的周期為10.7us
so 轉(zhuǎn)換一個數(shù)的時(shí)間為:(256+3+13)* 10.7 = 2.91ms
SO 2.4S的周期能轉(zhuǎn)換2400/2.91=824.7 也即824個數(shù) {與實(shí)際測試的836基本相符}

若不考慮Tsync 則 2.4S的周期能轉(zhuǎn)換2400/(269*10.67)=836.2 也即836 與實(shí)際測試完全相符


總結(jié):就以上測試分析,可知,基本達(dá)到要求,但對DCO來說,稍有偏移,
根據(jù)DATASHEET:采樣的總時(shí)間為Tsample +Tsync 但如果,不考慮Tsync,則對上面的采用外部晶體采集數(shù)據(jù)時(shí)
理論與實(shí)際完全相符。
但對DCO就不同,并且DCO,對不同的板子,雖然占空比相同,但采集數(shù)據(jù)個數(shù)也有很大的差別。這可能與DCO本身,所以為了把2.4S內(nèi)的數(shù)據(jù)都采集到,應(yīng)該取較大的采樣數(shù)據(jù)。
隨溫度及環(huán)境而變化有關(guān)。



評論


技術(shù)專區(qū)

關(guān)閉