高精度模數(shù)轉(zhuǎn)換器ADS1256的原理和應用
ADS1256是公司Burr-Brown產(chǎn)品線推出的微功耗、高精度、8通道、24位△-∑型高性能模數(shù)轉(zhuǎn)換器(ADC)。該器件提供高達23比特的無噪聲精度、數(shù)據(jù)速率高達30kSPS(次采樣/秒)、0.0010%非線性特性(最大值)以及眾多的板上外設(輸入模擬多路開關(guān)、輸入緩沖器、可編程增益放大器和可編程數(shù)字濾波器等),可為設計人員帶來完整而高分辨率的量測解決方案。ADS1256采用SSOP-2封裝,1000顆采購量零售單價為8.95美元。
ADS1256主要特點
1、8通道輸入:可同時采集8路信號輸入。
2、測量范圍廣:基本范圍為0-5V輸入電壓,可在輸入端可焊接分壓電阻,將電壓調(diào)整至0-5V內(nèi),所以此采集卡可采集市面上大部分標準電壓,
3、采集頻率高,精度高:采集卡的采集速率為30K/s,精度可達到0.00001。
4、工業(yè)應用級布線,模地,數(shù)字地完全隔離,抗干擾能力強。
5、體積小,方便安裝應用
6、跳帽設計,方便多重狀態(tài)組合
ADS1256內(nèi)部結(jié)構(gòu)
ADS1256的內(nèi)部結(jié)構(gòu)如圖1所示。該器件主要由模擬多路開關(guān)(MUX)、輸入緩沖器(BUF)、可編程增益放大器(PGA)、四階△-∑調(diào)制器、可編程數(shù)字濾波器、時鐘發(fā)生器、控制器和串行SPI接口等組成。由于ADS1256提供有九路模擬輸入端,因此,可使用模擬多路開關(guān)寄存器來將其配置為4路差動輸入、8路單極輸入或差動輸入和單極輸入的組合。當模擬輸入通道0被選擇為正差動輸入端(AINP)時,其余通道可被選擇為負差動輸入端(AINN)。通常,輸入引腳的選擇是沒有限制的,但是為了得到最佳的模擬性能,推薦如下的引腳連接方式:
1.作差動測量時,一般將AIN0~AIN7作為輸入端,不用AINCOM;
2.作單極測量時,一般將AIN0~AIN7作為單極輸入端;AINCOM作為公共輸入端,但是不把AINCOM接地;
3.將未用的模擬輸入引腳懸空,這樣有利于減小輸入泄漏電流。
ADS1256工作原理
ADS1256采用四線制(時鐘信號線SCLK、數(shù)據(jù)輸入線DIN、數(shù)據(jù)輸出線DOUT和偏片選線CS)SPI通信方式,只能工作在SPI通信的從模式下。設計時可以通過各種主控制器(如單片機等)來控制ADS1256片上的寄存器,并通過串口讀寫這些寄存器。串口通信時,必須保持CS為低電平。DRDY引腳用來表明轉(zhuǎn)換已經(jīng)完成,可以通過RDADA或者RDATAC命令從DOUT引腳讀取最新的轉(zhuǎn)換數(shù)據(jù)。在SPI通信過程中,可同步地發(fā)送和接收數(shù)據(jù),而且數(shù)據(jù)也可來利用SCLK和DIN、DOUT信號同步移動。SCLK信號要盡量保持干凈以免發(fā)生數(shù)據(jù)錯誤,在SCLK的上升沿,可通過DIN向ADS1256發(fā)送數(shù)據(jù),而在SCLK的上升沿,可通過DOUT從ADS1256讀取數(shù)據(jù)。DIN和DOUT也可以通過一條雙向信號線與主控制器相連,但在這種情況下,一定不能用RDATAC命令來讀取數(shù)據(jù)。圖2為SPI通信時序關(guān)系。
ADS1256有四個通用數(shù)字I/O口,所有的I/O口都可以通過IO寄存器設置為輸入或輸出。通過IO寄存器的DIR位可對每一個腳的輸入或輸出進行設置;DIO位用于控制每一個腳的狀態(tài)。通過D0腳可設置一個時鐘發(fā)生器以供別的設備使用(如微控制器等)。此時鐘可以通過ADCON寄存器的CLK0和CLK1位設置成fCLKIN、fCLKIN/2、fCLKIN/4。把D0作為時鐘要增加電壓的消耗,因此,如果不需要時鐘輸出功能,最好在上電或者復位后通過寫ADCON寄存器使其處于無效狀態(tài)。不用的IO引腳可以作為輸入接地,也可以設置為輸出,這樣有利于減小電源消耗。
ADS1256的主時鐘可以由外部晶振或時鐘發(fā)生器提供。由外部晶振產(chǎn)生時,PCB布線板上的晶振應該盡量地靠近ADS1256。為了保證能夠起振并得到一個穩(wěn)定頻率,可使用一個外部電容(一般使用陶瓷電容)。晶振頻率一般選擇7.68MHz(即fCLKIN=7.68 MHz)。
ADS1256可通過復位引腳RESET、RESET命令和特殊串口通信時鐘SCLK三種方式進行復位。ADS1256的同步操作則有SYNC/PDWN引腳和SYNC命令兩種方式。
ADS1256工作過程的建立主要是通過對11個獨立寄存器的設置來完成,這些寄存器包括了所有需要設置的信息,如采樣速度、模擬多路開關(guān)、PGA設置、I/O選擇、自校準等。表1給出了ADS1256的主要寄存器狀態(tài),其中包括:狀態(tài)寄存器STATUS、模擬多路開關(guān)寄存器MUX、AD控制寄存器ADCON和數(shù)據(jù)速度寄存器DRATE。
其中,狀態(tài)寄存器STATUS(地址00h,復位值為X1H)的高四位(ID位)由出廠設定,ORDER位為數(shù)據(jù)輸出順序選擇位,為0時,數(shù)據(jù)輸出高位在先(默認);為1時,數(shù)據(jù)輸出低位在先。ACAL位為自動校準選擇位,為0時,自動校準關(guān)閉(默認);為1時,自動校準開啟。BUFFER位為輸入緩沖選擇位,為0時,輸入緩沖關(guān)閉(默認);為1時,輸入緩沖開啟。DRDY位為轉(zhuǎn)換數(shù)據(jù)狀態(tài)位,此位完全復制DRDY引腳的狀態(tài),DRDY低電平時,表明數(shù)據(jù)轉(zhuǎn)換結(jié)束,結(jié)果可以讀出;高電平時,表明沒有數(shù)據(jù)轉(zhuǎn)換或者正在轉(zhuǎn)換數(shù)據(jù),此時不能讀數(shù)據(jù)。
模擬多路開關(guān)寄存器MUX(地址01h)的復位值為01H。其PSEN3~PSEN0位為差動信號正輸入端選擇位,具體選擇如下:0000=AIN0(默認),0001= AIN1,0010= AIN2,0011= AIN3,1XXX= AINCOM;NSEL3~NSEL0為差動信號負輸入端選擇位,具體選擇為0000= AIN0,0001= AIN1(默認),0010= AIN2,0011= AIN3,1XXX= AINCOM。
AD控制寄存器ADCON(地址02h)的最高位一般不用(始終為0)。CLK1、CLK0為輸出時鐘選擇位,00為輸出時鐘關(guān)閉;01為fCLKIN(默認);10為fCLKIN/2;11為fCLKIN/4。SDCS1、SDCS0為傳感器檢測選擇位,其中:00表示傳感器檢測關(guān)閉(默認);01表示傳感器檢測電流為0.5μA;10表示傳感器檢測電流為2μA;11表示傳感器檢測電流為10μA。PGA2~ PGA0為可編程增益放大器的放大倍數(shù)選擇位,000=1(默認);001=2;010=4;011=8;100=16;101=32;110=64;111=128。
數(shù)據(jù)速率寄存器DRATE(地址02h)的復位值為F0H。DIR7~DIR0為數(shù)據(jù)速率選擇位,具體選擇如下:11110000=30kSPS(默認);11100000=15 kSPS;……;00010011=5 kSPS;00000011=2.5 kSPS。
ADS1256的典型應用電路
圖3 所示是ADS1256的典型應用電路。由于ADS1256是精度極高的A/D轉(zhuǎn)換器,在應用期間要特別注意該器件的外圍電路和印刷電路板的設計。
同其他高精度A/D轉(zhuǎn)化器一樣,ADS1256在實際應用時,也要特別注意電源和地的布線。在模擬電源和數(shù)字電源的輸入端一般要并聯(lián)一個小的陶瓷電容和一個大的鉭電容(或者陶瓷電容),一般采用圖3所示的阻容濾波。注意電容要盡量靠近輸入端,而且應使小電容更靠近ADC。特別注意要為VREFN和VREFP提供干凈的電源,可以直接由AVDD(模擬電壓)或由其分壓得到,也可以采用獨立的參考電源供電,但該電源一定要具有極低的噪聲和溫漂,否則將會直接影響ADS1256的性能。通常在輸入端要采用如圖3所示的RC低通濾波器來限制高頻噪聲,而且輸入線越短越好。在接地方面,推薦采用模擬電源和數(shù)字電源共地的方式,要注意旁路電容和模擬調(diào)整電路的應用,避免數(shù)字噪聲元件(例如微處理器)也公用此地。如果ADS1256采用不同的接地網(wǎng)絡,一定要采用單點接地,避免模擬地(AGND)和數(shù)字地(DGND)之間有電壓存在。如果不用D0~D3,可以將其當作輸入接地。如果不用RESET和SYNC/PDWN引腳,亦可將其直接接入數(shù)字電壓輸入端(DVDD)。
注意
1、在ADS1256片外要將模擬地AGND和數(shù)字地DGND連接在一起。否則,AGND和DGND之間存在電壓,會使ADS1256無法正常工作。
2、在印刷電路板布線時,應將外部晶振盡可能地靠近ADS1256,否則將影響輸入幅值的大小,而當幅值太小時,可以通過減小晶振兩端的電容來增大其幅值,電容范圍應在0~20μF,晶振為7.68MHz時,接入電容的典型值為18pF。
3、為了得到最佳的轉(zhuǎn)換結(jié)果,每次改變初始寄存器值時(例如改變輸入通道),最好自校準一次。而且應在改變輸入通道命令后發(fā)同步命令SYNC,然后經(jīng)過一段延時時再讀取上次轉(zhuǎn)換的結(jié)果。該延時應隨著ADS1256的采樣頻率和濾波方式變化而變化。
4、在使用ADS1256處理微小信號時,最好采用比例測量,并應在DRDY由高變低時讀取數(shù)據(jù)。