摘要:本文介绍了一种基于GPRS自动抄表系统的硬件和软件实现方法。该设计采用了mC/OS-II操作系统和uip协议的移植来实现GPRS通信,用SQL数据库实现上位机的抄表管理软件,从而达到自动抄表的目的。
关键词:GPRS;mC/OS-II;操作系统;uip协议;SQL
引言
水表、电表和气表的抄录是城市生活的一个大问题。传统上采用的人工上门抄表方法不仅效率低,而且经常出现漏抄、误抄等现象。随着信息技术和网络的不断发展,出现了自动抄表系统。
现代智能化系统一般采用两种:电力载波集抄和总线通信方式。由于我国的电网在传输数据过程中,经常会受无线电信号、电磁信号、脉冲信号的干扰,导致传输数据错码、丢码的情况。总线通信方式集抄系统较为复杂,而且要另外铺设通讯电缆,特别对于旧城区改造项目,就存在更大问题。
但是,如果采用三表GPRS无线集抄系统,以上问题就迎刃而解。本文就介绍基于GPRS的一种设计方案。
自动抄表系统的一般结构
抄表系统中,仪表数据与控制信号传输的路径称为通信通道,它分为上行通道和下行通道。上行通道是传输控制器与管理中心计算机之间的通信线路,可以采用电话、无线、专线等各种通信介质。
下行通道是数据采集器与传输控制器之间的通信线路,主要有LonWork总线、CAN总线、RS-485总线等方式。自动抄表系统的构成如图1所示,主要包括计量表、数据采集器、传输控制器(集中器)、管理中心计算机等。
图1 一般自动抄表系统的结构
其中计量表、采集器、集中器称为自动抄表系统的下位机,管理中心计算机则称为上位机。上位机可以对下位机进行命令发送、参数设定等控制。
硬件设计
系统总体框图
自动抄表系统的硬件主要分为采集器和集中器两部分。采集器主要是用单片机把计量表中的数据采集过来,并存放在内存里,通过RS-485总线传送给集中器;集中器是整个系统中最重要的,也是最复杂的环节,它的硬件设计框图如图2所示。
图2 集中器设计框图
集中器中的单片机选用了C8051F120,其时钟可达到100M,有8448B的RAM和128K的Flash,两个URAT中,一个用于GPRS通信,另一个用于与采集器的通信。在很多场合,该单片机几乎不用扩展外围芯片就能够满足系统要求。C8051F MCU具有与8051兼容的高速CIP-51内核,但与标准的8051结构相比,指令执行速度有很大提高,运行mC/OS-II操作系统是没有问题的。Flash的扩展选用SPI总线的AT45D041,它有512KB的FLASH,使用方便,且性价比也比较高; LCD采用中国台湾矽创电子公司的中文图形控制芯片ST7920,内含中英文字库,使用起来非常方便。
GPRS模块
GPRS模块采用了西门子公司的MC35i,此模块主要由GSM处理器、GSM射频模块、供电模块、闪存、ZIF连接器、天线接口等六部分组成。它通过ZIF连接器上的串口与单片机实现电路接口,通过串口读取或发送MC35i模块中的数据和AT指令。
自动抄表系统的软件设计下位机的软件设计
下位机软件设计的重点是GPRS通信的实现。由于GPRS是基于IP协议的,所以主控制器在与GPRS模块通讯的时候要发送符合IP协议的数据包。如果要自己编写TCP/IP协议,工作量会比较大,一个简便的方法是移植操作系统。有些操作系统中包含TCP/IP协议(如Linux),但相对于单片机来说,显得力不从心。有些操作系统不包括此协议(如mC/OS-II),就必须同时移植与其兼容的TCP/IP协议(如uiP协议),本系统采用后一种方法。
mC/OS-II介绍及移植