徐 建
(湖北民族学院 信息工程学院,湖北 恩施 445000)
水情自动测报系统是利用智能传感器、对水文信息进行实时遥测、采集、传送和预处理的一种专门系统,是有效解决河流或水库防洪调度、洪水测报及水资源合理利用的先进设备.作为水利信息化的发展方向,水情智能测报以水文信息采集为基础,以GPRS无线技术为通信手段,在江河流域和水库的安全渡汛以及水资源合理利用和开发等方面都发挥重要作用.本文设计的水情测报系统采用嵌入式技术、GPRS无线通信技术以及抗干扰等技术,能够监测多种水文信息,并实现水文信息的预处理、存储、查询、传输功能以及报警等功能[1].
图1 终端系统体系结构框图
为实现终端系统的通用性,本文将水情测报系统设计成电源管理模块、核心板、输入板、输出板四个功能模块.电源管理模块需要实现为核心板、输入板、输出板供电以及需要实现蓄电池的充放电功能;核心板需要实现指令的接收、信息的处理、存储、查询、自报、报警等功能;输入板需完成的功能为实现数据信息的采集、处理、传输功能;输出板需要实现对多种执行单元进行控制.系统的总体框架结构如图1所示.
图2 核心板结构图
电源管理模块是水情测报系统的一个重要组成部分,其直接关系到终端系统的性能,例如抗电压抖动能力、无市电时连续正常工作时间等.对于市电供电充足时,终端供电方式可采用市电或者市电、蓄电池混合供电方式,但是大多数时候终端工作在野外现场,这时如何保证终端系统长时间稳定的电源供给就变得尤为重要.在本文中,采用由太阳能、铅酸蓄电池供电方式,同时预留了市电供电方式,太阳能用来给蓄电池充电,这种设计方案的优点是在不用更换电源模块的情况下就能适应市电供应充足的应用场合,增加了系统的灵活性[2].本文中采用开关模式的铅酸蓄电池充电器集成电路UC3909作为充电电路的核心控制器.此芯片电路模块包含一个差分电流检测放大器,精度为1.5%的参考电压,一个-3.9 mV/℃热敏电阻线性电路,电压电流误差放大器,一个脉宽调制振荡器,一个PWM比较器,一个PWM封锁器,充电状态解码器,一个100 mA的集电极开路输出驱动器.
核心板的设计须满足先进性、可靠性、集成度高、可扩展性、在系统编程(ISP)、运算速度快等特点,同时为了提升系统的功能及系统的灵活性,以及便于开发系统软件和降低开发周期.综合考虑,核心板采用高性能的ARM7处理器LPC2378作为主控制器,核心板主要实现以下几个功能:①与输入板进行通信,获取墒情、水位、流量、雨量等信息;②与输出板进行通信,控制相关电磁阀的动作等;③可将雨量、墒情、水位、流量等信息存储在NAND FLASH中;④可通过GPRS将数据信息传回中心站;同时可接收中心站下发的指令,并执行相关动作.核心板硬件平台的结构图如图2所示.
为了能测量多路水文信息及采集多种水文信息,在本系统中设计了一个独立的数据采集功能模块─输入板.输入板和输出板均采用高性能的ARM处理器LPC2366作为主控制器,能够提高终端系统的性能,简化系统电路,以及减小系统体积.输入板主要负责采集墒情、水位、流量、雨量等信息,同时采用CAN或RS485总线方式与核心板进行通信.输出板需要实现控制继电器或电磁阀的动作,且可通过RS232接口与PC机进行通信.
当前在水文测报系统方面,核心板与扩展板之间一般采取IO扩展方式,IO扩展不能很好地应对干扰问题,同时需要占用一部分IO资源.因此在本系统设计中,输入板与核心板之间的通信方式采用CAN总线通信方式,同时预留RS485总线通信方式作为备选方案,一旦CAN总线模块出了问题,还可以用RS485总线进行通信,这样有利于减少维修的次数,降低更换设备的频率,减少成本,以及提高工作站的使用效率和灵活性.同理,输出板与核心板之间的相互通信方式也采用CAN总线通信为主,RS485总线通信为辅.
近几年来,随着GPRS数传技术的崛起及推广,建立起一个基于GPRS的廉价的高可靠的测控网络成为现实.本文设计的基于GPRS的组网方式是中心站利用Internet公网连接,采用公网固定IP的方法[3].中心站公网固定IP方式的特点为通信速度较快,组网方便,可以利用现有网络资源以便减少系统建设投资,运行可靠稳定.在本系统中,GPRS无线模块采用的是SIMCOM公司生产的SIM300C模块.LPC2378采用UART1与SIM300C进行通行,其中GPRS-EN(P2.8)、DTR1、TXD1和RTS1引脚经过缓冲器74VHC126与SIM300C相连,GPRS-EN引脚与SIM300C的PWRKEY引脚相连,74VHC126具有2KV的ESD防护功能,其接口电路如图3所示[4].
GPRS模块要想接入GPRS网络,需外接SIM卡.SIM300C模块支持1.8 V和3.0 V供电的SIM卡.SIM卡可选8脚或6脚的SIM卡,在本设计中采用6脚SIM卡.其电路如图4所示,在靠近SIM卡座的地方加了TVS管,保护4个信号引脚[5].
图3 GPRS模块接口 图4 SIM卡电路
表1任务优先级
Tab.1 Task priority
任务优先级由高到低优先级任务4启动任务5GPRS接收任务7雨量采集任务9RS232接收任务11消息数据处理任务13CAN通信任务15RS485通信任务17ZLG/FS任务19NAND读写任务21U盘任务23发送数据任务25GUI显示任务
本系统设计的系统软件是基于uC/OS-II操作系统开发,uC/OS-II操作系统是基于任务调度来运行程序,因此需要将这些可执行程序单元进行分类以组合成一个个任务.任务划分的好坏将影响软件设计的质量,甚至影响到系统软件设计的成败[6].
在本系统中进行任务划分时,首先依据设备依赖性任务划分法可得到GPRS MODEM任务、RS232任务、RS485任务、CAN任务、键盘处理任务、显示任务、数据采集任务、雨量采集任务,水位采集任务,NAND FLASH读写任务,U盘任务.
依据关键性、紧迫性原则可知GPRS、RS232接收任务是关键任务且是紧迫任务,从系统功能来看,GPRS接收任务的关键性紧迫性高于RS232接收任务,因此RS232接收任务优先级低于GPRS任务;雨量采集任务的实时性要求比较高,处理速度非常快,且不会频繁执行雨量采集任务,最重要的是雨量采集任务只在核心板单独使用且无输入板时才创建,有输入板时,雨量采集放在CAN、RS485通信任务中,雨量的采集工作交给输入板去做,依据快捷性,将雨量采集任务优先级设为高于RS232任务.CAN、RS485任务都采用半双工工作方式且他们工作也不频繁,且CAN、RS485任务根据系统配置表只创建其中一个任务,CAN、RS485任务处于发送数据任务上游,U盘任务使用的的机会最少,因此USB任务优先级很低,发送数据时CPU是主动方,慢一些也可以,只要将数据发出去就可以,因此发送任务优先级可以设置得较低些,GUI显示任务实时性要求比较低,可将其优先级设置为最低.根据任务优先级安排原则[7]并进行综合考虑,可得到各任务优先级,如表1所示.
通过系统设计方案构建的硬件平台来测试终端系统.用一台PC机(PC1)作为TCP SERVER服务器的载体,另一台PC机(PC2)用来显示终端连接TCP/IP的状态及处理命令后的结果.首先将核心板的RS232串口接到PC2的COM1上,然后将一RS485通路通过RS485/RS232的转换器接到PC2的COM2上,COM1用来显示核心板连接TCP/IP的状态以及向核心板发送命令情况,COM2用来模拟输入输出板,通过COM2可看到核心板打包发送给输入输出板的命令,以判断核心板解析并打包命令是否正确,同时还可通过COM2发送数据给核心板,然后通过COM1可以看到结果;另一通信测试链路为终端系统通过GPRS网络与TCP SERVER服务器相连.模拟平台搭建好之后,启动TCP/SERVER和终端系统,终端系统连上GPRS网络之后,就主动连接TCP服务器并自报终端系统的身份.通过测试结果表明,终端系统正常启动之后,连接GPRS网络和TCP服务器都正常,系统通信方案设计合理可行.
本系统设计方案采用了高性能的ARM7芯片作为核心处理器,结合GPRS无线通信技术,采取四个功能模块独立设计,不但满足了系统的灵活性,又避免了单块板设计的庞大复杂性,同时避免了各个功能单元之间的相互干扰,进一步提高了系统的抗干扰能力和稳定性.通过构建的硬件平台测试,系统基本功能全部实现,且具有很好的通用性和扩展性.本系统在故障判断及应对出错处理方面还未涉及,这将是下一步研究的重点.
[1]张佳明,胡荣强.基于ARM的水情测报系统设计[J].科技信息,2009(4):256-257.
[2]丁肖宇.一种基于UC3909控制器的蓄电池充电系统设计与实现[J].变频器世界,2005(8):44-46.
[3]金建乐.水情自动测报系统通信方式[J].电力系统通信,2005,154(26):73-76.
[4]曹卫,董航飞,李宗宝.GPRS技术在水利监测系统中的应用[J].排灌机械,2007,25(5):39-42.
[5]阮博.基于GPRS/GSM技术的水文遥测系统应用概述[J].水文,2007,27(4):69-70.
[6]周航慈,吴光文.基于嵌入式实时操作系统的程序设计技术[M].北京:北京航空航天大学出版社,2006.
[7]Andrew N.Sloss,Dominic Symes.ARM嵌入式系统开发——软件设计与优化[M].北京:北京航空航天大学出版社,2005.