- 信號采集要求
- 測量頻率和周期的基本方法
- 信號測量單片機控制電路的實(shí)現
- 多周期測周法
信號采集要求
在研制基于GPRS的自動(dòng)氣象站中,氣壓采集系統采用電激勵諧振筒式壓力傳感器。該傳感器輸出為周期C(或頻率f)與氣壓相關(guān)的TTL電平的矩形波信號(下稱(chēng)原始信號)和一個(gè)與環(huán)境溫度呈線(xiàn)性關(guān)系的0~5V的模擬電壓信號。輸出信號頻率與氣壓P一一對應,單值連續,振動(dòng)筒諧振頻率的變化反應了氣壓的變化。
國家氣象局對氣壓遙測的要求,測量范圍為50~110kPa,采集的分辨率為0.01kPa,準確度為±0.03kPa,采集速率為6次/min(1min共取6個(gè)樣本值,取中間大小的4個(gè)值的等權算術(shù)平均值)。根據周期C(或頻率f)對氣壓的最低靈敏度來(lái)確定周期及頻率測量的分辨率,根據周期C(或頻率f)對溫度的最高交叉靈敏度決定對溫度電壓的分辨率。通過(guò)數據分析,欲使氣壓系統分辨率達0.01kPa,這就要求周期測量分辨率為0.0026362μs,頻率測量的分辨率為0.068645Hz,對溫度電壓的分辨率為43mV。
測量頻率和周期的基本方法
電子計數器測量信號頻率和周期的基本原理是門(mén)控法,如圖1所示。
(1)在測量頻率時(shí),被測信號加在A(yíng)端,B端加門(mén)控信號,其信號寬度TB即是采樣時(shí)間,被測信號頻率為:
N為閘門(mén)時(shí)間TB內的脈沖數。測量的最大誤差為:
誤差中前項是量化誤差,后部分是因為標準信號誤差引起。若滿(mǎn)足0.068645Hz分辨率的要求,門(mén)控信號寬度TB(采樣時(shí)間)要超過(guò)15s。按照這種方法,不能達到國家氣象局規定的氣壓采集速率6次/min。

(2)測量信號周期時(shí),標準信號加在A(yíng)端,B端門(mén)控信號由被測信號觸發(fā),其信號寬度TB為被測信號的周期,被測信號周期C為:
其中,N為被測時(shí)間內對周期為τ的標準信號計數個(gè)數,測量的最大誤差為:
誤差中前項是量化誤差,后部分是因為標準信號誤差引起的。若滿(mǎn)足0.0026362μs分辨率的要求,時(shí)標信號的頻率要高于379.33MHz,實(shí)現難度大,用微控制器直接測量時(shí)是不能完成的。
多周期測周法
對信號M分頻后觸發(fā)產(chǎn)生門(mén)控信號對時(shí)標信號計數(如圖2所示)。

誤差中前項是量化誤差,后部分是因為標準信號誤差引起的。從式中可知,被測信號周期擴展M倍后,對時(shí)標信號的頻率要求不很高,電路容易實(shí)現,并能將量化誤差降到單周期測量的1/M;為減小標準信號帶來(lái)的誤差,要求時(shí)標信號具有較高的精度。
觸發(fā)誤差的抑制傳感器輸出的信號為矩形波信號由原始振蕩信號經(jīng)整形得到,信號中疊加的噪聲在整形時(shí)會(huì )使矩形波信號的觸發(fā)沿提前或滯后。多周期測周時(shí)使相鄰周期的觸發(fā)誤差相互抵消。M個(gè)周期的累計觸發(fā)誤差只相當于單個(gè)周期的觸發(fā)誤差。
信號測量單片機控制電路的實(shí)現
圖3為多周期測周的原理圖,其核心是P89LPC935。
P89LPC935是PHILIPS公司LPC900系列單片封裝的微控制器,采用了高性能的處理器結構(與51系列兼容),速度6倍于標準80C51器件,除51系列單片機資源外還具有8kBFLASH程序存儲器,512片內用戶(hù)數據E2PROM存儲區,2個(gè)4路輸入的8位A/D轉換器和2個(gè)DAC,I2C,SPI總線(xiàn)、片內看門(mén)狗和復位電路、捕獲/比較單元(CCU)等資源。

