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

在之前的介紹中,我們也為大家介紹了《新唐史上最速ADC,帶你進入傳說般的領域》

編輯:zzy 最后修改時間:2022-05-10