數(shù)字信號處理器中D/A功能的實現(xiàn)
摘要:通過對脈寬調(diào)制(PWM)信號進行濾波處理,在TMS320F2407A型DSP中實現(xiàn)了D/A功能的擴展。同時詳細分析了數(shù)字PWM的量化誤差和D/A轉(zhuǎn)換所能達到的精度。最后結(jié)合仿真和實驗說明該方法的可行性。
關(guān)鍵詞:數(shù)字信號處理器;脈寬調(diào)制;數(shù)模轉(zhuǎn)換
0 引言
TMS320F2407A是一款高速,高性能,低成本的微處理器,其內(nèi)部集成了眾多數(shù)控系統(tǒng)所需的外擴設(shè)備,可以實現(xiàn)SPI,SCI,PWM, A/D等功能。其內(nèi)部的兩個事件管理器模塊EVA和EVB,各包含了兩個16位通用定時器及8個16位的脈寬調(diào)制(PWM)通道,可應用于電機控制及其他逆變器控制領(lǐng)域。美中不足的是,該系列DSP內(nèi)部沒有D/A功能,該功能通常須外接數(shù)模轉(zhuǎn)換芯片來實現(xiàn),這不僅增加了系統(tǒng)的成本,也使系統(tǒng)設(shè)計復雜化。本文提出了一種使用F2407A內(nèi)部的PWM信號,經(jīng)濾波處理后實現(xiàn)D/A功能的方法。實驗結(jié)果表明,其轉(zhuǎn)換精度可以達到10位以上專用D/A芯片的精度,且該方法設(shè)計簡單,有較好的實用價值。
1 D/A實現(xiàn)原理
在F2407A型DSP中,通過軟件編程可以很方便地對PWM信號實現(xiàn)周期和占空比的控制。PWM信號是一組幅值為3.3V的方波,可以通過傅里葉變換,使其分成直流和交流兩部分,如圖1所示,其中ud(t)是輸出的PWM信號,Uo是PWM信號中的直流成分,ua(t)是信號中的交流成分。
圖1 PWM信號分解原理圖
將ud(t)用傅里葉級數(shù)表示,即
ud(t)=Uo+ansin2nπft+bncos2nπft (1)
其中:
an=ud(t)sin2nπftdt (2)
bn=ud(t)cos2nπftdt (3)
Uo=ud(t)dt (4)
式中:f,T分別是PWM信號頻率和周期。
設(shè)PWM波形具有偶函數(shù)特性,即ud(t)=ud(-t),則式(1)中an=0,
bn={sin(nπD)-sin[2nπ]} (5)
式中:n=1,2,3……;
D是PWM的占空比。
則直流電壓為
Uo=3.3D(V) (6)
從理論上分析,改變占空比就可以使直流輸出電壓Uo在0~3.3V范圍內(nèi)變化。輸出的諧波頻率是PWM頻率的倍數(shù),一般可以通過低通濾波器濾除。PWM頻率越高,濾波效果越好。
2 D/A精度分析
F2407A的工作頻率為40MHz,內(nèi)部寄存器長度為16位字長。PWM信號通過定時器計數(shù)的方式在周期中斷中獲得,因此,不可避免存在一個計數(shù)步長的量化誤差。這個誤差會產(chǎn)生一個紋波疊加在輸出直流電壓上,因此,應盡量減少。通常當PWM的頻率為f時,DSP工作頻率為fc時,這個量化誤差電壓值為
=3.3×(V)(7)
例如,當f=20kHz,=1.65mV,其分辨率為1/2000,接近11位D/A芯片的分辨率。
可見,當PWM頻率越低,DSP產(chǎn)生定時中斷所需的計數(shù)值越大,其量化誤差的影響越小。但是,考慮到輸出低通濾波器的特性,當PWM頻率降低時,產(chǎn)生的諧波頻率也隨之降低,則對于帶寬和截止頻率一定的濾波器來說,就會有更多的低次諧波通過濾波器,這部分諧波疊加在直流量上同樣會產(chǎn)生誤差電壓。因此,本文D/A轉(zhuǎn)換的誤差主要來源于這兩個方面,由于兩個誤差具有相互制約性,必須通過折中的方法選取一個合適的PWM載波頻率。表1(通過Matlab仿真)是選用不同的PWM頻率和不同階數(shù)的濾波器時的性能比較。仿真時采用截止頻率為2kHz的巴特沃茲濾波器。圖2是當PWM信號頻率為20kHz時,經(jīng)不同階數(shù)濾波器后直流電壓的紋波比較,圖中從上到下依次是二階、三階、四階的濾波效果。圖3是PWM信號頻率為40kHz時,濾波后直流電壓的紋波,圖中從上到下依次為二階、三階、四階的濾波效果。
圖2 f=20kHz時不同階數(shù)濾波器時的輸出紋波
圖3 f=40kHz時不同階數(shù)濾波器時的輸出紋波
表1 不同階數(shù)濾波特性的比較
濾波器 | f/kHz | 紋波幅值/V | D/A位數(shù) |
---|---|---|---|
二階 | 20 | 0.04 | 6.4 |
二階 | 40 | 0.004 | 9.7 |
三階 | 20 | 0.0044 | 9.6 |
三階 | 40 | 0.0005 | 12.7 |
四階 | 20 | 0.0004 | 13.0 |
四階 | 40 | 0.00005 | 16.0 |
3 模擬濾波器的設(shè)計
濾波器按不同的頻域或時域特性要求,可分為巴特沃茲(Butterworth)型,契比雪夫(Chebyshev)型,貝賽爾(Bessel)型,橢圓型等標準型。相同的電路,通過選取不同的R和C參數(shù)可以實現(xiàn)不同的類型。其中,巴特沃茲型濾波器具有最平坦的通帶幅頻特性;契比雪夫型特點是通帶內(nèi)增益有波動,但這種濾波器的通帶邊界下降快;貝賽爾型通帶邊界下降較為緩慢,其相頻特性接近線性;橢圓型的濾波特性很好,但模擬電路復雜,元件選擇較為困難,實現(xiàn)難度大,故不常采用。本設(shè)計要求通帶盡量平坦,而且過渡帶和截止帶衰減盡量快,因此,只考慮巴特沃茲型。
模擬二階、三階電路結(jié)構(gòu)如圖4所示。對于圖4(a)所 示 的 二 階 電 路 , 其 傳 遞 函 數(shù) 為
H(s)= ( 8)
對 于 圖 4(b)所 示 的 三 階 電 路 , 其 傳 遞 函 數(shù) 為
H(s)= ( 9)
式 中 :a0=R1R2R4C1C2C3;
a1=[R4C2C3(R1+R2)R1R2C1C2];
a2=[R4C3+C2(R1+R2)]。
具 體 參 數(shù) 計 算 如 下 。
(a) 二階電路圖 (b) 三階電路圖
圖4 巴特沃茲型濾波電路
3.1 兩階電路參數(shù)計算
巴特沃茲二階濾波器的一般表達式為
H(s)=
式中:p=s/ωc;
b1=ωc2R1R2C1C2=1;
b0=ωc(R1C2+R2C2)=。
取ωc=2πf=4000π時,可得R1=0.68kΩ,R2=10kΩ,C1=0.1μF,C2=0.01μF。實際截止頻率為1930Hz。
3.2 三階電路參數(shù)計算
三階巴特沃茲濾波器的一般表達式為
H(s)=
式中:b2=ωc3R1R2R4C1C2C3=1;
b1=ωc2[R4C2C3(R1+R2)+R1R2C1C2]=2;
b0=ωc[R4C3+C2(R1+R2)]=2。
取ωc=2πf=4000π,可得R1=1.2kΩ,R2=10kΩ,R4=0.4kΩ,C1=0.1μF,C2=0.01μF,C3=0.1μF,實際截止頻率為1989Hz。
4 實驗結(jié)果
圖5是采用40kHz頻率時的濾波效果,CH1所示的是經(jīng)二階模擬濾波器后的直流電壓,CH2所示的是經(jīng)三階模擬濾波器后的直流電壓,濾波器的具體參數(shù)選用同上文,PWM的占空比為0.5。
圖5 不同階濾波效果的比較(1V/div,20μs/div)
圖5中CH1的波形中有較大的紋波毛刺疊加在直流分量上,其輸出平均值在1.6V左右,轉(zhuǎn)換精度不高。CH2的波形和CH1相比,紋波分量減小很明顯,輸出波形的平均值在1.65V左右,理論分析該波形轉(zhuǎn)換分辯率可以達到12.7左右,已經(jīng)接近或達到一般D/A芯片的分辨率要求,因此,有較好的應用價值。
5 結(jié)語
通過外接濾波電路,DSP輸出的PWM信號可以完成D/A功能的擴展,且合理選擇輸出PWM的頻率和濾波器的階數(shù),可以使轉(zhuǎn)換的分辨率達到12位以上,且外設(shè)濾波電路較為簡單,因此,具有一定的應用價值。