999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于片上ADC/DAC實現精度可調ADC的方法

2010-03-26 07:31:56胡亮韓進薛慶軍
電子設計工程 2010年12期
關鍵詞:測量方法

胡亮,韓進,薛慶軍

(山東科技大學山東青島266510)

某系統的A/D模塊需實現檢測輸入電壓值,變化范圍為0~58 V。主芯片選用NXP公司的ARM7系列的LPC2368,片上自帶10位ADC和DAC,ADC測量輸入電壓范圍是0~3 V,而DAC的范圍是0~3 V。傳統方法是直接將輸入電壓送入ADC法滿足精度要求,但輸入電壓的變化范圍大于ADC的輸入電壓范圍。基于此,這里給出一種利用MCU自帶ADC和DAC,并結合運放、電容、電阻等元件搭建外圍硬件電路,實現10~20位測量精度可調的ADC的方法。

1 高精度ADC設計原理

輸入電壓經過電阻分壓產生電壓U入,送入由運放和電阻組成的減法運算電路的同相端,分壓的原因是輸入電壓最大值大于運放的最大輸入電壓。MCU的DAC輸出經過同相比例運算電路放大之后產生與U入相近的電壓U近,送入減法電路的反相端。同相比例運算電路的作用是擴大DAC的輸出電壓范圍,使U入和U近的最大值近似相等。經過減法運算電路之后的電壓差值U差經過箝位電路送入MCU的ADC,通過讀ADC寄存器的值可得U差的值。箝位電路是防止ADC的輸入電壓超過量程,而導致燒毀MCU。

在測量時,由軟件控制改變DAC寄存器的值,從而改變DAC輸出電壓值,使U差的電壓值在量程范圍(0~3 V)之內。此時通過讀DAC和ADC的寄存器的值,可得DAC輸出電壓與送入ADC的電壓U差的值。根據DAC的輸出電壓和同相比例運算電路公式可得U近電壓值,根據減法電路公式、U差和U近的值可得輸入電壓值。

系統硬件框圖如圖1所示。

圖1 系統硬件框圖Fig.1 Block diagram of system hardware

2 系統硬件設計

圖2為實現17位ADC原理圖。U101、R100、R101、R102、R103組成減法電路,U102、R108、R109、R116組成同相比例運算電路。VD100組成箝位電路。VR是由基準電壓源產生的3 V的基準電壓。R117和R118組成分壓電路,在R118上的電壓為45 mV可抵消運放的零漂。AD0是MCU的ADC通道0的輸入端。

圖2 17位ADC原理圖Fig.2 Schematic diagram of 17 bit ADC

圖2所示的電路雖然只是實現17位ADC,但通過修改幾個特定的電阻阻值就可實現調節測量輸入電壓范圍和ADC測量分辨率。通過修改同相比例運算電路中R109與R116比例值,可實現調節輸入電壓的測量范圍;通過修改減法電路中的R103與R100比例值,可實現調節ADC的分辨率。下面結合實現17位ADC硬件設計電路圖,具體說明如何實現17位高精度ADC、調節測量輸入電壓范圍和實現10~20位精度可調的ADC。

2.1 17位ADC的實現過程

對于一個n位的ADC,其分辨率為可測量最大輸入電壓值與2n的比值。因此,此電路圖可實現的ADC的位數可以通過輸入電壓的最大值和分辨率計算得出。

1)計算輸入電壓測量范圍的方法由圖2可知,ADC的輸入電壓計算公式如下:

由式(1)可推導出輸入電壓:

式中,VIN是輸入電壓,VDAOUT是當ADC的輸入電壓處于量程范圍之內時DAC電壓,VAD0是ADC輸入電壓。

由式(2)可知,當DAC的輸出電壓和ADC的輸入電壓剛好達到最大值3 V時,輸入電壓為59.1 V,此電壓值為系統可測量的最大輸入電壓值。由此可見輸入電壓的測量范圍是0~59.1 V。

