创新技术INNOVATIVETECHNOLOGY
当前位置: 首页 » 技术前沿 » 创新技术
创新技术

基于GPRS的自动抄表系统设计

字体: 放大字体  缩小字体 发布日期:2010-03-15  来源:网络  浏览次数:213
?????? 摘要:本文介绍了一种基于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介绍及移植

mC/OS-II是为嵌入式应用编写的通用软件,具有源码公开、可移植、可裁剪、支持多任务和内核服务运行时间可确定等特点。所以,mC/OS-II支持从8位到32位的CPU,经过裁剪后代码最小小于2KB,所需的最小数据RAM空间为4KB。

mC/OS-II的移植只需要修改与处理器相关的代码就可以了。具体内容如下:

(1)os_cpu.h中需要设置1个常量来标识堆栈增长方向,

即:#define OS_STK_GROWTH 0 //8051 堆栈从下向上增长;

(2)os_cpu.h中需要声明3个用于开关中断和任务切换的宏,

即:#define OS_ENTER_CRITICAL() EA=0 //关中断;

#define OS_EXIT_CRITICAL() EA=1 //开中断;

#define OS_TASK_SW() OSCtxSw() //任务间的切换;

(3)os_cpu.h中需要声明10个数据类型;

即:typedef unsigned char BOOLEAN 等;

(4)os_cpu_a.asm需要改写4个汇编语言的函数,集中了所有与处理器相关的汇编语言代码模块;

(5)os_cpu_c.c需要用c语言编写6个简单函数, 即1个初始化任务堆栈和5个任务创建钩挂函数,其中5个任务创建钩挂函数可根据实际情况加入;

(6)修改主头文件include.h,将上面的3个文件和其它自己的头文件加入。

完成上述工作后,mC/OS-II就可以运行在单片机上了。

uip的移植

uIP的移植设计重点放在IP、ICMP和TCP协议的实现上,要将这三个模块合为一个有机的整体,而将UDP和ARP协议实现作为可选模块。uIP0.9的体系结构如图3所示。

图3 uIP协议栰接口

uIP0.9处于网络通信的中间层,其上层协议在这里被称之为应用程序,而下层硬件或固件被称之为网络设备驱动。uIP可以看作是一个代码库为系统提供确定的函数。图3展示了uIP系统底层和应用程序之间的关系。

在基于8051的mC/OS-II中,移植uIP不需要对现有的TCP/IP源代码做任何修改,但是必须为网络设备如网卡芯片、串口等写一个驱动程序。同时,现有系统的集成部分也要进行相应的处理,例如当有数据到达或周期性的定时器计数满等情况下,主控制系统应该调用uIP函数。移植的具体步骤如下:

(1)在目录uip-0.9/下创建一个自己的目录,例如uip0.9/C8051F/。

(2)把uip_arch.c文件从目录uip-0.9/unix/中复制到目录uip-0.9/ C8051F中。

(3)把uipopt.h文件目录从uip-0.9/unix中复制到目录uip-0.9/ C8051F中,并对其修改,以满足系统需要。

(4)编写串口驱动程序和主控函数。

(5)编译源代码。

上位机软件

管理中心计算机抄表软件以IIS作为Web Server,数据库端使用SQL Server 数据库,运行WIN98/2000/XP、NT的操作系统,易于使用。软件所能管理的用户数量没有限制。它具有以下的功能与特点:安全可靠,抄表速度快,具有完善的系统日志,以及广播对时、自动抄表和设备管理功能。并且用户界面清晰美观,操作简单,具有完善的在线帮助功能。

结语

远程无线自动抄表系统利用GPRS通信技术,实现了多表数据抄收的功能,解决了实时性、抄收成本及通信距离等问题。随着GPRS通信技术的不断成熟和自动抄表技术的不断完善,这种远程无线自动抄表技术也将会得到更好的发展和提高。■   

参考文献:

1.胡大可等.基于单片机8051的嵌入式开发指南[M],北京:电子工业出版社,2003

2.任哲等.嵌入式操作系统基础μC/OS-II和Linux[M],北京:北京航空航天大学出版社,2006

3.沈文等.AVR单片机C语言开发应用实例---TCP/IP篇[M],清华大学出版社,2005

 
免责声明:
本站所提供的文章资讯、图片、音频、视频来源于互联网及公开渠道,仅供学习参考,版权归原创者所有! 如有侵犯您的版权,请通知我们,我们会遵循相关法律法规采取措施删除相关内容。


 
[ 技术前沿搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]