新唐MCU學(xué)習(xí)筆記-ADC
概述NuMicro®NUC029xAN 包含一個(gè)12位逐次逼近型模數(shù)轉(zhuǎn)換器(SAR A/D轉(zhuǎn)換器) ,包含8個(gè)輸入通道;NuMicro®NUC029FAE 包含一個(gè)10位逐次逼近型模數(shù)轉(zhuǎn)換器(SAR A/D轉(zhuǎn)換器),包含8個(gè)通道。 NUC029xAN 的A/D轉(zhuǎn)換器支持四種操作模式:?jiǎn)未文J健urst 模式、單周期掃描模式和連續(xù)掃描模式;NUC029xAN 只支持單次模式。A/D轉(zhuǎn)換器可以通過(guò)軟件、PWM或外部STADC引腳觸發(fā)轉(zhuǎn)換。
特性
–模擬輸入電壓范圍: 0~AVDD
–2位分辨率和10位精度保證(NUC029xAN)
–10位分辨率和8位精度保證(NUC029FAE)
– 多達(dá)8路單端模擬輸入通道
或4組互補(bǔ)模擬輸入通道 (NUC029xAN)
– 高達(dá)760 kSPS采樣率(NUC029xAN)
–300 KSPS (VDD4.5V - 5.5V) 、200 KSPS (VDD2.5V - 5.5V)轉(zhuǎn)換率(NUC029FAE)
– 四種操作模式 (NUC029FAE只支持單次模式)
單次模式: A/D在指定通道完成一次轉(zhuǎn)換
Burst模式: A/D轉(zhuǎn)換器采樣和轉(zhuǎn)換指定單個(gè)通道,并將結(jié)果循序的儲(chǔ)存在FIFO中
單周期掃描模式: A/D按順序從編號(hào)最小的通道到編號(hào)最大的通道轉(zhuǎn)換一次所有選定的通道。
連續(xù)掃描模式: A/D轉(zhuǎn)換器連續(xù)執(zhí)行單周期掃描模式直到軟件停止A/D轉(zhuǎn)換。
– A/D轉(zhuǎn)換可以開(kāi)始于:
通過(guò)軟件寫(xiě)1到ADST位(ADCR[11])
PWM觸發(fā),可選擇延時(shí)多少周期開(kāi)始轉(zhuǎn)換
外部STADC引腳
– 每個(gè)通道的轉(zhuǎn)換結(jié)果存儲(chǔ)在相應(yīng)數(shù)據(jù)寄存器內(nèi),并帶有有效和溢出標(biāo)志
–每個(gè)通道擁有獨(dú)立的數(shù)據(jù)寄存器(NUC029xAN)
– 轉(zhuǎn)換結(jié)果可以和指定的值相比較, 當(dāng)轉(zhuǎn)換結(jié)果和比較寄存器的設(shè)定值相匹配時(shí),用戶可設(shè)定是否產(chǎn)生中斷請(qǐng)求.
– 通道 7 支持 3 個(gè)輸入源:
外部模擬電壓
內(nèi)部 Band-gap 電壓
內(nèi)部溫度傳感器輸出(NUC029xAN)
基本配置
ADC引腳功能在P1_MFP寄存器配置。建議關(guān)閉模擬輸入引腳的數(shù)字輸入通道,以避免漏電。用戶
可以通過(guò)配置P1_OFFD 寄存器關(guān)閉數(shù)字輸入通道。ADC外設(shè)時(shí)鐘可以在ADC_EN(APBCLK[28]) 使能。ADC外設(shè)時(shí)鐘源在ADC_S(CLKSEL1[3:2]) 選擇。時(shí)鐘預(yù)分頻在ADC_N(CLKDIV[23:16])設(shè)置。
功能描述
NUC029xAN:
該A/D轉(zhuǎn)換器通過(guò)逐次逼近的方式運(yùn)行,分辨率為12位。該ADC有四種操作模式:?jiǎn)未文J、Burst
模式、單次周期掃描模式和連續(xù)周期掃描模式。當(dāng)用戶想要改變操作模式或者模擬輸入通道,為了
避免錯(cuò)誤的操作,軟件必須提前清除ADST(ADCR[11])位為0。
操作模式
NUC029xAN A/D轉(zhuǎn)換器支持四種操作模式: 單次模式, Burst模式, 單周期掃描模式和連續(xù)掃描模式
單次模式
A/D轉(zhuǎn)換器只對(duì)指定的一個(gè)通道進(jìn)行一次轉(zhuǎn)換。操作流程如下:
當(dāng)軟件設(shè)置ADST(ADCR[11])位為1或外部觸發(fā)輸入,A/D轉(zhuǎn)換器開(kāi)始轉(zhuǎn)換。
當(dāng)A/D轉(zhuǎn)換器轉(zhuǎn)換結(jié)束,NUC029xAN 的轉(zhuǎn)換結(jié)果儲(chǔ)存在對(duì)應(yīng)通道的A/D數(shù)據(jù)寄存器中,而
NUC029FAE 的轉(zhuǎn)換結(jié)果存儲(chǔ)在A/D數(shù)據(jù)寄存器中。
ADF(ADSR[0])位置1. 如果ADIE(ADCR[1]) 位置1, ADC中斷將產(chǎn)生。
在A/D轉(zhuǎn)換過(guò)程中,ADST(ADCR[11])位保持為1。在A/D轉(zhuǎn)換結(jié)束后,ADST位自動(dòng)清0且A/D
轉(zhuǎn)換器進(jìn)入空閑狀態(tài)。
注 1: 如果在單次模式,軟件使能不止一個(gè)通道,只有編號(hào)最小的通道被選中,其他使能的通道將被忽略。
注 2: 在ADC轉(zhuǎn)換時(shí),如果ADST位被清0,BUSY位將被立即清0,ADC不能完成當(dāng)前轉(zhuǎn)換且A/D轉(zhuǎn)
換器直接進(jìn)入空閑狀態(tài)。
Burst模式
在Burst模式,A/D轉(zhuǎn)換器采樣和轉(zhuǎn)換指定單個(gè)通道并將轉(zhuǎn)換結(jié)果按序存放在FIFO中(最多8次采樣)。操作步驟如下:
當(dāng)ADCR 的ADST(ADCR[11])位通過(guò)軟件或外部觸發(fā)輸入設(shè)置為1,A/D開(kāi)始轉(zhuǎn)換編號(hào)做小的通
道
當(dāng)指定通道的A/D轉(zhuǎn)換完成后,轉(zhuǎn)換結(jié)果按順序傳輸?shù)紽IFO中,只能通過(guò)A/D數(shù)據(jù)寄存器0訪
問(wèn)。
當(dāng)在FIFO中超過(guò)4次采樣結(jié)果,ADF(ADSR[0]) 位將置1。這個(gè)時(shí)候,如果ADIE(ADCR[1])位置
1,在A/D轉(zhuǎn)換結(jié)束后,將產(chǎn)生一個(gè)ADC中斷。
如果ADST(ADCR[11]) 位保持為1,將一直重復(fù)步驟2和3。當(dāng)ADST(ADCR[11])位清0后,ADC
將不能完成當(dāng)前轉(zhuǎn)換且A/D轉(zhuǎn)換器直接進(jìn)入空閑狀態(tài)。
注: 在Burst模式,如果軟件使能不止一個(gè)通道,只有編號(hào)最小的通道被轉(zhuǎn)換,其他使能的通道將被
忽略。
單周期掃描模式
在單周期掃描模式,A/D轉(zhuǎn)換器按編號(hào)從小到大采樣和轉(zhuǎn)換所有指定的通道一次。操作流程如下:
當(dāng)ADST(ADCR[11])位通過(guò)軟件或外部觸發(fā)輸入設(shè)置為1,編號(hào)最小的通道將開(kāi)始A/D轉(zhuǎn)換。
當(dāng)每一個(gè)使能的通道A/D轉(zhuǎn)換完成,轉(zhuǎn)換結(jié)果按順序傳輸?shù)矫總(gè)通道相應(yīng)的A/D數(shù)據(jù)寄存器
當(dāng)所有使能的通道轉(zhuǎn)換完成,ADF(ADSR[0]) 位將置1。如果ADC中斷功能使能,ADC中斷產(chǎn)
生。
在ADC完成一次周期轉(zhuǎn)換,ADST(ADCR[11])位將自動(dòng)清除為0且A/D轉(zhuǎn)換進(jìn)入空閑狀態(tài)。如果
在所有使能的ADC通道轉(zhuǎn)換完成之前,ADST(ADCR[11])位清為0,ADC將不能完成當(dāng)前轉(zhuǎn)換
且A/D轉(zhuǎn)換器直接進(jìn)入空閑狀態(tài)。
連續(xù)掃描模式
在連續(xù)掃描模式下,A/D轉(zhuǎn)換器循環(huán)轉(zhuǎn)換CHEN(ADCR[7:0])使能的通道(最多8個(gè)通道),操作流程如下:
當(dāng)ADST(ADCR[11])位通過(guò)軟件或外部觸發(fā)輸入置1,A/D開(kāi)始轉(zhuǎn)換編號(hào)最小的通道。
當(dāng)每個(gè)使能的通道A/D轉(zhuǎn)換完成,每個(gè)使能通道的轉(zhuǎn)換結(jié)果存儲(chǔ)在每個(gè)使能通道對(duì)應(yīng)的A/D寄存
器中。
當(dāng)A/D轉(zhuǎn)換器按順序完成所有使能通道的轉(zhuǎn)換,ADF(ADSR[0])將置1 。如果ADC中斷功能使
能,ADC中斷發(fā)生。如果軟件沒(méi)有清除ADST(ADCR[11])位,使能的通道將再一次從編號(hào)最小
的通道開(kāi)始轉(zhuǎn)換。
如果ADST(ADCR[11])位保持為1,將重復(fù)執(zhí)行步驟2~3。當(dāng)ADST(ADCR[11])清0后,ADC不能
完成當(dāng)前轉(zhuǎn)換且A/D轉(zhuǎn)換器直接進(jìn)入空閑狀態(tài)。
外部觸發(fā)輸入采樣和A/D轉(zhuǎn)換時(shí)間
NUC029xAN:
在單次掃描模式,可以通過(guò)外部引腳觸發(fā)A/D轉(zhuǎn)換。TRGEN(ADCR[8]) 位設(shè)置為0使能ADC外部觸發(fā)功能,設(shè)置TRGS(ADCR[5:4]) 為00b 選擇外部觸發(fā)輸入為STADC 引腳。軟件可以通過(guò)設(shè)置TRGCOND(ADCR[7:6]) 選擇觸發(fā)條件為下降/上升沿或低/高電平。如果選擇電平觸發(fā),STADC引腳必須保持指定狀態(tài)至少8個(gè)PCLK。在第9個(gè)PCLK,ADST(ADCR[11]) 位將被置1且開(kāi)始轉(zhuǎn)換。在電平觸發(fā)模式下,如果外部觸發(fā)輸入保持有效狀態(tài),轉(zhuǎn)換將持續(xù)進(jìn)行。只有在外部觸發(fā)條件消失,轉(zhuǎn)換才會(huì)停止。如果選擇邊沿觸發(fā)條件,高和低狀態(tài)都至少持續(xù)4個(gè)PLCK。如果脈沖滿足不了該條件,將被忽略。
注: 使能ADC外設(shè)時(shí)鐘后,用戶須在至少4個(gè)PCLK之后方能使能外部觸發(fā)功能或使能ADC。
PWM 觸發(fā)
NUC029xAN:
在單周期掃描模式,A/D可以通過(guò)PWM觸發(fā)轉(zhuǎn)換。設(shè)置TRGEN(ADCR[8])位為1使能ADC外部觸發(fā)功能,設(shè)置TRGS(ADCT[5:4]為11b選擇外部硬件觸發(fā)輸入源為PWM。當(dāng)PWM觸發(fā)使能時(shí),設(shè)置PTDT(ADTDCR[7:0])位可以在PWM觸發(fā)和ADC開(kāi)始轉(zhuǎn)換之間插入一個(gè)延時(shí)時(shí)間。
通過(guò)比較模式功能監(jiān)控轉(zhuǎn)換結(jié)果
NuMicro®NUC029系列ADC控制器提供兩個(gè)比較寄存器(ADCMPR0 和 ADCMPR1)來(lái)監(jiān)控最多兩個(gè)通道。軟件可以通過(guò)設(shè)置 CMPCH(ADCMPRx[5:3]) 選 擇 監(jiān) 控 哪 個(gè) 通 道 。
CMPCOND(ADCMPRx[2]) 位指定比較條件。如果CMPCOND(ADCMPRx[2]) 位為0,當(dāng)轉(zhuǎn)換結(jié)果小于CMPD[11:0](NUC029xAN)/ CMPD[9:0](NUC029xAN)的值時(shí),內(nèi)部匹配計(jì)數(shù)器將加1;如果CMPCOND(ADCMPRx[2]) 位為 1 ,當(dāng)轉(zhuǎn)換結(jié)果大于或等于 CMPD[11:0] ( NUC029xAN ) /CMPD[9:0](NUC029xAN)的值時(shí),內(nèi)部匹配計(jì)數(shù)器將減1。當(dāng)CMPCH(ADCMPRx[5:3])指定的通道轉(zhuǎn)換完成時(shí),將自動(dòng)觸發(fā)一次比較。當(dāng)比較結(jié)果和設(shè)定值相匹配,比較匹配寄存器加1,否則比較匹配計(jì)數(shù)器將清0。當(dāng)匹配計(jì)數(shù)器到達(dá)(CMPMATCNT+1) 設(shè)置的值時(shí),CMPF 位將置1,如果CMPIE(ADCMPRx[1])位設(shè)置為1,將產(chǎn)生一個(gè)ADC_INT 中斷。在掃描模式,軟件可以通過(guò)該功能監(jiān)控外部輸入引腳電壓變化而不會(huì)增加軟件負(fù)載。詳細(xì)邏輯框圖如下:
中斷源
ADC 中斷有 3 個(gè)中斷源。當(dāng) ADC 完成轉(zhuǎn)換, A/D 轉(zhuǎn)換完成標(biāo)志 ADF(ADSR[0]) 將被置 1 。
CMPF0(ADSR[1])和CMPF1(ADSR[2])為比較功能的比較標(biāo)志位。當(dāng)轉(zhuǎn)換結(jié)果與ADCMPR0/1設(shè)置的條件匹配時(shí),相應(yīng)的位將置1。當(dāng)ADF(ADSR[0]), CMPF0(ADSR[1]) 和 CMPF1(ADSR[2])標(biāo)志有一個(gè)置1且相應(yīng)中斷使能位ADIE(ADCR[1])和CMPIE(ADCMPRx[1])置1,ADC中斷將產(chǎn)生。軟件可以清除這些標(biāo)志位來(lái)取消中斷請(qǐng)求。
如需要了解更多新唐MCU產(chǎn)品,請(qǐng)聯(lián)系新唐核心代理商,穎特新科技,或者掃碼聯(lián)系我們!
在之前的介紹中,我們也為大家介紹了《新唐史上最速ADC,帶你進(jìn)入傳說(shuō)般的領(lǐng)域》
編輯:zzy 最后修改時(shí)間:2022-05-10