摘 要: 詳細(xì)闡述了24位Δ-Σ型模擬/數(shù)字轉(zhuǎn)換器ADS1210/1211的結(jié)構(gòu)、原理及特點(diǎn),并以數(shù)字電壓表為例介紹了它的應(yīng)用,給出了相關(guān)電路圖和主程序框圖。
關(guān)鍵詞: A/D轉(zhuǎn)換器 校準(zhǔn) 加速模式 采樣頻率 轉(zhuǎn)換速度 抽取率
1 ADS1210/1211概述
ADS1210/1211是高精度、寬動(dòng)態(tài)特性的Δ-Σ型模擬/數(shù)字轉(zhuǎn)換器。它的差動(dòng)輸入端可以直接與傳感器或微小的電壓信號(hào)相連。其內(nèi)部的Δ-Σ結(jié)構(gòu)可確保它的寬動(dòng)態(tài)特性和24位的分辨率。由于采用了低噪聲的輸入放大器,可以在轉(zhuǎn)換速度為10Hz時(shí)獲得23位的有效分辨率;借助于其內(nèi)部獨(dú)特的調(diào)制器加速操作模式,在轉(zhuǎn)換速度為1kHz時(shí)仍可達(dá)到20位的有效分辨率。該轉(zhuǎn)換器動(dòng)態(tài)特性的大大提高主要依賴于其前級(jí)的低噪聲程控放大器,其放大倍數(shù)可從1到16進(jìn)行設(shè)定,以2倍步長(zhǎng)增加。該A/D轉(zhuǎn)換器都有一個(gè)靈活的同步串行接口,它與SPI兼容并且可以提供雙線控制模式。該A/D轉(zhuǎn)換器為單一+5V供電,有內(nèi)/外參考電壓和內(nèi)部自校準(zhǔn)系統(tǒng)。ADS1210/1211主要用于工業(yè)過程控制、儀器儀表、色譜分析、靈巧傳感器、便攜式儀表、稱重儀器、壓力傳感器、高分辨率測(cè)量場(chǎng)合。
2 ADS1210引腳功能
ADS1210是單通道的A/D轉(zhuǎn)換器,ADS1211多了一個(gè)4通道多路開關(guān)。ADS1210的封裝形式有18腳雙列直插式和18線貼片式。引腳排列如圖1所示。ADS1210各引腳的功能如表1所示。
3 ADS1210/1211的結(jié)構(gòu)及工作原理
ADS1210/1211由程控增益放大器、二階Δ-Σ調(diào)制器、程控?cái)?shù)字濾波器和微處理器組成。微處理器中有指令寄存器、命令寄存器、校準(zhǔn)寄存器、串行接口、時(shí)鐘產(chǎn)生電路和2.5V的內(nèi)部參考電壓電路。此外,ADS1211還有一個(gè)4路的多路開關(guān)。ADS1210/1211的結(jié)構(gòu)如圖2所示。
為了提高系統(tǒng)的動(dòng)態(tài)特性,ADS1210/1211采用了一種獨(dú)特的電容切換結(jié)構(gòu)來提高輸入電容的采樣速度,從而可以使系統(tǒng)工作在加速模式(Turbo Mode)下。通常情況下,在系統(tǒng)時(shí)鐘為10MHz時(shí)對(duì)應(yīng)的采樣速度為19.5kHz,利用它可將調(diào)制器的采樣速度以2、4、8、16倍的速度增加,將采樣速度提高到39kHz、78kHz、156kHz或312kHz。隨著采樣速度(頻率)的增加,在轉(zhuǎn)換速度不變的情況下,A/D轉(zhuǎn)換器的有效分辨率會(huì)相應(yīng)地增加。采樣速度的每一次提升,在轉(zhuǎn)換速度不變的情況下都會(huì)使系統(tǒng)的動(dòng)態(tài)性能大大提高。有關(guān)加速因子(TMR)、轉(zhuǎn)換速度和有效分辨率三者之間的關(guān)系如表2所示。
ADS1210/1211的程控增益放大器(PGA)的增益設(shè)置為1、2、4、8或16。從本質(zhì)上講,它增加了系統(tǒng)的動(dòng)態(tài)范圍,簡(jiǎn)化了與傳感器的接口。程控增益是通過輸入電容改變采樣次數(shù)來實(shí)現(xiàn)的。例如,采樣頻率為19.5kHz時(shí)PGA的增益為1;采樣頻率為312kHz時(shí)PGA的增益為16。由于加速模式和PGA的增益都是通過改變采樣次數(shù)來實(shí)現(xiàn)的,所以PGA的增益和加速因子(TMR)的乘積應(yīng)≤16,如表3所示。
ADS1210/1211輸出數(shù)據(jù)的速度可以從幾Hz到高達(dá)15625kHz,速度愈高,分辨率愈低。改變ADS1210/1211的轉(zhuǎn)換速度不會(huì)改變輸入電容的采樣速度,但會(huì)影響用于計(jì)算每次輸出結(jié)果的采樣數(shù)據(jù)的個(gè)數(shù)。
ADS1210/1211內(nèi)部還有一個(gè)完整的自校正系統(tǒng),用于校正內(nèi)部偏差、增益誤差及一些外部誤差。內(nèi)部校準(zhǔn)操作可在需要時(shí)進(jìn)行,也可以自動(dòng)或連續(xù)地進(jìn)行校準(zhǔn),但必須為ADS1210/1211提供適當(dāng)?shù)妮斎腚妷?。與此相對(duì)應(yīng)的校準(zhǔn)寄存器既可讀又可寫,這一特性使得用戶可以在多種情況下——不同的轉(zhuǎn)換速度、不同的TMR以及不同的PGA增益之間進(jìn)行切換而不必重新校準(zhǔn)。
ADS1210/1211的各種參數(shù)如增益、加速因子、模式選擇及寄存器數(shù)據(jù)都是經(jīng)過一個(gè)同步串行接口進(jìn)行讀/寫的。該接口可工作在自供時(shí)鐘模式(主模式)和外供時(shí)鐘模式(從模式)下。在主模式下,串行時(shí)鐘的頻率(SCLK)為ADS1210/1211時(shí)鐘頻率XIN的1/2。在很多場(chǎng)合,串行時(shí)鐘的頻率是一個(gè)需要考慮的重要的參數(shù),因?yàn)樗鼪Q定了ADS1210/1211能夠采用的最大時(shí)鐘頻率。在這里,需要明確幾個(gè)概念:
fXIN是指從XIN引腳引入的時(shí)鐘信號(hào)的頻率。它可以是外接的晶振頻率,也可以是與CMOS兼容的外部時(shí)鐘信號(hào)的頻率。
fMOD是指ADS1210/1211中的調(diào)制器的工作頻率。它由下式給出:
式中的Turbo Mode是指加速因子的值。
fSAMP是指ADS1210/1211中的輸入電容的工作頻率或轉(zhuǎn)速速度。它由下式給出:
從式中不難看出,fSAMP不只與Turbo Mode有關(guān),還與PGA增益有關(guān)。
fDATA是ADS1210/1211產(chǎn)生數(shù)字輸出量的頻率,它的倒數(shù)為tDATA。顯然,fDATA也可叫做轉(zhuǎn)換速度。它由下式給出:
式中的抽取率(Decimation Ratio)是指用于計(jì)算數(shù)字量輸出而采納的調(diào)制器結(jié)果的個(gè)數(shù)。如抽取率為十中取一,其含義就是將最近的調(diào)制器輸出的十個(gè)數(shù)據(jù)進(jìn)行計(jì)算(如取平均值),計(jì)算結(jié)果就是本次A/D轉(zhuǎn)換的結(jié)果。這里的計(jì)算工作是由ADS1210/1211中的數(shù)字濾波器來完成的。
4 ADS1210/1211的應(yīng)用
ADS1210/1211作為高精度、高分辨率的A/D轉(zhuǎn)換器,它的應(yīng)用非常廣泛。在這里,我們以高精度的智能數(shù)字電壓表為例來介紹它的應(yīng)用。由于ADS1210/1211內(nèi)部具有自動(dòng)增益(PGA)電路,它可以根據(jù)輸入信號(hào)的大小自動(dòng)調(diào)節(jié)增益;再者,作為高精度、高分辨率的A/D轉(zhuǎn)換器,ADS1210/1211為我們提供了高精度、高分辨率的數(shù)字信號(hào)輸出,從而實(shí)現(xiàn)了電壓的自動(dòng)測(cè)量。
4.1 微處理器簡(jiǎn)介
ADS1210/1211之所以能實(shí)現(xiàn)其獨(dú)特的功能,與其內(nèi)部的微處理器是分不開的。該微處理器包括一個(gè)ALU和一個(gè)寄存器陣列。它有兩種工作狀態(tài):上電復(fù)位狀態(tài)和轉(zhuǎn)換狀態(tài)。在上電復(fù)位狀態(tài),微處理器將內(nèi)部所有的寄存器復(fù)位成缺省狀態(tài),將調(diào)制器復(fù)位成穩(wěn)定狀態(tài),以850Hz的頻率進(jìn)行自校準(zhǔn);然后就進(jìn)入轉(zhuǎn)換狀態(tài),即正常操作模式。它的內(nèi)部有5個(gè)寄存器,如表4所示。其中有兩個(gè)寄存器用于控制A/D轉(zhuǎn)換器的操作,它們分別叫做指令寄存器(INSR)和命令寄存器(CMR)。輸出數(shù)據(jù)寄存器(DOR)用于存放最新的轉(zhuǎn)換結(jié)果。補(bǔ)償及滿量程校準(zhǔn)寄存器(OCR和FCR)存放著用于對(duì)輸出結(jié)果進(jìn)行修正的數(shù)據(jù),校準(zhǔn)之后,才能將數(shù)據(jù)送入數(shù)據(jù)寄存器(DOR)。這兩個(gè)寄存器中的數(shù)據(jù)可能是一次校準(zhǔn)過程后的結(jié)果,也可能是通過串行口直接寫入的數(shù)據(jù)。
下面,我們就來介紹幾個(gè)主要的寄存器。
4.1.1 指令寄存器(INSR)
外界與ADS1210/1211的通信是通過指令寄存器(INSR)來控制的。在正常操作模式下,每一次的串行通信總是最先從寫INSR開始的,寫入的指令用于確定接下來的通信形式。注意:INSR只能寫不能讀。INSR是一個(gè)8位的寄存器,它命令串行口從指定的位置讀/寫“n”字節(jié)的數(shù)據(jù)/命令。其具體格式如下:
:讀/寫選擇位。若接下來出現(xiàn)的是寫操作,則該位應(yīng)為“0”;若為讀操作,則為“1”。
MB1 MB0:多字節(jié)選擇位。這兩位用來控制讀/寫操作的字長(zhǎng),有1、2、3和4字節(jié)等四種字長(zhǎng)供選擇。
A3~A0:地址位。這4位用于指定讀/寫開始的寄存器位置。
每一次的串行通信都是從發(fā)送給INSR指令開始的,它規(guī)定了接下來通信的過程,包括讀/寫位、字節(jié)數(shù)、開始地址等。當(dāng)“n”字節(jié)傳送完畢,INSR的工作就完成了。一個(gè)新的通信周期從發(fā)送一個(gè)新的INSR指令開始。
4.1.2 命令寄存器(CMR)
命令寄存器(CMR)用來控制ADS1210/1211的所有選項(xiàng)和操作模式,包括PGA的增益設(shè)置、Turbo Mode Rate的設(shè)置、輸出數(shù)據(jù)的速度(抽取率)的設(shè)置等。CMR是唯一的一個(gè)32位寄存器,它和其余的寄存器一樣都是既可讀又可寫的寄存器。當(dāng)命令字的每一字節(jié)的最后一位寫入命令寄存器且SCLK出現(xiàn)負(fù)跳變時(shí),新的操作命令就起作用了。CMR格式如表5所示。
BIAS:偏置電壓位。該位用于控制VBIAS的輸出狀態(tài)。BIAS=1,VBIAS為激活狀態(tài),其值為1.33×REFIN;BIAS=0,VBIAS為關(guān)閉狀態(tài),沒有偏置電壓。當(dāng)內(nèi)部參考電壓輸出端REFOUT接至REFIN時(shí),VBIAS=3.3V(標(biāo)稱值)。
REFO:參考電壓位。該位用于控制內(nèi)部參考電壓的輸出狀態(tài)。REFO=1,內(nèi)部參考電壓為激活(開)狀態(tài),其值為2.5V;REFO=0,內(nèi)部參考電壓為關(guān)閉(高阻)狀態(tài)。
DF:數(shù)據(jù)格式位。該位用于控制輸出數(shù)據(jù)的格式。DF=1,輸出數(shù)據(jù)為偏移二進(jìn)制數(shù);DF=0,輸出數(shù)據(jù)為二進(jìn)制補(bǔ)碼數(shù)。除最高位之外,兩種格式的數(shù)值相同,且兩種格式的最高位正好相反。該位只對(duì)輸出數(shù)據(jù)寄存器DOR有效,對(duì)其它寄存器無效。
:?jiǎn)螛O性位。該位用于控制輸出數(shù)據(jù)的極性。=0,輸出數(shù)據(jù)為雙極性;=1,輸出數(shù)據(jù)為單極性,輸出結(jié)果限定為正值(包括0)。該位對(duì)ADS1210/1211的實(shí)際滿量程范圍、數(shù)據(jù)格式等沒有任何影響。在雙極性模式下,ADS1210/1211正常工作;在單極性模式下,只是將轉(zhuǎn)換的結(jié)果限定為正值,它只是控制著DOR中的數(shù)據(jù),對(duì)內(nèi)部數(shù)據(jù)沒有影響,對(duì)該位清零后,緊接著的轉(zhuǎn)換結(jié)果就為雙極性輸出。
BD:字節(jié)順序位。該位控制著讀入字節(jié)數(shù)據(jù)的順序。BD=0,先讀最高字節(jié)(MSB);BD=1,先讀最低字節(jié)(LSB)。在開始進(jìn)行多字節(jié)讀操作時(shí),若BD=0,則指令寄存器中的A3~A0為最高字節(jié)的地址,接下來的字節(jié)將位于更高的地址中;若BD=1,則指令寄存器中的A3~A0為最低字節(jié)的地址,接下來的字節(jié)將位于更低的地址中。BD位只對(duì)讀操作有效,對(duì)寫操作無效。
MSB:位順序控制位。該位控制著讀入字節(jié)數(shù)據(jù)時(shí)位的讀順序。BD=0,先讀最高位;BD=1,先讀最低位。與BD位一樣,MSB只對(duì)讀操作有效,對(duì)寫操作無效。
SDL:串行數(shù)據(jù)線的選擇位。該位用來指定ADS1210/1211的哪一個(gè)引腳為串行數(shù)據(jù)的輸出引腳。SDL=0,指定SDIO為輸出引腳;SDL=1,指定SDOUT為輸出引腳。不難看出,如果SDL=0,則SDIO既作為輸入引腳又作為輸出引腳,這在時(shí)序中會(huì)有所體現(xiàn)。此時(shí),SDOUT一直處于三態(tài)狀態(tài)。
:數(shù)據(jù)準(zhǔn)備就緒位。該位為只讀位,它反映了引腳的狀態(tài)。=0,數(shù)據(jù)準(zhǔn)備就緒;=1,數(shù)據(jù)沒有準(zhǔn)備好。
:數(shù)據(jù)同步位。該位為只寫位,它與占用同一個(gè)口地址。當(dāng)把“1”寫入時(shí),將使調(diào)制器的計(jì)數(shù)復(fù)位至0;當(dāng)把“0”寫入時(shí),調(diào)制器的計(jì)數(shù)無變化。
MD2~MD0:操作模式位。該位用于啟動(dòng)各種方式的校準(zhǔn)模式。
G2~G0:增益控制位。該位用于設(shè)定PGA需要的增益值。
CH1~CH0:通道選擇位。該位用于選通ADS1211的4路輸入通道中的一路。對(duì)ADS1210而言,CH1~CH0必須設(shè)置為00。
SF2~SF0:加速因子選擇位。該位用于控制輸入電容的采樣頻率以及調(diào)制器的速度。
DR12~DR0:抽取率選擇位。這些位用于選取ADS1210/1211的抽取率(Decimation Ratio)。有效的抽取率范圍為20~8000。若超出此范圍,數(shù)字濾波器會(huì)由于數(shù)據(jù)不夠或數(shù)據(jù)過多而引起計(jì)算結(jié)果的不正確。
4.1.3 輸出數(shù)據(jù)寄存器(DOR)
DOR為24位寄存器,用于存放最新的轉(zhuǎn)換結(jié)果。DOR內(nèi)容剛好在信號(hào)由高變低前被更新。如果在1/fDATA-12×(1/fXIN)所定義的時(shí)間間隔內(nèi)沒有讀DOR的內(nèi)容,則原有的內(nèi)容將被覆蓋。(除非是在讀周期:否則,在DOR被更新前,被強(qiáng)制為高。)
從上面的分析中我們知道,DOR的內(nèi)容可以是補(bǔ)碼形式,也可以是偏移二進(jìn)制碼形式,這主要靠命令寄存器中的DF位來控制。而且,當(dāng)命令寄存器中的=1時(shí),DOR中的數(shù)據(jù)被限定為單極性數(shù)據(jù)。
4.2 ADS1210/1211與單片機(jī)的接口
根據(jù)ADS1210/1211與外部器件接口信號(hào)的不同,接口的形式可分為:雙線制、三級(jí)制、四線制和多線制等。我們采用三線制來實(shí)現(xiàn)ADS1210/1211與單片機(jī)的接口。ADS1210/1211與單片機(jī)的接口電路如圖3所示。圖中,ADS1210/1211與87C51單片機(jī)的接口信號(hào)有三條:、SDIO和SCLK。它們是數(shù)據(jù)準(zhǔn)備就緒線、數(shù)據(jù)輸入輸出線和時(shí)鐘信號(hào)線,分別接至87C51單片機(jī)P1口的P1.1、P1.2和P1.3引腳。
4.3 程序設(shè)計(jì)
根據(jù)設(shè)計(jì)任務(wù)的要求,本系統(tǒng)是一個(gè)程控?cái)?shù)字電壓表,我們可寫出主程序的流程圖,如圖4所示。具體程序從略。
參考文獻(xiàn)
1 24-Bit ADALOG-TO DIGITAL CONVERTER.Burr Brown Corporation,1997