25.3
ADC掃描模式
在ADC單元0中有多達13個模擬輸入通道,而在ADC 單元1中有多達16個模擬輸入通道,兩個ADC單元加起來總共就擁有了29個ADC通道,但是實際上ADC 單元0和ADC單元1分別有3個通道只能連接到相同的引腳,所以實際上能同時使用的通道數(shù)量為26個,加上還有內(nèi)部的溫度傳感器輸出等特殊通道。
這么多的ADC通道我們該如何使用它們呢?在這里我們引入“掃描模式”的概念,在使用ADC外設時,我們必須首先配置其掃描模式,使得ADC按照特定掃描模式的方式進行ADC轉(zhuǎn)換。
ADC外設有三種掃描模式,分別為:單次掃描模式、連續(xù)掃描模式和組掃描模式。在FSP配置器中,用戶可以為ADC模塊設置為三種掃描模式當中的其中一種,如下圖所示。

點擊查看大圖
單次掃描模式:在單次掃描下,每一次觸發(fā)將掃描一個或多個指定通道。
連續(xù)掃描模式:在連續(xù)掃描下,首先需要一次觸發(fā),然后一個或多個指定的通道會被重復連續(xù)進行掃描,直到軟件調(diào)用函數(shù)R_ADC_ScanStop()停止掃描。
分組掃描模式:將所選擇的模擬輸入通道分為A組和B組,然后按組對所選擇的模擬輸入通道進行一次A/D轉(zhuǎn)換。A、B組可獨立選擇掃描啟動條件,可獨立啟動A、B組的A/D轉(zhuǎn)換。
在每種模式中,模擬通道按通道數(shù)的升序進行轉(zhuǎn)換,然后掃描溫度傳感器和電壓傳感器(如果它們也被勾選了的話)。每一種掃描模式都有著它的優(yōu)點和缺點,但具體使用什么模式進行ADC轉(zhuǎn)換,就需要通過我們的項目的需求需要什么樣的效果來決定。
25.3.1
單次掃描模式
在單次掃描模式轉(zhuǎn)換期間,我們可以通過ADST為來判斷ADC是否處在工作狀態(tài),在ADC轉(zhuǎn)換的期間ADST為將一直保持為1,當所有選定通道的ADST 轉(zhuǎn)換完成時,將自動設置為0。然后ADC將進入一個等待狀態(tài)。
當ADCSR.ADST位通過軟件觸發(fā)器、同步觸發(fā)器輸入(ELC)和異步觸發(fā)器輸入被置1的時候,ADC轉(zhuǎn)換開始。對在ADANSA0和ADANSA1寄存器中選擇的ANn通道進行A/D轉(zhuǎn)換,從編號最小的n的通道開始。
每當單個信道的A/D轉(zhuǎn)換完成時,A/D轉(zhuǎn)換結(jié)果都被存儲在關(guān)聯(lián)的A/D數(shù)據(jù)寄存器(ADDRy)中。
當所有選定通道的A/D轉(zhuǎn)換完成時,將生成一個ADC12i_ADI(i=0,1)中斷請求。
25.3.2
連續(xù)掃描模式
在連續(xù)掃描模式下,對指定信道的模擬輸入重復執(zhí)行A/D轉(zhuǎn)換。這里的ADCSR.ADST位不會自動清除,只要ADCSR.ADST位保持1時就會一直的重復步驟2、步驟3、步驟4,直到ADCSR.ADST位通過軟件被置0時ADC單元轉(zhuǎn)換才會停止,之后ADC單元進入等待狀態(tài)。
當ADCSR.ADST位通過軟件觸發(fā)器、同步觸發(fā)器輸入(ELC)和異步觸發(fā)器輸入被置1的時候,ADC轉(zhuǎn)換開始。對在ADANSA0和ADANSA1寄存器中選擇的ANn通道進行A/D轉(zhuǎn)換,從編號最小的n的通道開始。
每當單個信道的A/D轉(zhuǎn)換完成時,A/D轉(zhuǎn)換結(jié)果都被存儲在關(guān)聯(lián)的A/D數(shù)據(jù)寄存器(ADDRy)中。
當所有選定通道的A/D轉(zhuǎn)換完成時,將生成一個ADC12i_ADI(i=0,1)中斷請求。
對在ADANSA0和ADANSA1寄存器中選擇的ANn通道進行A/D轉(zhuǎn)換,從編號最小的n的通道開始。
25.3.3
組掃描模式
在分組掃描模式下,應用程序?qū)⑼ǖ婪峙浣o兩個組:組A和組B當中的一個??梢詾檫@些組分配不同的啟動觸發(fā)器,分別選擇A、B兩組的開始掃描條件,當接收到該組的指定ELC啟動觸發(fā)器時,轉(zhuǎn)換開始。并且組A可以設置為優(yōu)先于組B,當A組優(yōu)先于B組時,A組觸發(fā)器將暫停正在進行的B組掃描。
我們以ELC為例子:使用GPT作為A組的觸發(fā)源,并使用A組作為B組的觸發(fā)源。
當ELC0上的GPT觸發(fā)ELC_ADC(A組)時,A組的ADC開始轉(zhuǎn)換。
當組A掃描完成時,將生成一個ADC12i_ADI(i=0,1)中斷。
B組的掃描由ELC_ADC(A組)開始。
當B組掃描完成時,如果ADCSR.GBADIE位為1時將生成一個ADC12i_GBADI(i=0,1)中斷。
25.4
ADC轉(zhuǎn)換時間
25.4.1
ADC時鐘
當使用ADC時,ADC轉(zhuǎn)換時鐘(ADCLK)必須至少為1MHz。并且,在使用ADC時很多RA MCU一般也有PCLK比率限制。
RA6M5和RA4M2的AD轉(zhuǎn)換時鐘是由PCLKC經(jīng)過分頻產(chǎn)生,PCLKA和PCLKC(ADCLK)的分頻比可以設置為1:1,2:1,4:1,8:1,1:2,1:4。當使用50 MHz時鐘的時候12-bit AD轉(zhuǎn)換時間為0.4μs。
RA2L1的AD轉(zhuǎn)換時鐘是由PCLKD經(jīng)過分頻產(chǎn)生,PCLKB和PCLKD(ADCLK)的分頻比可以設置為1:1,1:2,1:4。在正常轉(zhuǎn)換模式下,當使用64MHz 時鐘的時候12-bit AD轉(zhuǎn)換時間為0.7μs;在快速轉(zhuǎn)換模式下,當使用48MHz時鐘的時候12-bit AD轉(zhuǎn)換時間為0.67μs。
25.4.2
采樣時間

