???
1 ADS1212/B簡介
1.1 特點(diǎn)及結(jié)構(gòu)
ADS1212特點(diǎn)如下:
(1)Δ-∑型A/D轉(zhuǎn)換器。
(2)采樣數(shù)據(jù)輸出速率在10Hz時(shí)有效分辨率可達(dá)到20位,采樣數(shù)據(jù)輸出速率在1000Hz時(shí)有效分辨率可達(dá)16位。
(3)最低功耗為1.4mW。
(4)差分輸入。
(5)具有可編程的增益放大器。
(6)SPI兼容SSI接口。
(7)可編程設(shè)置采樣速率。
(8)可使用內(nèi)部或外部的參考電壓。
(9)具有芯片自校準(zhǔn)功能。
ADS1212芯片為18腳DIP或SOIC封裝,ADS1213含有一個(gè)四通道多路開關(guān),為24腳DIP或SOIC封裝或28腳SSOP封裝。其結(jié)構(gòu)如圖1所示,其內(nèi)部由可編程增益放大器(PGA)、二階Δ-∑調(diào)制器、調(diào)制控制單元、可編程數(shù)字濾波器、微控制器單元、寄存器組(指令寄存器、命令寄存器、數(shù)據(jù)寄存器、校準(zhǔn)數(shù)據(jù)寄存器)、一個(gè)串行接口。一個(gè)時(shí)鐘電路和一個(gè)內(nèi)部2.5V電壓基準(zhǔn)等組成。??
1.2 主要性能
可編程增益放大器的增益(G)可設(shè)為1、2、4、8、16,而加速因子(TMR)也可設(shè)為1、2、4、8、16,它們之間的關(guān)系為乘積應(yīng)≤16,如表1所示。
表1 增益與加速因子的關(guān)系
?
采樣精度同增益和加速因子的設(shè)置都有關(guān)系,具體如表2所示。這里需要指出的是,不能同時(shí)追求采樣速度和采樣精度,只有選取合適的速度和精度才能體現(xiàn)出該芯片的優(yōu)勢。
表2 采樣精度與增益和加速因子的關(guān)系設(shè)G=1,fXIN=1MHz(fXIN是外部晶體振蕩器頻率)
?
1.3 主要功能寄存器
ADS1212/13內(nèi)部有5種功能寄存器。其中指令寄存器(INSR)和命令寄存器(CMR)用于控制轉(zhuǎn)換器的操作。數(shù)據(jù)輸出寄存器(DOR)用于存放最新的轉(zhuǎn)換結(jié)果。零點(diǎn)校準(zhǔn)寄存器(OCR)和滿量程寄存器(FCR)用于對(duì)轉(zhuǎn)換結(jié)果進(jìn)行校準(zhǔn)。
指令寄存器INSR是一個(gè)8位寄存器,對(duì)ADS1211/10的每一步操作都是從它開始的。具體格式如下:
? ???
R/W是讀寫控制位。“1”為讀操作,“0”為寫操作。
MB1MB0是欲讀寫的字節(jié)數(shù)。“00” ~“11”對(duì)應(yīng)“1” ~“4”。
A3~A0是欲讀寫寄存器的地址。
命令寄存器CMR是一個(gè)32位寄存器,通過對(duì)它的操作可以設(shè)置ADS1211/10的各種工作模式,格式如表3所示。
BIAS是參考電壓輸出開關(guān)位,“0”為關(guān),“1”為開。? ?
REFO是基準(zhǔn)電壓輸入開關(guān)位,“1”為使用內(nèi)部基準(zhǔn),“0”為使用外部基準(zhǔn)。
DF是樣數(shù)據(jù)輸出形式位,“0”為被碼形式輸出,“1”為原碼形式輸出。
U/B是數(shù)據(jù)極性輸出,“0”為雙極性數(shù)據(jù)輸出,“1”單極性數(shù)據(jù)輸出。
BD是讀字節(jié)的順序位,“0”為從高字節(jié)到低字節(jié),“1”為從低字節(jié)到高字節(jié)。
MSB是位的順序位,“0”為從高位到低位,“1”為從低位到高位。
SDL是數(shù)據(jù)輸出線選擇位,“0”為用“SDIO”輸出,“1”為用“SDOT”輸出。
DRDY是只讀位,“0”表示輸出數(shù)據(jù)準(zhǔn)備好,“1”表示輸出數(shù)據(jù)沒有準(zhǔn)備好。
DSYNC是只寫位,同DRDY共用一位,“0”表示不改變調(diào)制器的計(jì)數(shù)器值,“1”表示將調(diào)制器的計(jì)數(shù)器值復(fù)位到0。
MD2~MD0是模式設(shè)置位,用于設(shè)備芯片的各種工作模式。
G2~G0是增益設(shè)置位,用于對(duì)輸入信號(hào)設(shè)置增益。
CH1CH0是通道選擇位,只適用于ADS1213,而ADS1212只有一個(gè)通道。
SF2~SF0是加速因子選擇位。
SR12~DR0是抽取速率選擇位(Decimation Ratio)。這里需要指出的是,以前的資料對(duì)它的計(jì)算公式均有誤,現(xiàn)更正如下:
fDATA=fXIM·TMR/[512·(Decimation Ratio+1)]
數(shù)據(jù)輸出寄存器DOR為24位寄存器,用于存放最新的轉(zhuǎn)換結(jié)果。只有在DRDY信號(hào)為低的情況下,DOR中的數(shù)據(jù)才是有效數(shù)據(jù)。如果在1/fDATA-12×(1/fXIN)時(shí)間內(nèi)沒有讀出DOR中的數(shù)據(jù),那么它將會(huì)被新的數(shù)據(jù)所覆蓋。DOR中輸出的數(shù)據(jù)格式可以用補(bǔ)碼形式表示,如“FFFFFFH~000000H~7FFFFFH”,表示“負(fù)最大量程~0~正最大量程”;也可以用原碼形式表示,如“000000H~800000H~FFFFFFH”,表示“負(fù)最大量程~0~正最大量程”,這可用設(shè)置CMR3的DF位來實(shí)現(xiàn)。
零點(diǎn)校準(zhǔn)寄存器(OCR)和滿量程寄存器(FCR)用于對(duì)轉(zhuǎn)換結(jié)果進(jìn)行標(biāo)準(zhǔn)。它們都是24位寄存器,可以在初始化中對(duì)其寫入,以便用于校準(zhǔn)輸出數(shù)據(jù)。
? ?? ?
2 系統(tǒng)設(shè)計(jì)
系統(tǒng)采用PIC16F84A作為處理機(jī),它是Microchip公司生產(chǎn)的8位單片機(jī)。內(nèi)部程序存儲(chǔ)器是1K×14E2PROM,可重復(fù)電擦寫;13個(gè)可獨(dú)立編程的雙向I/O引腳,驅(qū)動(dòng)能力強(qiáng);含片內(nèi)自振式看門狗;與51系列單片機(jī)相比具有同等晶振頻率下速度快的特點(diǎn),而且功耗極低,5V電壓4MHz晶振時(shí)小于2mA,在3V電壓32kHz晶振時(shí)小于15μA。
系統(tǒng)采用MAX198作為多路開關(guān),并配有MAX233,可以同計(jì)算機(jī)串口相連,將采樣數(shù)據(jù)實(shí)時(shí)發(fā)送至計(jì)算機(jī)以便觀測。為了降低功耗,本系統(tǒng)使用的是外部基準(zhǔn)電壓源,即用ADR291作為2.5V基準(zhǔn)電壓輸出,用REF196作為3.3V參考電壓輸入。這樣可以使ADS1212的功耗降低約3mA。
2.1 電源電路
由于本系統(tǒng)采樣精度高,所以電源電路的噪聲必須特別小。本系統(tǒng)采用MAX666作+5V電壓的穩(wěn)壓芯片,MAX664作-5V電壓的穩(wěn)壓芯片。根據(jù)ADS1212的特殊要求設(shè)計(jì)的電源電路如圖2所示。
2.2 信號(hào)輸入電路
信號(hào)輸入電路如圖3所示。輸入信號(hào)通過多路開關(guān)選擇,然后經(jīng)過跟隨器輸出,再通過電阻網(wǎng)絡(luò)輸入到模/數(shù)轉(zhuǎn)換器的輸入端。為了使系統(tǒng)的噪聲對(duì)采樣的影響達(dá)到最小,ADS1212差分輸入的負(fù)端接到2.5V基準(zhǔn)電壓處。這是因?yàn)锳DS1212的輸入端的輸入電壓不能大于電源電壓,且不能小于零。輸入信號(hào)在-5V~+5V內(nèi)變化時(shí),通過計(jì)算可知AINP處的電壓范圍為1.25V~3.75V,2.5V對(duì)應(yīng)的是零點(diǎn),而AINN接2.5V電壓基準(zhǔn),這樣就實(shí)現(xiàn)了對(duì)地信號(hào)的采樣轉(zhuǎn)換。
2.3 ADS1212與PIC16F84A的接口電路
ADS1212與PIC16F84A的接口采用四線制通信方式,如圖4所示。ADS1212的DRDY與PIC16F84的RB0相連,即采用外部中斷方式讀取采樣數(shù)據(jù)結(jié)果。采樣數(shù)據(jù)由SDOUT輸出,命令數(shù)據(jù)由SDIO輸入,SCLK作為同步時(shí)鐘,同時(shí)PIC16F84A還留有兩根口線與MAX233相連,在需要的時(shí)候可完成與計(jì)算機(jī)通訊。根據(jù)采集需要,本系統(tǒng)將ADS1212設(shè)置為從動(dòng)方式,(即Slave方式),片選端接地,而同步信號(hào)輸入端DSYNC接高電平。
? ?? ?? ?
本系統(tǒng)是一個(gè)水下弱磁信號(hào)的測量處理裝置。軟件主要包括系統(tǒng)復(fù)位初始化模塊、A/D轉(zhuǎn)換控制模塊和數(shù)據(jù)處理模塊。由于A/D轉(zhuǎn)換控制模塊和數(shù)據(jù)處理模塊與具體應(yīng)用密切相關(guān),即于篇幅在此不作重點(diǎn)介紹。這里只介茹系統(tǒng)復(fù)位實(shí)始化模塊。
2.4 程序設(shè)計(jì)
系統(tǒng)復(fù)位初始化模塊包括單片機(jī)端口初始化、ADS1212工作狀態(tài)初始化等。筆者認(rèn)為對(duì)于ADS1212的初始化完成后,應(yīng)讀出命令寄存器CMR中的一些字節(jié),與寫入的數(shù)值進(jìn)行比較,以確認(rèn)是否初始化正確,本系統(tǒng)中就是讀出CMR3進(jìn)行比較的。這里需要指出的是,不能用讀出CR2進(jìn)行比較,因?yàn)锳DS1212的工作模式已經(jīng)改變,比較肯定會(huì)發(fā)生錯(cuò)誤。如下是軟件復(fù)位程序片段:
START:CALL PORTINIT ;調(diào)用端口初始化子程序
MOVLW 64H ;WR_CMR=64H
MOVWF INSR
MOVLW 44H ;CMR3=22H(00100010B)雙極性信號(hào)輸入
MOVWF CMR3
MOVLW 14H ;CMR2=28H(00101000B,自校準(zhǔn)模式,G=4)
MOVWF CMR2
MOVLW 1AH ;CMR1=58H(加速因子TMR=4)
MOVWF CMR1
MOVLW 96H ;CMR0=69H(DR=1869H,DATA RATE=10Hz)
MOVWF CMR0
CALL SPISCW
MOVLW 0E4H ;讀CMR寄存器
MOVWF INSR
CALL SPISCRD ;通信是否正常
MOVF CMR3,0
XORLW 44H
BTFSS 3,2
GOTO START ;通信不正常,返回繼續(xù)
CALL PSCONVT ;進(jìn)行數(shù)據(jù)轉(zhuǎn)換
采用ADS1212加PIC16F84A及微功耗基準(zhǔn)ADR291、REF196,實(shí)現(xiàn)了高精度微功耗數(shù)據(jù)采集系統(tǒng),系統(tǒng)工作電流為1.6~1.9mA,采樣精度可達(dá)20位。
信號(hào)輸入電路采用差分輸入,其負(fù)端接2.5V基準(zhǔn)電壓,有效降低了系統(tǒng)噪聲對(duì)采樣結(jié)果的影響。
PIC16F84A具有微功耗的特點(diǎn),但缺少通訊接口,通過軟件成功開發(fā)了標(biāo)準(zhǔn)異步串型通訊接口。
該系統(tǒng)已成功應(yīng)用于水下弱磁信號(hào)的檢測與處理。
評(píng)論
查看更多