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