點擊查看大圖
掃描轉(zhuǎn)換時間(tSCAN)包括:掃描開始時間(tD)、斷開檢測輔助處理時間(tDIS)*1、自診斷A/D轉(zhuǎn)換處理時間(tDIAG和tDSD)*2、A/D轉(zhuǎn)換處理時間(tCONV)、掃描結(jié)束時間(tED)。
A/D轉(zhuǎn)換處理時間(tCONV)由輸入采樣時間(tSPL)和逐次逼近轉(zhuǎn)換時間(tSAM)組成。
采樣時間(tSPL)用于在A/D轉(zhuǎn)換器中對采樣和保持電路充電。如果由于模擬輸入信號源的高阻抗而沒有足夠的采樣時間,或者如果A/D轉(zhuǎn)換時鐘(ADCLK)很慢,可以使用ADSSTRn寄存器來調(diào)整采樣時間。
由逐次逼近(tSAM)轉(zhuǎn)換的時間如下:
12位精度需要13個ADCLK
狀態(tài)10位精度需要11個ADCLK
狀態(tài)8位精度需要9個ADCLK
選擇通道數(shù)為n的單次描模式下的掃描轉(zhuǎn)換時間(tSCAN)可確定為:

連續(xù)掃描模式下第一個周期的掃描轉(zhuǎn)換時間為單次掃描減去tED的tSCAN。連續(xù)掃描模式下第二次及后續(xù)周期的掃描轉(zhuǎn)換時間固定如下:

25.5
電壓值轉(zhuǎn)換
模擬電壓經(jīng)過ADC轉(zhuǎn)換后,是一個12位的數(shù)字值,如果通過串口以16進制打印出來的話,可讀性比較差,那么有時候我們就需要把數(shù)字電壓轉(zhuǎn)換成模擬電壓,也可以跟實際的模擬電壓(用萬用表測)對比,看看轉(zhuǎn)換是否準確。
一般在設計硬件原理圖的時候會把ADC的輸入電壓范圍設定在:0~3.3V。若設置ADC的分辨率是12位的,那么12位滿量程對應的電壓就是3.3V,12位滿量程對應的數(shù)字值是:2^12,數(shù)值0對應的就是0V。假設轉(zhuǎn)換后的數(shù)值為X,X對應的模擬電壓為Y,那么會有這么一個等式成立:

因此在ADC轉(zhuǎn)換完成之后,我們可以調(diào)用FSP庫函數(shù)R_ADC_Read(),從ADC的數(shù)據(jù)寄存器里讀出上述等式中X的值,從而再經(jīng)過計算得出對應的電壓值。

-
adc
+關(guān)注
關(guān)注
100文章
7755瀏覽量
556622 -
瑞薩
+關(guān)注
關(guān)注
37文章
22503瀏覽量
91034 -
引腳
+關(guān)注
關(guān)注
16文章
2114瀏覽量
55917 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
2065瀏覽量
63490
原文標題:ADC掃描模式、轉(zhuǎn)換時間——瑞薩RA系列FSP庫開發(fā)實戰(zhàn)指南(92)
文章出處:【微信號:瑞薩嵌入式小百科,微信公眾號:瑞薩嵌入式小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
瑞薩RA系列FSP庫開發(fā)實戰(zhàn)指南之ADC簡介和結(jié)構(gòu)框圖
瑞薩RA系列FSP庫開發(fā)實戰(zhàn)指南之ADC掃描模式和轉(zhuǎn)換時間
評論