AD7715在精密分析儀器中的應(yīng)用研究
關(guān)鍵詞:∑-Δ技術(shù) AD7715 分析儀器 三線制串口
引言
AD7715模數(shù)轉(zhuǎn)換器是美國(guó)模擬器件公司(ADI)出品的采用和差轉(zhuǎn)換技術(shù)(∑-Δ技術(shù))的系列ADC之一。該系列A/D轉(zhuǎn)換器均由信號(hào)緩沖、可編程增益放大、∑-Δ調(diào)制器、數(shù)字濾波、三線串行接口等幾部分組成,在性能、通道數(shù)、功耗等指標(biāo)上有差別。傳統(tǒng)的討論局限于將此類ADC應(yīng)用到手持儀器、工業(yè)儀表、DSP設(shè)備等便攜式系統(tǒng)中,以發(fā)揮其小體積、低功耗的特點(diǎn)。而在比較大的系統(tǒng),例如高嚴(yán)謹(jǐn)分析儀器(如醫(yī)用生化類儀器和化學(xué)成分測(cè)量?jī)x器)中,還是偏愛(ài)傳統(tǒng)的逐次比較或雙積分ADC。在我們以前設(shè)計(jì)的兩種智能儀器當(dāng)中,涉及到高阻低頻信號(hào)的測(cè)量時(shí),曾使用過(guò)AD574和ICL7109。經(jīng)過(guò)認(rèn)真的分析,我們?cè)谄浜蟮母男彤a(chǎn)品中,大膽使用了單通道的AD7715作為替換,考慮到成本以及我們所需要的通道數(shù)目,我們沒(méi)有使用AD公司的∑-Δ系列中的多通道產(chǎn)品,因?yàn)锳D7715的指標(biāo)已經(jīng)很好了。
這種嘗試取得了很好的效果,它不僅簡(jiǎn)化了電路,縮小了面積,提高了分辨率,而且在抗干擾能力上不遜于雙積分式的7109;在量程處理和輸入信號(hào)的阻抗要求上雙比逐次逼近式的574靈活方便。轉(zhuǎn)換速度其實(shí)也是可變的,其滿足精度要求后的速度雖然和574不是一個(gè)數(shù)量級(jí),但遠(yuǎn)比7109快,足以滿足系統(tǒng)的轉(zhuǎn)換頻率要求。其唯一的缺點(diǎn)是,物理接線簡(jiǎn)單的三線制串行數(shù)據(jù)接口造成數(shù)據(jù)處理和程序調(diào)試的麻煩,不過(guò)和其顯著的優(yōu)點(diǎn)相比,這點(diǎn)困難是值得克服的。
1 ∑-Δ技術(shù)和AD7715簡(jiǎn)介
1.1 ∑-ΔADC工作原理
∑-Δ也稱為增量調(diào)制型轉(zhuǎn)換技術(shù),和普通的模數(shù)轉(zhuǎn)換原理不同,∑-Δ技術(shù)本身就采用了數(shù)字技術(shù)。使用∑-Δ技術(shù)的器件都具有數(shù)字系統(tǒng)所普遍具備的高可靠性、高穩(wěn)定性的優(yōu)點(diǎn)。
∑-Δ模數(shù)轉(zhuǎn)換器中的模擬部分非常簡(jiǎn)單(類似于一個(gè)1位ADC),而數(shù)字部分要復(fù)雜得多。由于更接近于一個(gè)數(shù)字器件,∑-Δ模數(shù)轉(zhuǎn)換器的制造成本很低廉。
簡(jiǎn)單地說(shuō),∑-ΔADC以很低的采樣分辨率(1位)和很高的采樣速率將模擬信號(hào)數(shù)字化。通過(guò)使用采樣、噪聲整形和數(shù)字濾波等方法增加有效分辨率,然后對(duì)ADC輸出進(jìn)行數(shù)字濾波和采樣抽取以降低有效采樣速度,使之符合分辨率和帶寬的要求。
∑-ΔADC主要由∑-Δ調(diào)制器、數(shù)字濾波和采樣抽取等幾部分組成,如圖1所示。
調(diào)制器本質(zhì)上是一個(gè)高速低精度(1位)的ADC,調(diào)制器以非常大的過(guò)采樣率采樣模擬信號(hào)。在這個(gè)階段調(diào)制器將輸入和輸出之間的差值(Δ)進(jìn)行一階劃多階積分(∑),結(jié)果通過(guò)一個(gè)量化器(1位ADC)輸出二進(jìn)制碼流。該碼流一方面輸出給數(shù)字濾波部分,另一方面通過(guò)一位DAC后和輸入信號(hào)比較,提供差值信號(hào)(Δ),構(gòu)成一個(gè)反饋循環(huán)。
∑-Δ調(diào)器以采樣速率輸出1位數(shù)據(jù)流,頻率可高達(dá)MHz量級(jí)。數(shù)字濾波和采樣抽取的目的是從該數(shù)據(jù)流中提取出有用的信息。通過(guò)數(shù)字濾波采樣抽取,濾波經(jīng)過(guò)調(diào)制器整形后的量化噪聲,提高系統(tǒng)精度。采樣抽取的底限是滿足信號(hào)無(wú)損重建的采樣定律,采樣頻率大于奈奎斯特頻率的兩倍(fn>2fb)。
1.2 AD7715簡(jiǎn)介
我們使用了16腳標(biāo)準(zhǔn)DIP封裝形式的AD7715,而沒(méi)有使用SOIC或TSSOP封裝。因?yàn)楹驮瓉?lái)使用的ADC相比,DIP封裝的AD7715已經(jīng)非常不占位置了。限于篇幅,AD7715的詳細(xì)工作原理不作介紹,可以參見(jiàn)AD公司的AD7715器件手冊(cè)。為便于下面的分析,在此僅給出主要技術(shù)參數(shù)和內(nèi)部編程用寄存器的簡(jiǎn)單說(shuō)明。AD7715片內(nèi)共有通信、設(shè)置、數(shù)據(jù)、測(cè)試四個(gè)寄存器供編程和訪問(wèn)。
主要技術(shù)參數(shù):
①16位無(wú)誤碼輸出,0.0015%非線性度;
②三線制串行接口,可靈活地與微處理機(jī)或DSP執(zhí)連接;
③前端增益可編程為1、2、32、128這四種,能對(duì)四段量程內(nèi)信號(hào)直接進(jìn)行高分辨率的轉(zhuǎn)換而不用另外進(jìn)行量程匹配處理;
④內(nèi)設(shè)自校準(zhǔn)電路,可有效去除零點(diǎn)漂移和增益誤差;
⑤內(nèi)設(shè)模擬輸入緩沖器,可直接對(duì)高阻信號(hào)進(jìn)行轉(zhuǎn)換;
⑥帶輸出速率可編程的低通濾波器,可根據(jù)需要選用不同轉(zhuǎn)換速率。
圖3 自校準(zhǔn)時(shí)序
可使用的內(nèi)部寄存器:
①通信寄存器,8位,可讀寫。每次對(duì)AD7715的訪問(wèn)都必須先向此寄存器寫入命令字。寫入的命令字決定下一步操作是針對(duì)哪一個(gè)寄存器,是讀操作還是寫操作。此外,通過(guò)該寄存器可設(shè)定片內(nèi)放大器增益。
②設(shè)置寄存器,8位,可讀寫。該寄存器負(fù)責(zé)A/D各種模式的設(shè)置。
③數(shù)據(jù)寄存器,16位,只讀。保存了最后一次A/D采樣的轉(zhuǎn)換結(jié)果。
2 在精密分析儀器中應(yīng)用AD7715
我們的分析測(cè)量?jī)x器使用mV至V級(jí)的模擬信號(hào),具有隨時(shí)間緩慢變化的曲線波形,要求準(zhǔn)確測(cè)量這種變化的曲線,通過(guò)對(duì)信號(hào)的處理獲得數(shù)據(jù),這種測(cè)量方法具有代表性。下面以其中種儀器為例進(jìn)行說(shuō)明。
2.1 問(wèn)題討論
我們的分析系統(tǒng)需要對(duì)兩路透射光信號(hào)通過(guò)光電波檢測(cè)后輸出,經(jīng)過(guò)電流-電壓轉(zhuǎn)換電路后范圍為0~1.5V,精度要求0.5%;另外還有兩路溫度信號(hào),經(jīng)過(guò)溫度傳感器后的輸出的電壓范圍為0~450mV,對(duì)應(yīng)0~45℃,要求精度0.1℃。
對(duì)轉(zhuǎn)速速度有一定的要求:首先溫度測(cè)定是連續(xù)的,從開(kāi)機(jī)時(shí)候起就要連續(xù)監(jiān)控,一個(gè)溫度信號(hào)用于控制加溫裝置,使測(cè)量系統(tǒng)恒溫在37℃;另一路溫度信號(hào)監(jiān)測(cè)機(jī)箱內(nèi)部溫度,根據(jù)這個(gè)溫度決定風(fēng)扇的啟停,風(fēng)扇啟動(dòng)溫度可由用戶設(shè)定,停止溫度低于啟動(dòng)溫度2℃.每2s測(cè)定一次這兩路的溫度,在進(jìn)行測(cè)量光信號(hào)時(shí)也不能停止37℃恒溫的監(jiān)控。
其次,測(cè)量?jī)陕饭庑盘?hào)必須精確按照0.1s一次的頻率進(jìn)行,即每100ms要各測(cè)量一次??紤]到對(duì)采樣數(shù)據(jù)簡(jiǎn)單處理要保留3ms時(shí)間,所以一次A/D轉(zhuǎn)換時(shí)間不能超過(guò)47ms。
這樣就出現(xiàn)了一個(gè)問(wèn)題,我們可以把測(cè)量光信號(hào)的時(shí)間中斷優(yōu)先級(jí)設(shè)置得比測(cè)量溫度的時(shí)間中斷要高,這樣才能保證前者的時(shí)間精度,而后者被中斷的、未轉(zhuǎn)換完的結(jié)果丟棄。但是,若每次A/D轉(zhuǎn)換(包括數(shù)據(jù)處理)時(shí)間大于33ms,將導(dǎo)致恒溫監(jiān)控事件上無(wú)法進(jìn)行,因?yàn)槠溟g的每個(gè)測(cè)溫A/D都無(wú)法完成。如果想使對(duì)機(jī)相溫度的監(jiān)控也不停止,則A/D轉(zhuǎn)換時(shí)間至少要小于25ms,其道理是顯而易見(jiàn)的。
2.2 設(shè)計(jì)思想
我們的系統(tǒng)使用12MHz主頻的97C52,AD7715的接線如圖2所示。
串口方式0很適合三線制接口的使用,此方式下TXD引腳作為串行時(shí)鐘,接收和發(fā)送均使用RXD引腳;RUN接CPU的P1.6引腳,IN_PORT.8是輸入端口的第8位,用來(lái)接收狀態(tài)信號(hào)DRDY;數(shù)字供電(DVDD、DGND)和模擬供電(AVDD、AGND)分開(kāi);VREF是基準(zhǔn)電壓,系統(tǒng)中使用2.39V精密電壓。Signal_IN接多路開(kāi)關(guān)(8選1)的輸出,因?yàn)椴恍枰D(zhuǎn)換差分信號(hào),所以AIN-接模擬地。
2.3 調(diào)試和軟件實(shí)現(xiàn)
AD7715的最高更新率可以達(dá)到500Hz,即理論上2ms可以完成1次A/D轉(zhuǎn)換,但實(shí)際上如果考慮到通道切換的因素后,這個(gè)速率是不可能的。因?yàn)橥ǖ垒喠髑袚Q后,A/D內(nèi)部的信號(hào)需要重新建立,通道間信號(hào)差異越大,兩次連續(xù)轉(zhuǎn)換間誤差也越大。這個(gè)問(wèn)題在其它類型的ADC中也存在。有兩種方法可以使AD7715在恒定的時(shí)間后獲得正確的輸出:一是使用設(shè)置寄存器中的FSYNC(同步)位,二是使用通信寄存器中的STBY(備用)位,我們采用后面一種方法。
另外一個(gè)問(wèn)題就是串口數(shù)據(jù),AD7715輸出數(shù)據(jù)和接收命令都是高位在先,而51系列串口的數(shù)據(jù)時(shí)序是低位在先;所以不論是寫8位的命令,還是讀取16位的轉(zhuǎn)換結(jié)果,數(shù)據(jù)要經(jīng)過(guò)高低位的顛倒處理。
關(guān)于校準(zhǔn)方式,一般采用自校準(zhǔn)就夠了,不是特殊情況一般不用進(jìn)行系統(tǒng)標(biāo)準(zhǔn)。校準(zhǔn)一定在有效的復(fù)位后進(jìn)行,否則不能成功。
至于編程和調(diào)試,建議使用C語(yǔ)言,這已是潮流所趨。我們這個(gè)系統(tǒng)的工作方式類似于兩個(gè)任務(wù)并發(fā)執(zhí)行,每個(gè)通道最多一次要轉(zhuǎn)換1800個(gè)數(shù)據(jù)供分析,用匯編來(lái)寫程序是力不從心的。而對(duì)于AD7715的編程,一個(gè)好的調(diào)試工具是必須的,特別需要能觀察時(shí)序的手段。圖3~圖5是邏輯分析儀采取的波形,分別是自校準(zhǔn)時(shí)序、寫命令時(shí)序和一次完整轉(zhuǎn)換后讀取16位結(jié)果的時(shí)序。
void initial_7715(){
SCON=0x00; /*串口寫*/
initialize_ad(); /*初始化AD7715的通信口*/
writereg(0x10);/*下面寫設(shè)置寄存器*/(寫入時(shí)序見(jiàn)圖4)
writereg(0x7c);/*自標(biāo)定,2.4576MHz,500Hz更新率,單極性,非緩沖模式*/
while(!IN_PORT & 0x80)); /*等待自標(biāo)定結(jié)束*/(圖3中J3.3所示高電平時(shí)間)
while(IN_PORT & 0x80);
}
void writereg(UNCHAR bytepoint){
RUN=0; /*AD7715 CS=0*/
SBUF=exchange(bytepoint); /*字節(jié)首尾交換*/
while(!TI);
TI=0;RUN=1;
}
float readdata 16(){
UNCHAR temp1;
UNINT temp2;
writereg(0x04); /*進(jìn)入stby方式,且下次寫通信寄存器*/
writereg(0x38); /*退出standby方式,設(shè)置讀操作,3/rate時(shí)間后出結(jié)果*/
while(!(IN_PORT & 0x80));
while(IN_PORT & 0x80); /*等待讀時(shí)刻到來(lái)*/
RUN=0; /*AD7715選中*/
SCON=0X10; /*串口讀*/
while(!RI);
temp1=SBUF; /*讀低8位*/
temp2=(UNINT)temp1;
while(!RI);
SCON=0x00; /*讀兩字節(jié)后停止接收*/
RUN=1;
temp1=SBUF; /*讀高8位*/(兩次讀取波形見(jiàn)圖5)
temp2|=((UNINT)temp1)<<8; /*合并成16位*/
return((float)(exchange_16(temp2))/65536.0*VREF); /*首位顛倒后換成電壓值*/
}
3 結(jié)論
根據(jù)我們的對(duì)比研究,得出這樣的結(jié)論:AD7715以及類似的∑-ΔADC系列產(chǎn)品和目前國(guó)內(nèi)幾乎所有同類分析儀器中采用的傳統(tǒng)雙積分或逐次逼近模數(shù)轉(zhuǎn)換電路相比,具有精度高、抗干擾性和可靠性強(qiáng)、轉(zhuǎn)換速度可以滿足低頻要求、電路簡(jiǎn)單、外圍器件少、維修更換方便等許多優(yōu)勢(shì),對(duì)于很多方便提供三線制串口時(shí)序的系統(tǒng)來(lái)說(shuō),完全可以作為A/D轉(zhuǎn)換電路的首先。