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