2)ADC分辨率的計算方法當DAC的輸出為零時,即VDAOUT=0時,由式(2)可知輸入電壓VIN與VAD0的電壓的關系為:

VIN=VAD0/10。MCU的ADC位數是10位、最大輸入電壓是3 V,因此,ADC分辨率為0.292 mV。

3)實現17位ADC根據輸入電壓最大值與ADC分辨率的比值計算出此電路圖實現的ADC的位數。由59.1/(0.292×10-3)=202 397=217.6,可以看出此電路實現了17位的ADC。

2.2 調節測量輸入電壓范圍的方法

因為VAD0和VDAOUT的最大值都是3 V,由式(2)可知,可測量的最大輸入電壓值是由R100、R103、R116、R109決定的。改變R100與R103的比值會影響ADC的測量精度,因此,調節測量輸入電壓范圍主要是通過調節R116與R109的比值。由式(2)容易看出,當R116增加時,測量電壓輸入范圍增加,R109增加時測量電壓輸入范圍減小。

2.3 實現10~20位精度可調ADC的方法

由17位ADC的實現過程可知,此電路實現ADC的位數是由測量輸入電壓最大值和ADC的分辨率決定的。所以在改變ADC的位數時,要通過改變測量輸入電壓范圍或者ADC分辨率。但是,系統測量輸入電壓范圍是固定的。因此,可通過改變ADC分辨率實現ADC的位數改變。

1)調節ADC分辨率的方法當DAC的輸出電壓為零時,將式(2)化簡為式(3):

由式(3)可知,當MCU的ADC變化一個電壓刻度值時,VIN變化6R100/R103。ADC位數是10位、最大輸入電壓是3 V,因此,AD0分辨率為3 V/1 024=2.92 mV,ADC的分辨率為2.92×10-3×6R100/R103。由此可見,R100增加時,分辨率下降;R103增加時,分辨率提高。

2)實現10~20位精度可調ADC通過可測量的輸入電壓最大值與要實現的ADC的位數可計算出ADC的分辨率,再通過式(3)可求出R100與R103的比例關系。按照R100與R103的比例關系修改其阻值,即可實現要得到的ADC的位數。例如將本系統修改為20位ADC,則ADC測量精度應該為59.1 V/220=0.056 mV。由式(3)可知0.056=6×0.292×R100/R103,所以修改R103與R100的比值為312.8,即可以實現20位的ADC。通過此方法可實現10~20位精度可調的ADC。

2.4 硬件設計說明

U100是由運放OPA177F組成的電壓跟隨器,具有輸入阻抗高,輸出阻抗低的特點,在本系統中的作用是實現匹配U101的輸入電阻和提高對輸入電壓分壓的精確度。R101和R100第二級減法運算電路的輸入匹配電阻,其阻值不宜小于10 kΩ,太小會影響ADC的測量精度。R104為限流電阻,防止電流超過VD100的最大額定電流。

R117和R118組成分壓電路,在R118上的電壓為45 mv,可抵消運放的零漂。若不加此分壓電路且DAC輸出為零時,經過實際測量TP102點的電壓約為120 mV,這是由運放的零漂造成的,會影響ADC的測量精度。在每一個運放輸入端添加了0.1 μF的電容,去除高頻信號,提高輸入信號的穩定性。

3 系統軟件設計

軟件部分主要功能是對輸入電壓的測量。因為硬件設計中,運放和電阻本身的參數存在誤差,所以它們組成的放大電路的放大倍數存在誤差,從而造成ADC測量產生誤差。因此,傳統方法直接利用它們組成的放大電路的計算公式(式(2))計算出的輸入電壓值誤差比較大,電壓跳動明顯。因此,在系統第一次測量輸入電壓前,首先通過軟件設計建立輸入電壓校正表校正的方法實現減小誤差。

