1. 引言
對測控現(xiàn)場的被測模擬信號的處理一般常用A/D或V/F轉(zhuǎn)換技術(shù),,兩種方法各有特點(diǎn):A/D轉(zhuǎn)換技術(shù)一般用于被測信號速率較高,,但干擾不是太嚴(yán)重的場合,而V/F轉(zhuǎn)換技術(shù)由于具有較強(qiáng)的抗干擾性且便于實(shí)現(xiàn)信號的遠(yuǎn)傳和隔離,,因此往往用于現(xiàn)場的干擾較為嚴(yán)重,、且信號傳輸距離較遠(yuǎn)的場合。但由于V/F變換的采樣速率較低,,在對分辨率,、采樣速率和抗干擾性要求都較高時(shí),則采用V/F轉(zhuǎn)換技術(shù)往往也難以滿足采樣要求,。盡管A/D轉(zhuǎn)換的采樣速率較高,,但由于其抗干擾性較差,從而使系統(tǒng)的可靠性,、穩(wěn)定性和測試精度都會受到影響,,有時(shí)甚至無法正常工作。
本文提出一種采用PWM技術(shù)的新型的高性能模數(shù)轉(zhuǎn)換器的設(shè)計(jì)方法,,利用MCU內(nèi)部的定時(shí)器,,結(jié)合改進(jìn)的逐次逼近的對分試探算法,只須采用普通元器件即可設(shè)計(jì)出具有高分辨率的A/D轉(zhuǎn)換器,,以實(shí)現(xiàn)對模擬電壓的測量,,通過實(shí)驗(yàn)證明該設(shè)計(jì)能夠達(dá)到較高的精度和分辨率,電路簡單,、可靠,、成本低、傳輸信號線少,,便于遠(yuǎn)傳或隔離,,抗干擾能力強(qiáng),,具有較好的應(yīng)用價(jià)值。
2. 基于PWM技術(shù)的A/D轉(zhuǎn)換工作原理及接口電路設(shè)計(jì)
一般模數(shù)轉(zhuǎn)換包括采樣,、保持,、量化和編碼四個過程。采樣就是將一個連續(xù)變化的信號x (t) 轉(zhuǎn)換成時(shí)間上離散的采樣信號x (n) ,。通常采樣脈沖的寬度tw 是很短的,故采樣輸出是斷續(xù)的窄脈沖。要把一個采樣輸出信號數(shù)字化,需要將采樣輸出所得的瞬時(shí)模擬信號保持一段時(shí)間,這就是保持過程,。量化是將連續(xù)幅度的抽樣信號轉(zhuǎn)換成離散時(shí)間,、離散幅度的數(shù)字信號,量化的主要問題就是量化誤差。編碼是將量化后的信號編碼成二進(jìn)制代碼輸出,。這些過程有些是合并進(jìn)行的,。例如,采樣和保持就利用一個電路連接完成,量化和編碼也是在轉(zhuǎn)換過程同時(shí)實(shí)現(xiàn)的,且所用時(shí)間又是保持時(shí)間的一部分[1]。
PWM即脈沖寬度調(diào)制,,PWM信號是一種周期(T)固定,、占空比變化的數(shù)字信號。當(dāng)對其進(jìn)行積分或低通濾波后,,便可獲得與其脈沖寬度呈正比的模擬電壓,,于是將該電壓作為試探值與被測模擬量進(jìn)行比較便可獲得與被測模擬量相對應(yīng)的PWM值或數(shù)字量。本設(shè)計(jì)是利用定時(shí)器產(chǎn)生PWM脈沖輸出信號,,利用比較器作為試探結(jié)果狀態(tài)標(biāo)志,,采用改進(jìn)的逐次逼近試探算法來實(shí)現(xiàn)對被測模擬量的A/D變換。由于一般單片機(jī)內(nèi)部都有定時(shí)器,,因此可直接利用片內(nèi)定時(shí)器來產(chǎn)生PWM信號即可[2],,本設(shè)計(jì)采用的是MSP430單片機(jī),由于其內(nèi)部的定時(shí)器A具有比較/捕獲功能,,且內(nèi)部具有多個捕獲/比較器:CCR0--CCRn,,因此利用這種功能可更方便的產(chǎn)生PWM信號,從而實(shí)現(xiàn)A/D轉(zhuǎn)換,。PWM波形的產(chǎn)生是利用定時(shí)器A輸出模式中的“復(fù)位/置位”模式,。例如可利用其中的捕獲/比較器CCR0來控制PWM的周期,而用CCR1通道控制PWM的占空比,,從而可方便的獲得PWM信號,,如圖1所示“復(fù)位/置位”模式輸出示意圖。
由圖1可知,,只要改變CCR1和CCR0的值就可以改變輸出波形的脈沖寬度和脈沖周期,,例如,以CCR0信號作為脈沖周期控制,,當(dāng)CCR1的值改變時(shí)即可改變PWM信號的脈沖寬度或占空比,,輸出信號就是PWM信號,。如圖2所示[3]。
若PWM信號的占空比隨時(shí)間變化,,那么經(jīng)過低通濾波后的輸出信號將是幅度變化的模擬信號,,因此通過控制PWM信號的占空比,就可以產(chǎn)生不同的模擬信號,。本設(shè)計(jì)中,,采用MSP430單片機(jī)的定時(shí)器A的CCR0來控制周期,采用CCR1來控制占空比,,從而產(chǎn)生所需要的PWM信號,。
采用PWM技術(shù)的A/D轉(zhuǎn)換電路設(shè)計(jì)如圖3、4所示,。A/D轉(zhuǎn)換通過MSP430單片機(jī)的內(nèi)部定時(shí)器A產(chǎn)生的PWM信號,,通過P23口輸出,經(jīng)過兩級RC低通濾波后得到與其對應(yīng)的模擬信號,,然后通過運(yùn)算放大器構(gòu)成的電壓跟隨器進(jìn)行阻抗變換后,,作為試探值送電壓比較器LM393的一端,在比較器的另一端接入被測模擬量,,兩信號在比較器中進(jìn)行比較,,通過檢測比較器的輸出電平狀態(tài)即可反映出試探值的大小,由比較器的輸出狀態(tài)調(diào)整PWM信號的占空比,,產(chǎn)生下一次PWM信號的輸出,,于是通過不斷的試探并修正PWM信號的占空比即可使試探值接近或等于被測量,則此時(shí)的脈沖值即為被測量的A/D轉(zhuǎn)換值,,可以達(dá)到16位的轉(zhuǎn)換精度,。另外,由原理圖4可知,,由于整個電路比較簡單且該轉(zhuǎn)換器與系統(tǒng)的連接只有兩條信號線:即PWM信號輸入線和用于將試探值與被測模擬量進(jìn)行比較的比較器信號輸出線,,因此在進(jìn)行抗干擾隔離時(shí)將很容易實(shí)現(xiàn),而在采用普通A/D轉(zhuǎn)換器的電路中進(jìn)行抗干擾隔離時(shí)則要麻煩的多,。
3. 微控制器MCU的選型
為方便使用和操作,,本設(shè)計(jì)不但設(shè)計(jì)簡單,而且功耗要低,,因此經(jīng)多方面綜合,、對比決定采用TI公司的具有SOC特點(diǎn)的MSP430系列MCU,這是一種超低功耗的16位混合信號控制器,,其內(nèi)部集成了大量的外圍模塊和溫度傳感器,,特別適用于電池供電的手持式設(shè)備或需要對環(huán)境溫度進(jìn)行補(bǔ)償?shù)臏y試儀器。
MSP430單片機(jī)采用最新的低功耗技術(shù),,工作在1.8~3.6V 電壓下,,有正常工作模式( A M ) 和4 種低功耗工作模式,;在最小功耗模式下其工作電流僅為0.1μA,而且可以方便地在各種工作模式之間切換,。它的超低功耗性在實(shí)際應(yīng)用中,, 尤其是在電池供電的便攜式設(shè)備中表現(xiàn)尤為突出。在系統(tǒng)初始化后便進(jìn)入待機(jī)模式,,當(dāng)有允許的中斷請求時(shí),,CPU 將在6μs的時(shí)間內(nèi)被喚醒, 進(jìn)入活動模式,,執(zhí)行中斷服務(wù)程序,。執(zhí)行完畢,在RETI 指令之后,,系統(tǒng)返回到中斷前的狀態(tài),繼續(xù)低功耗模式,。
本設(shè)計(jì)所采用的是MSP430F1232微控制器,,具有非常高的集成度,除內(nèi)部帶有具有PWM功能的定時(shí)器外,,片內(nèi)還集成了10通道的1 0位A / D轉(zhuǎn)換,、溫度傳感器、USART,、看門狗定時(shí)器,、片內(nèi)數(shù)控振蕩器DCO、大量的具有中斷功能的I/O 端口,、大容量的片內(nèi)Flash 和RAM 以及信息Flash 存儲器[4],。其中的16位定時(shí)器A中帶有3個捕獲/比較通道,內(nèi)部的Flash 存儲器可以實(shí)現(xiàn)掉電保護(hù)和軟件升級,。由此采用MSP430單片機(jī)作為該設(shè)計(jì)的處理器,,不但可簡化系統(tǒng)電路設(shè)計(jì)、縮短開發(fā)周期,,降低系統(tǒng)功耗,,還可利用其內(nèi)部集成的溫度傳感器,方便的對被測模擬量進(jìn)行溫度補(bǔ)償,,從而使系統(tǒng)的測試精度得以提高,。
4. A/D 轉(zhuǎn)換分辨率分析及主程序設(shè)計(jì)
由于采用PWM技術(shù)的A/D轉(zhuǎn)換器的分辨率取決于控制PWM脈沖占空比的定時(shí)器的計(jì)數(shù)值位數(shù)或字長,因此可通過改變定時(shí)器計(jì)數(shù)位數(shù)來改變A/D轉(zhuǎn)換的分辨率,,而MSP430單片機(jī)的內(nèi)部定時(shí)器A中的計(jì)數(shù)器字長為16位,,因此其PWM信號占空比的調(diào)整范圍為0~216-1,于是當(dāng)系統(tǒng)定時(shí)器的計(jì)數(shù)器字長為16位時(shí),,采用PWM技術(shù)的A/D轉(zhuǎn)換器的最大分辨率可達(dá)16位,。由于單片機(jī)內(nèi)部的16位定時(shí)器采用晶振作為內(nèi)部計(jì)數(shù)器的工作時(shí)鐘,,因此其定時(shí)精度一般都較高,且其計(jì)數(shù)值與PWM脈沖占空比成嚴(yán)格的線性關(guān)系,,輸入脈沖精確,,因此A/D轉(zhuǎn)換的線性度和精度較好,線性度誤差小于1%,。轉(zhuǎn)換速率與分辨率和選取的PWM信號的周期有關(guān),,分辨率越高,轉(zhuǎn)換時(shí)間越長,,但同采用V/F方式相比較,,轉(zhuǎn)換速度要快的多。
為了能夠縮短試探時(shí)間提高在高分辨率下的采樣速度,,采用改進(jìn)的逐次逼近的對分試探法使得試探值能夠迅速逼近被測模擬量,。常規(guī)的對分試探法是每次試探開始時(shí),首先將最大計(jì)數(shù)值的一半(即字長對分值)作為試探初值并將其轉(zhuǎn)換成PWM信號輸出,,相當(dāng)于輸出1:1占空比的PWM脈沖信號,,然后測試比較器的狀態(tài),以確定當(dāng)前試探值的大小,,若試探值小于被測模擬量,,則保留當(dāng)前試探值,否則去掉,,然后再將剩余值的一半(即:剩余對分值)作為新的增量與上次保留值相加后產(chǎn)生新的試探值并將其轉(zhuǎn)換成PWM脈沖信號輸出,,再測試比較器的狀態(tài),若大于被測模擬量,,則去掉當(dāng)前增量,,否則保留,隨后每次的輸出都將剩余對分值作為增量進(jìn)行試探,,一直持續(xù)的試探下去,,直到試探完與分辨率相當(dāng)?shù)拇螖?shù),例如:實(shí)現(xiàn)具有16位分辨率的A/D轉(zhuǎn)換就要試探16次,。由于該方法在采樣時(shí)無論當(dāng)前采樣值試探值多么接近被測值,,其每次采樣的試探次數(shù)都相同,為減小試探次數(shù)提高采樣速率,,在本設(shè)計(jì)中采用了一種改進(jìn)的逐次逼近試探算法,,可大大減少試探次數(shù),其具體實(shí)現(xiàn)的方法是:當(dāng)?shù)谝淮卧囂酵瓴@得采樣值后,,保留當(dāng)前采樣值,,不再以剩余對分值作為新的增量,而是以最小值作為初次增量(即:將最低位置1,可將其看作權(quán)值),,與上次保留值相加并轉(zhuǎn)換成PWM信號輸出,,通過測試比較器輸出確定當(dāng)前增量值是否需要保留,若試探值小于被測模擬量,,則保留當(dāng)前試探值,,否則去掉。若需要增大試探值時(shí),,則可將權(quán)值左移一位再與上次試探值相加,,以形成新的試探值,這樣可以使逐次逼近試探值總處在跟蹤試探狀態(tài),,從而大大減少了試探次數(shù),。由于在實(shí)際測試過程中被測模擬量一般很少有突變情況發(fā)生,大都處在緩變增加或緩變減小狀態(tài),,因此采用這種改進(jìn)的逐次逼近的試探算法,,將會有效的提高A/D轉(zhuǎn)換器的采樣速率。
采用PWM技術(shù)的A/D轉(zhuǎn)換器的主程序,,采用匯編語言編寫,。其主程序流程圖如圖5所示:
5. 結(jié)束語
采用普通元器件利用MCU內(nèi)部定時(shí)器結(jié)合PWM技術(shù)設(shè)計(jì)高分辨率的A/D轉(zhuǎn)換器,改變A/D轉(zhuǎn)換的分辨率只須修改PWM定時(shí)器的有關(guān)參數(shù)即可,,靈活方便,穩(wěn)定性好,,線性度高,,由于該轉(zhuǎn)換器與系統(tǒng)的連接僅為兩條信號線,因此,,可以很方便的采用光電隔離技術(shù)提高系統(tǒng)的抗干擾能力,,另外由于電路中的低通濾波環(huán)節(jié),使得電路本身也具有一定的抗干擾能力,,這比較適合在具有較強(qiáng)的干擾環(huán)境中使用,,采用改進(jìn)的逐次逼近試探算法實(shí)現(xiàn)對模擬電壓的測量或A/D變換,提高了采樣速率,,轉(zhuǎn)換電路設(shè)計(jì)及算法實(shí)現(xiàn)簡單,,測試分辨率和精度較高,具有較好的應(yīng)用價(jià)值,。
本文創(chuàng)新點(diǎn):利用PWM技術(shù)實(shí)現(xiàn)對模擬電壓的測量或A/D變換,,既具有較高的分辨率,又具有較好的抗干擾性,,且便于采用光電隔離,。同時(shí)結(jié)合利用改進(jìn)的逐次逼近試探算法大大減少了試探次數(shù),轉(zhuǎn)換電路的設(shè)計(jì)及轉(zhuǎn)換算法實(shí)現(xiàn)簡單,,A/D轉(zhuǎn)換分辨率可以根據(jù)需要任意設(shè)置,,具有較好的應(yīng)用價(jià)值,。
目前市場上14—16位的A/D轉(zhuǎn)換器芯片的銷售價(jià)格大約在100元—300元之間,具有相應(yīng)分辨率的V/F轉(zhuǎn)換模塊的銷售價(jià)格約為100—150元,,而采用PWM技術(shù)設(shè)計(jì)的A/D轉(zhuǎn)換器中所用到的主要芯片或元器件為:運(yùn)放:8元,;高速比較器LM311或LM393:2元;MCU:15元(但采用A/D轉(zhuǎn)換器芯片時(shí)也必須要用MCU,,當(dāng)采用用戶系統(tǒng)中的MCU時(shí)此費(fèi)用可?。矗嚎傎M(fèi)用包括MCU時(shí)才不超過30元,,按照保守用量計(jì)算:若A/D芯片加V/F轉(zhuǎn)換模塊的年需求總量為十萬片(塊)時(shí),,其經(jīng)濟(jì)效益是相當(dāng)可觀的。
參考文獻(xiàn):
[1]王樹紅.幾種A/ D 轉(zhuǎn)換技術(shù)及性能特點(diǎn)的分析[J]. 山西電子技術(shù), 2004 年第5 期
[2]張運(yùn)波.PWM信號的軟件實(shí)現(xiàn)方法[J]. 微計(jì)算機(jī)信息, 2002,,18-10:46-47,。
[3]秦龍.MSP430單片機(jī)C語言應(yīng)用程序設(shè)計(jì)實(shí)例精講[M].電子工業(yè)出版社,2006.5
[4]魏小龍. MSP430系列單片機(jī)接口技術(shù)及系統(tǒng)設(shè)計(jì)實(shí)例[M].北京航空航天大學(xué)出版社, 2003.6