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