嵌入式基于FRAM的海水深度記錄儀電路設(shè)計(jì)
海洋的深度是海洋水體的一個(gè)重要參數(shù)。知道海洋的深度,就可防止海面航行的船只擱淺、觸礁。潛艇在海底活動(dòng)時(shí),測(cè)量海洋深度可利用海底地形作屏障以避免被搜索,可使對(duì)方的訊號(hào)接收儀器收不到潛艇發(fā)出的噪音。在筆者所做的一個(gè)課題中,直升飛機(jī)從空中投擲測(cè)量?jī)x器到海表面,儀器從海表面下沉至海底后,自動(dòng)上浮至海水表面。該項(xiàng)目要求研制一個(gè)海水深度記錄儀,記錄上述過(guò)程中測(cè)量?jī)x器在海水中的深度變化。測(cè)量?jī)x器自動(dòng)上浮至海面后,打撈并回放測(cè)量數(shù)據(jù)。深度數(shù)據(jù)要求每秒采樣100次,具有非易失性。測(cè)量數(shù)據(jù)通過(guò)串口向PC機(jī)回放。
本文引用地址:http://www.ex-cimer.com/article/201710/369501.htm系統(tǒng)硬件設(shè)計(jì)
根據(jù)系統(tǒng)設(shè)計(jì)要求,海水的深度數(shù)據(jù)采集頻率要求至少100Hz,連續(xù)采集時(shí)間為5分鐘以上。以分辨率為12位的ADC計(jì)算,一次采集的數(shù)據(jù)量至少為2&TImes;100&TImes;5&TImes;60=60000B。針對(duì)系統(tǒng)數(shù)據(jù)采集量大、速度快、爆發(fā)性強(qiáng)的特點(diǎn),采用如下總體設(shè)計(jì)方案:主控制器采用了高性能微控制器C8051F020。它具有與8051完全兼容的CIP-51微控制器內(nèi)核,采用高速流水線結(jié)構(gòu)(25MIPS),大多數(shù)指令執(zhí)行時(shí)間為1~2時(shí)鐘周期;具有64KB可在系統(tǒng)編程FLASH和大容量?jī)?nèi)部SRAM,具有外部存儲(chǔ)器接口。非易失性存儲(chǔ)器采用美國(guó)Ramtron公司的FM20L08鐵電存儲(chǔ)器。與其它類型的非易失性存儲(chǔ)器相比,F(xiàn)RAM鐵電存儲(chǔ)器具有讀寫(xiě)次數(shù)多、讀寫(xiě)速度快、功耗低、無(wú)延時(shí)和不用擦除寫(xiě)操作的特點(diǎn),在功能上可以完全替代SRAM。系統(tǒng)硬件框圖如圖1所示。
圖1系統(tǒng)硬件框圖
信號(hào)調(diào)理電路設(shè)計(jì)
信號(hào)調(diào)試電路如圖2所示。
圖2信號(hào)調(diào)理電路
雖然C8051F020內(nèi)部有2.43V的基準(zhǔn)電壓源。但是測(cè)試結(jié)果表明其輸出電壓隨溫度波動(dòng)較大,影響測(cè)量結(jié)果的準(zhǔn)確性。為了提高測(cè)量精度,系統(tǒng)采用了Maxim公司的低溫漂電壓基準(zhǔn)芯片 MAX6325,MAX6325是低溫度系數(shù)(1ppm/°C)、低噪聲(1.5mVp-p)的電壓基準(zhǔn),它具有±0.02%初始精度,是高精度數(shù)據(jù)采集系統(tǒng)的理想選擇。由于壓力傳感器的輸出電壓范圍是DC1~5V,而MAX6325輸出的電壓基準(zhǔn)是2.50V。因而必須對(duì)壓力傳感器輸出電壓進(jìn)行衰減,以達(dá)到和基準(zhǔn)電壓的匹配。實(shí)現(xiàn)這個(gè)功能最簡(jiǎn)單的方法是直接用兩個(gè)電阻進(jìn)行分壓,但是由于傳感器具有一定的輸出阻抗,直接匹配分壓電阻相當(dāng)于將傳感器輸出阻抗與這兩個(gè)電阻并聯(lián),會(huì)造成輸入A/D的采樣電壓不準(zhǔn)確。正確的方法是在壓力傳感器的輸出之后加一級(jí)運(yùn)算放大器增加輸入阻抗,再在運(yùn)放的輸出級(jí)并聯(lián)分壓電阻??紤]到系統(tǒng)只有5V電壓并且傳感器的輸出電壓在1~5V之間,同時(shí)也為了減少器件的數(shù)目,縮小占板面積,運(yùn)算放大器選用了OPA340。 OPA340是單電源軌至軌輸入和輸出運(yùn)算放大器。OPA340的工作電壓可低至2.5V,它允許的最低輸入為-500mV,最高輸入為可高于電源 500mV。
數(shù)據(jù)存儲(chǔ)電路設(shè)計(jì)
對(duì)于針對(duì)突發(fā)數(shù)據(jù)的記錄儀、高速存儲(chǔ)測(cè)試設(shè)備等,其數(shù)據(jù)的高速存儲(chǔ)和掉電不丟失成為系統(tǒng)設(shè)計(jì)的關(guān)鍵,Ramtron公司推出的FM20L08鐵電存儲(chǔ)器彌補(bǔ)了現(xiàn)有鐵電存儲(chǔ)器存儲(chǔ)量小的缺點(diǎn),其數(shù)據(jù)存儲(chǔ)量達(dá)1Mb(128KB),可完全代替標(biāo)準(zhǔn)異步靜態(tài)隨機(jī)存儲(chǔ)器(SRAM),具有可隨機(jī)讀寫(xiě)芯片內(nèi)任何一字節(jié)的特性。FM20L08非易失性鐵電存儲(chǔ)器可無(wú)限次讀寫(xiě),掉電后數(shù)據(jù)可保存10年,工作電壓為3.3V。
最大功耗ftx電流為22mA,采用32引腳TSOP型封裝。FM20L08增加了軟件控制寫(xiě)保護(hù)功能,存儲(chǔ)序列按地址排成8個(gè)區(qū)域,每個(gè)區(qū)域都能通過(guò)軟件單獨(dú)設(shè)置寫(xiě)保護(hù)。在對(duì)海水深度進(jìn)行實(shí)時(shí)采集和記錄時(shí),為了更好地了解儀器在水中深度變化的過(guò)程,必須有高速的數(shù)據(jù)采集和大量的數(shù)據(jù)存儲(chǔ)作保證。鐵電存儲(chǔ)器的高速寫(xiě)入和掉電數(shù)據(jù)不丟失特性完全適合此類情況,可以對(duì)物體在海水中的下降過(guò)程進(jìn)行完整地記錄。圖3示出C8051F020與FM20L08的接口電路。
圖3FM20L08與C8051F020的接口電路
C8051F020使用高位端口(P4~P7)與FM20L08進(jìn)行接口。FM20L08新增內(nèi)部電壓監(jiān)控器驅(qū)動(dòng) LVL(LowVoltageLockout)信號(hào),它接至MCU的INT0,用于監(jiān)控電源的供電情況,當(dāng)電源電壓下降到臨界值以下時(shí),LVL引腳輸出低電壓信號(hào),顯示電路處于寫(xiě)保護(hù)狀態(tài),在MCU的INT0中斷服務(wù)程序中復(fù)位MCU,這樣存儲(chǔ)器可以自動(dòng)阻止誤讀寫(xiě)和防止存儲(chǔ)頁(yè)面數(shù)據(jù)的破壞。 FM20L08的片選信號(hào)是由C8051F020的讀寫(xiě)信號(hào)相與來(lái)控制的,只要讀寫(xiě)信號(hào)任何一個(gè)變低,則片選信號(hào)有效。C8051F020的最大尋址空間為64K,而要求它能夠訪問(wèn)128KB的地址空間,最簡(jiǎn)單有效的方法就是使用一個(gè)I/O位控制FM20L08的地址線A16。當(dāng)A16為0是選擇FRAM 的前半部分,當(dāng)A16為1時(shí),選擇FRAM的后半部分。
在存儲(chǔ)程序設(shè)計(jì)中,程序應(yīng)首先判斷儀器在下降時(shí)A/D的輸入信號(hào)值是否大于門(mén)限值,只有輸入信號(hào)值大于門(mén)限值才將數(shù)據(jù)存儲(chǔ)在存儲(chǔ)單元內(nèi),在測(cè)量?jī)x器由海底上浮至將要接近海面時(shí)關(guān)閉鐵電存儲(chǔ)器,停止數(shù)據(jù)存儲(chǔ)。
評(píng)論