摘 要: 針對海洋環(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 ?贅電阻,相當(dāng)于很窄的電流通路,能夠有效地限制環(huán)路電流,,使噪聲得到抑制,,提高電路的穩(wěn)定性[3]。
測溫電路通過固定電阻R1和熱敏電阻Rt分壓,,得到熱敏電阻的電壓值;再經(jīng)過電壓跟隨器,,將AD采集到的熱敏電阻的電壓送給單片機進行數(shù)據(jù)分析,。
2.2 壓力采集電路
壓力傳感器選用keller壓力傳感器,它是一種壓阻式OEM壓力傳感器,。當(dāng)壓力傳感器上有壓力產(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ù)及其他標(biāo)志位或采樣間隔等常數(shù)。
Y1為PCF8583提供穩(wěn)定的32.768 kHz晶振,,電路如圖4所示,。單片機通過I2C總線給PCF8583設(shè)定采樣時間,、采樣間隔等采樣參數(shù)。當(dāng) PCF8583 定時器計數(shù)溢出時,,產(chǎn)生定時器溢出中斷來控制單片機在采樣,、待機和休眠3種狀態(tài)間轉(zhuǎn)換,降低了功耗,。
2.4 數(shù)據(jù)存儲
由于該系統(tǒng)用于測量海洋等惡劣環(huán)境,,受客觀因素影響,其投放和回收都很困難,,并且要想觀測的溫度和深度信息準(zhǔ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)投放到青島中苑碼頭進行標(biāo)定,,該測量系統(tǒng)被投放到碼頭水平面下8 m左右的地方進行采樣,。投放24 h后將測量系統(tǒng)取出與計算機連接,通過相應(yīng)的后臺軟件將采集到的A/D數(shù)據(jù)從大容量存儲器NAND讀出,,通過上述計算方法將溫度,、壓力、深度算出并繪制成圖,。溫度如圖6所示,,壓力如圖7所示,深度如圖8所示,。
通過對采集數(shù)據(jù)進行分析,,可得溫度精度達到±0.002℃(ITS-90標(biāo)準(zhǔn)),深度傳感器精度為滿量程的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.