【轉載】TMS320F240片內PWM實(shí)現D/A擴展功能

發(fā)布時(shí)間:2009-7-12 12:40    發(fā)布者:原野之狼
關(guān)鍵詞: PWM , TMS320F240

摘要 根據TMS320F240芯片的結構特點(diǎn),提出一種新穎的基于TMS320F240的PWM輸出,實(shí)現D/A轉換擴展功能的設計方法;詳細討論該設計的理論基礎和具體的軟、硬件實(shí)現;分析實(shí)驗結果,并給出具體的應用實(shí)例。該設計方案簡(jiǎn)單易行,性?xún)r(jià)比高,具有一定的通用性。

關(guān)鍵詞 數字信號處理器 TMS320F240 PWM D/A轉換

  TMS320F240(簡(jiǎn)稱(chēng)F240) 作為一種高速、高集成度、低成本的微控制器,功能非常強大。美中不足的是,F240芯片本身雖然集成了眾多滿(mǎn)足數字控制系統所需的先進(jìn)外圍設備,包括A/D轉換等功能,卻唯獨沒(méi)有集成D/A轉換功能,因此,在TMS320F240芯片的實(shí)際應用過(guò)程中,為其增加 D/A轉換接口是很有必要的。

  本文提出的基于F240芯片PWM輸出的D/A轉換擴展功能設計,是一種對F240片內的D/A轉換設計。通過(guò)F240片內的PWM輸出,再加上簡(jiǎn)單的外圍電路及對應的軟件設計,實(shí)現對PWM的信號處理,得到穩定、精確的模擬量輸出!    

1  原理及誤差分析

1.1  基本原理

  F240芯片提供的PWM輸出,是一種周期和占空比均可變、幅值為5 V的脈寬調制信號。實(shí)現PWM信號到D/A轉換輸出的理想方法是:采用模擬低通濾波器濾掉PWM輸出的高頻部分,保留低頻的直流分量,即可得到對應的D/A輸出,如(圖1)所示。低通濾波器的帶寬決定了D/A輸出的帶寬范圍。


圖1  PWM輸出實(shí)現D/A轉換原理圖

  為了對PWM信號的頻譜進(jìn)行分析,以下提供了一個(gè)設計濾波器的理論基礎。傅里葉變換理論告訴我們,任何一個(gè)周期為T(mén)的連續信號f(t),都可以表達為頻率是基頻的整數倍的正、余弦諧波分量之和。它是以時(shí)間軸原點(diǎn)為對稱(chēng)點(diǎn)的、單極性的PWM信號,表達式為

  其中,f=1/T為基頻,式中An、 Bn為各自獨立的傅里葉系數:

  由于f(t)是一個(gè)關(guān)于原點(diǎn)對稱(chēng)的偶函數,因此Bn項為0,只需計算An項即可。只要扣除直流分量A0,由f(t)=-f(t+T/2),An的偶系數也將為0,因此,對占空比為k、幅值為5 V的PWM信號有:

  由式(5)可知,直流分量A0就是所需要的 D/A輸出,只要改變PWM信號的占空比k,就能得到電壓范圍為0~5 V的D/A轉換輸出;An代表PWM信號的高頻直流分量,頻率為PWM信號基頻的整數倍。因此,對于基頻為10 kHz的PWM信號,一個(gè)理想的剪切頻率≤10 kHz的濾波器即可完全濾掉PWM信號的高頻諧波分量An,得到低頻的直流分量A0,從而實(shí)現PWM信號到D/A輸出的轉換。

