在電路中實現(xiàn)模數(shù)轉(zhuǎn)換是設計人員面臨的最常見的任務之一。它可以通過各種方式來完成。但是對于諸如DC電壓表等眾多簡單的低帶寬應用而言,目標是在保持較低的實現(xiàn)成本的同時,仍然能實現(xiàn)高分辨率的模數(shù)轉(zhuǎn)換。
圖1所示為這種電路的簡化原理圖。有兩個輸入電壓連接到運算放大器U1,一次連接一個。Vref是校準中使用的固定參考電壓,而Vmeas是要轉(zhuǎn)換的未知電壓。電阻R1和電容C1構(gòu)成一個充電電路,可用于將輸入電壓轉(zhuǎn)換成時間。電路中U1的存在可以消除當輸入電壓直接施加于R1和C1時所產(chǎn)生的對數(shù)特性。
該電路使用了Microchip的PIC16F5X單片機,通過打開和關(guān)閉四個開關(guān)(S1至S4)來控制U1的運行。此外,單片機會測量時間并計算出未知輸入電壓的數(shù)字表示方式。
該電路也可被用作電流模式A-D轉(zhuǎn)換器。在這種情況下,不需要輸入電壓到電流轉(zhuǎn)換器,且參考電流和輸入電流都通過模擬開關(guān)直接傳輸至電容。
該轉(zhuǎn)換器僅僅只需要5個外部元件,其軟件和硬件經(jīng)過配置可實現(xiàn)6至10位的轉(zhuǎn)換分辨率以及250 μs或更長的轉(zhuǎn)換時間。這個方法可用于電壓和電流的轉(zhuǎn)換,其采用的軟件校準技術(shù)可以補償時間和溫度漂移,以及元件的誤差。
圖2所示的U1輸出電壓Vo波形圖直觀地展示了不同的轉(zhuǎn)換階段。
圖2:運算放大器輸出電壓波形
在t0-t1階段,開關(guān)S1和S3打開,S2和S4關(guān)閉,RA0經(jīng)軟件設置而接地。這便得到了圖3中的等效電路。
圖3:放電過程中的等效電路
由于Vin等于Vref且S3促成了單位增益反饋,因此Vo等于Vref。C1在放電或在復位之后首次放電。在任何情況下,這一階段確保了C1被充分放電之后再進入到下一階段。在t1結(jié)束時,S1保持在打開狀態(tài),S2保持關(guān)閉,S3被關(guān)閉,S4被打開,而RA0被配置成輸入引腳。這樣就得到了圖4中的等效電路。
作為Vref的函數(shù),Vo在C1充電期間開始呈線性上升趨勢。而Vo的增加將一直持續(xù)直到達到單片機的閾值電壓輸入Vth。這會產(chǎn)生一個等同于參考電壓充電時間tref的軟件校準值。
這個校準值得到測量并用于校準大部分的電路誤差,包括電阻和電容的誤差、Vth的變化以及溫度的變化。
在軟件校準值于t2階段得到測量之后,打開S2和S3,關(guān)閉S1和S4,RA0再次經(jīng)軟件設置而接地。這就得到了圖3中相同的等效電路。然而,由于Vin等于Vmeas且S3促成了單位增益反饋,Vo與Vmeas相等。從t2到t3階段,C1都在放電。在t3階段結(jié)束時,S2保持打開狀態(tài),S1保持關(guān)閉,S3被關(guān)閉,S4被打開,而RA0被配置成輸入引腳。這便得到了圖4中相同的等效電路。
作為Vmeas的函數(shù),Vo在C1充電期間開始呈線性上升趨勢。而Vo的增加將一直持續(xù)直到達到單片機的Vth。這會產(chǎn)生一個等同于tmeas的軟件Vmeas值。這個值將與軟件校準值進行比較,以確定Vmeas的實際數(shù)字表示方式。
相關(guān)的公式
基于電路運行情況,下列公式將被單片機應用于計算轉(zhuǎn)換結(jié)果。在圖4中,通過R1的電流等于通過C1的電流。當輸入電壓Vin等于Vref時,兩個電流之間的關(guān)系可由圖5中的公式1來表示。而當Vin等于Vmeas時,兩個電流之間的關(guān)系可由圖5中的公式2來表示。
用積分形式表示公式1和2可以得到公式3和4所示的結(jié)果。由于Vref和Vmeas有恒定的輸入值,公式3和4可以進一步簡化為公式5和6。因為在每個測量結(jié)束時,公式5和6的Vo都等于Vth。所以將這兩個公式進一步合并可以得到公式7。在公式7中,我們可以約去R1和C1從而得出Vmeas這一未知輸入電壓的計算公式。
從公式8可以明顯看出,測量結(jié)果與電路元件R1及C1的值是沒有關(guān)系的。因此,轉(zhuǎn)換將不會受到因不精確或溫度變化而導致的R1及C1值誤差的影響。然而這并不是說,R1和C1的值在A-D轉(zhuǎn)換器的設計中無足輕重。我們應該基于分辨率位數(shù)來選擇R1與C1的值。變換公式6我們就得到了圖6中計算R1C1的公式9。
圖6:R1C1值的計算
R1C1的實際值應略小于計算出的結(jié)果,以確保在測量過程中PIC16F5X單片機計數(shù)不會超出范圍。要注意的是,使用匯編語言和使用C語言時的R1C1值是不同的,這是因為使用C語言時每個計數(shù)的指令周期比使用匯編語言時要更大。
電路性能
在實際應用中,如果測量精度允許的話,使用較低的分辨率位數(shù)和更高的時鐘源是很有利的。這樣的話,數(shù)學代碼將大幅減少,同時測量時間也會因代碼更簡單、計數(shù)更短而減少。
校準值可消除所有的一階誤差(失調(diào)、增益、R和C誤差、電源電壓和溫度),除參考電壓漂移以外。參考電壓的任何變化,包括噪聲在內(nèi),都可能會導致測量誤差。其它誤差源還可能包含模擬開關(guān)漏電、電阻和電容的非線性現(xiàn)象、輸入閾值的不確定性以及時間測量的不確定性(加上或減去一個指令周期時間)。測量出的性能顯示,轉(zhuǎn)換器的精度在滿刻度的1%范圍內(nèi)。
結(jié)論
對于簡單的低帶寬模擬應用而言,通常需要一個成本低、而分辨率高的A-D轉(zhuǎn)換器。本文說明了如何通過使用PIC16F5X基礎(chǔ)系列單片機來滿足這樣的要求。A-D轉(zhuǎn)換器并不只有使用元件較少的優(yōu)勢,同時它還具有校準大部分電路誤差的功能。
-
電源
+關(guān)注
關(guān)注
184文章
17704瀏覽量
249956 -
單片機
+關(guān)注
關(guān)注
6035文章
44554瀏覽量
634628 -
運算放大器
+關(guān)注
關(guān)注
215文章
4929瀏覽量
172831
發(fā)布評論請先 登錄
相關(guān)推薦
評論