AD轉(zhuǎn)換時(shí)間指的是完成一次AD轉(zhuǎn)換所需的時(shí)間,即從啟動(dòng)信號(hào)開始到轉(zhuǎn)換結(jié)束并得到穩(wěn)定的數(shù)字輸出量所需要的時(shí)間。
不知道大家平時(shí)使用ADC有沒有關(guān)注轉(zhuǎn)換時(shí)間的問題,這里結(jié)合瑞薩單片機(jī)為例給大家講述一下AD轉(zhuǎn)換時(shí)間的理論推算與測量。
從RA2L1硬件手冊(cè)(R01UH0853EJ0130)第1067頁的電氣特性“Table 41.35 A/D conversion characteristics (1) in high-speed A/D conversion mode (2 of 2) ”中的內(nèi)容,看到RA2L1的AD轉(zhuǎn)換時(shí)間在對(duì)應(yīng)的測試條件下最小值為0.67us。
那么如果用戶測試AD轉(zhuǎn)換時(shí)間,是否能得到跟硬件手冊(cè)中電氣特性的最小AD conversion time (0.67us) 一樣的結(jié)果呢?
基于上述問題,我們從理論和實(shí)際兩方面做了分析和測試。
理論分析
首先,基于RA2L1硬件手冊(cè)中Figure 30.25和Figure 30.26, 單次掃描模式下所選通道數(shù)為n的掃描轉(zhuǎn)換時(shí)間(tSCAN)可按如下方式確定:
tSCAN = tD + tDIS × n + tDIAG + tED + tCONV × n
tSCAN: 掃描轉(zhuǎn)換時(shí)間
tD: 開始掃描延遲時(shí)間
tDIS: 斷線檢測輔助處理時(shí)間
tDIAG 和 tDSD: 自診斷A/D轉(zhuǎn)換處理時(shí)間
tCONV: A/D轉(zhuǎn)換處理時(shí)間
tED: 結(jié)束掃描延遲時(shí)間
另外,參考“Table 41.35 A/D conversion characteristics (1) in high-speed A/D conversion mode (2 of 2) ”中Note 1的內(nèi)容,轉(zhuǎn)換時(shí)間是采樣時(shí)間和比較時(shí)間的總和。也就是說,這里的轉(zhuǎn)換時(shí)間指的僅僅是tCONV,而并非掃描轉(zhuǎn)換時(shí)間tSCAN。測試的話測量的是掃描轉(zhuǎn)換時(shí)間,所以不能以“最小0.67us” 這個(gè)數(shù)值作為參考。
接下來,我們先從理論上計(jì)算一下如何獲得掃描轉(zhuǎn)換時(shí)間的最小值。參考RA2L1硬件手冊(cè),選取公式中每一項(xiàng)的最小值和其對(duì)應(yīng)的條件。
tSCAN = tD + tDIS × n + tDIAG + tED + tCONV × n
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
從而確定測試條件為:PCLKD (ADCLK) = 48MHz、PCLKB = 24MHz(PCLKB不能超過32MHz)、快速轉(zhuǎn)換模式、高速A/D轉(zhuǎn)換模式、AN000(高精度通道)、不使用自診斷。
基于以上測試條件,計(jì)算AD掃描轉(zhuǎn)換時(shí)間的理論值為:
實(shí)際測試
對(duì)照著AD掃描轉(zhuǎn)換時(shí)間的理論值為0.90us,進(jìn)行了以下3個(gè)測試:
1使用GPT+ELC+ADC+中斷方式進(jìn)行測試
● GPT:設(shè)置周期為50ms,允許GTIOC0A輸出
● ELC:設(shè)置GPT的計(jì)數(shù)值發(fā)生Overflow時(shí)觸發(fā)AD轉(zhuǎn)換
● ADC:設(shè)置為Single Scan模式,選擇Channel 0,允許掃描完成時(shí)產(chǎn)生中斷,在中斷Callback函數(shù)中翻轉(zhuǎn)端口(P301:H→L)
通過以上波形,可以得到實(shí)際測試結(jié)果為7.31us。根據(jù)測試情況進(jìn)行分析,這個(gè)時(shí)間包括了中斷響應(yīng)時(shí)間和端口執(zhí)行時(shí)間。
采用在中斷中翻轉(zhuǎn)端口測量ADC轉(zhuǎn)換時(shí)間,結(jié)果較理論值長很多,接下來使用DTC來翻轉(zhuǎn)端口。
2使用GPT+ELC+ADC+DTC方式進(jìn)行測試
● GPT:設(shè)置周期為50ms,允許GTIOC0A輸出
● ELC:設(shè)置GPT的計(jì)數(shù)值發(fā)生Overflow時(shí)觸發(fā)AD轉(zhuǎn)換
● ADC:設(shè)置為Single Scan模式,選擇Channel 0,允許掃描完成時(shí)產(chǎn)生中斷
● DTC:觸發(fā)源為每次ADC掃描結(jié)束,進(jìn)行DTC傳送,即翻轉(zhuǎn)IO口(P301:H→L)
通過以上波形,可以得到實(shí)際測量結(jié)果為1.36us (VS理論值0.67us)。根據(jù)測試情況進(jìn)行分析,這個(gè)時(shí)間包括DTC的響應(yīng)時(shí)間和端口執(zhí)行時(shí)間。
單獨(dú)測試端口執(zhí)行時(shí)間,大概為0.21us。
采用單次轉(zhuǎn)換測量ADC轉(zhuǎn)換時(shí)間,結(jié)果較理論值偏長,接下來使用多次轉(zhuǎn)換測量總時(shí)間,用來消除端口翻轉(zhuǎn)時(shí)間的影響。
3使用GPT+ELC+ADC+DTC方式(500次)進(jìn)行測試
● GPT:設(shè)置周期為50ms,允許GTIOC0A輸出
● ELC:設(shè)置GPT的計(jì)數(shù)值發(fā)生Overflow時(shí)觸發(fā)AD轉(zhuǎn)換
● ADC:設(shè)置為Continuous Scan模式,選擇Channel 0,允許掃描完成時(shí)產(chǎn)生中斷
● DTC:觸發(fā)源為每次ADC掃描結(jié)束,進(jìn)行一次DTC傳送,500次傳送后,在中斷Callback函數(shù)中,翻轉(zhuǎn)IO口(P301:H→L)
通過以上波形,可以得到實(shí)際測量結(jié)果為337.31us/500 = 0.67us (=理論值)。根據(jù)測試情況進(jìn)行分析,這個(gè)時(shí)間包括DTC的響應(yīng)時(shí)間、中斷響應(yīng)時(shí)間和端口執(zhí)行時(shí)間。
這個(gè)測試結(jié)果和理論值相符,因?yàn)檫@個(gè)時(shí)間還包括DTC的響應(yīng)時(shí)間、中斷響應(yīng)時(shí)間和端口執(zhí)行時(shí)間,所以可以推斷實(shí)際測量結(jié)果優(yōu)于電氣特性中內(nèi)容。
最后,總結(jié)一下AD轉(zhuǎn)換時(shí)間的計(jì)算和測量。
● 手冊(cè)中的“0.67 μs/channel”僅僅是采樣時(shí)間和比較時(shí)間的總和,并非一個(gè)通道的全部掃描轉(zhuǎn)換時(shí)間。
● 在實(shí)測③的情況下,我們可以得到比較理想并且合理的結(jié)果,一次AD掃描轉(zhuǎn)換時(shí)間大概為0.67us。
● 使用FSP自動(dòng)生成代碼的情況下,中斷響應(yīng)時(shí)間是比較長的,所以建議采用DTC傳送數(shù)據(jù),或者客戶采用自己的ADC中斷響應(yīng)函數(shù)。
-
單片機(jī)
+關(guān)注
關(guān)注
6040文章
44587瀏覽量
636795 -
adc
+關(guān)注
關(guān)注
98文章
6524瀏覽量
545176 -
瑞薩
+關(guān)注
關(guān)注
35文章
22309瀏覽量
86504 -
硬件
+關(guān)注
關(guān)注
11文章
3352瀏覽量
66331 -
AD轉(zhuǎn)換
+關(guān)注
關(guān)注
3文章
168瀏覽量
45349
原文標(biāo)題:單片機(jī)AD轉(zhuǎn)換時(shí)間的理論推算與測量
文章出處:【微信號(hào):strongerHuang,微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論