帶計(jì)算功能的模數(shù)轉(zhuǎn)換器 (ADCC) [和上下文 (ADCCC)] 是增強(qiáng)型 ADC 外設(shè),可從中央處理器 (CPU) 卸載信號處理的某些方面。例如,可以將這些外設(shè)配置為采集一定數(shù)量的樣本,將它們平均在一起,并在發(fā)生與過濾(計(jì)算)結(jié)果相關(guān)的特定條件時(shí)產(chǎn)生中斷。這些功能既可以減少 CPU 上的負(fù)載,又可以在 CPU 處于睡眠狀態(tài)時(shí)運(yùn)行。
本示例是為PIC18-Q43系列微控制器編寫的,但經(jīng)過適當(dāng)?shù)男薷模鼞?yīng)該與包含ADCC或ADCCC外設(shè)的其他微控制器兼容。
實(shí)現(xiàn)
增強(qiáng)型ADC的特性之一是能夠根據(jù)閾值測試觸發(fā)中斷。該實(shí)現(xiàn)方案將遲滯點(diǎn)置于ADCC的設(shè)定點(diǎn)寄存器(ADSTPT)中。獲取結(jié)果 (ADRES) 時(shí),將計(jì)算誤差值 (ADERR)。ADERR 具有多種計(jì)算模式,但此示例使用的模式為:
ADERR =ADRES – ADSTPT
ADERR 包含結(jié)果和設(shè)定值之間的差異。為了觸發(fā)閾值中斷,ADCC已設(shè)置為使用以下閾值測試:
ADERR < ADLTH(下限閾值)或 ADERR > ADUTH(上限閾值)
如果測試條件為真,則生成閾值中斷。此時(shí),必須使用ADRES的結(jié)果值更新設(shè)定值,以更新遲滯的中心點(diǎn)。這可以在中斷服務(wù)例程中完成,也可以使用中斷信號啟動從ADRES到ADSTPT的直接內(nèi)存訪問(DMA)傳輸。提供的示例程序使用基于中斷的方法,而電壓-頻率(V/F)轉(zhuǎn)換器使用直接內(nèi)存訪問(DMA)驅(qū)動的方法自動更新。
使用案例
此應(yīng)用程序可以通過幾種不同的方式使用。第一種是模擬比較器的數(shù)字版本。通常,數(shù)模轉(zhuǎn)換器(DAC)或其他外部源會為比較器設(shè)置基準(zhǔn)電平。但是,如果無法保留DAC輸出并且外部源不可用,則此配置將提供類似的功能。可以禁用自動更新以保持比較器電平恒定。
另一種選擇是過濾掉噪音。如果ADC正在采集樣本,并且存在噪聲,則可以使用遲滯來提供一些額外的抗擾度。電壓-頻率轉(zhuǎn)換器就是一個(gè)例子,它對ADCC進(jìn)行過采樣和平均,以獲得更高分辨率的結(jié)果,但極易受到噪聲的影響。遲滯有助于減少由隨機(jī)噪聲引起的頻率抖動。
審核編輯:郭婷
-
轉(zhuǎn)換器
+關(guān)注
關(guān)注
27文章
8739瀏覽量
147593 -
cpu
+關(guān)注
關(guān)注
68文章
10891瀏覽量
212455 -
adc
+關(guān)注
關(guān)注
98文章
6525瀏覽量
545267
發(fā)布評論請先 登錄
相關(guān)推薦
評論