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