一種基於PWM的電壓輸出DAC電路設計
一種基於PWM的電壓輸出DAC電路設計pcbomb 發表於 2007-4-2 22:29:00 閱讀全文(737) | 回復(0) | 引用通告(3) | 編輯
秦 健
廣州民航職業技術學院 通訊系廣東 510403
摘 要:對實際應用中的脈寬調製(PWM)波形的頻譜進行了理論分析,指出通過一個低通濾波器可以把PWM調製的數模轉換信號解調出來,實現從PWM到DAC的轉換。論文還對轉換誤差產生的因素進行了分析,指出了減少誤差的方法,論文給出了兩種從PW M到0~5V電壓輸出的電路實現方法,第2種電路具有很高的轉換精度。
關鍵詞:脈寬調製;電路設計;數模轉換器;單片機
Abstract:This paper analyzes the frequency spectrum of a practical PWM wave and points out that it is possible to demodulate thedigital to analog signal from PWM with a lowpass filter and to realizea DAC This paper also analyzes the error due to transform and givessome methods to reduce errors This paper designs two DAC electroniccircuits from PWM to voltage 0~5 V output The second circuit is a DACwith high precision
Keywords:PWM;electronic circuit design;DAC;singlechip microcomputer
在電子和自動化技術的應用中,單片機和DAC(數模轉換器)是經常需要同時使用的,然而許多單片機內部並沒有集成DAC,即使有些單片機內部集成了DAC,DAC的精度也往往不高,在高精度的應用中還是需要外接DAC,這樣增加了成本。但是,幾乎所有的單片機都提供定時器或者PWM輸出功能。如果能應用單片機的PWM輸出(或者通過定時器和軟體一起來實現PWM輸出),經過簡單的變換電路就可以實現DAC,這將大量降低成本電子設備的成本、減少體積,並容易提高精度。本文在對PWM到DAC轉換關係的理論分析的基礎上,設計出輸出為0~5V電壓的DAC。
1應用PWM實現DAC的理論分析
PWM是一種周期一定而高低電平的占空比可以調製的方波信號,圖1是一種在電路中經常遇到的PWM波。該PWM的高低電平分別為VH和VL,理想的情況VL等於0,但是實際中一般不等於0,這往往是應用中產生誤差的一個主要原因。
圖1的PWM波形可以用分段函數表示為式(1):
其中:T是單片機中計數脈衝的基本周期,即單片機每隔T時間記一次數(計數器的值增加或者減少1),N是PWM波一個周期的計數脈衝個數,n是PWM波一個周期中高電平的計數脈衝個數,VH和VL分別是PWM波中高低電平的電壓值,k為諧波次數,t為時間。把式(1)所表示的函數展開成傅里葉級數[1],得到式(2):
從式(2)可以看出,式中第1個方括弧為直流分量,第2項為1次諧波分量,第3項為大於1次的高次諧波分量。式(2)中的直流分量與n成線性關係,並隨著n從0到N,直流分量從VL到VL+VH之間變化,這正是電壓輸出的DAC所需要的。因此,如果能把式(2)中除直流分量的諧波過濾掉,則可以得到從PWM波到電壓輸出DAC的轉換,即:PWM波可以通過一個低通濾波器進行解調。式(2)中的第2項的幅度和相角與n有關,頻率為1/(NT),該頻率是設計低通濾波器的依據。如果能把1次諧波很好過濾掉,則高次諧波 就應該基本不存在了。
根據上述分析可以得到如圖2所示的從PWM到DAC輸出的信號處理方塊圖,根據該方塊圖可以 有許多電路實現方法,在單片機的應用中還可以通過軟體的方法進行精度調整和誤差的進一 步校正。
在DAC的應用中,解析度是一個很重要的參數,圖1的解析度計算直接與N和n的可能變化有關,計算公式如式(3):
表1給出了不同N和n的情況下的解析度。
從表1和式(3)可以看出,N越大DAC的解析度越高,但是NT也越大,即PWM的周期或者式(2)中的1次諧波周期也越大,相當於1次諧波的頻率也越低,需要截止頻率很低的低通濾波器,DAC輸出的滯後也將增加。一種解決方法就是使T減少,即減少單片機的計數脈衝寬度(這往往需要提高單片機的工作頻率),達到不降低1次諧波頻率的前提下提高精度。在實際中,T的減少受到單片機時鐘和PWM後續電路開關特性的限制。如果在實際中需要微秒級的T,則後續電路需要選擇開關特性較好的器件,以減少PWM波形的失真,如圖4中的電子開關T1(IRF530)。
2PWM到DAC電壓輸出的電路實現
根據圖2的結構,圖3是最簡單的實現方式。圖3中,PWM波直接從MCU的PWM引腳輸出,該電路沒有基準電壓,只通過簡單的阻容濾波得到DAC的輸出電壓。R1和C1的具體參數可根據式(2)的第2部分的一次諧波頻率來選擇,實際應用中一般選擇圖2中阻容濾波器的截止頻率為式(2)的基波頻率的1/4左右。
圖3的PWM波的VH和VL受到MCU輸出高低電平的限制,一般情況下VL不等於0V,VH也不等於VCC。例如,對於單片機AT89C52[2,3],當VCC為+5 V時,VH和VL分別為4.5 V和0.45V左右,而且該數值隨著負載電流和溫度而變化。根據式(2)的直流分量可知,DAC電壓輸出只能在0.45~4.5V之間變化,而且隨負載電流和環境溫度變化,精度很難保證。由於該電路的變化部分精度不高,沒有必要採用高解析度的PWM輸出,8位即可。另外圖2的DAC輸出的負載能力也比較差,只適合與具有高輸入阻抗的後續電路連接。因此,圖3的電路只能用在對DAC輸出精度要求不高、負載很小的場合。對精度和負載能力要求較高的場合,需要對圖3的電路進行改進,增加基準電壓、負載驅動等電路。
圖4的電路在圖3電路的基礎上增加了開關管T1、基準電壓源LM3365和輸出放大器TLV2472。MCU從A點輸出的PWM波驅動T1的柵極,T1按照PWM的周期和占空比進行開關。T1為低導通電阻和開關特性好的開關管,如IRF530[4],其典型導通電阻小於0.16Ω,而截止電阻卻非常大,與T1並聯的為基準電壓LM3365。圖4的B點將得到理想的 PWM波形,即:VH=5 V,VL=0V,波形為方波。A點的PWM波,經過整形得到B點理想PWM波,B點的PWM波再經過兩級阻容濾波在C點得到直流分量,即MCU輸出的調製PWM波在C點得到解調,實現了DAC功能。根據式(2)可知,C點的電壓為(5 ×n/N)V,為0~5V之間的電壓。由於放大器A1的輸入阻抗很大,二級阻容濾波的效果很好,C點的電壓紋波極小,滿足高精度要求。輸出放大器採用TLV2472,工作在電壓跟隨器方式,他是一個RailtoRail放大器,他的輸出電壓的跨度幾乎等於電源電壓幅度,因此可以得到0V的電壓輸出,克服了一般放大器(如LM324,TL071等)輸出電壓跨度比電源電壓範圍小1V左右這一缺點。圖4與圖3還有一點重要的不同是,圖4的電源電壓為6 V,而圖3為5V。圖4中在MCU接電源電壓中串聯了二極體,他起降壓的作用,因為一般的MCU工作電源範圍為4.5~5.5 V之間。圖4中採用電源電壓為6V是為了保證LM336 5能正常工作。
圖4的電路採用的電路和電容沒有特殊的要求,很容易調試。由於PWM波很容易通過MCU的軟 件進行控制,即使電路稍微有些系統誤差,也很容易通過軟體進行校正。因此,圖4的電路可以得到高精度的DAC輸出。
3結語
本文在對PWM波形組成進行理論分析的基礎上,提出了可以通過一個低通濾波器把PWM中的DA C調製信號解調出來,實現DAC。論文對實現DAC產生的誤差的原因進行了分析,設計了兩組D AC電路實現方式,分別適合於不同的應用場合。
圖4的實現方法,通過簡單廉價的電子元器件就可以得到高精度的DAC,降低了設備的成本。該電路為單電源供電,非常適用在基於單片機的嵌入式系統中應用。
參考文獻
[1]黃明慧,梁國禮.高等數學與工程數學[M].廣州:華南理工大學出版社,1993
[2]余永權.89系列Flash單片機原理及應用[M].北京:電子工業出版社,1997
[3]李華.MCS51系列單片機實用介面技術[M].北京:北京航空航天大學出版社,1993
[4]吳立新.實用電子技術手冊[M].北京:機械工業出版社,2002
推薦閱讀:
※切記!選擇全屋凈水應該與水電改進同步
※三路閃爍燈串電路(4)
※振蕩電路(2)
※文氏橋正弦波振蕩器電路圖
※汽車電路維修故障排查技巧