
眾所周知,模數轉換,即Analog-to-Digital Converter,常稱ADC,是指將連續變量的模擬信號轉換為離散的數字信號的器件。主要用于對模擬信號進行數字采集,以進行數據處理。通常情況下,在轉換完成時讀取轉換結果。而ADC中的窗口比較功能,會檢測ADC結果是否低于或高于特定閾值,當轉換結果在某一個范圍時可以觸發中斷,幾乎無需軟件干預。該配置非常實用,它可以監視信號是否按照要求保持在特定范圍內,或者在電池電量不足/過充時發出信號。
(資料圖片)
本文以RA4M2為例介紹如何設置ADC窗口比較功能。
RA MCU中一般都會包括12位逐次逼近型A/D轉換器(ADC12)單元,最多可選擇13路模擬量輸入通道、溫度傳感器輸出、內部參考電壓進行轉換。
同時,ADC12還提供比較功能(窗口A和窗口B)。比較功能分別指定窗口A和窗口B的參考值上限和的參考值下限,當所選通道的A/D轉換值滿足比較條件時輸出中斷。窗口A和窗口B的主要區別在于它們的中斷輸出信號不同以及對窗口B只能選擇一個通道的限制。
這里以窗口A為例進行介紹。窗口A有以下4種比較模式。
? 結果低于閾值
? 結果高于閾值
? 結果在窗口內
? 結果在窗口外
窗口A比較功能相關的寄存器有ADCMPCR、ADCMPLR0/1和ADCMPDR0/1寄存器,詳情請參考RA硬件手冊。
ADC數據與可設置的高低閾值進行比較,并可為AD數據在設定的門限值內、外、高或低自動生成比較中斷。需要設置三個選項位置,接下來我們將逐個介紹各種情況下屬性設置和用戶代碼。
1A/D轉換結果高于門限值時產生窗口比較A中斷(ADC120_CMPAI)
若想實現上面的比較功能,請按照下圖中所示,在FSP中設置ADC屬性。
(1)Input → Window Compare → Window A
Enable:選擇Enabled
Lower Reference:請在這里設定閾值
(2) Input → Window Compare
Window Mode:選擇Disabled
當AD轉換結果 > ADCMPDR0(Lower Reference 設定值時)時,產生Compare中斷。
2A/D轉換結果低于門限值時產生窗口比較A中斷(ADC120_CMPAI)
若想實現上圖的比較功能,請按照下圖中所示,在FSP中設置ADC屬性。
(1)Input → Window Compare → Window A
Enable:選擇Enabled
Lower Reference:請在這里設定閾值
(2) Input → Window Compare
Window Mode:選擇Disabled
(3)代碼中將CMPLCHA0位置為“0”
R_ADC0->ADCMPLR_b->CMPLCHA0 = 0;
當AD轉換結果 < ADCMPDR0(Lower Reference 設定值時),產生Compare中斷。
3A/D轉換結果在門限值內
若想實現上圖的比較功能,請按照下圖中所示,在FSP中設置ADC屬性。
(1)Input → Window Compare → Window A
Enable:選擇Enabled
Lower Reference、Upper Reference:請在這里設定閾值
(2) Input → Window Compare
Window Mode:選擇Enabled
當ADCMPDR0(Lower Reference設定值時)< AD轉換結果< ADCMPDR1(Upper Reference設定值時)時,產生Compare中斷。
4
A/D轉換結果在門限值外
若想實現上圖的比較功能,請按照下圖中所示,在FSP中設置ADC屬性。
(1)Input → Window Compare → Window A
Enable:選擇Enabled
Lower Reference、Upper Reference:請在這里設定閾值
(2) Input → Window Compare
Window Mode:選擇Enabled
(3)代碼中將CMPLCHA0位置為“0”
R_ADC0->ADCMPLR_b->CMPLCHA0 = 0;
當AD轉換結果<ADCMPDR0(Lower Reference 設定值時)或者>ADCMPDR1(Upper Reference設定值時)時,產生Compare中斷。
另外,使用窗口比較功能時請注意以下限制:
比較功能不能與自診斷功能或雙觸發模式一起使用。(比較功能不適用于ADRD、ADDBLDR、ADDBLDRA和ADDBLDRB。)
使用匹配/不匹配事件輸出時請使用單次掃描模式。
當溫度傳感器輸出時,窗口A選擇內部參考電壓,窗口B操作被禁用。
當溫度傳感器輸出時,窗口B選擇內部參考電壓,窗口A操作被禁用。
禁止為窗口A和窗口B設置相同的通道。
設置參考電壓值時,請將高電位參考電壓值設置為大于或等于低電位參考電壓值。
審核編輯:湯梓紅標簽: