作者:李廣明,楊雷 來源: 現代電子技術
1 引 言
多周期測量法是一種很靈活的頻率測量方法,通過調整被測信號的周期個數可以在測量精度和測量時間二者之間做出最佳選擇,對于用普通的測頻法和測周法難以保證測量精度的非等周期信號,如氣壓傳感器的輸出信號,多周期測量法是最佳選擇。另外,通過提高基準頻率和選用大容量計數器等措施還可以進一步提高系統的測量精度,這種測量方法可用于高精度頻率測量系統的設計中。
2 信號采集要求
在研制基于GPRS的自動氣象站中,氣壓采集系統采用電激勵諧振筒式壓力傳感器。該傳感器輸出為周期C(或頻率f)與氣壓相關的TTL電平的矩形波信號(下稱原始信號)和一個與環境溫度呈線性關系的0~5 V的模擬電壓信號。輸出信號頻率與氣壓P一一對應,單值連續,振動筒諧振頻率的變化反應了氣壓的變化。
國家氣象局對氣壓遙測的要求,測量范圍為50~110 kPa,采集的分辨率為0.01 kPa,準確度為±0.03 kPa,采集速率為6次/min(1 min共取6個樣本值,取中間大小的4個值的等權算術平均值)。根據周期C(或頻率f)對氣壓的最低靈敏度來確定周期及頻率測量的分辨率,根據周期C(或頻率f)對溫度的最高交叉靈敏度決定對溫度電壓的分辨率。通過數據分析,欲使氣壓系統分辨率達0.01 kPa,這就要求周期測量分辨率為0.002 636 2μs,頻率測量的分辨率為0.068 645 Hz,對溫度電壓的分辨率為43 mV。
3 測量頻率和周期的基本方法
電子計數器測量信號頻率和周期的基本原理是門控法,如圖1所示。
(1)在測量頻率時,被測信號加在A端,B端加門控信號,其信號寬度TB即是采樣時間,被測信號頻率為:
N為閘門時間TB內的脈沖數。測量的最大誤差為:
誤差中前項是量化誤差,后部分是因為標準信號誤差引起。若滿足0.068 645 Hz分辨率的要求,門控信號寬度TB(采樣時間)要超過15 s。按照這種方法,不能達到國家氣象局規定的氣壓采集速率6次/min。
(2)測量信號周期時,標準信號加在A端,B端門控信號由被測信號觸發,其信號寬度TB為被測信號的周期,被測信號周期C為:
其中,N為被測時間內對周期為τ的標準信號計數個數,測量的最大誤差為:
誤差中前項是量化誤差,后部分是因為標準信號誤差引起的。若滿足0.002 636 2 μs分辨率的要求,時標信號的頻率要高于379.33 MHz,實現難度大,用微控制器直接測量時是不能完成的。
4 多周期測周法
對信號M分頻后觸發產生門控信號對時標信號計數(如圖2所示)。
誤差中前項是量化誤差,后部分是因為標準信號誤差引起的。從式中可知,被測信號周期擴展M倍后,對時標信號的頻率要求不很高,電路容易實現,并能將量化誤差降到單周期測量的1/M;為減小標準信號帶來的誤差,要求時標信號具有較高的精度。
觸發誤差的抑制傳感器輸出的信號為矩形波信號由原始振蕩信號經整形得到,信號中疊加的噪聲在整形時會使矩形波信號的觸發沿提前或滯后。多周期測周時使相鄰周期的觸發誤差相互抵消。M個周期的累計觸發誤差只相當于單個周期的觸發誤差。
5 信號測量單片機控制電路的實現
圖3為多周期測周的原理圖,其核心是P89LPC935。
P89LPC935是PHILIPS公司LPC900系列單片封裝的微控制器,采用了高性能的處理器結構(與51系列兼容),速度6倍于標準80C51器件,除51系列單片機資源外還具有8 kB FLASH程序存儲器,512片內用戶數據E2PROM存儲區,2個4路輸入的8位A/D轉換器和2個DAC,I2C,SPI總線、片內看門狗和復位電路、捕獲/比較單元(CCU)等資源。
原始信號(傳感器輸出的與氣壓有關的矩形波信號)接到分頻電路CD4020的時鐘輸入端,經256分頻后接到P89LPC935的/INT1端,作為門控信號控制P89LPC935內部的定時計數器1。定時計數器1工作在定時方式,在門控信號為高電平時計數。時鐘為PCLK,為外接晶振11.059 2 MHz的2分頻(6倍于標準80C51器件),即5.529 6 MHz。
如圖4所示,原始信號周期C在200 μs左右,256分頻后的門控信號周期在51 200μs左右(256C),一個周期中高電平部分約為25 600 μs(高電平部分128 C),在高電平時對5.529 6 MHz計數,其計數值約為141 500,超過16位計數器的長度,將產生溢出并產生中斷。開辟1個內部RAM,在中斷服務子程序中進行加l操作,即可滿足計數字長要求。計數過程如下:
S1:首先判斷/INT1是否為高電平,該過程時間最長256C;
S2:判斷/INT1是否為低電平,若是,計數器清零,允許計數,允許計數器溢出中斷,該過程時間128C;
S3:/INT1為高電平時計數器計數,計數器溢出時產生中斷,中斷服務子程序中高位加1,該過程時間128C;
S4:后續處理,包括頻率計算、溫度采集及其他運算。該過程時間小于128C。
整個計數及處理過程時間小于640 C,在128 ms以內,遠小于10 s。原始信號的周期C及測量誤差如下計算。原始信號的周期為C,計數值為N,計算公式為:
其中,M=128;τ=(1/5.529 6)μs;128C=(N/5.5296)μs,C=N×0.001 4μs。
其測量誤差為:
誤差中前項是量化誤差,為0.001 4μs;后部分是因為標準信號誤差(即晶振的誤差)引起的。在整個測量范圍內,C最大值為211.787 9μs,選取準確度優于5 ppm的晶振,該項誤差最大值為:211.787 9μs×5 ppm=0.001 1μs;兩者的和小于0.002 636 2μs,滿足要求。
上述的分析計算是兩者絕對值相加,有一定的冗余。如果進一步提高M值,將進一步減小量化誤差。
用該方法測量周期的前提條件是選取準確度優于5 ppm的晶振,測量周期的誤差最小可控制在0.001 1μs。
將溫度信號直接連接到P89LPC935的模擬輸入端AD10(P0.1)引腳,進行A/D轉換。A/D轉換時間為μs量級,遠遠小于要求的采樣周期10 s,在溫度采集時,有足夠的時間對A/D轉換數據進行數據處理,其具體方法為:每次采集進行18次A/D轉換,去掉一個最大值和最小值,取其余16個數據算術平均值作為最終結果。
溫度信號采集的準確度為20 mV,優于43 mV的要求。
6 結 語
該測量方法成功地應用于與河南省氣象局合作開發的自動氣象站中。用多周期測周的方法快速準確測量信號的頻率(周期)基于2個條件:信號是連續的;P89LPC935的晶振必須使用外接的高精度、高穩定晶體振蕩器(準確度優于5 ppm)。