AD7705/06及其應(yīng)用
在智能儀器儀表的應(yīng)用中,由于傳統(tǒng)的傳感器信號(hào)是模擬信號(hào),所以對(duì)于智能化的儀器,肯定需要A/D轉(zhuǎn)換器以實(shí)現(xiàn)單片機(jī)的控制。在許多應(yīng)用場(chǎng)合需要16位以上的高精度測(cè)量,而傳統(tǒng)的積分型和逐次比較型A/D實(shí)現(xiàn)起來(lái)難度較大,且成本很高。近年來(lái)興起的Σ―ΔA/D轉(zhuǎn)換技術(shù)卻能以較低的成本獲取極高的分辨率。 AD公司的AD7705/06以及AD7707為比較典型的一種16位A/D轉(zhuǎn)換芯片。
2. AD7705/06 簡(jiǎn)介
AD7705/06是美國(guó)AD公司近期推出的一款新型A/D芯片,其總體結(jié)構(gòu)如圖1所示。
AD7705/06芯片是帶有自校正功能的Σ-Δ于A/D轉(zhuǎn)換器。其內(nèi)部由多路模擬開(kāi)關(guān)、緩沖器、可編程增益放大器(PGA)、Σ-Δ調(diào)制器、數(shù)字濾波器、基準(zhǔn)電壓輸入、時(shí)鐘電路及串行接口組成。其中串行接口包括寄存器組,它由通訊寄存器、設(shè)置寄存器、時(shí)鐘寄存器、數(shù)據(jù)輸出寄存器、零點(diǎn)校正寄存器和滿程校正寄存器等組成。該芯片還包括2通道差分輸入(AD7705)和3種偽差分通道輸入(AD7706)。
AD7705/06的PGA可通過(guò)指令設(shè)定,對(duì)不同幅度的輸入信號(hào)實(shí)現(xiàn)1、2、4、8、16、32、64和128倍的放大,因此AD7705/06芯片既可接受從傳感器送來(lái)的低電平輸入信號(hào),亦可接受高電平(10V)信號(hào),它運(yùn)用Σ―Δ技術(shù)實(shí)現(xiàn)16位無(wú)誤碼性能;它的輸出速度同樣可由指令設(shè)定,范圍由 20Hz到500Hz;它能夠通過(guò)指令設(shè)定對(duì)零點(diǎn)和滿程進(jìn)行校正;AD7705/06與微處理器的數(shù)據(jù)傳送通過(guò)串行方式進(jìn)行,采用了節(jié)省端口線的通訊方式,最少只占用控制機(jī)的兩條端口線。
3. AD7705/06的基本連接及其與微處理器接口電路
AD7705/06的基本連接
AD7705/06的基本連接如圖2所示,其中AD780/REF192提供+2.5V高精度基準(zhǔn)電壓。AD7705由于只有2個(gè)通道,所以它可以進(jìn)行兩種模擬量的轉(zhuǎn)換,而AD7706具有3個(gè)通道,所以它可以進(jìn)行三種模擬量的轉(zhuǎn)換,筆者在設(shè)計(jì)壓力變送器時(shí)就充分運(yùn)用了`該芯片的功能,AD7706的基本連接與圖2相似。
AD7705/06與單片機(jī)的接口電路
AD7705/06與微處理器的接口非常方便,在對(duì)它的操作過(guò)程中,涉及到接口的引腳有CS、SCLK、DOUT、DIN和DRDY,它與微處理器的接口有三線、四線、五線及多線方式。在三線方式下,通常使用DOUT、DIN及SCLK引腳進(jìn)行控制,其中DOUT和DIN與微處理器的串行口相連,用于數(shù)據(jù)的輸出和輸入,SCLK用于輸入串行時(shí)鐘脈沖,CS始終為低電平。在四線方式下,CS引腳也可以由微處理器的某一端口線控制。在五線方式下,DRDY引腳也可以由微處理器的某條端口線控制。在多線控制方式下,所有的接口引腳都由微處理器來(lái)控制。圖3是筆者使用INTEL 8031對(duì)AD7706進(jìn)行控制的簡(jiǎn)化電路圖。
AD7706的輸出信號(hào)直接接到8031的RXD(P3.0)端,而8031的TXD(P3.1)端則為AD7706提供時(shí)鐘信號(hào),可見(jiàn)在這樣的連接方式下,A/D轉(zhuǎn)換器的時(shí)鐘是由8031的TXD引腳提供的。單片機(jī)利用串行口與AD7706進(jìn)行通信,將串行口設(shè)定為工作方式0,即同步移位寄存器方式。此外,單片機(jī)還通過(guò)P1.0引腳來(lái)控制CS,通過(guò)P1.1引腳來(lái)判斷DRDY。這樣,在多芯片系統(tǒng)中,我們首先應(yīng)選中芯片,系統(tǒng)就得先清P1.1口線。接收數(shù)據(jù)時(shí),首先要判斷P1.0的引腳電平,若為低電平,則表明已有有效的轉(zhuǎn)換數(shù)據(jù)在芯片的數(shù)據(jù)輸出寄存器中,這樣,單片機(jī)置位REN=1,此時(shí),接收數(shù)據(jù)開(kāi)始,當(dāng)接收到8位數(shù)據(jù)時(shí),中斷標(biāo)志位R1置位,一次串行接收結(jié)束,單片機(jī)自動(dòng)停止發(fā)送移位脈沖,該8位數(shù)據(jù)從串行口緩沖器讀入內(nèi)存,并使用軟件清除RI 標(biāo)志,單片機(jī)又開(kāi)始發(fā)送移位脈沖,直到又收到8位數(shù)據(jù),則另一次串行接收結(jié)束。這樣,這次的8位數(shù)據(jù)與剛才接收的高8位數(shù)據(jù)組合成為16位數(shù)據(jù),即一次 A/D轉(zhuǎn)換的結(jié)果。這種接口方法直接利用了單片機(jī)本身的硬件資源,從而簡(jiǎn)化了電路的設(shè)計(jì)。
程序1 AD7706的初始化程序 :
BEGIN:
CLR A
MOV A ,#010H;設(shè)置串行工作方式0
MOV SCON ,A
CLR P1.0;選中芯片AD7706
MOV A ,#20H;對(duì)CMR進(jìn)行寫(xiě)操作,下一操作選定CKR
MOV SBUF ,A
JNB TI ,﹩;接收完畢,TI復(fù)位
CLR TI
MOV A ,#0CH;設(shè)置CLK
MOV SBUF ,A
JNB TI ,
CLR TI
MOV A ,#010H;對(duì)CMR進(jìn)行寫(xiě)操作,下一操作選定STR
MOV SBUF ,A
JNB TI ,﹩
CLR TI
MOV A ,#40H;設(shè)置STR
MOV SBUF ,A
JNB TI ,﹩
CLR TI
RET
程序2 輸入字節(jié)程序(判斷DRDY引腳):
INB1: CLR C
JB P1.1 ,INB1;判斷DRDY引腳電平
CLR P1.0;DRDY為0,有效數(shù)據(jù),進(jìn)行讀數(shù)據(jù)操作
MOV A ,#38H;對(duì)CMR進(jìn)行寫(xiě)操作,下一操作選定DOR
MOV SBUF ,A
MOV A ,SBUF;從AD7706中讀入轉(zhuǎn)換數(shù)據(jù)
MOV R3 ,A;高8位存入R3中
JNB TI ,﹩
CLR TI
MOV A ,SBUF;從AD7706中讀入轉(zhuǎn)換數(shù)據(jù)
MOV R4 ,A;低8位存入R4中
JNB TI ,﹩
CLR TI
RET
程序3 輸入字節(jié)程序(判斷CMR的最高位):
INB2: CLR P1.0;對(duì)AD7706進(jìn)行操作
MOV A ,#08H;對(duì)CMR進(jìn)行寫(xiě)操作,下一操作選定CMR
MOV SBUF,A
MOV SBUF ,A;讀AD7706的CMR
ANL A ,#10000000B ;判斷DRDY位,若為0,則有有效數(shù)據(jù)
JNZ INB2;等待
MOV A ,#38H;對(duì)CMR進(jìn)行寫(xiě)操作,下一操作選定DOR
MOV SBUF ,A
MOV A ,SBUF
MOV R3 ,A
JNB TI ,﹩
CLR TI
MOV A ,SBUF
MOV R4 ,A
JNB TI ,﹩
RET
4.實(shí)用程序舉例
下面給8031對(duì)AD7706進(jìn)行控制的程序,包括初始化程序(見(jiàn)程序清單)。
對(duì)轉(zhuǎn)換器芯片設(shè)置為:增益為1,無(wú)濾波器同步,雙極輸入模式和緩沖器關(guān)閉方式。
結(jié)語(yǔ)
筆者在設(shè)計(jì)智能型壓力變送器時(shí),采用了圖3的接線方式,AD7706的三通道分別接收來(lái)自壓力(差壓)傳感器、溫度傳感器和靜壓傳感器的信號(hào),這樣,可以對(duì)壓力(差壓)進(jìn)行補(bǔ)償,,從而消除溫度和靜壓所帶來(lái)的影響,并應(yīng)用以上程序進(jìn)行初始化及讀轉(zhuǎn)換數(shù)據(jù),使用后效果令人滿意。
汽車(chē)防盜機(jī)相關(guān)文章:汽車(chē)防盜機(jī)原理
評(píng)論