周立功教授新書《面向AMetal框架與接口的編程(上)》,對AMetal框架進(jìn)行了詳細(xì)介紹,通過閱讀這本書,你可以學(xué)到高度復(fù)用的軟件設(shè)計(jì)原則和面向接口編程的開發(fā)思想,聚焦自己的“核心域”,改變自己的編程思維,實(shí)現(xiàn)企業(yè)和個(gè)人的共同進(jìn)步。經(jīng)周立功教授授權(quán),即日起,致遠(yuǎn)電子公眾號將對該書內(nèi)容進(jìn)行連載,愿共勉之。
本文為第三章:PWM 實(shí)現(xiàn)DAC 電路設(shè)計(jì),內(nèi)容包括:3.1 實(shí)現(xiàn)原理、3.2 電路設(shè)計(jì)、3.3 測試驗(yàn)證、3.4 參數(shù)總結(jié)。
本章導(dǎo)讀:
當(dāng)MCU 需要產(chǎn)生不同的模擬信號時(shí),通常采用集成或獨(dú)立的D/A 轉(zhuǎn)換器實(shí)現(xiàn)。但是在要求低成本的場合,可以通過PWM 信號產(chǎn)生系統(tǒng)需要的直流和交流信號。
LPC824 內(nèi)部有一個(gè)32 位PWM 定時(shí)器(SCTimer),它產(chǎn)生的PWM 信號搭配外圍電路可實(shí)現(xiàn)高分辨率、低成本的DAC,比如,12 位DAC。
3.1 實(shí)現(xiàn)原理
>>> 3.1.1 PWM 信號時(shí)域分析
PWM(Pulse Width Modulation)是頻率固定、占空比變化的數(shù)字信號,PWM 信號波形可以被分解為一個(gè)直流分量加上一個(gè)相同占空比,但平均幅度為零的新的方波,詳見圖3.1,由此可見,這個(gè)直流分量的幅度正比于PWM 波形的占空比。
圖3.1 PWM 信號波形分解
如果使PWM 信號的占空比隨時(shí)間改變,那么其直流分量隨之改變,信號濾除交流分量后將輸出幅度變化的模擬信號。因此通過改變PWM 信號的占空比,可以產(chǎn)生不同的模擬信號。這種技術(shù)稱之為PWM DAC,其原理可以形象地用圖3.2 表現(xiàn)出來。
圖3.2 使用濾波器電路獲取PWM 的直流成分
>>> 3.1.2 PWM 信號頻域分析
從頻域分析進(jìn)一步得到PWM 方式DAC的數(shù)學(xué)表達(dá)式。PWM 信號的函數(shù)波形詳見圖3.3,p 表示PWM 信號的占空比(0≤p≤1),T表示載波周期。圖 3.3 是在不影響分析結(jié)果的前提下,移動函數(shù)波形的時(shí)間原點(diǎn),使波形符合數(shù)學(xué)中的常規(guī)脈沖函數(shù)波形,以簡化數(shù)學(xué)分析。
圖 3.3 PWM 信號函數(shù)波形
根據(jù)傅里葉理論,任意周期波形都可以分解為無限個(gè)頻率為其整數(shù)倍的諧波之和,周期函數(shù)f(t)的傅里葉級數(shù)展開結(jié)果如下:
如果令K 表示PWM 信號f(t)的幅度,代入公式(2)~(4),f(t)的展開系數(shù)分別如下:
從展開式系數(shù)可以看到,直流分量A0 項(xiàng)等于PWM 波形幅度乘以PWM 波形占空比,這是所期望的D/A 轉(zhuǎn)換輸出結(jié)果。通過選擇合適的占空比,可以獲得0~K 之間的任意D/A轉(zhuǎn)換輸出電壓。
交流分量An 項(xiàng)是一系列頻率為PWM 信號載波頻率整數(shù)倍的高頻正弦諧波,對于D/A轉(zhuǎn)換轉(zhuǎn)換是不需要的成分。舉個(gè)例子,如果PWM 載波頻率為1MHz,那么交流分量將是1MHz、2MHz、3MHz 等等。此時(shí)經(jīng)過一個(gè)截止頻率為1MHz 的理想低通濾波器,除去1MHz 及以上交流諧波,只剩下可任意設(shè)置直流分量,就是所期望的DAC 功能,DAC 表達(dá)式如下:
3.2 電路設(shè)計(jì)
PWM 實(shí)現(xiàn)DAC 的本質(zhì)是需要保留直流分量去除交流分量,電路設(shè)計(jì)主要根據(jù)DAC 的分辨率,設(shè)計(jì)幅頻曲線陡峭的低通濾波器,將交流成分衰減至可接受的范圍內(nèi)。對比無源RC、無源LC 低通濾波,由運(yùn)放組成的有源低通濾波器,元件體積小,容易實(shí)現(xiàn)高階濾波器,并且低輸出阻抗,不存在帶負(fù)載能力問題,電路框圖詳見圖 3.4。
圖 3.4 PWM 實(shí)現(xiàn)DAC 電路框圖
該電路由兩個(gè)三階低通濾波器級聯(lián)形成六階低通濾波器,用于衰減LPC824 輸出PWM信號的高頻成分,實(shí)現(xiàn)12 位分辨率DAC。
>>> 3.2.1 DAC 分辨率
分辨率是DAC 的重要參數(shù),存在兩個(gè)誤差源影響PWM 方式DAC 分辨率。首先,PWM信號的占空比只能表示有限的分辨率。在PWM 定時(shí)器最高時(shí)鐘固定的情況下,DAC 分辨率由PWM 信號載波頻率決定。例如,期望產(chǎn)生載波頻率100kHz 的PWM 信號,PWM 定時(shí)器時(shí)鐘為100MHz,這個(gè)時(shí)基在每個(gè)PWM 載波周期之中,最多提供1000 個(gè)計(jì)數(shù)值,通過指定PWM 定時(shí)器的比較值,最多提供1000 個(gè)PWM 占空比分辨率。
第二個(gè)誤差源是PWM 信號中不期望的諧波分量所產(chǎn)生的峰峰值紋波詳見圖 3.5,紋波峰值至少需小于1/2 個(gè)LSB,這兩個(gè)誤差源加在一起決定總的DAC 分辨率不確定性。
圖 3.5 影響PWM 方式DAC 分辨率的誤差源
改善第一個(gè)誤差源占空比分辨率,容易想到降低PWM 載波頻率。在前面例子中,將載波頻率由100kHz 降低至50kHz,對于100MHz 的時(shí)鐘,PWM 占空比分辨率增加至2000 個(gè)。然而,更低的載波頻率也降低了公式(6)中不期望諧波部分的基波頻率,一次諧波現(xiàn)在變?yōu)?0kHz 而不是100kHz,如果硬件有源低通濾波器維持不變,其截止頻率不變,更多交流成分將穿過濾波器,諧波紋波峰值增加,會導(dǎo)致第二誤差源增加。
由此可見,根據(jù)確定的硬件濾波器來選擇PWM 載波頻率,在兩個(gè)誤差源PWM 占空比分辨率和諧波紋波之間存在矛盾。先確定載波頻率,再設(shè)計(jì)濾波器,是使得分辨率不確定性最小的方法。對于LPC824 的PWM 外設(shè),設(shè)計(jì)12 位DAC 的計(jì)算步驟詳細(xì)介紹如下。
設(shè)定PWM 定時(shí)器時(shí)鐘。LPC824 運(yùn)行時(shí)鐘高達(dá)30MHz,這里我們留出一些裕量,選擇10MHz 時(shí)鐘,周期為100ns。
設(shè)定PWM 信號載波頻率??紤]將信號的周期設(shè)置為可以被4096 整除,這樣可以保證步進(jìn)值為一個(gè)整數(shù),保證轉(zhuǎn)換的準(zhǔn)確性與簡便性。
因此PWM 的載波周期設(shè)定在409600ns,這樣在每次DAC 的數(shù)字代碼步進(jìn)1 時(shí),只需要將高電平持續(xù)時(shí)間加100ns,即步進(jìn)一個(gè)計(jì)數(shù)值即可。我們可以輕松地算出PWM 的載波頻率為2.44KHz。
計(jì)算硬件低通濾波器所需的衰減倍數(shù),PWM 信號的交流分量中,基波頻率最低,當(dāng)占空比為50%時(shí),基波的幅度最大,若這種情況下濾波器能將基波幅度衰減至1/2LSB 之下,則在所有占空比情況下,都可以將PWM 信號的交流分量衰減至1/2LSB 以下。因此可根據(jù)50%占空比時(shí)的基波幅度,計(jì)算所需的衰減倍數(shù)。
首先需要將n=1 代入公式(6),得到基波的幅度An=1:
然后,計(jì)算使得基波幅度小于1/2LSB 的衰減倍數(shù)Afilter。
總結(jié)實(shí)現(xiàn)12 位DAC 分辨率的計(jì)算過程,LPC824 的PWM 時(shí)鐘設(shè)置為10MHz,載波頻率設(shè)置為2.44kHz,硬件低通濾波器需將2.44KHz 頻率分量衰減74dB 以上。
>>> 3.2.2 有源低通濾波器
在PWM 實(shí)現(xiàn)DAC 應(yīng)用中,帶寬、阻帶滾降速率是兩個(gè)重要的濾波器性質(zhì)。濾波器帶寬定義為幅頻響應(yīng)等于0.707 倍時(shí)的頻率。濾波器帶寬直接揭示了最大信號帶寬,即PWM 方式DAC 能夠有效處理的最大信號頻率。阻帶滾降速率是高頻部分幅頻響應(yīng)曲線的斜率。帶寬、滾降速率共同決定濾波器輸出端看到的諧波紋波幅度。
通常低通濾波器為-20dB 每十倍頻程每階濾波器,若低通濾波器帶寬設(shè)置為載波頻率的1/10 頻程,即0.244KHz,衰減-74dB 至少需4 階低通濾波器。綜合考慮帶寬、濾波器電路的復(fù)雜程度,低通濾波器帶寬設(shè)定在200Hz,使用兩級3 階巴特沃斯低通濾波器級聯(lián)形成6階濾波器,詳見圖 3.6。
圖 3.6 6 階巴特沃斯有源低通濾波器電路
此濾波器電路的幅度曲線詳見圖 3.7,2.44kHz 頻率成分衰減比例為100dB 左右,具有足夠的裕量。如果只需用到10 位分辨率DAC,可只選擇使用第一級濾波器。
圖 3.7 6 階有源低通濾波器幅頻曲線
與LPC824 的ADC 信號輸入濾波器類似,這里再次使用單運(yùn)放的三階濾波器電路拓?fù)洌苊獬R?guī)有源濾波器電路設(shè)計(jì)對運(yùn)放的帶寬要求。常規(guī)配置需要運(yùn)放增益帶寬積至少比輸入信號的最高頻率高5 到10 倍,否則當(dāng)輸入信號的頻率成分高于增益帶寬時(shí),高頻成分將直接饋通至輸出。根據(jù)PWM 信號的最小占空比100ns,主要高頻成分可達(dá)10MHz,需用到50M~100MHz 帶寬的精密運(yùn)放。這類寬帶精密運(yùn)放非常貴,有時(shí)相當(dāng)于直接使用一個(gè)DAC芯片的成本。
而在圖 3.6 中,使用3peak 公司增益帶寬積僅為1MHz 的通用運(yùn)放LMV358A 實(shí)現(xiàn)同樣功能,使得濾波器的成本可接受。
3.3 測試驗(yàn)證
為驗(yàn)證所實(shí)現(xiàn)12 位PWM DAC 的有效性,特制作了實(shí)際的電路板進(jìn)行測試,主要測試數(shù)據(jù)為DNL、INL、建立時(shí)間。
>>> 3.3.1 DNL
DNL 差分非線性定義為任意兩個(gè)連續(xù)數(shù)字代碼所輸出步進(jìn)電壓的實(shí)測值與理想值之差。理想DAC 的步進(jìn)電壓為,每次嚴(yán)格步進(jìn)一個(gè)LSB(DNL=0)。
在DAC 輸入數(shù)字代碼范圍內(nèi),取若干點(diǎn)的DNL 測試驗(yàn)證(1LSB=3.3V/212=0.81mV),數(shù)據(jù)詳見表 3.1??梢钥闯?,DNL 最大值為0.02 個(gè)LSB。
表 3.1 PWM DAC 的DNL 測試數(shù)據(jù)
>>> 3.3.2 INL
INL 積分非線性是表征DAC 精度的一個(gè)重要參數(shù)。在DAC 的全量程范圍內(nèi),設(shè)置輸入數(shù)字代碼從小至到大,依次等間距輸出一系列電壓值,可以線性擬合出一條最貼近這些電壓值的直線。理想情況下,DAC 是線性的,這些電壓值應(yīng)該全部落在該直線上。實(shí)際輸出電壓值與擬合直線的偏離程度,則表征了DAC 的非線性。
INL 測試數(shù)據(jù)詳見表 3.2,從表中數(shù)據(jù)可以看出,INL 最大值為1 個(gè)LSB。
表 3.2 PWM DAC 的INL 測試數(shù)據(jù)
>>> 3.3.3 建立時(shí)間
建立時(shí)間是指從發(fā)出更新輸出值的命令,到DAC 輸出電壓建立到最終值誤差范圍之內(nèi)的時(shí)間間隔。建立時(shí)間受輸出有源低通濾波器的帶寬等參數(shù)影響,測試波形詳見圖 3.8。
圖 3.8 PWM DAC 輸出建立時(shí)間測試
從上圖可以看出,建立時(shí)間ΔX 約為10ms。
3.4 參數(shù)總結(jié)
總結(jié)精度指標(biāo)測試值詳見表 3.3,用作對比的AD5623 是常見的獨(dú)立12 位DAC 芯片。
表 3.3 PWM DAC 精度參數(shù)
表中數(shù)據(jù)表明,LPC824 的PWM 外設(shè)結(jié)合本電路所實(shí)現(xiàn)DAC 有非常好的差分非線性(DNL)、線性度(INL),與獨(dú)立DAC 芯片基本一致。但建立時(shí)間慢,因此適合于輸出低頻、高精度的模擬信號。
-
dac
+關(guān)注
關(guān)注
43文章
2260瀏覽量
190756
原文標(biāo)題:周立功:PWM 實(shí)現(xiàn)DAC 電路設(shè)計(jì)
文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論