眾所周知,模數(shù)轉(zhuǎn)換,即Analog-to-Digital Converter,常稱ADC,是指將連續(xù)變量的模擬信號轉(zhuǎn)換為離散的數(shù)字信號的器件。主要用于對模擬信號進(jìn)行數(shù)字采集,以進(jìn)行數(shù)據(jù)處理。通常情況下,在轉(zhuǎn)換完成時讀取轉(zhuǎn)換結(jié)果。而ADC中的窗口比較功能,會檢測ADC結(jié)果是否低于或高于特定閾值,當(dāng)轉(zhuǎn)換結(jié)果在某一個范圍時可以觸發(fā)中斷,幾乎無需軟件干預(yù)。該配置非常實用,它可以監(jiān)視信號是否按照要求保持在特定范圍內(nèi),或者在電池電量不足/過充時發(fā)出信號。
RA MCU中一般都會包括12位逐次逼近型A/D轉(zhuǎn)換器(ADC12)單元,最多可選擇13路模擬量輸入通道、溫度傳感器輸出、內(nèi)部參考電壓進(jìn)行轉(zhuǎn)換。
同時,ADC12還提供比較功能(窗口A和窗口B)。比較功能分別指定窗口A和窗口B的參考值上限和的參考值下限,當(dāng)所選通道的A/D轉(zhuǎn)換值滿足比較條件時輸出中斷。窗口A和窗口B的主要區(qū)別在于它們的中斷輸出信號不同以及對窗口B只能選擇一個通道的限制。
窗口A比較功能相關(guān)的寄存器有ADCMPCR、ADCMPLR0/1和ADCMPDR0/1寄存器,詳情請參考RA硬件手冊。
ADC數(shù)據(jù)與可設(shè)置的高低閾值進(jìn)行比較,并可為AD數(shù)據(jù)在設(shè)定的門限值內(nèi)、外、高或低自動生成比較中斷。需要設(shè)置三個選項位置,接下來我們將逐個介紹各種情況下屬性設(shè)置和用戶代碼。
A/D轉(zhuǎn)換結(jié)果高于門限值時產(chǎn)生窗口比較A中斷(ADC120_CMPAI)
若想實現(xiàn)上面的比較功能,請按照下圖中所示,在FSP中設(shè)置ADC屬性。
(1)Input → Window Compare → Window A
Enable:選擇Enabled
Lower Reference:請在這里設(shè)定閾值
(2) Input → Window Compare
Window Mode:選擇Disabled
當(dāng)AD轉(zhuǎn)換結(jié)果 > ADCMPDR0(Lower Reference 設(shè)定值時)時,產(chǎn)生Compare中斷。
A/D轉(zhuǎn)換結(jié)果低于門限值時產(chǎn)生窗口比較A中斷(ADC120_CMPAI)
若想實現(xiàn)上圖的比較功能,請按照下圖中所示,在FSP中設(shè)置ADC屬性。
(1)Input → Window Compare → Window A
Enable:選擇Enabled
Lower Reference:請在這里設(shè)定閾值
(2) Input → Window Compare
Window Mode:選擇Disabled
(3)代碼中將CMPLCHA0位置為“0”
R_ADC0->ADCMPLR_b->CMPLCHA0 = 0;
當(dāng)AD轉(zhuǎn)換結(jié)果 < ADCMPDR0(Lower Reference 設(shè)定值時),產(chǎn)生Compare中斷。
A/D轉(zhuǎn)換結(jié)果在門限值內(nèi)
若想實現(xiàn)上圖的比較功能,請按照下圖中所示,在FSP中設(shè)置ADC屬性。
(1)Input → Window Compare → Window A
Enable:選擇Enabled
Lower Reference、Upper Reference:請在這里設(shè)定閾值
(2) Input → Window Compare
Window Mode:選擇Enabled
當(dāng)ADCMPDR0(Lower Reference設(shè)定值時)< AD轉(zhuǎn)換結(jié)果< ADCMPDR1(Upper Reference設(shè)定值時)時,產(chǎn)生Compare中斷。
A/D轉(zhuǎn)換結(jié)果在門限值外
若想實現(xiàn)上圖的比較功能,請按照下圖中所示,在FSP中設(shè)置ADC屬性。
(1)Input → Window Compare → Window A
Enable:選擇Enabled
Lower Reference、Upper Reference:請在這里設(shè)定閾值
(2) Input → Window Compare
Window Mode:選擇Enabled
(3)代碼中將CMPLCHA0位置為“0”
R_ADC0->ADCMPLR_b->CMPLCHA0 = 0;
當(dāng)AD轉(zhuǎn)換結(jié)果<ADCMPDR0(Lower Reference 設(shè)定值時)或者>ADCMPDR1(Upper Reference設(shè)定值時)時,產(chǎn)生Compare中斷。
-
mcu
+關(guān)注
關(guān)注
146文章
17123瀏覽量
350975 -
adc
+關(guān)注
關(guān)注
98文章
6495瀏覽量
544457 -
模擬信號
+關(guān)注
關(guān)注
8文章
1128瀏覽量
52442 -
數(shù)字信號
+關(guān)注
關(guān)注
2文章
969瀏覽量
47538
發(fā)布評論請先 登錄
相關(guān)推薦
評論