校正表是在第一次測量之前建立的數據表,作用是通過此表觀察輸入電壓值與測量值之間滿足何種曲線關系。在測量輸入電壓時,通過得到的曲線關系選擇拉格朗日插值算法,并將測量的值代入選擇的拉格朗日插值公式,計算出較為精確的輸入電壓值。

3.1 軟件實現過程

軟件設計過程主要包括MCU的ADC進行初始化,建立輸入電壓校正表,計算表達式(5)的值,拉格朗日插值計算輸入電壓,顯示輸入電壓值。軟件設計流程如3所示。

圖3 軟件設計流程圖Fig.3 Flow chart of software design

設X為MCU的DAC數字量十進制的值,Y為MCU的ADC數字量十進制的值。

則VDAOUT=XVR/1 024、VAD0=YVR/1 024

設K1=R116/R109,K2=R103/R100,則式(2)可化簡為式(4):

由式(4)可得式(5):

3.1.1 初 始化ADC

主要是對MCU的ADC進行初始化,主要包括ADC寄存器配置、選擇I/O口的工作模式、選擇ADC的通道、啟動ADC。

3.1.2 校 正

校正是在測量輸入電壓前,首先利用基準電壓源輸入多個基準電壓值,并通過讀MCU的ADC寄存器值記錄對應的數字量的值,并將這兩項的值保存到校正表中。在測量輸入電壓時,將所得的數字量的值利用拉格朗日插值算法代入校正表可得精確的輸入電壓值。

1)校正表內容校正的過程主要是通過建立校正表建立起實際輸入電壓值與測量輸入電壓值的聯系。校正表存放兩項數據。一項是1~59 V的整數電壓值,另一項是式(5)的和。因為系統測量的輸入電壓值是只保留到小數點后2位的近似值,而式(5)中包含測量的ADC和DAC的十進制數字量值更為精確。由式(4)可看出式(5)的值與測量的輸入電壓值存在比例關系,所以它們與實際輸入電壓的曲線關系相同。因此,另一項的內容存放的是式(5)的和。

2)建立校正表的過程從1~59 V,用電壓源每隔1 V輸入一次電壓,通過讀MCU的ADC和DAC寄存器的值,記錄每次ADC和DAC的數字量十進制的值。將記錄的ADC和DAC的值代入式(5)計算其和并保存到校正表中。

3.1.3 計 算式(5)的和值

通過程序改變MCU的DAC寄存器的值實現改變DAC的輸出電壓值,在改變DAC寄存器的值的同時通過觀察ADC的寄存器的值確定AD0的輸入電壓值是否在量程范圍之內。當AD0的輸入在量程范圍之內時,通過讀DAC寄存器和ADC的寄存器值可分別獲得MCU的DAC和ADC的數字量十進制值,將獲得的值代入式(5)可得其和。

3.1.4 計 算輸入電壓

計算輸入電壓函數實現功能是利用拉格拉日插值公式計算出輸入電壓。通過坐標軸觀察校正表中數據,實際輸入電壓值與測量值滿足線性關系。在輸入電壓校正表中,查找與式(6)的值最接近的2個點,然后代入拉格拉日線性插值公式計算出輸入電壓。

3.2 實驗結果

利用傳統方法直接送入ADC測量輸入電壓的精度理想情況下最高為59.1/1 024=57.7 mV,由于硬件參數誤差和干擾等原因會使測量誤差大于20 mV,無法滿足系統的測量精度和準確度要求。利用本文所提出的17位高精度A/D測量方法測量精度可減小為0.45 mV,通過軟件校正的方法測量誤差可控制在10 mV以內,滿足了設計要求。通過本文所述提高測量精度的方法,最高可實現20位ADC,測量精度可減小為0.056 mV。

4 結束語

