《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于AT89S52的水情遙測(cè)終端設(shè)計(jì)與實(shí)現(xiàn)
基于AT89S52的水情遙測(cè)終端設(shè)計(jì)與實(shí)現(xiàn)
電子設(shè)計(jì)工程
錢新紅 吳學(xué)文 宋云云 蔡明星
摘要: 設(shè)計(jì)了一種基于單片機(jī)的低功耗水情遙測(cè)終端,實(shí)現(xiàn)多種水情數(shù)據(jù)的采集、處理和報(bào)送。終端采用AT89S52單片機(jī)作為硬件核心,由擴(kuò)充存儲(chǔ)器、實(shí)時(shí)時(shí)鐘、鍵盤輸入、液晶顯示、串行通信、調(diào)制解調(diào)及太陽能供電等外圍電路構(gòu)成。同時(shí)具備數(shù)字和模擬數(shù)據(jù)采集接口,通過連接相應(yīng)傳感器,實(shí)時(shí)采集雨量、水位、閘位、流量、溫度等信息,使遙測(cè)參數(shù)多樣化。顯示模塊與按鍵配合,用于動(dòng)態(tài)顯示、設(shè)置參數(shù)及系統(tǒng)的檢測(cè)維護(hù)。設(shè)計(jì)的RS-232通信接口,可連接SMS,GSM、GPRS、無線電臺(tái)等通信模塊,滿足不同通信方式下的應(yīng)用,提高了通用性。該終端在實(shí)際應(yīng)用中亦能穩(wěn)定可靠地工作,滿足水情遙測(cè)的功能和性能等技術(shù)要求。
Abstract:
Key words :

隨著水文現(xiàn)代化進(jìn)程的不斷推進(jìn),水情測(cè)報(bào)作為水文工作的重要手段也在迅速發(fā)展。水情測(cè)報(bào)應(yīng)用遙測(cè)、計(jì)算機(jī)、控制和通信等先進(jìn)科技對(duì)水文信息進(jìn)行實(shí)時(shí)遙測(cè)、傳送和處理,其系統(tǒng)主要由遙測(cè)站、中繼站和中心站3部分組成。遙測(cè)站利用水情遙測(cè)終端(RTU)完成各種水文傳感器數(shù)據(jù)的采集和處理,最終與中心站進(jìn)行雙向通信,實(shí)現(xiàn)水情的預(yù)報(bào)或調(diào)度決策。遙測(cè)終端是整個(gè)測(cè)報(bào)系統(tǒng)的信息和決策依據(jù)來源,因此如何構(gòu)建功能完善、可靠性高、通用靈活、易維護(hù)的遙測(cè)終端成為設(shè)計(jì)的關(guān)鍵。
    目前,水情遙測(cè)終端的設(shè)計(jì)基本采用MCS51、MSP430及ARM等系列單片機(jī)作為控制芯片,配置各種外圍電路實(shí)現(xiàn)系統(tǒng)功能。本文設(shè)計(jì)了一種基于AT89S52單片機(jī)的低功耗水情遙測(cè)終端,其功能完善、性能穩(wěn)定,能為控制中心提供準(zhǔn)確、綜合全面的水情信息。

1 系統(tǒng)總體設(shè)計(jì)
   
系統(tǒng)采用模塊化設(shè)計(jì),根據(jù)功能,整個(gè)遙測(cè)終端可分為單片機(jī)模塊、數(shù)據(jù)采集模塊、數(shù)據(jù)通信模塊、人機(jī)交互模塊和電源供電模塊等部分,該系統(tǒng)結(jié)構(gòu)如圖1所示。


    系統(tǒng)工作流程:單片機(jī)讀取雨量、水位、閘位等參數(shù),進(jìn)行處理、存儲(chǔ)和編碼,在自報(bào)或召報(bào)方式下,經(jīng)調(diào)制解調(diào)器后通過無線數(shù)傳電臺(tái)發(fā)送至中繼站或中心站。該系統(tǒng)具有良好的人機(jī)交互功能,可通過鍵盤操作實(shí)現(xiàn)參數(shù)的設(shè)置和數(shù)據(jù)實(shí)時(shí)動(dòng)態(tài)顯示。

