《電子技術應用》
您所在的位置:首頁 > 模拟设计 > 设计应用 > 数字信号处理器中D/A功能的实现
数字信号处理器中D/A功能的实现
胡庆波,吕征宇
摘要: 通过对脉宽调制(PWM)信号进行滤波处理,在TMS320F2407A型DSP中实现了D/A功能的扩展。同时详细分析了数字PWM的量化误差和D/A转换所能达到的精度。最后结合仿真和实验说明该方法的可行性。
Abstract:
Key words :

0    引言

    TMS320F2407A是一款高速,高性能,低成本的微處理器,其內部集成了眾多數(shù)控系統(tǒng)所需的外擴設備,可以實現(xiàn)SPI,SCI,PWM, A/D等功能。其內部的兩個事件管理器模塊EVA和EVB,各包含了兩個16位通用定時器及8個16位的脈寬調制(PWM)通道,可應用于電機控制及其他逆變器控制領域。美中不足的是,該系列DSP內部沒有D/A功能,該功能通常須外接數(shù)模轉換芯片來實現(xiàn),這不僅增加了系統(tǒng)的成本,也使系統(tǒng)設計復雜化。本文提出了一種使用F2407A內部的PWM信號,經濾波處理后實現(xiàn)D/A功能的方法。實驗結果表明,其轉換精度可以達到10位以上專用D/A芯片的精度,且該方法設計簡單,有較好的實用價值。

1    D/A實現(xiàn)原理

    在F2407A型DSP中,通過軟件編程可以很方便地對PWM信號實現(xiàn)周期和占空比的控制。PWM信號是一組幅值為3.3V的方波,可以通過傅里葉變換,使其分成直流和交流兩部分,如圖1所示,其中udt)是輸出的PWM信號,Uo是PWM信號中的直流成分,ua(t)是信號中的交流成分。

圖1    PWM信號分解原理圖

    將ud(t)用傅里葉級數(shù)表示,即

    ud(t)=Uoansin2nπftbncos2nπft    (1)

其中:

    an=ud(t)sin2nπftdt    (2)

    bn=ud(t)cos2nπftdt    (3)

    Uo=ud(t)dt    (4)

式中:f,T分別是PWM信號頻率和周期。

    設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范圍內變化。輸出的諧波頻率是PWM頻率的倍數(shù),一般可以通過低通濾波器濾除。PWM頻率越高,濾波效果越好。

2    D/A精度分析

    F2407A的工作頻率為40MHz,內部寄存器長度為16位字長。PWM信號通過定時器計數(shù)的方式在周期中斷中獲得,因此,不可避免存在一個計數(shù)步長的量化誤差。這個誤差會產生一個紋波疊加在輸出直流電壓上,因此,應盡量減少。通常當PWM的頻率為f時,DSP工作頻率為fc時,這個量化誤差電壓值為

    =3.3×(V)(7)

例如,當f=20kHz,=1.65mV,其分辨率為1/2000,接近11位D/A芯片的分辨率。

    可見,當PWM頻率越低,DSP產生定時中斷所需的計數(shù)值越大,其量化誤差的影響越小。但是,考慮到輸出低通濾波器的特性,當PWM頻率降低時,產生的諧波頻率也隨之降低,則對于帶寬和截止頻率一定的濾波器來說,就會有更多的低次諧波通過濾波器,這部分諧波疊加在直流量上同樣會產生誤差電壓。因此,本文D/A轉換的誤差主要來源于這兩個方面,由于兩個誤差具有相互制約性,必須通過折中的方法選取一個合適的PWM載波頻率。表1(通過Matlab仿真)是選用不同的PWM頻率和不同階數(shù)的濾波器時的性能比較。仿真時采用截止頻率為2kHz的巴特沃茲濾波器。圖2是當PWM信號頻率為20kHz時,經不同階數(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    模擬濾波器的設計

    濾波器按不同的頻域或時域特性要求,可分為巴特沃茲(Butterworth)型,契比雪夫(Chebyshev)型,貝賽爾(Bessel)型,橢圓型等標準型。相同的電路,通過選取不同的RC參數(shù)可以實現(xiàn)不同的類型。其中,巴特沃茲型濾波器具有最平坦的通帶幅頻特性;契比雪夫型特點是通帶內增益有波動,但這種濾波器的通帶邊界下降快;貝賽爾型通帶邊界下降較為緩慢,其相頻特性接近線性;橢圓型的濾波特性很好,但模擬電路復雜,元件選擇較為困難,實現(xiàn)難度大,故不常采用。本設計要求通帶盡量平坦,而且過渡帶和截止帶衰減盡量快,因此,只考慮巴特沃茲型。

    模擬二階、三階電路結構如圖4所示。對于圖4(a)所 示 的 二 階 電 路 , 其 傳 遞 函 數(shù) 為

    H(s)=    ( 8)

對 于 圖 4(b)所 示 的 三 階 電 路 , 其 傳 遞 函 數(shù) 為

    H(s)=    ( 9)

式 中 :a0=R1R2R4C1C2C3

      a1=[R4C2C3(R1R2)R1R2C1C2];

      a2=[R4C3C2(R1R2)]。    

具 體 參 數(shù) 計 算 如 下 。

(a)    二階電路圖        (b)    三階電路圖

圖4    巴特沃茲型濾波電路

3.1    兩階電路參數(shù)計算

    巴特沃茲二階濾波器的一般表達式為

    H(s)=

式中:p=s/ωc

      b1=ωc2R1R2C1C2=1;

      b0=ωc(R1C2R2C2)=。

    取ω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(R1R2)+R1R2C1C2]=2;

      b0=ωc[R4C3C2(R1R2)]=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    實驗結果

    圖5是采用40kHz頻率時的濾波效果,CH1所示的是經二階模擬濾波器后的直流電壓,CH2所示的是經三階模擬濾波器后的直流電壓,濾波器的具體參數(shù)選用同上文,PWM的占空比為0.5。

圖5    不同階濾波效果的比較(1V/div,20μs/div)

    圖5中CH1的波形中有較大的紋波毛刺疊加在直流分量上,其輸出平均值在1.6V左右,轉換精度不高。CH2的波形和CH1相比,紋波分量減小很明顯,輸出波形的平均值在1.65V左右,理論分析該波形轉換分辯率可以達到12.7左右,已經接近或達到一般D/A芯片的分辨率要求,因此,有較好的應用價值。

5    結語

    通過外接濾波電路,DSP輸出的PWM信號可以完成D/A功能的擴展,且合理選擇輸出PWM的頻率和濾波器的階數(shù),可以使轉換的分辨率達到12位以上,且外設濾波電路較為簡單,因此,具有一定的應用價值。

此內容為AET網站原創(chuàng),未經授權禁止轉載。

相關內容