本文基于NXP的LPC2368,利用其內部集成的ADC和DAC,實現高精度且精度可調的ADC,這種方法容易實現,可以應用在眾多數據采集領域,如傳感器的數據采集、電壓信號的測量等,只要選用的MCU自帶ADC和DAC,就可以采用本文方法實現最高精度達20位的高精度且精度可調的ADC。

[1]童詩白,華成英.模擬電子技術基礎[M].北京:高等教育出版社,2008.

[2]閻石.數字電子技術基礎[M].北京:高等教育出版社,2004.

[3]劉川來,胡乃平.計算機控制技術[M].北京:機械工業出版社,2008.

[4]Philips Semiconductor.LPC2364/6/8/78 user manual.[EB/OL].(2009-04-02)[2010-05-02].http://www.zlgmcu.com/philips/arm/LPC23xx/LPC23XX_um.pdf.

[5]周立功.ARM微控制器基礎與實戰[M].北京:北京航空航天大學出版社,2004.

[6]楊峰.一種簡易提高A/D轉換器分辨率的方法[J].微計算機信息,2007,8(2):282-283.YANG Feng.A simple methods to improve resolution of A/D converter[J].Micro-computer information,2007,8(2):282-283.

猜你喜歡
測量方法
把握四個“三” 測量變簡單
學習方法
滑動摩擦力的測量和計算
滑動摩擦力的測量與計算
測量的樂趣
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
測量
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 激情亚洲天堂| 99青青青精品视频在线| 精品国产免费观看一区| 久久精品视频亚洲| 国产成人久久777777| 欧美影院久久| 9999在线视频| jizz在线观看| 国产又色又刺激高潮免费看| 999精品在线视频| 国产日韩欧美在线视频免费观看| 亚洲精品第五页| 久久青青草原亚洲av无码| 欧美a级在线| 风韵丰满熟妇啪啪区老熟熟女| 亚洲区一区| 国产综合亚洲欧洲区精品无码| 伊人网址在线| 天堂va亚洲va欧美va国产| 亚洲欧美在线综合图区| 国产十八禁在线观看免费| 亚洲午夜片| 六月婷婷激情综合| 国产亚洲精品精品精品| 亚洲成aⅴ人在线观看| 成年午夜精品久久精品| 中文字幕日韩丝袜一区| 国产在线观看一区精品| 日本精品视频一区二区| 国产日本欧美在线观看| 青草视频免费在线观看| 亚洲欧美激情另类| 97在线公开视频| 久久久四虎成人永久免费网站| 日韩美女福利视频| 无码一区18禁| 色有码无码视频| 亚洲全网成人资源在线观看| 国产高清无码第一十页在线观看| 91小视频在线播放| av无码久久精品| 国产二级毛片| 怡春院欧美一区二区三区免费| 91无码视频在线观看| 欧美日韩中文字幕二区三区| 日韩欧美亚洲国产成人综合| 黄网站欧美内射| 在线欧美日韩国产| 四虎精品免费久久| 亚洲欧美成人影院| 红杏AV在线无码| 青青草原国产一区二区| 欧美a√在线| 5388国产亚洲欧美在线观看| 久久熟女AV| 无码内射在线| 亚洲性网站| 日韩高清在线观看不卡一区二区 | 中文字幕免费视频| 亚洲欧美日本国产专区一区| 日韩第九页| 中文精品久久久久国产网址| 国产1区2区在线观看| 免费观看男人免费桶女人视频| 欧美成人午夜视频| 丁香六月激情婷婷| 四虎成人免费毛片| 一本大道无码日韩精品影视| 亚洲不卡影院| 久久久久人妻一区精品| 91无码网站| 免费a级毛片视频| 韩国自拍偷自拍亚洲精品| 国产欧美视频综合二区| 日韩中文字幕免费在线观看| 一级毛片在线播放免费观看| 欧美翘臀一区二区三区| 国产乱子伦视频三区| 国产成人福利在线| 成人福利在线视频| 国产成人超碰无码| 亚洲第一香蕉视频|