摘要:设计了一种新型的水情遥测终端,该终端能够实时采集雨量、水位、流量、温度等多种水情数据,对采集到的数据可以进行显示。同时能通过CDMA网络或者备用的超短波网络及时将数据上传给中心站,使得数据通信不中断。该系统工作稳定可靠,满足水情遥测的功能和性能等技术要求,具有良好的应用前景。
关键词:遥测终端;ATMEGA1280;MC703;CMX868;双重通信
为了适应防汛和水利调度的现代化、信息化要求,往往需要采集多个水情数据,采集的内容包括水位、雨量等参数,遥测终RTU(Remote Terminal Unit)主要能完成对水情数据的自动采集与存储。在中心站任何时候需要查看数据时,遥测终端利用CDMA网络或者备用的超短波网络双重通信网络都能及时地上传数据,避免了数据通信的中断,准确快速的获取所需要的数据。中心站接收到各遥测站数据并进行分析处理后,为水利部门提供及时准确的水情信息,提高防汛和水利调度的效率。RTU通常用于监测控制有限距离或远方的设备,已经成为控制工业SCADA(Supervisory Control andData Acquisition,数据采集与监视控制)系统中的重要设备。
1 遥测终端的总体设计
遥测终端总体设计的目标是用于实现数据的采集存储,以及与中心站进行通信。如图1所示,遥测终端的硬件核心微控制器采用嵌入式微处理器Atmega12800 HMI模块是人机接口模块,采用段式微功耗液晶显示器,带键盘控制,实时显示标准时间和交替显示各种参数,以便能够及时了解情况。通信模块包含两个网络,一个是选用MC703无线模块接入CDMA网络,另外一个是选用调制解调器CMX868和电台ND886A构建超短波网络,实现数据的通信。固态存储模块是系统外接的铁电存储器FRAM和大容量SD存储卡,用来作为片外存储器保存海量的水情数据信息。翻斗雨量计和并口水位计与微控制器直接相连,负责采集雨量和水位信息。RS485接口的主要功能是可以进一步扩展传感器,采集更多的水情数据,并传送给微控制器,以便微控制器对数据做进一步的处理。
2 遥测终端硬件设计及实现
2.1 ATmega1280微控制器及HMI模块设计
ATmega1280是Atmel公司推出的一款高性能、低功耗8位AVR闪存微控制器。该单片机CPU内核采用了先进的RISC体系结构,具有强大的数据处理能力。
Atmega1280具有128K字节的在系统可编程Flash存储器,4K字节的EEPROM,8K字节的SRAM,4个串口(均可用作485和232通讯),I2C总线接口、SPI总线接口、6个具有比较模式和PWM功能的定时/计数器。还具有与IEEE1149.1规范兼容的JTAG接口,能为程序的编写调试带来很大的方便。
HMI模块使用的是液晶LCD显示屏,CMOS工艺制造,具有低功耗的特点。它采用4个背极输出和40个显示段输出,因此,最多可驱动160个LCD显示段。另外,HMI模块还带有3*3键盘控制,方便人机交互。微控制器通过“二线”双向的I2C总线与其连接,进行数据传输。
2.2 双重无线网络通信模块
无线通信模块包含两个网络:CDMA网络和超短波网络,实现数据的通信。常用的是CDMA网络,利用电信的公网来进行通信,使用方便,费用较低。超短波网络作为备用网络,当在CDMA网络不能覆盖到的偏远地区时,或者CDMA网络在维护不能使用时,可以启用超短波网络继续进行数据的传送,使得通信连贯,及时进行数据通信。
2.2.1 CDMA网络通信
CDMA网络通信是采用华为MC703 CDMA EV—DO无线模块来实现数据通信,MC703模块提供一路UART接口,支持9线带流控功能的全串口模式,最高支持4Mbpa的传输速率。全串口UART1支持DATA服务,可支持用户从UART1发起PPP拨号,进行数据业务操作。UART1支持可编程的数据宽度、可编程的数据停止位、可编程的奇/偶校验或者没有校验,支持波特率掉电保存。
MC703模块与微控制器是通过串口进行通信的,与微控制器连接的引脚说明如表1所示。
MC703与微控制器Atmega1280的连接如图2所示,UART1_RD、UART1_TD分别与串口引脚TXDO、RXDO相连,UART1_CTS、UART1_RTS、MODULE _WAKEUP、TERM_ON、HOST_WAKEUP和RESET_N引脚依次与输入输出口PE端口相连。Atmega1280将要发送的数据传送给MC703,然后由MC703经天线发送出去,通过CDMA网络发送给中心站。同样,中心站也通过CDMA网络发送数据MC703,MC703接受到数据以后,再传送给微控制器Atmega 1280,由微控制器进行数据处理。这样,通过使用MC703模块无线数据的收发功能,以及与Atmega1280的串口通信,就实现了CDMA网络的数据通信。
2.2.2 超短波网络通信
超短波网络通信是采用Modem芯片CMX868A和电台ND886A来实现数据通信,CMX868A是CML公司研制的支持V.21、V.22、V.22 biS、V.23、Bell 202和Bell 212A等多种标准的新型低功耗Modem芯片,支持FSK、DPSK和QAM 3种调制方式。ND886A是NISSEI DENKI公司研制开发的专业数传电台,数传专用频段(223~235MHz),自动调谐;具有极低的守候电流及发射电流,发热少,功耗低。可与FSK、FFSK、MSK、GMSK、CPFSK等不同类型的Modem相匹配。
CMX868A与单片机Atmega1280的接口是通过C~BUS总线实现的,C~BUS总线与MOTOROLA公司的SPI总线非常类似。对与单片机接口的几个引脚解释如表2所示。
在具体的线路连接时,我们将Command Data、Reply Data、Serial Clock、CSN分别与MOSI、MISO、SCK、相连接,IQRN信号与微控制器外部中断输入引脚相连,这里选用了INT2引脚,从而实现与CMX868A的数据通信。
在CMX868A与电台ND886A的线路连接中,我们将CMX868A的输出脚TXA、输入脚RXA分别与电台的输入脚TFSK、输出脚RFSK相连接。电台ND886A的/EXT PTT引脚与微控制器Atmega1280的PA0输入输出口相连。当PAO输出低电平信号到/EXT PTT引脚时,使该引脚变为低电平状态,即可打开发射机发送数据;当该引脚为高阻状态时,电台可接受数据。这样,微控制器将要发送的数据传送给CMX868A,然后由Modem调制以后,再经电台发送出去。电台接受中心站发送过来的信号,经过处理以后传送给Modem,信号解调后再将数据发送给微控制器,做进一步的处理。因此,通过使用CMX868A的调制解调和电台ND886A收发数据的功能,我们就实现了超短波网络的数据通信。微控制器、CMX868A与ND886A连接示意图如图3所示。
在与CMX868A数据通信中,需要访问和设置CMX868A的一些寄存器。这些寄存器包括了复位命令寄存器、控制寄存器、发送模式寄存器、接受模式寄存器、发送数据寄存器、接受数据寄存器和状态寄存器。
复位命令寄存器的作用是让CMX868A复位,使其进入省电模式,降低功耗。控制寄存器的作用是使CMX868A进入正常工作模式,打开中断和选择外部晶振频率等。发送和接受模式寄存器的功能是明确发送和接受信号的类型,信号的类型有QAM、DPSK、FSK调制信号,还有DTMF双音多频信号。发送和接受数据寄存器是数据的缓冲区,主要是存放将要发送的数据和已经接受的数据。另外,通过访问状态寄存器,可以获知CMX868A当前的工作状态。
在CMX868A进行数据的调制解调时,采用了频率键控FSK的调制解调方式。产生频率为980 Hz的信号波形代表数字信号中的高电平,即数字“1”;产生频率为1180 Hz的信号波形代表数字信号中的低电平,即数字“0”,这样就较容易地实现了数据的调制解调。
2.3 数据采集模块
数据采集模块由雨量、水位传感器组成,将采集的数据上传到微控制器,微控制器对数据进行处理、存储和发送。
雨量传感器使用的是翻斗雨量计,采用单路采集方式。当降雨量达到翻斗雨量计触发值时,雨量计的两个输入信号产生反转,从而引发外部中断,唤醒处于休眠模式的微控制器,微控制器转入正常工作状态,执行雨量中断程序,将对检测到的雨量信号进行累加和保存。
水位的采集是使用12路并行线直接与微控制器的I/O口相连,水位采用查询方式,定时读取数据。
2.4 固态存储模块设计
固态存储模块由铁电存储器FRAM和大容量存储SD卡组成。铁电存储器FRAM可以作为数据的缓冲区,微控制器将采集的数据可以先暂存到铁电存储器FRAM中,然后最终将数据存放在存储卡中,实现大容量的存储。FRAM、SD卡都是用SPI总线与Atmega1280连接的,可以方便快速地进行数据通信。
3 遥测终端软件设计
遥测终端软件设计的目标是实现在无人值守的情况下,有效地采集水位、雨量等水情信息,并做相应处理和存储,最后及时上传到中心站。
3.1 软件主程序设计
主程序是终端系统软件的核心部分,对系统进行总体的控制。主程序首先要进行系统参数的初始化工作,在没有任务需要执行时,系统休眠以降低功耗、节省电量。当触发中断时,系统被唤醒恢复到正常工作状态,进入中断服务程序,处理完任务后,再次将系统设置成休眠状态。
系统的软件总体结构如图4所示。
系统被唤醒后,进入中断服务程序,执行的中断程序包括Modem中断程序,秒中断程序,定时中断程序,按键中断程序和雨量、水位中断程序等。
3.2 双重数据通信程序设计
在双重数据通信程序设计中,首先要对无线模块MC703进行复位检测,初始化参数,然后检测网络信号质量,进行无线连接。在没有数据发送时,模块选择休眠,降低功耗。当需要发送数据时,唤醒MC703模块,将数据发送出去。当检测到网络信号质量不好时,或者无线连接不上时,选用调制解调器CMX868A芯片,启动备用电台,及时向中心站发送数据。数据通信程序设计如图5所示。
模块初始化的工作中,通过串口发送AT命令设置串口的波特率,查看模块的型号,软件的版本号,设置功能模式,将调试的错误上报,以及查看系统的信息和模式。初始化的主要命令流程如下:
模块的无线连接使用AT命令进行PPP拨号上网,使用外置的协议栈,通过TCP/IP方式发送数据,/需要的主要AT命令流程如下:
4 结束语
设计的遥测终端RTU主要能完成对水情数据的自动采集与存储,显示数据和终端的工作状态,并且将数据发送给中心站。在数据传输中终端采用了CDMA网络和超短波网络双重通信方式,正常工作情况是使用CDMA网络进行数据传送。当在CDMA网络无法覆盖到的偏远地区时,或者CDMA公用网络需要维护,不能使用时,都可以使用备用的超短波网络及时将数据上传给中心站,实现不间断的通信。这样,水利管理部门能够及时得到准确的水情信息,有效地采取措施防洪防汛,提高水利调度的效率,满足了水利信息化的要求。