2 系統(tǒng)硬件電路設(shè)計(jì)
   
從遙測(cè)終端的功能需求、成本、接口電路及程序復(fù)雜度等方面綜合考慮,選用ATMEL公司的AT89S52單片機(jī)為控制核心,它帶有8 kB的Flash存儲(chǔ)器和256字節(jié)RAM,支持全靜態(tài)操作及空閑、掉電兩種可選節(jié)電模式。整個(gè)系統(tǒng)在硬件邏輯結(jié)構(gòu)上由數(shù)據(jù)采集接口電路、通信接口電路、人機(jī)接口電路、實(shí)時(shí)時(shí)鐘電路、存儲(chǔ)擴(kuò)展電路及電源電路組成。
2.1 數(shù)據(jù)采集接口電路設(shè)計(jì)
   
本文僅以雨量、水位的數(shù)據(jù)采集為例。
    雨量采集采用翻斗式雨量計(jì),當(dāng)降雨量達(dá)到1 mm,雨量計(jì)翻動(dòng)1次發(fā)出1個(gè)脈沖信號(hào)觸發(fā)中斷0,喚醒處于低功耗狀態(tài)的單片機(jī),對(duì)雨量進(jìn)行累加、存儲(chǔ)和即時(shí)發(fā)送。由于雨量計(jì)的干簧管開關(guān)吸合會(huì)出現(xiàn)抖動(dòng)現(xiàn)象,為了確保雨量記錄的準(zhǔn)確無誤,雨量計(jì)輸出脈沖信號(hào)須經(jīng)過脈沖整形方能送入后繼單元進(jìn)行處理。整形電路如圖2所示,MC14538是可重復(fù)觸發(fā)和復(fù)位的單穩(wěn)態(tài)觸發(fā)器件,R2、R3為保護(hù)電阻。在非跳變期間,脈沖的不規(guī)則變化保持在一定范圍,VD1、VD2的比較結(jié)果相同,觸發(fā)器不工作,使輸出脈沖保持穩(wěn)定。


    系統(tǒng)設(shè)計(jì)2路水位采集,浮子式水位計(jì)的輸出為12位并行格雷碼,為節(jié)省單片機(jī)I/O口資源,經(jīng)兩片MC14021移位寄存器鎖存,將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)后逐位輸出至單片機(jī)進(jìn)行處理。串并轉(zhuǎn)換電路如圖3所示,接上拉保護(hù)電阻以增強(qiáng)電路的穩(wěn)定性。


2.2 通信接口電路設(shè)計(jì)
   
