摘 要: 針對(duì)海洋環(huán)境惡劣、測(cè)量?jī)x器投放和回收困難等問(wèn)題,描述了一個(gè)大容量、高精度和低功耗的測(cè)量溫度和深度的設(shè)計(jì)方案及其工作原理。該系統(tǒng)以AVR單片機(jī)ATmega64為控制芯片,運(yùn)用比值法計(jì)算得到溫度及其壓力的AD值,再經(jīng)過(guò)一系列計(jì)算得到所需的溫度和深度。
關(guān)鍵詞: 溫度; 深度; 大容量; 高精度; 低功耗
在開(kāi)發(fā)利用海洋的過(guò)程中,溫度和深度扮演著非常重要的角色,這使它成為海洋觀測(cè)中的重點(diǎn)觀測(cè)對(duì)象。因長(zhǎng)期地球變化或其他地理因素變化引起海洋溫度和深度的變化,這關(guān)系到近海資源的開(kāi)發(fā)和利用[1]。因此,本文設(shè)計(jì)了一種大容量、高精度和低功耗的測(cè)量溫度和深度的系統(tǒng)以滿足對(duì)其測(cè)量的需求。該系統(tǒng)可以采集不同區(qū)域、不同深度水域環(huán)境要素的溫度、壓力,然后通過(guò)對(duì)壓力進(jìn)行分析和一系列計(jì)算得到海洋深度。
1 系統(tǒng)總體設(shè)計(jì)
本系統(tǒng)采用Atmel公司的ATmega64單片機(jī)作為控制芯片,主要分為A/D數(shù)據(jù)采集部分、時(shí)鐘定時(shí)控制部分以及數(shù)據(jù)存儲(chǔ)部分。系統(tǒng)總體結(jié)構(gòu)圖如圖1所示。ATmega64是基于增強(qiáng)的AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于其先進(jìn)的指令集以及單時(shí)鐘周期指令執(zhí)行時(shí)間,ATmega64的數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz,從而可以緩減系統(tǒng)在功耗和處理速度之間的矛盾。
本系統(tǒng)由CR123A 3 V鋰電池供電,晶振為3.686 4 MHz,使系統(tǒng)功耗非常低;采用24位精度高、功耗低的AD7791模/數(shù)轉(zhuǎn)換器,將采集到的溫度和壓力模擬量轉(zhuǎn)化為數(shù)字量;采用帶有I2C總線接口的、具有極低功耗的PCF8583作為時(shí)鐘控制芯片,將采樣時(shí)間、采樣間隔、采樣頻率等寫(xiě)入PCF8583來(lái)控制單片機(jī)工作或休眠,大大降低了功耗;由于測(cè)量采集時(shí)間長(zhǎng)久且采集數(shù)據(jù)量大,所以采用具有非易失性和讀寫(xiě)速度快的大容量NAND存儲(chǔ)器[2]。
2 系統(tǒng)電路分析
AD7791是美國(guó)ADI公司推出的一種高分辨率24位模/數(shù)轉(zhuǎn)換器件,精度高、功耗低,其靈活的串行接口使AD7791可以很方便地與微處理器或移位寄存器相連接。由于AD7791采用了和-差(∑-Δ)轉(zhuǎn)換技術(shù),使它不受噪聲環(huán)境的影響,適用于寬動(dòng)態(tài)范圍、低頻信號(hào)的測(cè)量。所以溫度采集電路和壓力采集電路的A/D都選用AD7791。溫度采集電路和壓力采集電路都采用比值法的思想,避免了因電源電壓不穩(wěn)引起的漂移,大大提高了溫度和壓力的測(cè)量精度。
2.1 溫度采集電路
溫度采集電路如圖2所示。U1在溫度采集電路中起到了電壓跟隨器的作用,Rt采用NTC熱敏電阻,電阻R1和Rt及U1和AD7791由相等電壓供電。由圖2可知,Vo=VCC×Rt/(R1+Rt),AD7791輸入電壓AIN=Vo,參考電壓VREF=VCC。
輸出碼值為:Code=2N×Rt(AIN/VREF),采用電阻比值法計(jì)算出的溫度AD值Code=2N×Rt/(R1/Rt),與電路供電電壓無(wú)關(guān),從而消除了由于電源電壓不穩(wěn)引起的漂移,提高了測(cè)溫電路的精確度。如果把模擬地和數(shù)字地大面積直接相連,會(huì)導(dǎo)致互相干擾。R2為0 ?贅電阻,相當(dāng)于很窄的電流通路,能夠有效地限制環(huán)路電流,使噪聲得到抑制,提高電路的穩(wěn)定性[3]。
測(cè)溫電路通過(guò)固定電阻R1和熱敏電阻Rt分壓,得到熱敏電阻的電壓值;再經(jīng)過(guò)電壓跟隨器,將AD采集到的熱敏電阻的電壓送給單片機(jī)進(jìn)行數(shù)據(jù)分析。
2.2 壓力采集電路
壓力傳感器選用keller壓力傳感器,它是一種壓阻式OEM壓力傳感器。當(dāng)壓力傳感器上有壓力產(chǎn)生時(shí),電阻會(huì)發(fā)生形變,相對(duì)的兩個(gè)電阻阻值變大,另外相對(duì)的兩個(gè)電阻阻值變小,壓力傳感器兩端電壓不變。
只有電橋中間產(chǎn)生壓差,即引起電橋輸出電壓的變化,產(chǎn)生的電壓變化作為輸出來(lái)反映壓力的大小。由于電橋輸出的變化電壓非常小,所以將壓力變化值經(jīng)過(guò)運(yùn)算放大器U6進(jìn)行放大,送入AD7791,再將得到的AD值送入單片機(jī),壓力采集電路如圖3所示。
R8和U5構(gòu)成恒流源,流過(guò)R8的電流I=VCC/R8。由于流過(guò)電橋兩支路的電流相等,則V32=V3-V2=0.5I×(R9-R10)。U6起差分放大的作用,其輸出電壓Vout=V32×G,G為放大增益。信號(hào)放大后送入AD7791進(jìn)行模/數(shù)轉(zhuǎn)換。輸出碼值為:Code=2N×(AIN/VREF),參考電壓VREF=VCC,AD7791輸入電壓AIN=Vout。
由計(jì)算得到Code=2N-1×(R9-R10)×G/R8,即通過(guò)比值法最后得到的AD值與電壓的大小無(wú)關(guān),從而消除了電壓變化引起的溫漂,提高了系統(tǒng)的穩(wěn)定性和壓力采集數(shù)據(jù)的精度。
2.3 時(shí)鐘控制電路
PCF8583是一個(gè)時(shí)鐘控制芯片,帶有256 B的靜態(tài)RAM,使用I2C總線接口傳輸?shù)刂泛蛿?shù)據(jù)。PCF8583帶有內(nèi)部32.768 kHz晶振,并且前8 B用于時(shí)鐘、日歷和計(jì)數(shù)功能;其后的8 B可作為鬧鐘寄存器;剩余的240 B是自由RAM區(qū),可用來(lái)存放數(shù)據(jù)及其他標(biāo)志位或采樣間隔等常數(shù)。
Y1為PCF8583提供穩(wěn)定的32.768 kHz晶振,電路如圖4所示。單片機(jī)通過(guò)I2C總線給PCF8583設(shè)定采樣時(shí)間、采樣間隔等采樣參數(shù)。當(dāng) PCF8583 定時(shí)器計(jì)數(shù)溢出時(shí),產(chǎn)生定時(shí)器溢出中斷來(lái)控制單片機(jī)在采樣、待機(jī)和休眠3種狀態(tài)間轉(zhuǎn)換,降低了功耗。
2.4 數(shù)據(jù)存儲(chǔ)
由于該系統(tǒng)用于測(cè)量海洋等惡劣環(huán)境,受客觀因素影響,其投放和回收都很困難,并且要想觀測(cè)的溫度和深度信息準(zhǔn)確必須采集長(zhǎng)期大量的數(shù)據(jù),因而必須要有大的數(shù)據(jù)存儲(chǔ)容量來(lái)滿足測(cè)量需要。鑒于此,本系統(tǒng)采用三星公司的 K9F1G08,它是128 M×8 bit NAND Flash。K9F1G08由1 046個(gè)塊組成, 每一個(gè)塊包含64個(gè)頁(yè), 而一頁(yè)是2 KB+64 B=2 048 B+64 B=2 112 B。K9F1G08以頁(yè)為基本單元進(jìn)行存儲(chǔ) ,以塊為基本單元進(jìn)行擦除,具有很快的寫(xiě)入和擦除速度,是一種比硬盤(pán)驅(qū)動(dòng)器更好的存儲(chǔ)設(shè)備。
單片機(jī)先將采集的數(shù)據(jù)放到自身RAM中,等數(shù)據(jù)達(dá)到一頁(yè)時(shí)再存入K9F1G08,從而提高了時(shí)間利用率,降低了系統(tǒng)功耗。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件主要完成了數(shù)據(jù)采樣、數(shù)據(jù)存儲(chǔ)、外部中斷和定時(shí)中斷控制等功能,主程序由中斷控制工作在采樣、休眠和待機(jī)3種狀態(tài),大大降低了系統(tǒng)功耗。程序流程圖如圖5所示。
2012年10月將此測(cè)量系統(tǒng)投放到青島中苑碼頭進(jìn)行標(biāo)定,該測(cè)量系統(tǒng)被投放到碼頭水平面下8 m左右的地方進(jìn)行采樣。投放24 h后將測(cè)量系統(tǒng)取出與計(jì)算機(jī)連接,通過(guò)相應(yīng)的后臺(tái)軟件將采集到的A/D數(shù)據(jù)從大容量存儲(chǔ)器NAND讀出,通過(guò)上述計(jì)算方法將溫度、壓力、深度算出并繪制成圖。溫度如圖6所示,壓力如圖7所示,深度如圖8所示。
通過(guò)對(duì)采集數(shù)據(jù)進(jìn)行分析,可得溫度精度達(dá)到±0.002℃(ITS-90標(biāo)準(zhǔn)),深度傳感器精度為滿量程的0.05%,滿足了高精度、低功耗的測(cè)量要求。
本文介紹了溫度和深度的測(cè)量方法和工作原理,整個(gè)測(cè)量系統(tǒng)性能可靠,存儲(chǔ)量大,功耗低,精確度高,因此在海洋溫深測(cè)量方面具有非常廣闊的應(yīng)用前景。
參考文獻(xiàn)
[1] 畢永良,孫毅,黃漠濤,等.海洋測(cè)量技術(shù)研究進(jìn)展與展望[J].海洋測(cè)繪,2004,24(3):65-7.
[2] 王盛安,龍小敏,陳俊昌,等.大容量快閃存儲(chǔ)器在壓力式波潮儀中的應(yīng)用[J].儀表技術(shù)與傳感器, 2000(10):31-
32.
[3] 康華光.電子技術(shù)基礎(chǔ)模擬部分[M].北京:高等教育出版社,1999.
[4] FOFONOFF N, MILLARD R. Algorithms for computation of fundamental properties of seawater[J].UNESCO Technical Papers in Marine Science,1983(44):1-53.