摘 要: 介紹了A/D" title="A/D">A/D轉(zhuǎn)換器AD7730的基本原理,其中包括A/D轉(zhuǎn)換輸出速率的設(shè)定、內(nèi)部校準(zhǔn)和系統(tǒng)校準(zhǔn)的選擇、接口電路設(shè)計等。給出了AD7730在發(fā)動機(jī)燃油消耗測量儀" title="測量儀">測量儀中的應(yīng)用實例。
關(guān)鍵詞: ∑-Δ A/D轉(zhuǎn)換器 AD7730 校準(zhǔn) 串行接口
AD7730是美國ADI公司推出的一款高分辨率的A/D轉(zhuǎn)換器,具有雙通道差分模擬輸入、24位無失碼、21位有效分辨率、±0.0018%線性誤差等特點(diǎn)。由于采用∑-Δ轉(zhuǎn)換技術(shù),量化噪聲被移至A/D轉(zhuǎn)換的頻帶以外,因此AD7730特別適合用于寬動態(tài)范圍內(nèi)的低頻信號A/D轉(zhuǎn)換,具有優(yōu)良的抗噪聲性能。在發(fā)動機(jī)燃油消耗測量儀中使用AD7730直接與稱重傳感器和單片機(jī)接口,并由單片機(jī)讀入A/D轉(zhuǎn)換值,進(jìn)行發(fā)動機(jī)平均油耗計算并顯示輸出,就是其應(yīng)用之一。
1 AD7730的工作原理和內(nèi)部結(jié)構(gòu)
1.1 ∑-Δ A/D轉(zhuǎn)換器原理
∑-Δ A/D轉(zhuǎn)換器的工作原理如圖1所示,它以k倍過采樣頻率kfs(fs采樣頻率)采樣模擬輸入信號,并通過噪聲整形電路將fs/2信號帶寬內(nèi)的大部分量化噪聲移至A/D轉(zhuǎn)換頻帶之外的fs/2至kfs/2之間,電路量化噪聲降為原來的1/[1]。模擬低通濾濾器只濾除kfs/2以上的噪聲,因此需通過數(shù)字濾波器和采樣抽取電路提取頻帶內(nèi)的有用信號,濾除頻帶之外的量化噪聲和無用信號,提高信噪比和有效分辨率。采樣抽取的原則應(yīng)滿足Nyquist采樣定律[2],采樣頻率應(yīng)大于信號頻率的兩倍(fs>2fa)?!?Δ A/D轉(zhuǎn)換器的數(shù)字濾波器,用戶可通過軟件編程設(shè)置,從而使A/D轉(zhuǎn)換器可在數(shù)據(jù)輸出速率、峰-峰分辨率、噪聲系數(shù)之間作出最佳的選擇。
?
1.2 AD7730內(nèi)部結(jié)構(gòu)
AD7730內(nèi)部結(jié)構(gòu)如圖2所示,它包含一個24位的∑-Δ A/D轉(zhuǎn)換器、兩級可編程的數(shù)字濾波器、十三個片內(nèi)控制寄存器、一個校正微處理器、兩路差分模擬輸入通道和雙向串行輸入輸出接口。
1.2.1 差分模擬輸入
AD7730具有兩路差分模擬輸入通道,通過寫入方式寄存器的控制位,可設(shè)置傳感器模擬輸入量程范圍為0~+10mV、0~+20mV、0~+40mV、0~+80mV(四種單極性信號)以及±10mV、±20mV、±40mV、±80mV(四種雙極性信號),并且能夠?qū)Σ煌鹊膫鞲衅鬏斎胄盘枌崿F(xiàn)量程轉(zhuǎn)換。多路轉(zhuǎn)換器MUX的輸出在加到片內(nèi)可編程增益放大器(PGA)之前,要先與片內(nèi)6位DAC的輸出求和,使輸入信號在PGA的允許量程范圍之內(nèi)(DAC輸出最大能抵消模擬輸入信號量程范圍內(nèi)達(dá)±77.5mV的失調(diào)值)。
1.2.2 串行接口
AD7730工作方式的寫入設(shè)置和轉(zhuǎn)換結(jié)果讀出都是通過串行接口對片內(nèi)相應(yīng)寄存器進(jìn)行操作完成的。串行時鐘脈沖SCLK是控制A/D串行數(shù)據(jù)傳送的移位脈沖。狀態(tài)標(biāo)志標(biāo)明AD7730數(shù)據(jù)寄存器的狀態(tài)。A/D轉(zhuǎn)換結(jié)果、校準(zhǔn)系數(shù)、工作方式、數(shù)據(jù)輸出速率則通過DIN、DOUT兩條數(shù)據(jù)線進(jìn)行串行讀寫操作來完成。圖3是AD7730的讀寫周期時序。
寫入AD7730的串行數(shù)據(jù)要先寫入輸入移位寄存器" title="移位寄存器">移位寄存器。當(dāng)時鐘邏輯引腳POL為高電平時,執(zhí)行單片機(jī)位操作寫指令,在SCLK時鐘下降沿,將數(shù)據(jù)傳送至AD7730的DIN串行數(shù)據(jù)輸入端;在SCLK時鐘上升沿,數(shù)據(jù)鎖存到輸入移位寄存器中。當(dāng)移位寄存器規(guī)定的位數(shù)全部寫入時,輸入移位寄存器的內(nèi)容便被傳送至指定的片內(nèi)寄存器。
當(dāng)啟動AD7730寄存器的讀操作時,片內(nèi)相應(yīng)寄存器的內(nèi)容傳送到輸出移位寄存器。當(dāng)時鐘邏輯引腳POL為高電平時,在SCLK時鐘下降沿,數(shù)據(jù)從輸出移位寄存器串行輸出到DOUT端口鎖存;在SCLK時鐘上升沿,執(zhí)行單片機(jī)位操作讀指令,DOUT端口的數(shù)據(jù)便經(jīng)串行移位讀入到單片機(jī)。
2 AD7730在發(fā)動機(jī)燃油消耗測量儀中的應(yīng)用
2.1 發(fā)動機(jī)燃油消耗測量儀測量原理
測量儀的稱重傳感器輸出與油杯和杯內(nèi)燃油重量之和成正比的信號,測控軟件根據(jù)耗油時間計算油杯內(nèi)燃油重量與原有燃油重量的差值,以kg/h或g/s為測量單位顯示油耗。稱重式測量方式只與燃油的重量直接相關(guān),而與燃油的密度、容積無關(guān),因此不存在由于受燃油氣泡的影響導(dǎo)致容積的變化而產(chǎn)生的測量誤差。測量精度在很大程度上取決于稱重傳感器和A/D轉(zhuǎn)換器的精度。
A/D轉(zhuǎn)換器與檢測傳感器接口,傳統(tǒng)的設(shè)計方式是設(shè)置前置放大器或接口模塊。以往應(yīng)用雙積分型A/D轉(zhuǎn)換器ICL7135或逐次逼近型A/D轉(zhuǎn)換器AD574與稱重傳感器接口時,采用運(yùn)算放大器OP27或儀表放大器AD620組成前置放大電路,并設(shè)置零點(diǎn)、增益、基準(zhǔn)電壓調(diào)整電位器。通過前置放大電路與YZ108B稱重傳感器接口,將稱重傳感器0~10mV的信號放大到ICL7135的0~2V的接口電平信號或AD574的0~10V的接口電平信號。由于電路標(biāo)定調(diào)試需要調(diào)整電位器,所以硬件電路調(diào)試一直存在調(diào)整精度重復(fù)性差的弊端。
本文通過使用24位∑-Δ A/D轉(zhuǎn)換器AD7730與稱重傳感器直接接口,組建發(fā)動機(jī)燃油消耗測控裝置,如圖4所示。硬件電路取消了前置放大電路或接口模塊,電路參數(shù)可以免調(diào)試。A/D轉(zhuǎn)換器的數(shù)字濾波、輸出速率、基準(zhǔn)電壓的設(shè)置可通過軟件編程設(shè)定。AD7730內(nèi)部零點(diǎn)或系統(tǒng)零點(diǎn)及增益校準(zhǔn)的編程控制方式取代了手動調(diào)整零點(diǎn)、增益、基準(zhǔn)電壓電位器的參數(shù)設(shè)定。
2.2 AD7730接口電路設(shè)計
在發(fā)動機(jī)燃油消耗測量儀中,AD7730與YZ108B電阻應(yīng)變片稱重傳感器的模擬接口電路和與微處理器的數(shù)字接口電路如圖5所示。R1、R2、C1、C2組成低通濾波電路,C3為共模濾波電容,C4為傳感器屏蔽層降噪電容。通過軟件編程設(shè)置AD7730模擬信號輸入量程為0~10mV,基準(zhǔn)電壓為5V,并使其處于斬波" title="斬波">斬波工作方式和兩級數(shù)字濾波方式。
AT89C52的P1.0、P1.1、P1.3、P1.4分別與AD7730的SCLK、CS、DOUT、DIN接口,通過控制AD7730的串口時序,完成A/D連續(xù)轉(zhuǎn)換的讀寫操作。P1.2與連接,通過查詢方式控制AD7730。當(dāng)狀態(tài)標(biāo)志為低電平時,讀取AD7730數(shù)據(jù)寄存器內(nèi)的A/D轉(zhuǎn)換數(shù)據(jù)或校準(zhǔn)數(shù)據(jù)。當(dāng)為高電平時,AD7730數(shù)據(jù)寄存器更新數(shù)據(jù),禁止數(shù)據(jù)傳送。也可以把與AT89C52的連接,通過中斷方式控制AD7730,或訪問狀態(tài)寄存器的位以節(jié)省一位I/O口。
2.3 印制電路板布局設(shè)計
AD7730具有24位的分辨率,在+10mV輸入量程、50Hz的輸出速率和斬波工作方式下,最低有效位1LSB對應(yīng)0.596nV的電壓值,噪聲系數(shù)只有40nV [3]。由于AD7730的分辨率極高、噪聲系數(shù)極低,必須十分注意印制電路板的元件布局、芯片模擬地" title="模擬地">模擬地和數(shù)字地的接地連接。
在印制電路板元件布局方面,模擬元件與數(shù)字元件要完全分開,避免模擬信號線和數(shù)字信號線相互交叉。雙面印制板布設(shè)模擬地和數(shù)字地的鋪銅層,要分別覆圍所有模擬元件和數(shù)字元件。AD7730芯片下方不要布設(shè)任何信號線,并用模擬地鋪銅層覆圍。特別要注意的是,A/D轉(zhuǎn)換器和微處理器的晶振應(yīng)用數(shù)字地覆圍屏蔽,并遠(yuǎn)離模擬信號線,同時避免噪音對印制板其它部位元件產(chǎn)生幅射干擾影響。
?
印制板頂層模擬地與數(shù)字地鋪銅層要互不連接,底層模擬地與數(shù)字地鋪銅層不要在接線端子插座的直流地端短接,而要在AD7730芯片的模擬地AGND和數(shù)字地DGND處一點(diǎn)短接,這樣更能有效降低接地阻抗和噪聲系數(shù)。接線端子直流地與印制板模擬地鋪銅層要連接,模擬輸入信號線線條要寬、采用最短路徑靠近AD7730模擬輸入端口。AD7730模擬電源和數(shù)字電源端要分別用10μF鉭電容和0.01μF陶瓷電容并聯(lián),系統(tǒng)工作電源要采用線性電源。
2.4 AD7730數(shù)據(jù)轉(zhuǎn)換的軟件編程
對于AD7730數(shù)據(jù)轉(zhuǎn)換的編程,首先要寫通訊寄存器,指定下一步操作是讀還是寫以及讀寫那一個寄存器,之后對指定寄存器進(jìn)行讀寫操作。下面是用AD7730進(jìn)行三字節(jié)(24位)數(shù)據(jù)轉(zhuǎn)換并通過串口輸出的片內(nèi)寄存器讀寫控制子程序:
void writereg(byteword) /*寫AD7730片內(nèi)寄存器子程序*/
unsigned char byteword;
{unsigned char temp;
int i;
CS=0;
temp=0x80;
for(i=0;i<8;i++)
{SCLK=0; /*時鐘下降沿,數(shù)據(jù)傳送至AD7730的DIN串行數(shù)據(jù)輸入端*/
if((temp&byteword)= =0)
DIN=0;
else DIN=1;
SCLK=1; /*時鐘上升沿,數(shù)據(jù)鎖存到AD7730輸入移位寄存器*/
temp=temp>>1;}
DIN=0;
CS=1;}
void read(readtime) /*讀AD7730 A/D轉(zhuǎn)換結(jié)果子程序*/
int readtime;
{int i, j,t;
unsigned char temp1;
t=0;
CS=0;
DIN=0;
temp1=0x00;
for(i=0;i<readtime;i++)
{while(RDY); /*A/D轉(zhuǎn)換狀態(tài)標(biāo)志判斷*/
for(j=0;j<24;j++)
{SCLK=0; /*時鐘下降沿,數(shù)據(jù)從輸出移位寄存器串行輸出到DOUT端口鎖存*/
if(DOUT= =0)
temp1= temp1<<1;
else
{ temp1= temp1<<1;
temp1= temp1+0x01;}
SCLK=1; /*時鐘上升沿,DOUT端口的數(shù)據(jù)經(jīng)串行移位讀入到單片機(jī)*/
if(j= =7‖j= =15‖j= =23)
{temp3[t]=temp1; /*A/D轉(zhuǎn)換值存入AT89C52單片機(jī)內(nèi)存單元*/
t=t+1;
temp1=0x00;}}}
CS=1;}
2.5 數(shù)字濾波器和A/D輸出速率的選擇
AD7730具有兩級數(shù)字濾波器,濾波方式、建立時間、數(shù)據(jù)輸出速率可通過對濾波寄存器編程進(jìn)行選擇。第一級濾波器具有斬波和非斬波兩種工作方式。斬波方式能夠消除調(diào)制器產(chǎn)生的量化噪聲,對于漂移、噪聲抑制和電磁干擾抑制要求較高的應(yīng)用場合應(yīng)采用斬波方式。反之,只要求達(dá)到較高的轉(zhuǎn)換速率的應(yīng)用場合應(yīng)采用非斬波方式。
第二級濾波器具有三種工作方式:①直通方式,第一級濾波器的輸出直接作為轉(zhuǎn)換結(jié)果。②22階FIR低通濾波器方式,對第一級濾波器的輸出再進(jìn)行濾波處理。③快速階躍方式,模擬輸入有階躍變化或通道切換時,可選擇該方式提高A/D轉(zhuǎn)換響應(yīng)。
AD7730數(shù)據(jù)輸出速率與A/D轉(zhuǎn)換有效位數(shù)、噪聲系數(shù)密切相關(guān),較高的數(shù)據(jù)輸出速率對應(yīng)較低的分辨率。例如±80mV輸入、斬波方式下50Hz模擬信號數(shù)據(jù)輸出速率,對應(yīng)A/D轉(zhuǎn)換峰-峰分辨率為18位,噪聲系數(shù)為115nV;400Hz模擬信號數(shù)據(jù)輸出速率,對應(yīng)A/D轉(zhuǎn)換峰-峰分辨率為16.5位,噪聲系數(shù)為335nV,而有效分辨率等于峰-峰分辨率加2.7位[4]。AD7730允許用戶在有效分辨率和輸出速率之間作出靈活選擇,在滿足測控系統(tǒng)測量精度指標(biāo)的前提下,用戶可以選擇較高的數(shù)據(jù)輸出速率。
2.6 系統(tǒng)校準(zhǔn)和內(nèi)部校準(zhǔn)方式的選擇
AD7730具有內(nèi)部零點(diǎn)校準(zhǔn)、內(nèi)部滿量程校準(zhǔn)、系統(tǒng)零點(diǎn)校準(zhǔn)、系統(tǒng)滿量程校準(zhǔn)等四種校準(zhǔn)方式。
內(nèi)部校準(zhǔn)方式只對AD7730器件本身進(jìn)行增益誤差和零點(diǎn)誤差校準(zhǔn),內(nèi)部零點(diǎn)校準(zhǔn)和內(nèi)部滿量程校準(zhǔn)的校準(zhǔn)電壓由芯片內(nèi)部提供。校準(zhǔn)時首先進(jìn)行內(nèi)部滿量程校準(zhǔn),之后進(jìn)行內(nèi)部零點(diǎn)校準(zhǔn)。系統(tǒng)校準(zhǔn)則方式是對整個系統(tǒng)增益誤差和零點(diǎn)誤差、包括AD7730器件內(nèi)部誤差進(jìn)行校準(zhǔn),系統(tǒng)零點(diǎn)和系統(tǒng)滿量程校準(zhǔn)需要從外部輸入校準(zhǔn)電壓到器件模擬輸入端,并且要保證在校準(zhǔn)期間穩(wěn)定不變。系統(tǒng)校準(zhǔn)首先執(zhí)行零點(diǎn)校準(zhǔn),之后執(zhí)行滿量程校準(zhǔn)。在發(fā)動機(jī)燃油消耗測量儀中,選擇內(nèi)部校準(zhǔn),相對零點(diǎn)校正系數(shù)和增益校準(zhǔn)系數(shù)分別存入AD7730片內(nèi)失調(diào)校準(zhǔn)寄存器和增益校準(zhǔn)寄存器中,AD7730數(shù)字濾波器的輸出減去零點(diǎn)校準(zhǔn)系數(shù)的差,再乘以增益校準(zhǔn)系數(shù)作為最終的A/D轉(zhuǎn)換結(jié)果。
3 試驗測量結(jié)果
發(fā)動機(jī)臺架負(fù)荷特性試驗的燃油消耗測量設(shè)定20s測量一次,平均油耗測量顯示數(shù)據(jù)為每20s更新一次。測量時間可在10s~100s之間設(shè)定更改。發(fā)動機(jī)燃油消耗測量儀油杯內(nèi)1kg存量燃油作為相對零點(diǎn),燃油低于1kg時自動充油,大于2kg時停止充油。1~2kg之間的燃油作為動態(tài)測量區(qū)域,現(xiàn)場應(yīng)用的靜態(tài)標(biāo)定測量誤差保持在1.5‰FS以內(nèi),小于以往的發(fā)動機(jī)燃油消耗測量儀5‰~8‰FS的測量誤差。在同一工況下采用相同時間間隔的測量,發(fā)動機(jī)油耗顯示數(shù)據(jù)重復(fù)穩(wěn)定性良好。
參考文獻(xiàn)
1 高光天. 傳感器與信號調(diào)理器件應(yīng)用技術(shù).北京:科學(xué)出版社,2002
2 高光天. 模數(shù)轉(zhuǎn)換器應(yīng)用技術(shù). 北京:科學(xué)出版社,2001
3 AD7730/AD7730L Bridge Transducer ADC. Analog Device Inc,1998
4 Mary McCarthy. Peak-to-Peak Resolution Versus Effective Resolution. Application Note AN-615.Analog Device Inc,2003