遙測(cè)終端的最終目標(biāo)是將采集的水情數(shù)據(jù)處理成幀,利用無線數(shù)傳電臺(tái)進(jìn)行遠(yuǎn)距離傳輸后傳送至中心站。使用RS-232作為與電臺(tái)連接的接口,它亦可連接SMS/GSM、GPRS等通信模塊,以滿足不同應(yīng)用環(huán)境下的需求,提高了系統(tǒng)的通用性。
    調(diào)制解調(diào)采用全雙工低速M(fèi)ODEM芯片MC145442,它含有完整的頻率變換調(diào)變(FSK)調(diào)制器、解調(diào)器和濾波器,提供300波特率的FSK信號(hào)的雙向數(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 人機(jī)接口電路設(shè)計(jì)
   
為體現(xiàn)系統(tǒng)友好的人機(jī)接口界面,便于輸入和顯示控制參數(shù)等,采用1602字符型液晶顯示模塊作為輸出顯示器件。1602顯示模塊內(nèi)置控制驅(qū)動(dòng)器HD44780,顯示和驅(qū)動(dòng)工作均由此控制器和外圍電路完成。配置4x4鍵盤,負(fù)責(zé)快速、準(zhǔn)確、方便地設(shè)置參數(shù)和實(shí)現(xiàn)各種控制功能。鍵盤直接由P1口的高、低字節(jié)構(gòu)成,采用中斷輸出,即列線連接與門器件接外部中斷1,置行線和列線分別為高電平和低電平,當(dāng)有鍵按下時(shí),電路輸出低電平,觸發(fā)中斷后進(jìn)入中斷例程,判斷哪個(gè)鍵被按下。
2.4 其他擴(kuò)展電路
   
本系統(tǒng)選用低功耗的CMOS AT24C08芯片作為擴(kuò)充存儲(chǔ)器,該芯片是帶有I2C總線接口的8 kB的串行EEPROM,電路上將P2.3、P2.4與SCL和SDA相連。該存儲(chǔ)器中保存設(shè)置參數(shù)、歷史水情數(shù)據(jù)和數(shù)據(jù)采集的時(shí)間標(biāo)記,用戶可通過按鍵進(jìn)行顯示、查閱。
    數(shù)據(jù)采集的時(shí)間標(biāo)記和報(bào)平安時(shí)間間隔計(jì)算則采用DS1302實(shí)時(shí)時(shí)鐘芯片來實(shí)現(xiàn)。DS1302提供年、月、周、日、時(shí)、秒的數(shù)據(jù)信息,采用SPI與CPU進(jìn)行通信,接口簡單,只需RST復(fù)位、I/O數(shù)據(jù)線、SCLK串行時(shí)鐘線分別于P2.5、P2.6、P2.7相連。
    遙測(cè)終端安裝在野外,沒有持續(xù)的電力供給,為實(shí)現(xiàn)長期無人值守環(huán)境下的自動(dòng)監(jiān)測(cè),采用20 W/12 V的太陽能板和蓄電池供電系統(tǒng)。

3 系統(tǒng)軟件設(shè)計(jì)
   
遙測(cè)終端實(shí)現(xiàn)的主要功能有:根據(jù)規(guī)約(產(chǎn)生1 mm雨量:水位每變化1 cm,且滿足時(shí)間間隔5 min)采集各種傳感器數(shù)據(jù)和電源狀態(tài)參數(shù)信息,并進(jìn)行存儲(chǔ)和發(fā)送;無參數(shù)發(fā)送時(shí)終端處于值守狀態(tài)下,按自報(bào)周期(缺省值為8 h)向中心站全量發(fā)送數(shù)據(jù),以指示遙測(cè)站正常工作,實(shí)現(xiàn)報(bào)平安功能:招報(bào)方式下,響應(yīng)中心站的數(shù)據(jù)要求指令,采集各種數(shù)據(jù)并全量發(fā)送:響應(yīng)鍵盤指令,接收和更新參數(shù)的設(shè)置與修改,動(dòng)態(tài)顯示水情數(shù)據(jù)、終端狀態(tài)信息等;通話功能,工作人員可現(xiàn)場(chǎng)通過電臺(tái)與中繼站或中心站聯(lián)系,為指揮調(diào)度、現(xiàn)場(chǎng)維護(hù)提供話務(wù)功能。
    系統(tǒng)軟件的主程序流程如圖5所示:系統(tǒng)初始化,確保系統(tǒng)處于正常工作狀態(tài):默認(rèn)進(jìn)入休眠模式,以降低終端系統(tǒng)功耗;等待外部中斷喚醒系統(tǒng),進(jìn)行數(shù)據(jù)采集、傳送,實(shí)現(xiàn)各種控制功能。實(shí)現(xiàn)功能的硬中斷例程主要包括雨量中斷例程、定時(shí)器中斷例程(圖5)、鍵盤中斷例程(圖5)。雨量中斷例程完成雨量的累加、存儲(chǔ)和發(fā)送。定時(shí)器中斷例程首先采集水位數(shù)據(jù),檢查測(cè)量值變化是否超過1 cm,是則存儲(chǔ)數(shù)據(jù)并重新采集雨量、水位、閘位等水情數(shù)據(jù)及電源電壓參數(shù)后發(fā)送;否則讀取實(shí)時(shí)時(shí)鐘的值,計(jì)算時(shí)間間隔,若達(dá)報(bào)平安周期,則進(jìn)行各種數(shù)據(jù)的采集和發(fā)送。鍵盤中斷例程主要負(fù)責(zé)接受鍵盤命令,進(jìn)行相應(yīng)處理,包括實(shí)時(shí)顯示和參數(shù)設(shè)置。例程中定時(shí)器的作用是規(guī)定最大按鍵操作時(shí)間(一般2~3 min),即在按鍵超時(shí)后強(qiáng)行進(jìn)入低功耗狀態(tài),防止無操作而無限的鍵盤掃描循環(huán)。


    上述軟件流程中主要包括數(shù)據(jù)采集、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)發(fā)送和實(shí)時(shí)顯示等功能模塊。數(shù)據(jù)采集的重點(diǎn)是水位采集,浮子式水位計(jì)輸出12位格雷碼為統(tǒng)一存儲(chǔ)和發(fā)送格式,須將其轉(zhuǎn)換為BCD碼。由于測(cè)量水位時(shí)波浪沖擊會(huì)引起瞬時(shí)干擾,為提高準(zhǔn)確性采用軟件濾波進(jìn)行防浪處理,方法是對(duì)水位信息連續(xù)采樣5次,將采樣值從小到大排列,取中間3次取平均值為最終測(cè)量值。數(shù)據(jù)存儲(chǔ)包括數(shù)據(jù)存入和數(shù)據(jù)讀出,水情數(shù)據(jù)的存儲(chǔ)格式為:特征字、數(shù)據(jù)、時(shí)間標(biāo)志。特征字用來區(qū)別數(shù)據(jù)是雨量、水位還是閘位,時(shí)標(biāo)是在數(shù)據(jù)讀入前先讀取實(shí)時(shí)時(shí)鐘為數(shù)據(jù)進(jìn)行的時(shí)間標(biāo)記。數(shù)據(jù)發(fā)送首先根據(jù)緩沖區(qū)數(shù)據(jù)長度計(jì)算校驗(yàn)字節(jié),連同站號(hào)、參數(shù)特征碼和數(shù)據(jù)等整合成幀,送入MODEM進(jìn)行調(diào)制后發(fā)送。
    系統(tǒng)標(biāo)準(zhǔn)的數(shù)據(jù)幀格式如圖6所示,單一數(shù)據(jù)發(fā)送采用格式1,每次發(fā)送1個(gè)參數(shù)數(shù)據(jù),通過數(shù)據(jù)特征區(qū)別;全量發(fā)送采用格式2。為了提高通信的可靠性,采用CRC-16信道編碼方式。


    顯示模塊和按鍵配合,用于測(cè)站終端的參數(shù)設(shè)置,如測(cè)站編號(hào)、采樣時(shí)間間隔、發(fā)送時(shí)間間隔等;同時(shí)可用于測(cè)站的檢測(cè)維護(hù)。

