1.1 概述 MSP430單片機(jī)擁有內(nèi)置的ADC功能,在一些高級單片機(jī)系列上是ADC12,在低級單片機(jī)系列上是ADC10,兩者的主要區(qū)別是分辨率的不同,我們的G2553內(nèi)置的就是ADC10。 1.2 ADC10特性·高達(dá)200ksps的轉(zhuǎn)換速率; ·固定的10位轉(zhuǎn)換; ·具有采樣保持功能,并可選采樣周期; ·可以通過軟件代碼或TimerA初始化轉(zhuǎn)換; ·可選的片內(nèi)(1.5V或2.5V)或片外參考電壓; ·支持8個外部輸入通道; ·內(nèi)部輸入通道支持溫度檢測,VCC和外部參考(+、—); ·可選的轉(zhuǎn)換時鐘源; ·單通道單次/多次、序列通道單次/多次,共4種轉(zhuǎn)換模式; ·ADC內(nèi)核和參考電壓都可單獨(dú)關(guān)閉; ·具有一個支持自動存儲轉(zhuǎn)換結(jié)果的數(shù)據(jù)轉(zhuǎn)換控制器(DTC); 1.3 ADC10結(jié)構(gòu)
圖1-1 ADC10結(jié)構(gòu) 1.3.1 ADC10內(nèi)核-SAR和采樣保持電路中間兩塊橙色的區(qū)域,右邊五邊形的是一個“10-bit SAR”,翻譯過來就是一個10位精度的逐次逼近比較型的ADC內(nèi)核, ADC轉(zhuǎn)換就是在這里完成的。左邊橙色矩形區(qū)域的“Sample and Hold”即采樣保持電路,它將外部或者內(nèi)部的模擬信號進(jìn)行保持以實(shí)現(xiàn)ADC轉(zhuǎn)換過程中的信號穩(wěn)定。 1.3.2 ADC10信號通道和轉(zhuǎn)換模式采樣保持電路可以將左邊選擇器(紅色梯形區(qū)域)內(nèi)的信號進(jìn)行保持。由于SAR只有一個,要對里里外外這么多信號都進(jìn)行AD轉(zhuǎn)換就必須按順序來,一個一個選擇性地輸入,這個選擇器就是用來選擇要輸入的外部或者內(nèi)部模擬信號。上面綠色矩形框控制著選擇器選擇哪個信號以及是否自動按序列選擇。 1.3.3 ADC10時鐘和采樣觸發(fā)源ADC10模塊像TimerA模塊一樣也需要有時鐘信號支持,有了時鐘,SAR這個逐次逼近比較內(nèi)核才能夠運(yùn)行(因?yàn)樗侵鸫蔚穆铮蜗蟮卣f時鐘就是SAR的動力。我們看到藍(lán)色區(qū)域,這里可以選擇ACLK、MCLK和SMCLK,另外還有一個ADC10OSC,這個時鐘是ADC10模塊自帶的,頻率在5MHz左右。和TimerA一樣,這些時鐘也可以通過分頻器進(jìn)行分頻。采樣信號可以由ADC10SC位或TimerA的三個比較匹配器輸出端來觸發(fā)。而且通過ISSH可以設(shè)置是上邊沿觸發(fā)還是下邊沿觸發(fā)。采樣觸發(fā)信號發(fā)出一次,ADC10就會立即從通道選擇器中選擇要采樣的信號經(jīng)過采樣保持電路進(jìn)入到SAR中進(jìn)行AD轉(zhuǎn)換。 1.3.4 ADC10參考源AD轉(zhuǎn)換,其本質(zhì)就是對外部信號進(jìn)行量化(就是在幅度上對信號進(jìn)行編碼),既然是量化,那么肯定要有參考的標(biāo)準(zhǔn), SAR這個五邊形的橙色框,上面有“VR-”和“VR+”兩個輸入端,這兩個輸入端就是SAR的參考源。其中,負(fù)端可以由SREF2來決定由AVSS(可認(rèn)為GND)或者VREF-/VeREF-來輸入得到。而正端可以由SREF0、SREF1來決定由內(nèi)部或者外部參考電平輸入得到。內(nèi)部支持1.5V或者2.5V,外部由外部引腳輸入得到。ADC10同時支持將內(nèi)部參考電平輸出到外部,而且為了保持其低功耗的優(yōu)勢,還可以由REFBURST來降低平均電流。 1.3.5 ADC轉(zhuǎn)換值和DTC電路沿著SAR下面空心粗箭頭看到一個棕紅色框“ADC10MEM”,這個寄存器就是用來存放得到的AD值的。我們只要讀取ADC10MEM的值就可以得到AD值了。為了實(shí)現(xiàn)低功耗設(shè)計(jì),MSP430支持DTC功能,就是數(shù)據(jù)傳輸控制功能,它可以支持將ADC10MEM中的數(shù)據(jù)自動存放至RAM、Flash或者其他外設(shè)中而不用CPU干預(yù)。 1.3.6 溫度傳感器MSP430內(nèi)置了一個溫度傳感器(淺藍(lán)色方框),可以通過設(shè)置輸入通道為0x0A來選擇輸入溫度模擬量。這樣的設(shè)計(jì)讓我們不用外部溫度芯片就可以實(shí)現(xiàn)簡單的溫度檢測。
·12~11-ADC10SHT:ADC10采樣保持時間 00:4 x ADC10CLKs 01:8 x ADC10CLKs 10:16 x ADC10CLKs 11:64 x ADC10CLKs ·10-ADC10SR:ADC10采樣速率,該位用于選擇最大采樣速率下的參考電平緩沖驅(qū)動能力。ADC10SR置1可以減少參考電平緩沖器的電流消耗 0:參考電平緩沖器支持最大速率到200ksps 1:參考電平緩沖器支持最大速率到50ksps ·9-REFOUT:參考電平輸出允許位,用來控制是否輸出參考電平 0:參考輸出關(guān)閉 1:參考輸出打開 ·8-REFBURST:參考電壓輸出控制位(REFOUT=1時有效) 0:參考電壓持續(xù)對外輸出 1:只有在采樣轉(zhuǎn)換期間參考電壓持續(xù)對外輸出 ·7-MSC:多次采樣/轉(zhuǎn)換控制位(只在序列或多次轉(zhuǎn)換模式下有效) 0:每次采樣與轉(zhuǎn)換時,由SHI的上升沿觸發(fā) 1:由SHI的第一個上升沿觸發(fā)采樣定時器,后面的采樣與轉(zhuǎn)換由前一次轉(zhuǎn)換完成后立即執(zhí)行。 ·6-REF2_5V:參考電壓發(fā)生器的電壓值選擇位(REFON=1時有效) 0:1.5V 1:2.5V ·5-REFON:參考電壓發(fā)生器控制位,控制是否打開內(nèi)部參考電壓 0:關(guān)閉內(nèi)部參考電壓發(fā)生器 1:打開內(nèi)部參考電壓發(fā)生器 ·4-ADC10ON:ADC10控制位,控制是否使用ADC10模塊 0:關(guān)閉ADC10模塊 1:打開ADC10模塊 ·3-ADC10IE:ADC10中斷允許控制位,控制是否允許ADC10中斷 0:中斷禁止 1:中斷允許 ·2-ADC10IFG:ADC10中斷標(biāo)志位,如果ADC10MEM已經(jīng)裝滿轉(zhuǎn)換結(jié)果,該位置1.當(dāng)中斷申請唄接受后,它自動復(fù)位,可以由軟件復(fù)位。在使用DTC時,當(dāng)完成一個數(shù)據(jù)塊的傳遞時,該位置1 0:無中斷產(chǎn)生 1:有中斷產(chǎn)生 ·1-ENC:ADC10轉(zhuǎn)換使能位,用來控制是否進(jìn)行轉(zhuǎn)換 0:ADC10禁止 1:ADC10使能 ·0-ADC10SC:軟件可控的采樣/轉(zhuǎn)換控制位。ADC10SC和ENC必須用一條指令同時置1。ADC10SC位可自動復(fù)位 0:無采樣/轉(zhuǎn)換開始 1:開始采樣/轉(zhuǎn)換 1.4.3 ADC10CTL1:ADC10控制寄存器1·15~12-INCH:輸入通道選擇,用來選擇進(jìn)行單次轉(zhuǎn)換的通道或序列轉(zhuǎn)換的最高通道,詳細(xì)見下面的表格
·11~10-SHS:采樣/保持輸入信號源選擇位
00:ADC10SC位
01:TimerA.OUT1
10:TimerA.OUT0
11:TimerA.OUT2
·9-ADC10DF:ADC10數(shù)據(jù)格式選擇位
0:二進(jìn)制格式(右對齊) 1:二的補(bǔ)碼格式(左對齊)
·8-ISSH:采樣/保持輸入信號反向控制位
0:采樣輸入信號不反向 1:采樣輸入信號反向
·7~5-ADC10DIV:ADC10時鐘分頻選擇位,分頻系數(shù)=ADC10DIV+1
·4~3-ADC10SSEL:ADC10時鐘源選擇位
00:ADC10OSC 01:ACLK 10:MCLK 11:SMCLK
·2~1-CONSEQ:轉(zhuǎn)換模式選擇位
00:單通道單次轉(zhuǎn)換 01:序列通道單次轉(zhuǎn)換
10:單通道多次轉(zhuǎn)換 11:序列通道多次轉(zhuǎn)換
·0-ADC10BUSY:ADC10忙標(biāo)志位,該位指示采樣或轉(zhuǎn)換正在進(jìn)行
0:表明沒有正在進(jìn)行的轉(zhuǎn)換 1:表明一個序列,采樣或者轉(zhuǎn)換正在進(jìn)行
1.5 ADC10的采樣和轉(zhuǎn)換過程
圖1-2 ADC10采樣和轉(zhuǎn)換過程時序圖 首先是我們的四個采樣觸發(fā)源(ADC10SC和3個TimerA OUT)產(chǎn)生了觸發(fā)信號,也就是SHI信號產(chǎn)生了一個脈沖,此時采樣開始,SAMPCON信號也同時置高。然后采樣時鐘進(jìn)行一段時間的計(jì)數(shù),在計(jì)數(shù)時,SAMPCON保持高電平不變,在tsync+tsample時間后,采樣完成,此時停止采樣并進(jìn)入到轉(zhuǎn)換階段。經(jīng)過13個ADC10CLK時鐘后,轉(zhuǎn)換階段也完成了。 1.6 ADC10的四種轉(zhuǎn)換模式1.6.1 單通道單次模式該模式對由INCH選擇的單通道進(jìn)行一次采樣和轉(zhuǎn)換。ADC結(jié)果寫入到ADC10MEM。當(dāng)ADC10SC觸發(fā)一次轉(zhuǎn)換時,連續(xù)的轉(zhuǎn)換也可以通過將ADC10SC置位來觸發(fā)。當(dāng)使用其他任何觸發(fā)源來啟動轉(zhuǎn)換時,ENC必須在每次轉(zhuǎn)換間隔離,在ENC復(fù)位并再次置位前的采樣信號將被忽略。轉(zhuǎn)換流程見下圖:  1.6.2 序列通道單次轉(zhuǎn)換模式該模式對一個序列的通道進(jìn)行一次采樣和轉(zhuǎn)換。序列通道將自動選擇INCHx到A0作為當(dāng)前通道。每個ADC結(jié)果都存放到ADC10MEM。最后一個通道也就是A0轉(zhuǎn)換完畢后序列轉(zhuǎn)換就結(jié)束。當(dāng)ADC10SC啟動一次,連續(xù)的轉(zhuǎn)換也可通過設(shè)置ADC10SC位來啟動。當(dāng)任何其他觸發(fā)源用來啟動轉(zhuǎn)換時,ENC必需在每次序列轉(zhuǎn)換間隔離,在ENC復(fù)位并再次置位前的采樣信號將被忽略。轉(zhuǎn)換流程見下圖: 
1.6.3 單通道多次轉(zhuǎn)換模式該模式對由INCHx選定的通道進(jìn)行連續(xù)采樣和轉(zhuǎn)換。每次ADC轉(zhuǎn)換結(jié)果都存放到ADC10MEM中。轉(zhuǎn)換流程見下圖:

1.6.4 序列通道多次轉(zhuǎn)換模式該模式對序列通道進(jìn)行重復(fù)采樣和轉(zhuǎn)換。序列通道為從INCHx選擇的通道到A0。每次ADC結(jié)果都存放到ADC10MEM。通道A0轉(zhuǎn)換完成后序列轉(zhuǎn)換結(jié)束,下一個啟動信號重新啟動序列轉(zhuǎn)換。轉(zhuǎn)換流程見下圖:

1.7 ADC10編程實(shí)例1.7.1 實(shí)驗(yàn)簡述通過編寫程序,利用內(nèi)部集成的溫度傳感器,將測得的溫度模擬量信號傳華為數(shù)字量信號,并通過LCD屏幕顯示出來。
完整的Word格式文檔51黑下載地址:
19. MSP430G2553內(nèi)部ADC原理及例程說明.docx
(572.6 KB, 下載次數(shù): 109)
2019-6-2 17:42 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|