1. 引言
對(duì)測(cè)控現(xiàn)場(chǎng)的被測(cè)模擬信號(hào)的處理一般常用A/D或V/F轉(zhuǎn)換技術(shù),兩種方法各有特點(diǎn):A/D轉(zhuǎn)換技術(shù)一般用于被測(cè)信號(hào)速率較高,但干擾不是太嚴(yán)重的場(chǎng)合,而V/F轉(zhuǎn)換技術(shù)由于具有較強(qiáng)的抗干擾性且便于實(shí)現(xiàn)信號(hào)的遠(yuǎn)傳和隔離,因此往往用于現(xiàn)場(chǎng)的干擾較為嚴(yán)重、且信號(hào)傳輸距離較遠(yuǎn)的場(chǎng)合。但由于V/F變換的采樣速率較低,在對(duì)分辨率、采樣速率和抗干擾性要求都較高時(shí),則采用V/F轉(zhuǎn)換技術(shù)往往也難以滿足采樣要求。盡管A/D轉(zhuǎn)換的采樣速率較高,但由于其抗干擾性較差,從而使系統(tǒng)的可靠性、穩(wěn)定性和測(cè)試精度都會(huì)受到影響,有時(shí)甚至無(wú)法正常工作。
本文提出一種采用PWM技術(shù)的新型的高性能模數(shù)轉(zhuǎn)換器的設(shè)計(jì)方法,利用MCU內(nèi)部的定時(shí)器,結(jié)合改進(jìn)的逐次逼近的對(duì)分試探算法,只須采用普通元器件即可設(shè)計(jì)出具有高分辨率的A/D轉(zhuǎn)換器,以實(shí)現(xiàn)對(duì)模擬電壓的測(cè)量,通過(guò)實(shí)驗(yàn)證明該設(shè)計(jì)能夠達(dá)到較高的精度和分辨率,電路簡(jiǎn)單、可靠、成本低、傳輸信號(hào)線少,便于遠(yuǎn)傳或隔離,抗干擾能力強(qiáng),具有較好的應(yīng)用價(jià)值。
2. 基于PWM技術(shù)的A/D轉(zhuǎn)換工作原理及接口電路設(shè)計(jì)
一般模數(shù)轉(zhuǎn)換包括采樣、保持、量化和編碼四個(gè)過(guò)程。采樣就是將一個(gè)連續(xù)變化的信號(hào)x (t) 轉(zhuǎn)換成時(shí)間上離散的采樣信號(hào)x (n) 。通常采樣脈沖的寬度tw 是很短的,故采樣輸出是斷續(xù)的窄脈沖。要把一個(gè)采樣輸出信號(hào)數(shù)字化,需要將采樣輸出所得的瞬時(shí)模擬信號(hào)保持一段時(shí)間,這就是保持過(guò)程。量化是將連續(xù)幅度的抽樣信號(hào)轉(zhuǎn)換成離散時(shí)間、離散幅度的數(shù)字信號(hào),量化的主要問(wèn)題就是量化誤差。編碼是將量化后的信號(hào)編碼成二進(jìn)制代碼輸出。這些過(guò)程有些是合并進(jìn)行的。例如,采樣和保持就利用一個(gè)電路連接完成,量化和編碼也是在轉(zhuǎn)換過(guò)程同時(shí)實(shí)現(xiàn)的,且所用時(shí)間又是保持時(shí)間的一部分[1]。
PWM即脈沖寬度調(diào)制,PWM信號(hào)是一種周期(T)固定、占空比變化的數(shù)字信號(hào)。當(dāng)對(duì)其進(jìn)行積分或低通濾波后,便可獲得與其脈沖寬度呈正比的模擬電壓,于是將該電壓作為試探值與被測(cè)模擬量進(jìn)行比較便可獲得與被測(cè)模擬量相對(duì)應(yīng)的PWM值或數(shù)字量。本設(shè)計(jì)是利用定時(shí)器產(chǎn)生PWM脈沖輸出信號(hào),利用比較器作為試探結(jié)果狀態(tài)標(biāo)志,采用改進(jìn)的逐次逼近試探算法來(lái)實(shí)現(xiàn)對(duì)被測(cè)模擬量的A/D變換。由于一般單片機(jī)內(nèi)部都有定時(shí)器,因此可直接利用片內(nèi)定時(shí)器來(lái)產(chǎn)生PWM信號(hào)即可[2],本設(shè)計(jì)采用的是MSP430單片機(jī),由于其內(nèi)部的定時(shí)器A具有比較/捕獲功能,且內(nèi)部具有多個(gè)捕獲/比較器:CCR0--CCRn,因此利用這種功能可更方便的產(chǎn)生PWM信號(hào),從而實(shí)現(xiàn)A/D轉(zhuǎn)換。PWM波形的產(chǎn)生是利用定時(shí)器A輸出模式中的“復(fù)位/置位”模式。例如可利用其中的捕獲/比較器CCR0來(lái)控制PWM的周期,而用CCR1通道控制PWM的占空比,從而可方便的獲得PWM信號(hào),如圖1所示“復(fù)位/置位”模式輸出示意圖。
由圖1可知,只要改變CCR1和CCR0的值就可以改變輸出波形的脈沖寬度和脈沖周期,例如,以CCR0信號(hào)作為脈沖周期控制,當(dāng)CCR1的值改變時(shí)即可改變PWM信號(hào)的脈沖寬度或占空比,輸出信號(hào)就是PWM信號(hào)。如圖2所示[3]。
若PWM信號(hào)的占空比隨時(shí)間變化,那么經(jīng)過(guò)低通濾波后的輸出信號(hào)將是幅度變化的模擬信號(hào),因此通過(guò)控制PWM信號(hào)的占空比,就可以產(chǎn)生不同的模擬信號(hào)。本設(shè)計(jì)中,采用MSP430單片機(jī)的定時(shí)器A的CCR0來(lái)控制周期,采用CCR1來(lái)控制占空比,從而產(chǎn)生所需要的PWM信號(hào)。
采用PWM技術(shù)的A/D轉(zhuǎn)換電路設(shè)計(jì)如圖3、4所示。A/D轉(zhuǎn)換通過(guò)MSP430單片機(jī)的內(nèi)部定時(shí)器A產(chǎn)生的PWM信號(hào),通過(guò)P23口輸出,經(jīng)過(guò)兩級(jí)RC低通濾波后得到與其對(duì)應(yīng)的模擬信號(hào),然后通過(guò)運(yùn)算放大器構(gòu)成的電壓跟隨器進(jìn)行阻抗變換后,作為試探值送電壓比較器LM393的一端,在比較器的另一端接入被測(cè)模擬量,兩信號(hào)在比較器中進(jìn)行比較,通過(guò)檢測(cè)比較器的輸出電平狀態(tài)即可反映出試探值的大小,由比較器的輸出狀態(tài)調(diào)整PWM信號(hào)的占空比,產(chǎn)生下一次PWM信號(hào)的輸出,于是通過(guò)不斷的試探并修正PWM信號(hào)的占空比即可使試探值接近或等于被測(cè)量,則此時(shí)的脈沖值即為被測(cè)量的A/D轉(zhuǎn)換值,可以達(dá)到16位的轉(zhuǎn)換精度。另外,由原理圖4可知,由于整個(gè)電路比較簡(jiǎn)單且該轉(zhuǎn)換器與系統(tǒng)的連接只有兩條信號(hào)線:即PWM信號(hào)輸入線和用于將試探值與被測(cè)模擬量進(jìn)行比較的比較器信號(hào)輸出線,因此在進(jìn)行抗干擾隔離時(shí)將很容易實(shí)現(xiàn),而在采用普通A/D轉(zhuǎn)換器的電路中進(jìn)行抗干擾隔離時(shí)則要麻煩的多。
3. 微控制器MCU的選型
為方便使用和操作,本設(shè)計(jì)不但設(shè)計(jì)簡(jiǎn)單,而且功耗要低,因此經(jīng)多方面綜合、對(duì)比決定采用TI公司的具有SOC特點(diǎn)的MSP430系列MCU,這是一種超低功耗的16位混合信號(hào)控制器,其內(nèi)部集成了大量的外圍模塊和溫度傳感器,特別適用于電池供電的手持式設(shè)備或需要對(duì)環(huán)境溫度進(jìn)行補(bǔ)償?shù)臏y(cè)試儀器。
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)有允許的中斷請(qǐng)求時(shí),CPU 將在6μs的時(shí)間內(nèi)被喚醒, 進(jìn)入活動(dòng)模式,執(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、看門(mén)狗定時(shí)器、片內(nèi)數(shù)控振蕩器DCO、大量的具有中斷功能的I/O 端口、大容量的片內(nèi)Flash 和RAM 以及信息Flash 存儲(chǔ)器[4]。其中的16位定時(shí)器A中帶有3個(gè)捕獲/比較通道,內(nèi)部的Flash 存儲(chǔ)器可以實(shí)現(xiàn)掉電保護(hù)和軟件升級(jí)。由此采用MSP430單片機(jī)作為該設(shè)計(jì)的處理器,不但可簡(jiǎn)化系統(tǒng)電路設(shè)計(jì)、縮短開(kāi)發(fā)周期,降低系統(tǒng)功耗,還可利用其內(nèi)部集成的溫度傳感器,方便的對(duì)被測(cè)模擬量進(jìn)行溫度補(bǔ)償,從而使系統(tǒng)的測(cè)試精度得以提高。