4 結(jié)束語
   
基于AT89S52單片機(jī)實(shí)現(xiàn)的低功耗水情遙測(cè)終端硬件設(shè)計(jì)簡單靈活,軟件架構(gòu)合理,功能與性能滿足水情測(cè)報(bào)的技術(shù)要求,可實(shí)時(shí)采集雨量、水位、閘位等多種水文數(shù)據(jù)和氣象參數(shù),并進(jìn)行固態(tài)存儲(chǔ),同時(shí)具有水位防浪和報(bào)平安功能。系統(tǒng)通過采用低功耗的外圍器件和休眠、外部中斷喚醒的工作方式降低耗電量,實(shí)現(xiàn)低功耗。設(shè)計(jì)的RS-232通信接口,可連接多種通信模塊,提高了RTU的通用性。
    該遙測(cè)終端可廣泛應(yīng)用于水文水利、城市防洪、給排水、環(huán)境與氣象監(jiān)測(cè)等方面,實(shí)際應(yīng)用中該RTU在值守狀態(tài)下的整機(jī)電流<60μA,已存參數(shù)可掉電保持50年以上。由于系統(tǒng)功能相對(duì)完善,性能可靠,投入使用以來工作正常,取得了良好的效果。此外,針對(duì)不同項(xiàng)目需求和應(yīng)用環(huán)境不同,需結(jié)合實(shí)際對(duì)系統(tǒng)進(jìn)行進(jìn)一步的完善和改進(jìn),如優(yōu)化防雷擊、軟硬件抗干擾保護(hù)設(shè)計(jì),增加各種新型的數(shù)字和模擬接口以擴(kuò)展測(cè)報(bào)參數(shù)范圍,加強(qiáng)信道偵聽以提高數(shù)據(jù)傳輸質(zhì)量等。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。