原始信號(傳感器輸出的與氣壓有關(guān)的矩形波信號)接到分頻電路CD4020的時(shí)鐘輸入端,經(jīng)256分頻后接到P89LPC935的/INT1端,作為門(mén)控信號控制P89LPC935內部的定時(shí)計數器1。定時(shí)計數器1工作在定時(shí)方式,在門(mén)控信號為高電平時(shí)計數。時(shí)鐘為PCLK,為外接晶振11.0592MHz的2分頻(6倍于標準80C51器件),即5.5296MHz。
如圖4所示,原始信號周期C在200μs左右,256分頻后的門(mén)控信號周期在51200μs左右(256C),一個(gè)周期中高電平部分約為25600μs(高電平部分128C),在高電平時(shí)對5.5296MHz計數,其計數值約為141500,超過(guò)16位計數器的長(cháng)度,將產(chǎn)生溢出并產(chǎn)生中斷。開(kāi)辟1個(gè)內部RAM,在中斷服務(wù)子程序中進(jìn)行加l操作,即可滿(mǎn)足計數字長(cháng)要求。計數過(guò)程如下:
S1:首先判斷/INT1是否為高電平,該過(guò)程時(shí)間最長(cháng)256C;
S2:判斷/INT1是否為低電平,若是,計數器清零,允許計數,允許計數器溢出中斷,該過(guò)程時(shí)間128C;
S3:/INT1為高電平時(shí)計數器計數,計數器溢出時(shí)產(chǎn)生中斷,中斷服務(wù)子程序中高位加1,該過(guò)程時(shí)間128C;
S4:后續處理,包括頻率計算、溫度采集及其他運算。該過(guò)程時(shí)間小于128C。

整個(gè)計數及處理過(guò)程時(shí)間小于640C,在128ms以?xún)?,遠小于10s。原始信號的周期C及測量誤差如下計算。原始信號的周期為C,計數值為N,計算公式為:
其中,M=128;τ=(1/5.5296)μs;128C=(N/5.5296)μs,C=N×0.0014μs。
其測量誤差為:
誤差中前項是量化誤差,為0.0014μs;后部分是因為標準信號誤差(即晶振的誤差)引起的。在整個(gè)測量范圍內,C最大值為211.7879μs,選取準確度優(yōu)于5ppm的晶振,該項誤差最大值為:211.7879μs×5ppm=0.0011μs;兩者的和小于0.0026362μs,滿(mǎn)足要求。
上述的分析計算是兩者絕對值相加,有一定的冗余。如果進(jìn)一步提高M(jìn)值,將進(jìn)一步減小量化誤差。
用該方法測量周期的前提條件是選取準確度優(yōu)于5ppm的晶振,測量周期的誤差最小可控制在0.0011μs。
將溫度信號直接連接到P89LPC935的模擬輸入端AD10(P0.1)引腳,進(jìn)行A/D轉換。A/D轉換時(shí)間為μs量級,遠遠小于要求的采樣周期10s,在溫度采集時(shí),有足夠的時(shí)間對A/D轉換數據進(jìn)行數據處理,其具體方法為:每次采集進(jìn)行18次A/D轉換,去掉一個(gè)最大值和最小值,取其余16個(gè)數據算術(shù)平均值作為最終結果。
溫度信號采集的準確度為20mV,優(yōu)于43mV的要求。
該測量方法成功地應用于與河南省氣象局合作開(kāi)發(fā)的自動(dòng)氣象站中。用多周期測周的方法快速準確測量信號的頻率(周期)基于2個(gè)條件:信號是連續的;P89LPC935的晶振必須使用外接的高精度、高穩定晶體振蕩器(準確度優(yōu)于5ppm)。