胡正群 ,張麗榮
(1.中國(guó)科學(xué)院國(guó)家天文臺(tái),北京100012;2.中國(guó)科學(xué)院研究生院,北京100049)
數(shù)字大氣壓力傳感器目前普遍運(yùn)用于社會(huì)生活各個(gè)領(lǐng)域,大氣壓力傳感器技術(shù)是儀器科學(xué)領(lǐng)域發(fā)展的重要技術(shù)方向,未來(lái)此類(lèi)傳感技術(shù)的發(fā)展主要向兩個(gè)方向進(jìn)行:其一是開(kāi)發(fā)新材料、新工藝開(kāi)發(fā)新型傳感器;其二是研究傳感技術(shù)的高精度、集成化、微型化、智能化、仿生化、網(wǎng)絡(luò)化和多傳感器融合等。
數(shù)字化通信是電子設(shè)備發(fā)展的趨勢(shì),目前所使用的大部分壓力傳感器都是數(shù)字化傳感器,它具有穩(wěn)定性高、簡(jiǎn)易方便、易于集成等特點(diǎn)。在眾多的大氣壓力傳感器中,BP5607是基于 MEMS(Microelectro Mechanical System)技術(shù)的高靈敏度、高分辨率的數(shù)字壓力傳感器。本文基于ARM Cortex-M3微處理器LP1768+壓力傳感器BP5607的架構(gòu)設(shè)計(jì),闡述該款傳感器的設(shè)計(jì)實(shí)現(xiàn)思想;結(jié)合改進(jìn)的差分氣壓測(cè)高算法,設(shè)計(jì)實(shí)現(xiàn)了具有高靈敏度、高分辨率、高精度的高程測(cè)量?jī)x,在傳感器應(yīng)用測(cè)量領(lǐng)域有一定的使用參考價(jià)值。
BP5607是一款采用MEMS技術(shù)將高線性壓力傳感器與一個(gè)低功耗的24 bit模數(shù)轉(zhuǎn)換電路(ADC)集成于一體的數(shù)字氣壓傳感器(圖1)。壓力測(cè)量范圍為10 mbar~1 200 mbar,壓力測(cè)量分辨率為0.13 mbar/0.084 mbar/0.054 mbar/0.036 mbar/0.024 mbar通過(guò)編程設(shè)置采樣率可以有效選擇;溫度測(cè)量范圍為-40℃ ~85℃,分辨率優(yōu)于0.01℃。用戶(hù)可根據(jù)實(shí)際應(yīng)用的轉(zhuǎn)換速度和功耗在軟件中選擇不同的工作模式。BP5607包含了一個(gè)硅壓阻傳感器和一個(gè)模數(shù)轉(zhuǎn)換接口電路,它把從壓阻式傳感器輸出的未經(jīng)補(bǔ)償?shù)哪M電壓轉(zhuǎn)換為24 bit的數(shù)字信號(hào),提供一個(gè)24 bit的數(shù)字壓力值和溫度值信號(hào)[1]。
圖1 BP5607原理框圖
BP5607可以根據(jù)需要選擇AD轉(zhuǎn)換器采樣頻率(256/512/1024/2048/4096)用以控制氣壓/溫度輸出的有效位精度,從而提高測(cè)量精度。該模塊將傳感器采集的信號(hào)經(jīng)過(guò)模數(shù)轉(zhuǎn)換器后輸出24 bit的數(shù)字信號(hào)可直接與微處理器通信,便于集成,相對(duì)于以前的模擬信號(hào)輸出的產(chǎn)品,減少了信號(hào)放大等電路,同時(shí)也節(jié)省了標(biāo)定環(huán)節(jié)的時(shí)間和資金。BP5607具有小體積(5.3 mm×3.0 mm×1.7 mm),低功耗,高精度,高分辨率,響應(yīng)時(shí)間快的特點(diǎn)。
BP5607提供SPI和IIC 2種接口模式,可以與任意一款微處理器相連,不需要裝置內(nèi)部編程存儲(chǔ)器,用以控制BP5607的工作模式和工作流程。在SPI模式下模塊可以同時(shí)接受時(shí)序相反的模式0和模式3傳感器在輸出端SDO(串行數(shù)據(jù)輸出)給予響應(yīng)。片選管腳(CSB管腳)用于控制該接口的工作狀態(tài),用以解決微處理器SPI接口復(fù)用的問(wèn)題。當(dāng)發(fā)送命令或者命令執(zhí)行完后該片選管腳(CSB腳)被拉回至高電平。在進(jìn)行ADC轉(zhuǎn)換時(shí),當(dāng)SPI總線處于閑置時(shí)或者沒(méi)有其他設(shè)備在利用該總線時(shí)噪聲性能最好。IIC總線在傳輸數(shù)據(jù)時(shí),外部處理器時(shí)鐘通過(guò)SCLK(串行時(shí)鐘)和SDA(串行數(shù)據(jù))與模塊通信,IIC總線接口在同一個(gè)雙向通信的SDA管腳響應(yīng),因此這種接口只需要兩條信號(hào)線,不再需要片選信號(hào)。在IIC模式下片選信號(hào)(CSB腳)的增加提供了LSB的IIC的地址,因此在同一個(gè)IIC中線上可以攜帶多個(gè)傳感器模塊工作。
BP5607內(nèi)部沒(méi)有控制器,需要外接微小控制處理器通過(guò)讀寫(xiě)指令來(lái)驅(qū)動(dòng)BP5607的工作,本文采用LPC1768處理器+BP5607的架構(gòu)完成氣壓測(cè)高模塊的設(shè)計(jì)實(shí)現(xiàn),氣壓測(cè)高模塊系統(tǒng)組成如圖2所示。
圖2 氣壓測(cè)高模塊系統(tǒng)組成
LPC1768是一款高性能、低功耗的32 bit ARM Cortex-M3微處理器,內(nèi)存映射包含多個(gè)內(nèi)置外設(shè)塊,具有一個(gè)嵌套矢量中斷控制器(NVIC)[2-3]。運(yùn)行頻率高達(dá)100 MHz,具有512 kbyte的Flash存儲(chǔ)器和64 kbyte的數(shù)據(jù)存儲(chǔ)器。供電電源2.4 V ~3.6 V,操作頻率可以從1 MHz~24 MHz,能實(shí)時(shí)處理大量的溫度補(bǔ)償和壓強(qiáng)數(shù)值轉(zhuǎn)換運(yùn)算。支持低功耗運(yùn)行和低功耗睡眠模式,滿(mǎn)足系統(tǒng)低功耗要求。LPC1768的芯片資源和接口資源非常豐富,可以保證處理器將處理完的數(shù)據(jù)傳輸?shù)剿枰脑O(shè)備上。
LPC1768微處理器與傳感器BP5607之間采用SPI接口進(jìn)行交互通信,從而獲得對(duì)氣壓數(shù)據(jù)和溫度數(shù)據(jù)的采集。傳感器BP5607有5種基本指令:復(fù)位-讀取PROM數(shù)字(C1~C6系數(shù))-D1轉(zhuǎn)換-D2轉(zhuǎn)換-讀取ADC并輸出數(shù)據(jù)[1]。通過(guò)這5種基本指令可以得到BP5607采集氣壓和溫度數(shù)據(jù)的工作流程,如圖3所示。
圖3 BP5607采集氣壓/溫度的工作流程
在同一地點(diǎn)分別用兩個(gè)模塊測(cè)量氣壓值如圖4和圖5所示,圖4是通過(guò)LPC1768對(duì)傳感器BP5607設(shè)置氣壓分辨率為0.024 mbar的測(cè)量結(jié)果,圖5是傳感器測(cè)量氣壓分辨率為0.13 mbar的測(cè)量結(jié)果,氣壓數(shù)據(jù)采集率為1 Hz。
圖4 BP5607測(cè)得48 h氣壓的變化曲線(D1/D2采樣率:4096)
圖5 BP5607測(cè)得48 h氣壓的變化曲線(D1/D2采樣率:256)
不同的傳感器模塊即使在同一個(gè)位置上,由于焊接工藝上存在一定的區(qū)別,利用不同的傳感器模塊測(cè)量氣壓,所得到的氣壓測(cè)量值彼此之間也會(huì)存在一定的差異,但是這個(gè)差值一般是固定的,可以通過(guò)測(cè)量得以修正。
此外,由于AD轉(zhuǎn)換器采樣率的不同,采集得到的氣壓值在有效位上存在一定的區(qū)別,采樣率越高氣壓變化曲線顯得越平滑,也就越能真實(shí)的反映實(shí)際的大氣壓強(qiáng)的物理狀況,采樣率越低氣壓變化曲線存在較大的量化誤差。
式(1)中tm是基準(zhǔn)點(diǎn)P0和測(cè)量點(diǎn)P之間的平均攝氏溫度,即tm=(t0+tR)/2,t0為基準(zhǔn)點(diǎn)溫度,tR為測(cè)量點(diǎn)溫度值。
差分氣壓測(cè)高具有較好的高程測(cè)量精度,在很多場(chǎng)合中具有很好的使用價(jià)值[8],為了減小用戶(hù)端數(shù)據(jù)的計(jì)算量,通過(guò)線性化計(jì)算的方式獲得高程,可以對(duì)差分氣壓測(cè)高的數(shù)學(xué)模型做一定的改進(jìn)。由式(1)分析可得,假定不同的氣壓測(cè)高模塊在同一地點(diǎn)測(cè)量的氣壓值完全一致的情況下,測(cè)量點(diǎn)相對(duì)于基準(zhǔn)點(diǎn)0.1 mbar的氣壓變化量,相當(dāng)于高度變化約0.82 m;測(cè)量點(diǎn)相對(duì)于基準(zhǔn)點(diǎn)1℃的溫度變化量,相當(dāng)于高度變化約為0.023 m[9]。在差分氣壓測(cè)高模型中,高程的測(cè)量精度主要取決于基準(zhǔn)點(diǎn)與測(cè)量點(diǎn)之間的氣壓差,氣壓傳感器的測(cè)量一致性決定了氣壓對(duì)高程測(cè)量的精度。溫度在差分氣壓測(cè)高模型中的影響權(quán)重比較小,氣壓在差分氣壓測(cè)高模型中的影響權(quán)重比較大,在一定的區(qū)域范圍以?xún)?nèi),可以建立測(cè)量點(diǎn)相對(duì)于基準(zhǔn)點(diǎn)的高度與氣壓差和溫度差之間的線性數(shù)學(xué)關(guān)系式,如式(2)所示。
在不同的區(qū)域范圍內(nèi)通過(guò)實(shí)驗(yàn)獲得α和β值,從而獲得簡(jiǎn)化差分氣壓測(cè)高系統(tǒng)方法的使用。在差分氣壓測(cè)高系統(tǒng)中,高程測(cè)量精度與基準(zhǔn)點(diǎn)與測(cè)點(diǎn)之間的基線長(zhǎng)度負(fù)相關(guān),即基線長(zhǎng)度越長(zhǎng)精度越低。為了提高差分氣壓測(cè)高的精度,差分的范圍不宜過(guò)大,一般在3 km左右的區(qū)域里,因此可以認(rèn)為基準(zhǔn)點(diǎn)與測(cè)點(diǎn)的溫度相等,即tR=t0,那么式(2)可以簡(jiǎn)化為
式(3)表明測(cè)點(diǎn)的高程測(cè)量變成了基準(zhǔn)點(diǎn)與測(cè)點(diǎn)的氣壓差測(cè)量問(wèn)題,在基準(zhǔn)點(diǎn)高程一定的條件下,測(cè)點(diǎn)的高程分辨率直接取決于基準(zhǔn)點(diǎn)與測(cè)點(diǎn)的氣壓差分辨率,即取決于氣壓的測(cè)量分辨率。由圖4和圖5
由圖4可以看到,同一地點(diǎn)(海拔不變)的氣壓值處于無(wú)規(guī)則的變化狀態(tài)之中[4-5],在“國(guó)際標(biāo)準(zhǔn)大氣”模型下,直接通過(guò)氣壓去推算高程,解算的高程同樣和氣壓值的變化趨勢(shì)一樣[6],這時(shí)高程的測(cè)量精度不高,嚴(yán)重的情況下一天內(nèi)的定點(diǎn)測(cè)量高度漂移達(dá)到數(shù)十米的量級(jí),穩(wěn)定性和可靠性較差,實(shí)用性不強(qiáng)。
根據(jù)氣壓隨高度變化的規(guī)律,若已知基準(zhǔn)點(diǎn)高度h0的氣壓P0和溫度t0,以及在測(cè)點(diǎn)測(cè)出的氣壓P和溫度 tR,測(cè)點(diǎn)的高度 h 為[7]:可知,D1/D2采樣率決定了測(cè)壓的分辨率,進(jìn)而決定了高程測(cè)量的分辨率。因此,D1/D2采樣率越高,高程測(cè)量分辨率越高。將兩個(gè)BP5607測(cè)高模塊放在高差為h-h(huán)0=0.8 m的兩個(gè)位置,D1/D2采樣率為4 096,氣壓測(cè)量分辨率為0.024 mbar,氣壓數(shù)據(jù)采集率為1 Hz,將較低位置的模塊作為基準(zhǔn)點(diǎn),較高位置的模塊作為測(cè)點(diǎn),由測(cè)量的溫度值和氣壓值求得 α=1.020 8,β=0.1361。由于兩個(gè)模塊之間在同一個(gè)位置本身存在測(cè)量差異,因此,以上兩個(gè)系數(shù)已經(jīng)包含了測(cè)量差異的系統(tǒng)誤差。將測(cè)點(diǎn)模塊向上移動(dòng)0.6 m,然后返回測(cè)點(diǎn)位置,測(cè)點(diǎn)模塊相對(duì)于基準(zhǔn)點(diǎn)的高程軌跡經(jīng)過(guò)式(1)和式(2)解算如圖6所示。
圖6 測(cè)點(diǎn)模塊相對(duì)于基準(zhǔn)點(diǎn)高程解算曲線
利用式(1)和式(2)解算的測(cè)點(diǎn)相對(duì)于基準(zhǔn)點(diǎn)高程曲線基本一致,并且兩者都比較符合實(shí)際的情況,分辨率較高。氣壓每變化0.1 mbar帶來(lái)高程測(cè)量誤差約為0.82 m[10],因此,提高測(cè)壓的分辨率和精度可以進(jìn)一步提高差分氣壓測(cè)高系統(tǒng)高程的測(cè)量精度,當(dāng)測(cè)壓分辨率達(dá)到0.01 mbar時(shí),系統(tǒng)理想的高程分辨率達(dá)到0.082 m,由于系統(tǒng)誤差等因素的存在,由圖6可知,高程測(cè)量的分辨率仍然可以?xún)?yōu)于0.2 m。
壓力傳感器BP5607具有良好的重復(fù)性以及批量生產(chǎn)性,便于實(shí)現(xiàn)壓力傳感器的單片集成,隨著測(cè)控領(lǐng)域技術(shù)的不斷發(fā)展,將高靈敏、高分辨率的壓力傳感器嵌入到其他的電子勘測(cè)系統(tǒng),將會(huì)有更多的場(chǎng)合受益于這些高靈敏度的壓力傳感器。本文利用LPC1768作為微處理器,設(shè)計(jì)實(shí)現(xiàn)BP5607的差分氣壓測(cè)高模塊,并且結(jié)合簡(jiǎn)化的差分氣壓測(cè)高方法,具有較好的穩(wěn)定性、可靠性,在高程測(cè)量領(lǐng)域中對(duì)于提高精度和分辨率方面有較好的效果,在高程測(cè)量領(lǐng)域有著一定的參考價(jià)值。
[1]MEAS.BP5607 Barometer Module Datasheet[EB/OL].(2011 -02-17).http://www.meas-spec.com.
[2]周立功.ARM嵌入式系統(tǒng)基礎(chǔ)教程[M].北京:北京航空航天大學(xué)出版社,2008.
[3]喻金錢(qián),喻斌.ARM Cortex-M3核微處理器開(kāi)發(fā)與應(yīng)用[M].北京:清華大學(xué)出版社,2011.
[4]霍立業(yè).氣壓測(cè)高的理論依據(jù)和數(shù)學(xué)模型[J].解放軍測(cè)繪研究所學(xué)報(bào),1997,(2):56-60.
[5]霍立業(yè).氣壓測(cè)高方法及測(cè)高精度的研究[J].解放軍測(cè)繪研究所學(xué)報(bào),2002,22(2):21-25.
[6]United States Committee on Extansion to the Standard Atmosphere.U.S.Standard Atmosphere[M].Washington:US Govenment Printing Office,1976.
[7]Ai Guoxiang,Sheng Peixuan,Du Jinlin,et al.Barometric Altimetry System as Virtual Constellation Applied in CAPS[J].Science in China Series G:Physics Mechanics and Astronomy,2009,52(3):376-383.
[8]Zhang Lirong,Ma Lihua,Wang Xiaolan,et al.Application of Pressure Sensor in Chinese Area Positioning System[C]//J.Sun et al.(eds.),China Satellite Navigation Conference(CSNC)2012 Proceedings,Lecture Notes in Electrical Engineering 159,pp551-558.Springer-Verlag GmbH Berlin Heidelberg 2012.
[9]胡正群,張麗榮.差分氣壓測(cè)高在室內(nèi)定位系統(tǒng)中應(yīng)用的性能分析[J].傳感技術(shù)學(xué)報(bào),2012,25(10):1463-1467.
[10]張麗榮,馬利華,王曉嵐.CAPS氣壓測(cè)高的仿真分析[J].微計(jì)算機(jī)信息,2011,27(3):185-186.
[11]劉成,杜曉輝,王萌.附有高程約束的中國(guó)區(qū)域定位系統(tǒng)定位精度分析[J].全球定位系統(tǒng),2011,27(1):18-22.
[12]劉維亞,牛秀范,鄧春健.基于智能傳感器的新型高度與方向測(cè)量?jī)x[J].傳感技術(shù)學(xué)報(bào),2010,23(8):1093-1097.