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