關(guān)鍵詞: 海水深度測量;FM20L08;C8051F020
引言
海洋的深度是海洋水體的一個重要參數(shù)。知道海洋的深度,就可防止海面航行的船只擱淺、觸礁。潛艇在海底活動時,測量海洋深度可利用海底地形作屏障以避免被搜索,可使對方的訊號接收儀器收不到潛艇發(fā)出的噪音。在筆者所做的一個課題中,直升飛機從空中投擲測量儀器到海表面,儀器從海表面下沉至海底后,自動上浮至海水表面。該項目要求研制一個海水深度記錄儀,記錄上述過程中測量儀器在海水中的深度變化。測量儀器自動上浮至海面后,打撈并回放測量數(shù)據(jù)。深度數(shù)據(jù)要求每秒采樣100次,具有非易失性。測量數(shù)據(jù)通過串口向PC機回放。
測量的基本原理如下式所示:
P=rgh+P0 (1)
其中P是指儀器所受到的絕對壓力,r是指海水密度(常數(shù)),g是指當?shù)氐闹亓铀俣?常數(shù)),h是指儀器下降的深度,P0是指當時的大氣壓力(短時間認為恒定)。所以,只要測出儀器受到的壓力,根據(jù)式(1)就很容易計算出儀器下降的深度。儀器在海水中的位置越深,受到的壓力越大。
系統(tǒng)硬件設(shè)計
根據(jù)系統(tǒng)設(shè)計要求,海水的深度數(shù)據(jù)采集頻率要求至少100Hz,連續(xù)采集時間為5分鐘以上。以分辨率為12位的ADC計算,一次采集的數(shù)據(jù)量至少為2×100×5×60=60000B。針對系統(tǒng)數(shù)據(jù)采集量大、速度快、爆發(fā)性強的特點,采用如下總體設(shè)計方案:主控制器采用了美國Silicon Laboratories公司的高性能微控制器C8051F020。它具有與8051完全兼容的CIP-51微控制器內(nèi)核,采用高速流水線結(jié)構(gòu)(25 MIPS),大多數(shù)指令執(zhí)行時間為1~2 時鐘周期;具有64 KB可在系統(tǒng)編程FLASH 和大容量內(nèi)部SRAM,具有外部存儲器接口。非易失性存儲器采用美國Ramtron公司的FM20L08鐵電存儲器。與其它類型的非易失性存儲器相比,FRAM鐵電存儲器具有讀寫次數(shù)多、讀寫速度快、功耗低、無延時和不用擦除寫操作的特點,在功能上可以完全替代SRAM。系統(tǒng)硬件框圖如圖1所示。
圖1 系統(tǒng)硬件框圖
電源
電源部分使用三節(jié)普通AAA電池供電。經(jīng)升壓管理芯片MAX756升壓至5V后,給基準源、放大器和壓力傳感器供電。5V電源通過低電壓LDO管理芯片TPS79333變換成3.3V后,給CPU、串口收發(fā)芯片及FM20L08供電。
信號調(diào)理電路
信號調(diào)試電路如圖2所示。
圖2 信號調(diào)理電路
雖然C8051F020內(nèi)部有2.43V的基準電壓源。但是測試結(jié)果表明其輸出電壓隨溫度波動較大,影響測量結(jié)果的準確性。為了提高測量精度,系統(tǒng)采用了Maxim公司的低溫漂電壓基準芯片MAX6325,MAX6325是低溫度系數(shù)(<1ppm/°C)、低噪聲(1.5mVp-p)的電壓基準,它具有±0.02% 初始精度,是高精度數(shù)據(jù)采集系統(tǒng)的理想選擇。由于壓力傳感器的輸出電壓范圍是DC1~5V,而MAX6325輸出的電壓基準是2.50V。因而必須對壓力傳感器輸出電壓進行衰減,以達到和基準電壓的匹配。實現(xiàn)這個功能最簡單的方法是直接用兩個電阻進行分壓,但是由于傳感器具有一定的輸出阻抗,直接匹配分壓電阻相當于將傳感器輸出阻抗與這兩個電阻并聯(lián),會造成輸入A/D的采樣電壓不準確。正確的方法是在壓力傳感器的輸出之后加一級運算放大器增加輸入阻抗,再在運放的輸出級并聯(lián)分壓電阻??紤]到系統(tǒng)只有5V電壓并且傳感器的輸出電壓在1~5V之間,同時也為了減少器件的數(shù)目,縮小占板面積,運算放大器選用了OPA340。OPA340是單電源軌至軌輸入和輸出運算放大器。OPA340的工作電壓可低至2.5V,它允許的最低輸入為-500mV,最高輸入為可高于電源500mV。它具有良好的動態(tài)效應(yīng),靜態(tài)電流僅為750mA。壓力傳感器的輸出電壓經(jīng)OPA340和分壓網(wǎng)絡(luò)進行1/2分壓后,送C8051F020的片內(nèi)12位A/D進行信號采集。
數(shù)據(jù)存儲
對于針對突發(fā)數(shù)據(jù)的記錄儀、高速存儲測試設(shè)備等,其數(shù)據(jù)的高速存儲和掉電不丟失成為系統(tǒng)設(shè)計的關(guān)鍵,Ramtron公司推出的FM20L08鐵電存儲器彌補了現(xiàn)有鐵電存儲器存儲量小的缺點,其數(shù)據(jù)存儲量達1Mb(128KB),可完全代替標準異步靜態(tài)隨機存儲器(SRAM),具有可隨機讀寫芯片內(nèi)任何一字節(jié)的特性。FM20L08非易失性鐵電存儲器可無限次讀寫,掉電后數(shù)據(jù)可保存10年,工作電壓為3.3V,最大功耗電流為22mA,采用32引腳TSOP型封裝。FM20L08增加了軟件控制寫保護功能,存儲序列按地址排成8個區(qū)域,每個區(qū)域都能通過軟件單獨設(shè)置寫保護。 在對海水深度進行實時采集和記錄時,為了更好地了解儀器在水中深度變化的過程,必須有高速的數(shù)據(jù)采集和大量的數(shù)據(jù)存儲作保證。鐵電存儲器的高速寫入和掉電數(shù)據(jù)不丟失特性完全適合此類情況,可以對物體在海水中的下降過程進行完整地記錄。圖3示出C8051F020與FM20L08的接口電路。
圖3 FM20L08與C8051F020的接口電路
C8051F020使用高位端口(P4~P7)與FM20L08進行接口。FM20L08新增內(nèi)部電壓監(jiān)控器驅(qū)動LVL(Low Voltage Lockout)信號,它接至MCU的INT0,用于監(jiān)控電源的供電情況,當電源電壓下降到臨界值以下時,LVL引腳輸出低電壓信號,顯示電路處于寫保護狀態(tài),在MCU的INT0中斷服務(wù)程序中復(fù)位MCU,這樣存儲器可以自動阻止誤讀寫和防止存儲頁面數(shù)據(jù)的破壞。FM20L08的片選信號是由C8051F020的讀寫信號相與來控制的,只要讀寫信號任何一個變低,則片選信號有效。C8051F020的最大尋址空間為64K,而要求它能夠訪問128KB的地址空間,最簡單有效的方法就是使用一個I/O位控制FM20L08的地址線A16。當A16 為0是選擇FRAM的前半部分,當A16為1時,選擇FRAM的后半部分。
在存儲程序設(shè)計中,程序應(yīng)首先判斷儀器在下降時A/D的輸入信號值是否大于門限值,只有輸入信號值大于門限值才將數(shù)據(jù)存儲在存儲單元內(nèi),在測量儀器由海底上浮至將要接近海面時關(guān)閉鐵電存儲器,停止數(shù)據(jù)存儲。
利用軟件實現(xiàn)16位精度的A/D轉(zhuǎn)換
系統(tǒng)使用C8051F020內(nèi)部的12位ADC采集壓力數(shù)據(jù)。但壓力傳感器需要測量較大的動態(tài)范圍(0~700m),還要求對小于2cm深度變化作出響應(yīng)。這樣片內(nèi)12位ADC的分辨率將無法滿足要求,需要使用16位ADC提高測量分辨率。在系統(tǒng)的采集方案中,使用了C8051F020片內(nèi)自帶的12位ADC并采用過采樣和求平均值技術(shù)達到了16位分辨率進行深度測量的目的,并未使用昂貴的片外16位ADC,這樣既節(jié)省了成本,也減少了軟硬件設(shè)計的復(fù)雜度,同時也提高了系統(tǒng)的可靠性。
為了增加有效位數(shù),壓力必須被過采樣(即ADC以高于系統(tǒng)所需采樣頻率fs的速率對信號進行采樣)。所需要的采樣頻率由系統(tǒng)對壓力測量所要求的頻率決定。每增加一位分辨率,信號必須以4倍的速率過采樣,即
fOS=4W·fS (2)
其中W為希望增加的分辨率位數(shù);fs為初始采樣頻率要求;fos為過采樣頻率。
具體到本例基本原理簡述如下,假設(shè)系統(tǒng)每秒輸出100個壓力值,即每10ms內(nèi)必須采集一個壓力值。為了將測量分辨率增加到16位,則必須以100×256Hz的采樣頻率對壓力傳感器進行采樣。為此,在10ms內(nèi)先集中采集256個樣本,然后將這256個樣本累加,然后將總和除以16。這樣得到的結(jié)果便是一次采樣的16位有效數(shù)據(jù),然后MCU便對數(shù)據(jù)進行處理存儲,并開始下10ms的樣本采集。實驗結(jié)果證明,使用這種方法可明顯地提升壓力采集的精度??梢杂行У叵到y(tǒng)測量的白噪聲,改善信噪比。
結(jié)語
經(jīng)過驗證,海水深度記錄儀的設(shè)計是可行的,經(jīng)過海上實驗與實際水深測量值相比,誤差在2cm 以內(nèi)。圖4示出了某次出海實驗海水深度記錄儀取得的實驗結(jié)果。實踐證明該記錄儀工作穩(wěn)定可靠,達到了預(yù)期的要求,目前已經(jīng)在海洋調(diào)查中使用。
參考文獻:
1. Silicon Laboratories.AN018 C8051F020 Application Note. 2002.
2. Silicon Laboratories.C8051F020/1 Datasheets. 2001.
3. Ramtron Company.FM20L08 Datasheets.2005