隨著水文現(xiàn)代化進程的不斷推進,,水情測報作為水文工作的重要手段也在迅速發(fā)展,。水情測報應(yīng)用遙測、計算機,、控制和通信等先進科技對水文信息進行實時遙測,、傳送和處理,其系統(tǒng)主要由遙測站,、中繼站和中心站3部分組成,。遙測站利用水情遙測終端(RTU)完成各種水文傳感器數(shù)據(jù)的采集和處理,最終與中心站進行雙向通信,,實現(xiàn)水情的預(yù)報或調(diào)度決策,。遙測終端是整個測報系統(tǒng)的信息和決策依據(jù)來源,因此如何構(gòu)建功能完善,、可靠性高,、通用靈活、易維護的遙測終端成為設(shè)計的關(guān)鍵,。
目前,,水情遙測終端的設(shè)計基本采用MCS51、MSP430及ARM等系列單片機作為控制芯片,,配置各種外圍電路實現(xiàn)系統(tǒng)功能,。本文設(shè)計了一種基于AT89S52單片機的低功耗水情遙測終端,其功能完善,、性能穩(wěn)定,,能為控制中心提供準(zhǔn)確,、綜合全面的水情信息。
1 系統(tǒng)總體設(shè)計
系統(tǒng)采用模塊化設(shè)計,,根據(jù)功能,,整個遙測終端可分為單片機模塊、數(shù)據(jù)采集模塊,、數(shù)據(jù)通信模塊,、人機交互模塊和電源供電模塊等部分,該系統(tǒng)結(jié)構(gòu)如圖1所示,。
系統(tǒng)工作流程:單片機讀取雨量,、水位、閘位等參數(shù),,進行處理,、存儲和編碼,在自報或召報方式下,,經(jīng)調(diào)制解調(diào)器后通過無線數(shù)傳電臺發(fā)送至中繼站或中心站,。該系統(tǒng)具有良好的人機交互功能,可通過鍵盤操作實現(xiàn)參數(shù)的設(shè)置和數(shù)據(jù)實時動態(tài)顯示,。
2 系統(tǒng)硬件電路設(shè)計
從遙測終端的功能需求,、成本、接口電路及程序復(fù)雜度等方面綜合考慮,,選用ATMEL公司的AT89S52單片機為控制核心,,它帶有8 kB的Flash存儲器和256字節(jié)RAM,支持全靜態(tài)操作及空閑,、掉電兩種可選節(jié)電模式,。整個系統(tǒng)在硬件邏輯結(jié)構(gòu)上由數(shù)據(jù)采集接口電路、通信接口電路,、人機接口電路,、實時時鐘電路、存儲擴展電路及電源電路組成,。
2.1 數(shù)據(jù)采集接口電路設(shè)計
本文僅以雨量,、水位的數(shù)據(jù)采集為例。
雨量采集采用翻斗式雨量計,,當(dāng)降雨量達到1 mm,,雨量計翻動1次發(fā)出1個脈沖信號觸發(fā)中斷0,喚醒處于低功耗狀態(tài)的單片機,,對雨量進行累加,、存儲和即時發(fā)送。由于雨量計的干簧管開關(guān)吸合會出現(xiàn)抖動現(xiàn)象,,為了確保雨量記錄的準(zhǔn)確無誤,,雨量計輸出脈沖信號須經(jīng)過脈沖整形方能送入后繼單元進行處理,。整形電路如圖2所示,MC14538是可重復(fù)觸發(fā)和復(fù)位的單穩(wěn)態(tài)觸發(fā)器件,,R2,、R3為保護電阻。在非跳變期間,,脈沖的不規(guī)則變化保持在一定范圍,,VD1、VD2的比較結(jié)果相同,,觸發(fā)器不工作,,使輸出脈沖保持穩(wěn)定。
系統(tǒng)設(shè)計2路水位采集,,浮子式水位計的輸出為12位并行格雷碼,,為節(jié)省單片機I/O口資源,經(jīng)兩片MC14021移位寄存器鎖存,,將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)后逐位輸出至單片機進行處理。串并轉(zhuǎn)換電路如圖3所示,,接上拉保護電阻以增強電路的穩(wěn)定性,。
2.2 通信接口電路設(shè)計
遙測終端的最終目標(biāo)是將采集的水情數(shù)據(jù)處理成幀,利用無線數(shù)傳電臺進行遠距離傳輸后傳送至中心站,。使用RS-232作為與電臺連接的接口,,它亦可連接SMS/GSM、GPRS等通信模塊,,以滿足不同應(yīng)用環(huán)境下的需求,,提高了系統(tǒng)的通用性。
調(diào)制解調(diào)采用全雙工低速MODEM芯片MC145442,,它含有完整的頻率變換調(diào)變(FSK)調(diào)制器,、解調(diào)器和濾波器,提供300波特率的FSK信號的雙向數(shù)據(jù)傳輸,,支持呼叫模式和應(yīng)答模式,。通信接口電路結(jié)構(gòu)如圖4所示,串口電平轉(zhuǎn)換使用MAX232芯片,,MC145442的RXD,、TXD、RXA1/RXA 2,、TXA端口分別為數(shù)據(jù)接收端,、數(shù)據(jù)發(fā)送端、載波接收端和載波發(fā)送端,。
2.3 人機接口電路設(shè)計
為體現(xiàn)系統(tǒng)友好的人機接口界面,,便于輸入和顯示控制參數(shù)等,,采用1602字符型液晶顯示模塊作為輸出顯示器件。1602顯示模塊內(nèi)置控制驅(qū)動器HD44780,,顯示和驅(qū)動工作均由此控制器和外圍電路完成,。配置4x4鍵盤,負責(zé)快速,、準(zhǔn)確,、方便地設(shè)置參數(shù)和實現(xiàn)各種控制功能。鍵盤直接由P1口的高,、低字節(jié)構(gòu)成,,采用中斷輸出,即列線連接與門器件接外部中斷1,,置行線和列線分別為高電平和低電平,,當(dāng)有鍵按下時,電路輸出低電平,,觸發(fā)中斷后進入中斷例程,,判斷哪個鍵被按下。
2.4 其他擴展電路
本系統(tǒng)選用低功耗的CMOS AT24C08芯片作為擴充存儲器,,該芯片是帶有I2C總線接口的8 kB的串行EEPROM,,電路上將P2.3、P2.4與SCL和SDA相連,。該存儲器中保存設(shè)置參數(shù),、歷史水情數(shù)據(jù)和數(shù)據(jù)采集的時間標(biāo)記,用戶可通過按鍵進行顯示,、查閱,。
數(shù)據(jù)采集的時間標(biāo)記和報平安時間間隔計算則采用DS1302實時時鐘芯片來實現(xiàn)。DS1302提供年,、月,、周、日,、時,、秒的數(shù)據(jù)信息,采用SPI與CPU進行通信,,接口簡單,,只需RST復(fù)位、I/O數(shù)據(jù)線,、SCLK串行時鐘線分別于P2.5,、P2.6、P2.7相連,。
遙測終端安裝在野外,,沒有持續(xù)的電力供給,,為實現(xiàn)長期無人值守環(huán)境下的自動監(jiān)測,采用20 W/12 V的太陽能板和蓄電池供電系統(tǒng),。
3 系統(tǒng)軟件設(shè)計
遙測終端實現(xiàn)的主要功能有:根據(jù)規(guī)約(產(chǎn)生1 mm雨量:水位每變化1 cm,,且滿足時間間隔5 min)采集各種傳感器數(shù)據(jù)和電源狀態(tài)參數(shù)信息,并進行存儲和發(fā)送,;無參數(shù)發(fā)送時終端處于值守狀態(tài)下,,按自報周期(缺省值為8 h)向中心站全量發(fā)送數(shù)據(jù),以指示遙測站正常工作,,實現(xiàn)報平安功能:招報方式下,,響應(yīng)中心站的數(shù)據(jù)要求指令,采集各種數(shù)據(jù)并全量發(fā)送:響應(yīng)鍵盤指令,,接收和更新參數(shù)的設(shè)置與修改,,動態(tài)顯示水情數(shù)據(jù)、終端狀態(tài)信息等,;通話功能,,工作人員可現(xiàn)場通過電臺與中繼站或中心站聯(lián)系,為指揮調(diào)度,、現(xiàn)場維護提供話務(wù)功能,。
系統(tǒng)軟件的主程序流程如圖5所示:系統(tǒng)初始化,確保系統(tǒng)處于正常工作狀態(tài):默認進入休眠模式,,以降低終端系統(tǒng)功耗;等待外部中斷喚醒系統(tǒng),,進行數(shù)據(jù)采集,、傳送,實現(xiàn)各種控制功能,。實現(xiàn)功能的硬中斷例程主要包括雨量中斷例程,、定時器中斷例程(圖5)、鍵盤中斷例程(圖5),。雨量中斷例程完成雨量的累加,、存儲和發(fā)送。定時器中斷例程首先采集水位數(shù)據(jù),,檢查測量值變化是否超過1 cm,,是則存儲數(shù)據(jù)并重新采集雨量、水位,、閘位等水情數(shù)據(jù)及電源電壓參數(shù)后發(fā)送,;否則讀取實時時鐘的值,計算時間間隔,,若達報平安周期,,則進行各種數(shù)據(jù)的采集和發(fā)送,。鍵盤中斷例程主要負責(zé)接受鍵盤命令,進行相應(yīng)處理,,包括實時顯示和參數(shù)設(shè)置,。例程中定時器的作用是規(guī)定最大按鍵操作時間(一般2~3 min),即在按鍵超時后強行進入低功耗狀態(tài),,防止無操作而無限的鍵盤掃描循環(huán),。
上述軟件流程中主要包括數(shù)據(jù)采集、數(shù)據(jù)存儲,、數(shù)據(jù)發(fā)送和實時顯示等功能模塊,。數(shù)據(jù)采集的重點是水位采集,浮子式水位計輸出12位格雷碼為統(tǒng)一存儲和發(fā)送格式,,須將其轉(zhuǎn)換為BCD碼,。由于測量水位時波浪沖擊會引起瞬時干擾,為提高準(zhǔn)確性采用軟件濾波進行防浪處理,,方法是對水位信息連續(xù)采樣5次,,將采樣值從小到大排列,取中間3次取平均值為最終測量值,。數(shù)據(jù)存儲包括數(shù)據(jù)存入和數(shù)據(jù)讀出,,水情數(shù)據(jù)的存儲格式為:特征字、數(shù)據(jù),、時間標(biāo)志,。特征字用來區(qū)別數(shù)據(jù)是雨量、水位還是閘位,,時標(biāo)是在數(shù)據(jù)讀入前先讀取實時時鐘為數(shù)據(jù)進行的時間標(biāo)記,。數(shù)據(jù)發(fā)送首先根據(jù)緩沖區(qū)數(shù)據(jù)長度計算校驗字節(jié),連同站號,、參數(shù)特征碼和數(shù)據(jù)等整合成幀,,送入MODEM進行調(diào)制后發(fā)送。
系統(tǒng)標(biāo)準(zhǔn)的數(shù)據(jù)幀格式如圖6所示,,單一數(shù)據(jù)發(fā)送采用格式1,,每次發(fā)送1個參數(shù)數(shù)據(jù),通過數(shù)據(jù)特征區(qū)別,;全量發(fā)送采用格式2,。為了提高通信的可靠性,采用CRC-16信道編碼方式,。
顯示模塊和按鍵配合,,用于測站終端的參數(shù)設(shè)置,如測站編號、采樣時間間隔,、發(fā)送時間間隔等,;同時可用于測站的檢測維護。
4 結(jié)束語
基于AT89S52單片機實現(xiàn)的低功耗水情遙測終端硬件設(shè)計簡單靈活,,軟件架構(gòu)合理,,功能與性能滿足水情測報的技術(shù)要求,可實時采集雨量,、水位,、閘位等多種水文數(shù)據(jù)和氣象參數(shù),并進行固態(tài)存儲,,同時具有水位防浪和報平安功能,。系統(tǒng)通過采用低功耗的外圍器件和休眠、外部中斷喚醒的工作方式降低耗電量,,實現(xiàn)低功耗,。設(shè)計的RS-232通信接口,可連接多種通信模塊,,提高了RTU的通用性,。
該遙測終端可廣泛應(yīng)用于水文水利、城市防洪,、給排水,、環(huán)境與氣象監(jiān)測等方面,實際應(yīng)用中該RTU在值守狀態(tài)下的整機電流<60μA,,已存參數(shù)可掉電保持50年以上,。由于系統(tǒng)功能相對完善,性能可靠,,投入使用以來工作正常,,取得了良好的效果。此外,,針對不同項目需求和應(yīng)用環(huán)境不同,需結(jié)合實際對系統(tǒng)進行進一步的完善和改進,,如優(yōu)化防雷擊,、軟硬件抗干擾保護設(shè)計,增加各種新型的數(shù)字和模擬接口以擴展測報參數(shù)范圍,,加強信道偵聽以提高數(shù)據(jù)傳輸質(zhì)量等,。