一種新型水情遙測終端的設(shè)計(jì)
摘要:設(shè)計(jì)了一種新型的水情遙測終端,該終端能夠?qū)崟r(shí)采集雨量、水位、流量、溫度等多種水情數(shù)據(jù),對采集到的數(shù)據(jù)可以進(jìn)行顯示。同時(shí)能通過CDMA網(wǎng)絡(luò)或者備用的超短波網(wǎng)絡(luò)及時(shí)將數(shù)據(jù)上傳給中心站,使得數(shù)據(jù)通信不中斷。該系統(tǒng)工作穩(wěn)定可靠,滿足水情遙測的功能和性能等技術(shù)要求,具有良好的應(yīng)用前景。
關(guān)鍵詞:遙測終端;ATMEGA1280;MC703;CMX868;雙重通信
為了適應(yīng)防汛和水利調(diào)度的現(xiàn)代化、信息化要求,往往需要采集多個(gè)水情數(shù)據(jù),采集的內(nèi)容包括水位、雨量等參數(shù),遙測終RTU(Remote Terminal Unit)主要能完成對水情數(shù)據(jù)的自動(dòng)采集與存儲(chǔ)。在中心站任何時(shí)候需要查看數(shù)據(jù)時(shí),遙測終端利用CDMA網(wǎng)絡(luò)或者備用的超短波網(wǎng)絡(luò)雙重通信網(wǎng)絡(luò)都能及時(shí)地上傳數(shù)據(jù),避免了數(shù)據(jù)通信的中斷,準(zhǔn)確快速的獲取所需要的數(shù)據(jù)。中心站接收到各遙測站數(shù)據(jù)并進(jìn)行分析處理后,為水利部門提供及時(shí)準(zhǔn)確的水情信息,提高防汛和水利調(diào)度的效率。RTU通常用于監(jiān)測控制有限距離或遠(yuǎn)方的設(shè)備,已經(jīng)成為控制工業(yè)SCADA(Supervisory Control andData Acquisition,數(shù)據(jù)采集與監(jiān)視控制)系統(tǒng)中的重要設(shè)備。
1 遙測終端的總體設(shè)計(jì)
遙測終端總體設(shè)計(jì)的目標(biāo)是用于實(shí)現(xiàn)數(shù)據(jù)的采集存儲(chǔ),以及與中心站進(jìn)行通信。如圖1所示,遙測終端的硬件核心微控制器采用嵌入式微處理器Atmega12800 HMI模塊是人機(jī)接口模塊,采用段式微功耗液晶顯示器,帶鍵盤控制,實(shí)時(shí)顯示標(biāo)準(zhǔn)時(shí)間和交替顯示各種參數(shù),以便能夠及時(shí)了解情況。通信模塊包含兩個(gè)網(wǎng)絡(luò),一個(gè)是選用MC703無線模塊接入CDMA網(wǎng)絡(luò),另外一個(gè)是選用調(diào)制解調(diào)器CMX868和電臺(tái)ND886A構(gòu)建超短波網(wǎng)絡(luò),實(shí)現(xiàn)數(shù)據(jù)的通信。固態(tài)存儲(chǔ)模塊是系統(tǒng)外接的鐵電存儲(chǔ)器FRAM和大容量SD存儲(chǔ)卡,用來作為片外存儲(chǔ)器保存海量的水情數(shù)據(jù)信息。翻斗雨量計(jì)和并口水位計(jì)與微控制器直接相連,負(fù)責(zé)采集雨量和水位信息。RS485接口的主要功能是可以進(jìn)一步擴(kuò)展傳感器,采集更多的水情數(shù)據(jù),并傳送給微控制器,以便微控制器對數(shù)據(jù)做進(jìn)一步的處理。
2 遙測終端硬件設(shè)計(jì)及實(shí)現(xiàn)
2.1 ATmega1280微控制器及HMI模塊設(shè)計(jì)
ATmega1280是Atmel公司推出的一款高性能、低功耗8位AVR閃存微控制器。該單片機(jī)CPU內(nèi)核采用了先進(jìn)的RISC體系結(jié)構(gòu),具有強(qiáng)大的數(shù)據(jù)處理能力。
Atmega1280具有128K字節(jié)的在系統(tǒng)可編程Flash存儲(chǔ)器,4K字節(jié)的EEPROM,8K字節(jié)的SRAM,4個(gè)串口(均可用作485和232通訊),I2C總線接口、SPI總線接口、6個(gè)具有比較模式和PWM功能的定時(shí)/計(jì)數(shù)器。還具有與IEEE1149.1規(guī)范兼容的JTAG接口,能為程序的編寫調(diào)試帶來很大的方便。
HMI模塊使用的是液晶LCD顯示屏,CMOS工藝制造,具有低功耗的特點(diǎn)。它采用4個(gè)背極輸出和40個(gè)顯示段輸出,因此,最多可驅(qū)動(dòng)160個(gè)LCD顯示段。另外,HMI模塊還帶有3*3鍵盤控制,方便人機(jī)交互。微控制器通過“二線”雙向的I2C總線與其連接,進(jìn)行數(shù)據(jù)傳輸。
2.2 雙重?zé)o線網(wǎng)絡(luò)通信模塊
無線通信模塊包含兩個(gè)網(wǎng)絡(luò):CDMA網(wǎng)絡(luò)和超短波網(wǎng)絡(luò),實(shí)現(xiàn)數(shù)據(jù)的通信。常用的是CDMA網(wǎng)絡(luò),利用電信的公網(wǎng)來進(jìn)行通信,使用方便,費(fèi)用較低。超短波網(wǎng)絡(luò)作為備用網(wǎng)絡(luò),當(dāng)在CDMA網(wǎng)絡(luò)不能覆蓋到的偏遠(yuǎn)地區(qū)時(shí),或者CDMA網(wǎng)絡(luò)在維護(hù)不能使用時(shí),可以啟用超短波網(wǎng)絡(luò)繼續(xù)進(jìn)行數(shù)據(jù)的傳送,使得通信連貫,及時(shí)進(jìn)行數(shù)據(jù)通信。
2.2.1 CDMA網(wǎng)絡(luò)通信
CDMA網(wǎng)絡(luò)通信是采用華為MC703 CDMA EV—DO無線模塊來實(shí)現(xiàn)數(shù)據(jù)通信,MC703模塊提供一路UART接口,支持9線帶流控功能的全串口模式,最高支持4Mbpa的傳輸速率。全串口UART1支持DATA服務(wù),可支持用戶從UART1發(fā)起PPP撥號(hào),進(jìn)行數(shù)據(jù)業(yè)務(wù)操作。UART1支持可編程的數(shù)據(jù)寬度、可編程的數(shù)據(jù)停止位、可編程的奇/偶校驗(yàn)或者沒有校驗(yàn),支持波特率掉電保存。
MC703模塊與微控制器是通過串口進(jìn)行通信的,與微控制器連接的引腳說明如表1所示。
MC703與微控制器Atmega1280的連接如圖2所示,UART1_RD、UART1_TD分別與串口引腳TXDO、RXDO相連,UART1_CTS、UART1_RTS、MODULE _WAKEUP、TERM_ON、HOST_WAKEUP和RESET_N引腳依次與輸入輸出口PE端口相連。Atmega1280將要發(fā)送的數(shù)據(jù)傳送給MC703,然后由MC703經(jīng)天線發(fā)送出去,通過CDMA網(wǎng)絡(luò)發(fā)送給中心站。同樣,中心站也通過CDMA網(wǎng)絡(luò)發(fā)送數(shù)據(jù)MC703,MC703接受到數(shù)據(jù)以后,再傳送給微控制器Atmega 1280,由微控制器進(jìn)行數(shù)據(jù)處理。這樣,通過使用MC703模塊無線數(shù)據(jù)的收發(fā)功能,以及與Atmega1280的串口通信,就實(shí)現(xiàn)了CDMA網(wǎng)絡(luò)的數(shù)據(jù)通信。
2.2.2 超短波網(wǎng)絡(luò)通信
超短波網(wǎng)絡(luò)通信是采用Modem芯片CMX868A和電臺(tái)ND886A來實(shí)現(xiàn)數(shù)據(jù)通信,CMX868A是CML公司研制的支持V.21、V.22、V.22 biS、V.23、Bell 202和Bell 212A等多種標(biāo)準(zhǔn)的新型低功耗Modem芯片,支持FSK、DPSK和QAM 3種調(diào)制方式。ND886A是NISSEI DENKI公司研制開發(fā)的專業(yè)數(shù)傳電臺(tái),數(shù)傳專用頻段(223~235MHz),自動(dòng)調(diào)諧;具有極低的守候電流及發(fā)射電流,發(fā)熱少,功耗低??膳cFSK、FFSK、MSK、GMSK、CPFSK等不同類型的Modem相匹配。
CMX868A與單片機(jī)Atmega1280的接口是通過C~BUS總線實(shí)現(xiàn)的,C~BUS總線與MOTOROLA公司的SPI總線非常類似。對與單片機(jī)接口的幾個(gè)引腳解釋如表2所示。
在具體的線路連接時(shí),我們將Command Data、Reply Data、Serial Clock、CSN分別與MOSI、MISO、SCK、相連接,IQRN信號(hào)與微控制器外部中斷輸入引腳相連,這里選用了INT2引腳,從而實(shí)現(xiàn)與CMX868A的數(shù)據(jù)通信。
在CMX868A與電臺(tái)ND886A的線路連接中,我們將CMX868A的輸出腳TXA、輸入腳RXA分別與電臺(tái)的輸入腳TFSK、輸出腳RFSK相連接。電臺(tái)ND886A的/EXT PTT引腳與微控制器Atmega1280的PA0輸入輸出口相連。當(dāng)PAO輸出低電平信號(hào)到/EXT PTT引腳時(shí),使該引腳變?yōu)榈碗娖綘顟B(tài),即可打開發(fā)射機(jī)發(fā)送數(shù)據(jù);當(dāng)該引腳為高阻狀態(tài)時(shí),電臺(tái)可接受數(shù)據(jù)。這樣,微控制器將要發(fā)送的數(shù)據(jù)傳送給CMX868A,然后由Modem調(diào)制以后,再經(jīng)電臺(tái)發(fā)送出去。電臺(tái)接受中心站發(fā)送過來的信號(hào),經(jīng)過處理以后傳送給Modem,信號(hào)解調(diào)后再將數(shù)據(jù)發(fā)送給微控制器,做進(jìn)一步的處理。因此,通過使用CMX868A的調(diào)制解調(diào)和電臺(tái)ND886A收發(fā)數(shù)據(jù)的功能,我們就實(shí)現(xiàn)了超短波網(wǎng)絡(luò)的數(shù)據(jù)通信。微控制器、CMX868A與ND886A連接示意圖如圖3所示。
在與CMX868A數(shù)據(jù)通信中,需要訪問和設(shè)置CMX868A的一些寄存器。這些寄存器包括了復(fù)位命令寄存器、控制寄存器、發(fā)送模式寄存器、接受模式寄存器、發(fā)送數(shù)據(jù)寄存器、接受數(shù)據(jù)寄存器和狀態(tài)寄存器。
復(fù)位命令寄存器的作用是讓CMX868A復(fù)位,使其進(jìn)入省電模式,降低功耗??刂萍拇嫫鞯淖饔檬鞘笴MX868A進(jìn)入正常工作模式,打開中斷和選擇外部晶振頻率等。發(fā)送和接受模式寄存器的功能是明確發(fā)送和接受信號(hào)的類型,信號(hào)的類型有QAM、DPSK、FSK調(diào)制信號(hào),還有DTMF雙音多頻信號(hào)。發(fā)送和接受數(shù)據(jù)寄存器是數(shù)據(jù)的緩沖區(qū),主要是存放將要發(fā)送的數(shù)據(jù)和已經(jīng)接受的數(shù)據(jù)。另外,通過訪問狀態(tài)寄存器,可以獲知CMX868A當(dāng)前的工作狀態(tài)。
在CMX868A進(jìn)行數(shù)據(jù)的調(diào)制解調(diào)時(shí),采用了頻率鍵控FSK的調(diào)制解調(diào)方式。產(chǎn)生頻率為980 Hz的信號(hào)波形代表數(shù)字信號(hào)中的高電平,即數(shù)字“1”;產(chǎn)生頻率為1180 Hz的信號(hào)波形代表數(shù)字信號(hào)中的低電平,即數(shù)字“0”,這樣就較容易地實(shí)現(xiàn)了數(shù)據(jù)的調(diào)制解調(diào)。
2.3 數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊由雨量、水位傳感器組成,將采集的數(shù)據(jù)上傳到微控制器,微控制器對數(shù)據(jù)進(jìn)行處理、存儲(chǔ)和發(fā)送。
雨量傳感器使用的是翻斗雨量計(jì),采用單路采集方式。當(dāng)降雨量達(dá)到翻斗雨量計(jì)觸發(fā)值時(shí),雨量計(jì)的兩個(gè)輸入信號(hào)產(chǎn)生反轉(zhuǎn),從而引發(fā)外部中斷,喚醒處于休眠模式的微控制器,微控制器轉(zhuǎn)入正常工作狀態(tài),執(zhí)行雨量中斷程序,將對檢測到的雨量信號(hào)進(jìn)行累加和保存。
水位的采集是使用12路并行線直接與微控制器的I/O口相連,水位采用查詢方式,定時(shí)讀取數(shù)據(jù)。
2.4 固態(tài)存儲(chǔ)模塊設(shè)計(jì)
固態(tài)存儲(chǔ)模塊由鐵電存儲(chǔ)器FRAM和大容量存儲(chǔ)SD卡組成。鐵電存儲(chǔ)器FRAM可以作為數(shù)據(jù)的緩沖區(qū),微控制器將采集的數(shù)據(jù)可以先暫存到鐵電存儲(chǔ)器FRAM中,然后最終將數(shù)據(jù)存放在存儲(chǔ)卡中,實(shí)現(xiàn)大容量的存儲(chǔ)。FRAM、SD卡都是用SPI總線與Atmega1280連接的,可以方便快速地進(jìn)行數(shù)據(jù)通信。
3 遙測終端軟件設(shè)計(jì)
遙測終端軟件設(shè)計(jì)的目標(biāo)是實(shí)現(xiàn)在無人值守的情況下,有效地采集水位、雨量等水情信息,并做相應(yīng)處理和存儲(chǔ),最后及時(shí)上傳到中心站。
3.1 軟件主程序設(shè)計(jì)
主程序是終端系統(tǒng)軟件的核心部分,對系統(tǒng)進(jìn)行總體的控制。主程序首先要進(jìn)行系統(tǒng)參數(shù)的初始化工作,在沒有任務(wù)需要執(zhí)行時(shí),系統(tǒng)休眠以降低功耗、節(jié)省電量。當(dāng)觸發(fā)中斷時(shí),系統(tǒng)被喚醒恢復(fù)到正常工作狀態(tài),進(jìn)入中斷服務(wù)程序,處理完任務(wù)后,再次將系統(tǒng)設(shè)置成休眠狀態(tài)。
系統(tǒng)的軟件總體結(jié)構(gòu)如圖4所示。
系統(tǒng)被喚醒后,進(jìn)入中斷服務(wù)程序,執(zhí)行的中斷程序包括Modem中斷程序,秒中斷程序,定時(shí)中斷程序,按鍵中斷程序和雨量、水位中斷程序等。
3.2 雙重?cái)?shù)據(jù)通信程序設(shè)計(jì)
在雙重?cái)?shù)據(jù)通信程序設(shè)計(jì)中,首先要對無線模塊MC703進(jìn)行復(fù)位檢測,初始化參數(shù),然后檢測網(wǎng)絡(luò)信號(hào)質(zhì)量,進(jìn)行無線連接。在沒有數(shù)據(jù)發(fā)送時(shí),模塊選擇休眠,降低功耗。當(dāng)需要發(fā)送數(shù)據(jù)時(shí),喚醒MC703模塊,將數(shù)據(jù)發(fā)送出去。當(dāng)檢測到網(wǎng)絡(luò)信號(hào)質(zhì)量不好時(shí),或者無線連接不上時(shí),選用調(diào)制解調(diào)器CMX868A芯片,啟動(dòng)備用電臺(tái),及時(shí)向中心站發(fā)送數(shù)據(jù)。數(shù)據(jù)通信程序設(shè)計(jì)如圖5所示。
模塊初始化的工作中,通過串口發(fā)送AT命令設(shè)置串口的波特率,查看模塊的型號(hào),軟件的版本號(hào),設(shè)置功能模式,將調(diào)試的錯(cuò)誤上報(bào),以及查看系統(tǒng)的信息和模式。初始化的主要命令流程如下:
模塊的無線連接使用AT命令進(jìn)行PPP撥號(hào)上網(wǎng),使用外置的協(xié)議棧,通過TCP/IP方式發(fā)送數(shù)據(jù),/需要的主要AT命令流程如下:
4 結(jié)束語
設(shè)計(jì)的遙測終端RTU主要能完成對水情數(shù)據(jù)的自動(dòng)采集與存儲(chǔ),顯示數(shù)據(jù)和終端的工作狀態(tài),并且將數(shù)據(jù)發(fā)送給中心站。在數(shù)據(jù)傳輸中終端采用了CDMA網(wǎng)絡(luò)和超短波網(wǎng)絡(luò)雙重通信方式,正常工作情況是使用CDMA網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳送。當(dāng)在CDMA網(wǎng)絡(luò)無法覆蓋到的偏遠(yuǎn)地區(qū)時(shí),或者CDMA公用網(wǎng)絡(luò)需要維護(hù),不能使用時(shí),都可以使用備用的超短波網(wǎng)絡(luò)及時(shí)將數(shù)據(jù)上傳給中心站,實(shí)現(xiàn)不間斷的通信。這樣,水利管理部門能夠及時(shí)得到準(zhǔn)確的水情信息,有效地采取措施防洪防汛,提高水利調(diào)度的效率,滿足了水利信息化的要求。