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

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

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

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

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

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

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