1. TMS320F2407A的詳細資料
TMS320F2407A是一款高速,高性能,低成本的微處理器,其內部集成了眾多數控系統所需的外擴設備,可以實現SPI,SCI,PWM, A/D等功能。其內部的兩個事件管理器模塊EVA和EVB,各包含了兩個16位通用定時器及8個16位的脈寬調制(PWM)通道,可應用於電機控制及其他逆變器控制領域。美中不足的是,該系列DSP內部沒有D/A功能,該功能通常須外接數模轉換晶元來實現,這不僅增加了系統的成本,也使系統設計復雜化。本文提出了一種使用F2407A內部的PWM信號,經濾波處理後實現D/A功能的方法。實驗結果表明,其轉換精度可以達到10位以上專用D/A晶元的精度,且該方法設計簡單,有較好的實用價值。
1 D/A實現原理
在F2407A型DSP中,通過軟體編程可以很方便地對PWM信號實現周期和占空比的控制。PWM信號是一組幅值為3.3V的方波,可以通過傅里葉變換,使其分成直流和交流兩部分,如圖1所示,其中ud(t)是輸出的PWM信號,Uo是PWM信號中的直流成分,ua(t)是信號中的交流成分。
圖1 PWM信號分解原理圖
將ud(t)用傅里葉級數表示,即
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信號頻率和周期。
設PWM波形具有偶函數特性,即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頻率的倍數,一般可以通過低通濾波器濾除。PWM頻率越高,濾波效果越好。
2 D/A精度分析
F2407A的工作頻率為40MHz,內部寄存器長度為16位字長。PWM信號通過定時器計數的方式在周期中斷中獲得,因此,不可避免存在一個計數步長的量化誤差。這個誤差會產生一個紋波疊加在輸出直流電壓上,因此,應盡量減少。通常當PWM的頻率為f時,DSP工作頻率為fc時,這個量化誤差電壓值為
=3.3×(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時,濾波後直流電壓的紋波,圖中從上到下依次為二階、三階、四階的濾波效果。
圖2 f=20kHz時不同階數濾波器時的輸出紋波
圖3 f=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)= ( 8)
對 於 圖 4(b)所 示 的 三 階 電 路 , 其 傳 遞 函 數 為
H(s)= ( 9)
式 中 :a0=R1R2R4C1C2C3;
a1=[R4C2C3(R1+R2)R1R2C1C2];
a2=[R4C3+C2(R1+R2)]。
具 體 參 數 計 算 如 下 。
(a) 二階電路圖 (b) 三階電路圖
圖4 巴特沃茲型濾波電路
3.1 兩階電路參數計算
巴特沃茲二階濾波器的一般表達式為
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 三階電路參數計算
三階巴特沃茲濾波器的一般表達式為
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 實驗結果
圖5是採用40kHz頻率時的濾波效果,CH1所示的是經二階模擬濾波器後的直流電壓,CH2所示的是經三階模擬濾波器後的直流電壓,濾波器的具體參數選用同上文,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的頻率和濾波器的階數,可以使轉換的解析度達到12位以上,且外設濾波電路較為簡單,因此,具有一定的應用價值.
2. 集成電路晶元的編碼是怎樣規定的
拿到一些晶元,上面寫著74lvth245a、tms320f2812pgf、74hc08、rtl8201bl、ds1302、ref198等等。這些編碼是如何規定的?有什麼規律?能否看到這些編碼大概知道它是個什麼性能的電路?我們在protel里元件庫中如何快速找到自己想要的晶元?
你說的這些晶元都是很常用的單片機及其外圍晶元,如果你有相關經驗很容易知道,比如第一個是個邏輯晶元,74是數字邏輯晶元的一個族,區別於54系列,後面那個lv表示低電壓low-vol,可能工作在3.3v的電壓下,第二個是ti出的dsp(數字信號處理器),tms320是ti起的名字,在公司的系列產品中有自己的意義,f表示用的是flash存儲,2812是其代碼,還有2407,5402等等,後面是封裝參數。後面那幾個晶元有基本邏輯和時鍾晶元等,這里不再贅述,你上網查這些晶元的pdf全有,不過大多是英文的。
回答你後面的問題:這些編碼有的是行業里的規定,比如74ls,74hc,54..基本的晶元,也有是公司自己起的名字,比如tms320f2812等,要說規律很簡單,你有過設計經驗,用過一些片子就知道的差不多了,要速成可以去看嵌入式硬體設計的書。
protel里找自己的晶元可不容易,你在搜索器件里找一下就可以了,事實上,用protel的老手,全部是用自己畫的器件,以免在具體設計時出現這樣或那樣的偏差。
別學protel了,學那個altiumDesigner吧,他們公司新出的最新版,容易上手功能強大。