1.2  誤差分析

  D/A轉換輸出的電壓信號有一個(gè)紋波疊加在直流分量上。這是D/A轉換誤差的來(lái)源之一。影響D/A轉換誤差的另外一個(gè)重要因素,取決于PWM信號的基頻。對于時(shí)鐘頻率為20 MHz的F240芯片,產(chǎn)生一個(gè)20 kHz的PWM信號,意味著(zhù)每產(chǎn)生一個(gè)周期的PWM信號,要計數1000個(gè)時(shí)鐘。即所得的直流分量的最小輸出為1個(gè)時(shí)鐘產(chǎn)生的PWM信號,等于5 mV(5 V×1/1000),剛好小于10位的D/A轉換器的最小輸出4.8 mV(5 V/1024)。因此,理想情況下,PWM信號的頻率越低,所得的直流分量就越小,D/A轉換的分辨率也就相應的越高。如果將PWM信號的頻率從20 kHz降到10 kHz,則直流分量輸出的最小輸出為2.5 mV(5 V/2000),接近于11位的分辨率。但是,隨著(zhù)PWM信號基頻的減小,諧波分量的頻率也隨之降低,就會(huì )有更多的諧波通過(guò)相同帶寬的低通濾波器,造成輸出的直流分量的紋波更大,導致D/A轉換的分辨率降低。所以,單純降低PWM信號的頻率不能獲得較高的分辨率。通過(guò)以上分析可知,基于DSP芯片PWM輸出的D/A轉換輸出的誤差,取決于通過(guò)低通濾波器的高頻分量所產(chǎn)生的紋波和由PWM信號的頻率決定的最小輸出電壓這兩個(gè)方面。所以要獲得最佳的D/A分辨率,在選取PWM信號的頻率時(shí)不能太小,要適當地折衷,選取一個(gè)最合適的值。如表1所列,通過(guò)Matlab仿真,可以得到最佳D/A分辨率下的PWM信號頻率。

表1  不同設計參數下F240芯片PWM輸出實(shí)現D/A轉換的分辨率

2  硬件設計

  一般來(lái)說(shuō),F240的PWM輸出要通過(guò)具有一階阻容濾波及光電隔離功能的I/O接口板后,方可與實(shí)際控制對象連接。為了獲得高精度的D/A輸出,在濾波之前應先通過(guò)緩沖器,整體設計框圖如圖2所示。


圖2  DSP F240片內PWM輸出實(shí)現D/A轉換硬件框圖

  濾波器的運算放大器選用OP07。它溫漂小、阻抗低、吸收電流大、精度高?紤]到實(shí)際情況,設計模擬低通濾波器的階數一般不超過(guò)三階,否則會(huì )增大系統的復雜性,增加系統的成本。下面主要介紹有源低通濾波器的參數設計。

2.1  二階Butterworth低通濾波器

  圖3(a)所示,是二階Butterworth低通濾波器(最平幅值濾波器)的一種實(shí)現電路,其傳遞函數為

  在-3 dB帶寬為1000 kHz的條件下:

  由于考慮到不可能找到與所計算的R、C值完全一致的電阻、電容值,而只能選取與實(shí)際的電阻、電容值最接近的值,故求解得到:

  在這些參數下,實(shí)際的帶寬是1074 Hz,Q值為0.645,與理想的二階Butterworth低通濾波器有一定的誤差。


圖3  低通濾波器電路

2.2  三階低通濾波器

  圖3(b)所示為三階低通濾波器的一種實(shí)現電路,其傳遞函數為

其中,

  在-3 dB帶寬為1000 kHz的條件下,求解得到:

  R4決定濾波器直流分量的增益,選取R4=∞(即不安裝R4),則D/A輸出增益為1;要想改變帶寬大小,只須保持R4和電容值不變,改變其它電阻的阻值即可。

3  軟件程序設計和實(shí)驗結果

  利用TMS320F240配套的EVM(Evaluation Module)板作為DSP的實(shí)驗平臺,給定一模擬電壓作為F240的A/D輸入,將A/D轉換的值作為產(chǎn)生PWM波形的DSP定時(shí)器中比較寄存器的值;通過(guò)中斷,不斷獲取最新的A/D轉換值,改變PWM波形的占空比,得到對應幅值的PWM波形,再將所得的20 kHz的PWM信號輸入給濾波器,用數字示波器觀(guān)察濾波器的D/A輸出,以評價(jià)這種D/A轉換方法的實(shí)際效果。

3.1  通過(guò)D/A轉換產(chǎn)生對應幅值PWM波形的DSP程序

  基于DSP功能模塊化的特點(diǎn),其匯編程序的編制主要分三個(gè)步驟:① 初始化設置時(shí)鐘源模塊,得到所需的CPUCLK和SYSCLK; ② 設置事件管理模塊,初始化定時(shí)器和A/D轉換操作; ③ 編寫(xiě)定時(shí)中斷服務(wù)子程序,即可完成從A/D轉換產(chǎn)生對應幅值的PWM波形輸出。部分程序代碼如下:

;設置 PLL模塊
  LDP #224;
  SPLK #0000000001000001b,CKCR0
     ;SYSCLK=CPUCLK/2
  SPLK #0000000010111011b,CKCR1
     ;CLKIN(OSC)=10MHz, CPUCLK=20MHz
  SPLK #0000000011000011b,CKCR0
     ;使能鎖相環(huán)(PLL)操作
  SPLK #0100000011000000b,SYSCR
     ;CLKOUT=CPUCLK
;設置EV 管理器
  LDP #232;
  SPLK #0,T1CMPR ;初始化定時(shí)比較寄存器
  SPLK #0000000001010101b,GPTCON
     ;通用定時(shí)器的PWM輸出為低有效
  SPLK #1000,T1PR ;設置PWM波形的周期為20 kHz
  SPLK #0000h,T1CNT ;初始化計數寄存器
  SPLK #0001000000001010b,T1CON
     ;設置連續增計數方式,使能比較操作
  SPLK #0000000010000000b,EVIMRA
     ;清除定時(shí)器1比較中斷屏蔽位
  LDP #224
  SPLK #1000110100000010b,ADCTRL1
     ;設置A/D連續轉換模式,選擇通道CH0
  SPLK #0000000000000101b,ADCTRL2
     ;設置A/D轉換輸入時(shí)鐘預定標因子為16
  LDP #232
  SBIT1 T1CON,B6_MSK ;使能定時(shí)器1中斷啟動(dòng)位
  LDP #224
  SBIT1 ADCTRL1,B0_MSK;使能A/D轉換啟動(dòng)位
  CLRC INTM;
  END B END ;等待定時(shí)器1中斷的產(chǎn)生
  ;產(chǎn)生PWM 波形ISR
Change_CMPR:
  LDP #224 ;定時(shí)器1比較中斷服務(wù)子程序
  LACC ADCTRL1;
  SACL ADCTRL1 ;清除片內A/D轉換中斷標志位
  LACC ADCFIFO1;讀取最新的A/D轉換值
  RPT #5;
  SFR ;把存于結果寄存器的高10位的A/D
  ;轉換值移至ACC的低十位
  LDP #232;
  SACL T1CMPR ;將A/D轉換值存于定時(shí)比較寄存器
  LACC EVIFRA;
  SACL EVIFRA ; 清除定時(shí)器中斷標志
  CLRC INTM ;開(kāi)中斷
  RET ;中斷返回

3.2  PWM輸出實(shí)現D/A轉換功能的實(shí)驗結果

  如圖4所示,是在給定一恒定的3.5 V模擬電壓作為F240的A/D輸入的情況下,所得的PWM輸出實(shí)現D/A轉換的波形圖。

圖4  PWM出實(shí)現D/A轉換波形圖

  波形1為不通過(guò)低通濾波器的原始PWM信號。

  波形2為PWM信號通過(guò)一階低通模擬低通濾波器后的D/A輸出波形,濾波器參數為R=1 kΩ,C=0.1μF,帶寬為1592 Hz?梢钥闯,一階下的D/A輸出為一鋸齒波,可用性很差。

  波形3為PWM信號通過(guò)二階Butterworth低通模擬濾波器后的D/A輸出波形,濾波器參數按照式(7)選取?梢钥闯,二階下的D/A輸出平均值接近3.5 V,只是尖峰毛刺比較大,有一定的可用性。

  波形4為PWM信號通過(guò)三階低通模擬濾波器后的D/A輸出波形,濾波器參數按照式(9)選取?梢钥闯,三階下的D/A輸出毛刺很小,D/A轉換的分辨率約為9.2位, 非常接近于理想的D/A輸出,可用性強。

  實(shí)驗結果表明,DSP的PWM信號經(jīng)過(guò)三階低通模擬濾波器后,得到的D/A轉換輸出帶寬較大,在1000 Hz左右;分辨率較高,約為9.5位,可以滿(mǎn)足實(shí)際應用的需要。

參考文獻

1  劉松強. 數字信號處理系統及其應用. 北京:清華大學(xué)出版社, 1996
2  張雄偉. DSP芯片的原理與開(kāi)發(fā)應用. 第2版. 北京:電子工業(yè)出版社, 1997
3  Texas Instruments. TMS320C2XX User's Guide. 1997

向先波  碩士,研究方向智能控制、機器人控制技術(shù)、DSP技術(shù)應用。
張琴  碩士,研究方向計算機仿真、機器人學(xué)及智能控制。
徐國華  副教授,研究方向水下機器人、智能控制及機電控制

本文地址:http://selenalain.com/thread-3030-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页