RA2 MCU是瑞薩在2019年下半年開始推廣的Cortex M23核的產品,48MHz主頻,各子系列都非常有特點,如入門級的RA2E1子系列帶Capacitive Sensing Unit,RA2L1子系列低功耗及帶CAN總線,RA2A1子系列增強模擬功能、帶16位ADC及24位Sigma-Delta ADC,RE2E2子系列主打小封裝。可廣泛的用于各種應用上。以下是瑞薩RA MCU Portfolio:
之前有客戶在使用瑞薩RA2 MCU時,由于測試方法不對,導致測出來的ADC轉換時間比規格書中宣稱的0.67us要長許多,達到了2.1us左右。后來瑞薩AE用三種方法做了詳細的測試,用連續轉換模式得到了比較理想并且合理的結果,一次AD掃描轉換時間大概為0.67us,與規格書宣稱的值相近?,F將測試方法及步驟分享如下。
一
理論說明
1.1
基于RA2L1硬件手冊中Figure 30.25和Figure 30.26,單次掃描模式下所選通道數為n的掃描轉換時間(tSCAN)可按如下方式確定:
tSCAN= tD+ tDIS×n + tDIAG+ tED+ tCONV×n
tSCAN:掃描轉換時間
tD:開始掃描延遲時間
tDIS:斷線檢測輔助處理時間
tDIAG和tDSD:自診斷A/D轉換處理時間
tCONV:A/D轉換處理時間
tED:結束掃描延遲時間
1.2
參考“41. Electrical Characteristics”中Table 41.35的Note 1,轉換時間是采樣時間和比較時間的總和。也就是說,這里的轉換時間指的僅僅是tCONV,而并非tSCAN。
1.3
從理論上,如何獲得掃描轉換時間的最小值
tD= 2 PCLKB + 4 ADCLK:All other, Synchronous trigger. But this does not include the time consumed in the path from timer output to trigger input.
tDIS=0:Setting in ADNDIS[3:0] (initial value = 0x00) ×ADCLK
tDIAG= 0:DIAGST[1:0] = 00 (Self-diagnosis not executed after power-on.)
tCONV= 0.67us: Operation at PCLKD = 48 MHz,High-precision channel, ADCSR.ADHSC = 0, ADSSTRn.SST[7:0] = 0x0A, ADACSR.ADSAC = 1
tED= 2 PCLKB + 3 ADCLK:PCLKB to ADCLK frequency ratio = 1:2
1.4
測試條件:
PCLKD (ADCLK) = 48MHz、PCLKB = 24MHz (PCLKB不能超過32MHz)、快速轉換模式、高速A/D轉換模式、AN000(高精度通道)、不使用自診斷
AD掃描轉換時間的理論值為:
tSCAN= tD+ tDIS×n + tDIAG+ tED+ tCONV×n
= (2 PCLKB + 4 ADCLK) + (0 cycles of ADCLK) ×1 + 0 + (2 PCLKB + 3 ADCLK) + tCONV×1 = 0.23 + 0.67 = 0.90 us
二
實測1
使用GPT+ELC+ADC+中斷方式
GPT:周期為50ms,允許GTIOC0A輸出
ELC:GPT的計數值發生Overflow時觸發AD轉換
ADC:Single Scan模式,選擇Channel0,允許掃描完成時產生中斷,在中斷中翻轉端口(P301:H –>L)
實際測量結果:7.31us
這個時間包括中斷響應時間和端口執行時間
測試代碼:(略)
考慮到中斷響應時間比較長,所以后面選擇使用DTC來翻轉端口
三
實測2
使用GPT+ELC+ADC+DTC方式
GPT:周期為50ms,允許GTIOC0A輸出
ELC:GPT的計數值發生Overflow時觸發AD轉換
ADC:Single Scan模式,選擇Channel0,允許掃描完成時產生中斷
DTC:觸發源為每次ADC掃描結束,進行DTC傳送,即翻轉IO口(P301:H –>L)
實際測量結果:1.36us
這個時間包括DTC的響應時間和端口執行時間
測試端口執行時間:大概為0.21us
測試代碼:(略)
四
實測3
使用GPT+ELC+ADC+DTC方式(500次)
GPT:周期為50ms,允許GTIOC0A輸出
ELC:GPT的計數值發生Overflow時觸發AD轉換
ADC:Continuous Scan模式,選擇Channel0,允許掃描完成時產生中斷
DTC:觸發源為每次ADC掃描結束,進行一次DTC傳送,500次傳送后,進入中斷,翻轉IO口(P301:H –>L)
實際測量結果:337.31us
這個時間包括DTC的響應時間、中斷相應時間和端口執行時間
折合到每次的話,大概0.67us
測試代碼:(略)
五
結論
1、手冊中的“0.67 μs/channel”僅僅是采樣時間和比較時間的總和,并非一個通道的掃描轉換時間。
2、在實測3的情況下,我們可以得到比較理想并且合理的結果,一次AD掃描轉換時間大概為0.67us。
3、使用FSP自動生成代碼的情況下,中斷響應時間是比較長的,所以建議采用DTC傳送數據,或者客戶自己寫中斷響應函數。測過GPT中斷響應時間大概是3.58us
-
mcu
+關注
關注
146文章
17148瀏覽量
351186 -
測試
+關注
關注
8文章
5303瀏覽量
126644 -
adc
+關注
關注
98文章
6498瀏覽量
544630
發布評論請先 登錄
相關推薦
評論