基于ZigBee 技术的无线抄表系统设计与应用

发布者:sedsedq最新更新时间:2011-02-21 来源: 互联网关键字:ZigBee  无线抄表 手机看文章 扫描二维码
随时随地手机看文章

1 引言
现阶段,无线技术正飞速地进入许多应用领域,与有线设备相比其具有成本低、携带方便、无需布线等优点,特别适用于手持设备的通信、电池供电设备、遥控、遥测、小型无线网络、无线抄表、门禁系统、小区传呼、工业数据采集系统、用户识别、信号采集、水文气象监控、无线数字语音、数字图像传输等系统的应用。
2 系统方案设计
(1) 系统整体设计
整个系统按照运行流程可分成三部分:终端设备(多个)、手持式采集设备(一个)、数据MIS 系统。终端设备是采集气量数据的集成设备,它负责对气量的数据进行采集和控制,同时可通过无线网络传输给手持式采集设备;手持式采集设备是通过无线通道对终端设备的数据进行下载和控制的设备;数据MIS系统是将手持式设备中的采集数据下载后对其进行管理的软件系统。
 
(2) 终端设备
在用户端气表加装通讯模块形成终端设备,实现数据的读取和无线传输。
(3) 手持式采集设备配置
MPU:PHILIPS P89LV51RD2,低功耗芯片;
EEPROM:24AA512(64K)用以存放所采集的数据;
LCD:MOBI2006 薄型液晶LCD;
键盘:设置4 个功能键,分别为:上、下、确认、背光;
RS-232C 接口芯片:MAX232;
无线模块:IP•Link1000-B;
(4) 数据库MIS系统
其主要功能包括与手持式采集设备进行数据交换并存储,对数据进行格式化加工,对数据进行通用管理(添加、删除、修改、查询等)以及根据客户需求打印各种报表。
3 系统硬件结构及连接图
手持设备的硬件连接如图2 所示,元件主要包括微控制芯片、片外存储器、多路复用器CD4052、无线模块IP•Link1000-B、串口电平转换芯片MAX232、键盘和LED 显示屏。
 
微控制芯片通过并口连接键盘和LED 显示屏,片外存储器EEPROM采用I2C模拟总线方式连接,上位机和下位机通讯采用RS-232C 方式,需使用MAX232 芯片进行电平转换,另因无线模块与上下位机通讯都通过通用串行口,所以要进行串行口扩展,采用多路复用开关CD4052。
(1) 数据帧定义
数据帧是数据传输协议中数据的规范格式,数据帧结构的定义如表1 所示。
 
注:Lead 为帧标识(帧头)、Command 为命令字、Length 为数据长度、Load 为数据、Checksum为CRC校验码
(2) 传输协议
上位机—下位机采用S-232 串行数据传输,串行口通信方式为异步串行通信,信息格式为1 个开始位、8 位数据位、1个停止位、无奇偶校验位,数据传输采用“停止—等待”协议。
数据发送:发送方将欲发送的数据先进行帧格式定义,先对数据串(命令字+数据长度+数据)进行循环冗余校验(CRC-16 ),形成两个字节的校验码,在数据串前添加帧标识,然后附上所得的校验码,形成数据帧后进行发送,并等待返回信息。
数据接收:接收方在接收数据帧时,先判断帧标识,若错误,丢弃当前帧并向数据源发重传命令;如果正确,接收“命令”字节和“数据长度”字节并判断数据长度,超出数据长度时停止接收数据并发重传命令,长度合乎要求时才进行后面数据的接收,以上每个字节接收过程都包含超时判断,如果超时要求数据重发。数据接收完毕后进行循环冗余校验,将生成的校验码与接收到的校验码比较,相同则通过校验,数据帧正确,然后进行命令字节判断并对数据进行处理;若未通过校验,接收方发重传命令至发送方,要求重新传输该帧数据。 
发送端A在启动发送后等待返回信息,接收端B接收并校验数据后进行信息回复,包括正确报告或错误报告信息,发送端A 在接收到接收端B 的反馈信息后,作出相应的判断动作。另外,在得到错误报告信息或在规定时间内没有接收到反馈信息时,发送端A重新发送当前数据帧,并且记录重发次数。当重发次数超过给定值N 时,停止发送,并报出错信息。
4.2 下位机与上位机的通信
下位机(手持设备)与上位机(计算机)通信采用RS-232C 串口通信,上位机对所接收的数据进行CRC 检验判断,校验未通过,要求重传,校验通过,数据存储至数据库。上位机利用Visual Basic 6.0中的通信控件MSComm开发串行通讯程序。MSComm 控件提供两种处理通信的方式:事件驱动方式和查询方式。事件驱动方式由MSC omm 控件的onComm事件捕获并处理通信事件和错误,其优点是程序相应及时、可靠性高;查询方式是通过检查commEvent属性的值来判断事件和错误,适合于应用程序较小的情况。
(1) 控件属性:包括串口初始化属性设置、数据读写操作、状态控制、打开/ 关闭串口。
(2) 串口初始化属性设置
下面结合初始化程序的实例来说明属性的设置:
MSComm. CommPort = 2 设置通信端口号;
MSComm. Settings =“1200, M, 8, 1” 设置波特率为12 00 ,奇偶校验为标记,8 位数据位,1 位停止位;
MSComm. InputLen = 0 读取接收缓冲区的全部代码;
MSComm. InputMode = comInputModeBinary 接收的数据格式为二进制数据;
MSComm. InBufferSize = 100 设置接收缓冲区大小为100字节;
MSComm. OutBufferSize = 10 设置发送缓冲区的大小为10字节;
MSComm. OutBufferCount = 0 清除发送缓冲区;
MSComm. InBufferCount = 0 清除接收缓冲区;
MSComm. PortOpen = True 打开串口(关闭端口时值为f a l s e );
(3) 数据读写操作
Output 属性:向发送缓冲区写数据流,为Variant 型变量。Output 属性可以传输文本数据或二进制数据,用Output 属性传输文本数据,须定义一个包含一个字符串的Variant。发送二进制数据,则须传递一个包含字节数组的Variant 到Output属性。以下是上位机向下位机发确认信号(ACK)的实例。
定义sendata 为Variant,发送Output 的值,right()为Byte数据,存放要发送的二进制数据:
Dim sendata As Variant
Dim right(1) As Byte
right (0) = &H5E
sendata = right 二进制数据变为Variant 格式
MSComm. InBufferCount = 0 接收缓冲区清空
MSComm. Output = sendata 发送二进制数据
Inp ut 属性:将接收缓冲区中收到的数据读入变量,为Variant 型变量。当InputMode 属性值为0 (文本模式)时,变量中含String 型数据,当InputMode 属性值为1(二进制模式)时,变量中含B y t e 型数组数据。
InputLen 属性:确定被Input 属性读取的字符数。设置InputLen 为0,则读取缓冲区中全部的内容。若接收缓冲区中In putLen 字符无效,In put 属性返回一个零长度字符串(“”)。在使用Input 前,用户可以选择检查InBufferCount 属性来确定缓冲区中是否已有需要数目的字符。
InBufferCount属性:返回接收缓冲区中已传到但还未取走的字符个数,In teg er 型。设为0 ,则清空缓冲区。
OutBufferCount 属性:类似于InBufferCount 属性,为发送缓冲区中已传到但还未取走的字符个数,Integer 型。设为0 ,则清空缓冲区。
5 数据的循环冗余校验
在数据的无线传输过程中,因为噪声的干扰数据极易出错,因此在传输时必须采用可靠的数据校验方法。数据校验方法包括奇偶校验,循环甬余校验等多种校验方法,普遍采用循环甬余校验方法(CRC),它能有效地检测出传输数据的错误。CRC 的全称为Cyclic Redundancy Check,它是一类重要的线性分组码,编码和解码方法简单,检错和纠错能力强,在通信领域广泛地用于实现差错控制。
CRC 校验的基本思想是利用线性编码理论,在发送端根据要传送的k 位二进制码序列,以一定的规则产生一个校验用的监督码(即CRC 码)r 位,并附在信息后边,构成一个新的二进制码序列数共(k + r )位,最后发送出去。在接收端,根据信息码和CRC 码之间所遵循的规则进行检验,以确定传送中是否出错。
例如,16 位的CRC 码产生的规则是先将要发送的二进制序列数左移16 位后,再除以一个多项式,最后所得到的余即是CRC 码,其中B(X)表示n 位的二进制序列数,G(X)为多项式,Q(X)为整数,R(X)是余数(既CRC 码)。
 
求CRC 码采用模2 加减运算法则,即是不带进位和借位的按位加减,这种加减运算实际上就是逻辑上的异或运算,加法和减法等价,乘法和除法运算与普通代数式的乘除法运算是一样,符合同样的规律。生成CRC码的多项式如下,其中CRC-16 和CRC-CCITT 产生16 位的CRC 码,而CRC-32 则产生的是32 位的CRC 码。
CRC-16:(美国标准) G(X)=X16+X15+X2+1
CRC-CCITT:(欧洲标准) G(X)=X16+X12+X5+1
C R C - 3 2 :G (X ) =X 3 2 +X 2 6 +X 2 3 +X 2 2+ X 1 6+ X 1 2+X11+X10+X8+X7+X5+ X4+X2+X1+1
下面以CRC-16 为例:
数据以字节为单位,待传送的数据排队,运算区先存放两个字节的数据,缓冲区为一个字节,第三个字节的数据放在缓冲区内,运算区的数据按位运算,最左边为标志位,标志位左移,缓冲区内的数据也左移一位(运算区内为新的16位数据),标志位与CRC-1 6 多项式的最高位系数(总为1)比较,标志位为1 则运算区内的数据位与多项式的后十六位“异或”运算,为零则不运算。然后下一位左移,过程同上,直至缓冲区内的八位数据全传输至运算区内为止。这时第三个字节的数据运算完毕,将第四个字节的数据存入缓冲区,运算方法同上。
待数据串运算完毕后,后面附加16 个零进行运算,数据完全运算完成后,运算区的两个字节的数据就是生成的CRC校验码。将CRC 校验位附在信息码后作为循环码发送。
以上是CRC 校验码的产生过程。
接收方在接收到数据(循环码= 数据串+ 校验位)后,再进行CRC 校验,最后产生的运算区内的数据就是待校验的余数,余数为零则表示接受的数据串正确,否则为错。
CR C 码以模二除法得到余数,具体实现方法是用“异或”运算实现。单片机CRC 检验子程序如下:
CRC_CHECK:
MOV R3, #00H ;存储CRC码高位
MOV R4, #00H ;存储CRC码低位
CRC0: MOV A, R3
XRL A, @R0 ;R0 为初始值地址
MOV R3, A
MOV R7, #08H ;8 次比较
CRC1: MOV A, R4
CLR C ;进位标志清零
RLC A
MOV R4, A
MOV A, R3
RLC A
MOV R3, A
JNC CRC2
XRL A, #80H ;高字节异或运算
MOV R3, A
MOV A, R4
XRL A, #05H ;低字节异或运算
MOV R4, A
CRC2: DJNZ R7, CRC1
INC R0 ;取下一校验字节数据
DJNZ R6, CRC0 ;R6 为欲校验数据串的长度
RET
6 无线模块特征说明
本系统的无线数据传输是基于IEEE802.15.4协议的ZigBee技术。IEEE 802.15.4无线数据传输协议标准主要规定了一种短距离、低功耗、低速率、低价位、高效率、高可靠性的短程无线网络标准。遵循这一标准的技术被称作ZigBee 技术。ZigBee 技术是一种低速率无线传输技术,采用直序扩频(DS S S ) 技术来提高抗干扰能力,工作频率为8 6 8MHz 、915MHz 或2.4GHz,其中2.4GHz 是一个开放的频率。该技术的突出特点是应用简单,电池寿命长,有组网能力,可靠性高以及成本低。
在ZigBee 的七层协议中,IEEE802.15.4 只定义了PHY和MAC 层,实体层(PHY)规范确定了在2.4GHz 以250Kbps的基准传输率工作的低功耗展频无线电(另有一些以更低数据传播率工作的915 MHz 和868 MHz 的实体层规范),介质访问层(MAC)规范定义了在同一区域工作的多个802.15.4无线电信号如何共享空中通道。ZigBee兼容性平台则在IEEE802.15.4 的基础上包含了网络与安全层、以及应用开发框架(Application Framework)的定义。ZigBee 技术主要工作在无须注册的2.4GHz ISM频段,数据速率为20~250Kbit/s,最大传输范围在10~75m,典型距离为30m。
系统中无线模块采用兼容IEEE 802.15.4 协议的赫立讯IP•Link1000-B 无线网络收发模块,组网形式为星型网络。模块的工作状态由外部设备控制,外部设备通过模块的UART0接口,采用AT命令或数据帧结构的形式对IP•Link1000-B模块进行配置和操作。
无线模块在使用前先进行参数配置,包括对UART0 的波特率,模块的网络节点,节点号等参数进行设置,配置结果保存于模块内部非易失性存储器中,然后模块进入数据状态,准备数据的传输。无线模块在使用中先处于休眠状态,在外部命令作用下进入活动模式,数据传输成功后又回到休眠状态。
文中的无线硬件设计、软件设计解决方案经测试运行稳定,无线通信误码率低、可靠性高、安全性好。文中的软硬件设计方案,可适用于各种单片机,并且作为无线通信技术在相关领域的推广和广泛的运用有着较好的参考价值。

关键字:ZigBee  无线抄表 引用地址:基于ZigBee 技术的无线抄表系统设计与应用

上一篇:ZigBee 在单兵作战系统中的应用
下一篇:Zigbee 在家庭远程遥控管理系统中的应用

推荐阅读最新更新时间:2024-05-07 16:16

体积小且功能完备的ZigBee射频模块
    zigBee(IEEE802.15.4)是一种先进的短距离传输技术标准,目前全球最通用的频段是2.4~2.4835GHz。虽然ZigBee的标准数据传输率比蓝牙低,但它的应用范围更广。除了一般的数据采集外,ZigBee还能用在环境监测、家庭自动化控制、个人医疗、工业厂房监控、商务大楼自动化、安全监控等应用中。此外,结合使用ZigBee技术与传感器或相机等模块,还能开发更多的产品附加功能和价值。     在网络层,ZigBee支持星型、簇树(cluster Tree)与网状网(mesh)三种网络架构。从各个节点的角色来看,ZigBee设备可分为全功能设备(FFD)与精简功能设备(RFD)。与FFD相比,RFD的电路较为简
[网络通信]
智慧工厂如何实现智能化
传统工厂到 智慧工厂 的变革必然会成为未来世界制造业中最大的一波“浪潮”,传统工厂如何快速实现角色的转换?我们认为,设备间的互联互通是关键。   从长期来看, 工业4.0 对于智慧工厂的投入将远超过一般工业,但项目盈利能力也将显著提高,并且资本投入越大、斜率越陡峭,即投资的边际回报率越高。无论在何种经济体,工业4.0都将是制造业发展不可绕开的必由之路。我们一直以来专注于工业控制领域,同时深刻感受到这次工业智能化给制造、生产带来的改变,物联网已经在不断的走进工业生产制造,在我们合作的企业中,工业生产数据实时采集(如 MES 系统)算是典型,而在工业生产信息网络中,zigbee当之无愧成为了主角。   图1 采用zigbee搭建的
[嵌入式]
Silicon Labs与Ezlo Innovation合作改善智能家居体验
全新的Ezlo Secure和Ezlo Plus智能集线器采用最新的Silicon Labs Z-Wave和Zigbee技术 Silicon Labs日前宣布与家庭和企业联网解决方案供应商Ezlo Innovation宣布了一项合作,以利用新的控制中心简化智能家居体验,这些控制中心采用了Silicon Labs Z-Wave 700系列模块。新的Ezlo Secure和Ezlo Plus集线器包含通过Silicon Labs Z-Wave无线技术优化的行业领先的安全性和性能功能,以及Ezlo Secure上的无缝连接,可在断电和互联网中断时保持其在线状态。 Ezlo集线器功能丰富: 使客户能够控制Z-Wave,Zig
[物联网]
基于ZigBee技术的XBeePro模块在智能公交系统中的应用
0 引言   随着国内经济的高速发展,城市的规模在不断扩大,尤其是各种交通工具的增长更迅速,从而使城市交通需求与供给的矛盾日益突出,而单靠扩大道路交通基础设施来缓解矛盾的做法已难以为继。在这种情况下,智能公交系统(Advanced Public Transportation Systems,APTS)也就应运而生,并且成为近年来国内研究的热点。在智能公交系统所涉及的各种技术中,无线通信技术尤为引人注目。而ZigBee作为一种新兴的短距离、低速率的无线通信技术,更是得到了越来越广泛的关注和应用。目前市场上也出现了大量与ZigBee相关的各种产品,其中,比较有竞争力的ZigBee解决方案主要有下面几种:   (1) Freesc
[嵌入式]
基于TC45模块的GPRS无线系统
摘要:论述了基于SIEMENS TC45无线模块设计的一个无线电力抄表系统的技术方案。TC45模块是可以利用J2ME编程技术进行程序开发的终端模块,在抄表系统中与电表端相连构成抄表及智能控制终端部分,而系统的服务器端则利用vc++6.0进行开发,两者之间通过GPRS网络实现基于TCP/IP协议的无线远程电力抄表智能控制系统。 关键词:电力抄表 GPRS J2ME TC45 传统的上门抄表计费方式由于费时费力,已经逐渐被自动抄表计费方式替代。在北欧一些发达国家,移动运营商已经将(Machine to Machine)无线通信服务技术应用在自动抄表系统中。由于无线通信技术的发展,完全可以利用GPRS移动网络系统中提供的无线IP,在
[网络通信]
ZigBee技术智能化控制城市LED路灯系统解析
   1.引言   道路 照明 是城市公共设施的重要组成部分,目前国内的道路照明系统大部分没有采用网络化监控管理,只能以区域为单位对照明设备进行简单的开关灯控制,多数城市路灯的开关控制仍由传统变压器(配电箱)分散控制,不能对路灯进行有效监控,缺乏灵活多变的操作系统,因此存在着一系列的问题:如系统复杂,难以统一管理;路灯覆盖面广,维护困难;开关控制效率低,电能浪费严重等。针对目前城市对路灯照明控制和管理水平的不足,笔者设计了一套路灯无线监控系统,能对城市路灯实现智能化控制并有效节约电能。本系统主要分为三层,分别是具有人机交互界面功能的路灯管理中心、汇聚路灯节点信息和发送路灯控制命令的路灯监控子站以及采集路灯节点信息的路灯控制终端。
[电源管理]
<font color='red'>ZigBee</font>技术智能化控制城市LED路灯系统解析
无线水表自动系统硬件和软件设计方案
本文论述了目前无线自动抄表技术的发展状况,系统采用nRF905构建无线通信模块,实现了无线方式的自动抄表,解决了人工抄表费时费力的现状。文章阐述了无线水表自动抄表系统硬件和软件设计方法,采用有效的低功耗设计方案,解决了电池使用寿命低的问题;通过构建合理的通信协议,保证了通信的可靠性。系统模块设计具有通用性,适用于各种近距离无线数据传输领域,具有较高的实用价值。 全国大部分新建居民小区除了引用绿色生态的概念外,还在整体设计中引进了智能化居住小区的理念,以提高居民的生活质量,自动抄表系统也是智能化居住小区的一个重要技术环节,住宅远传系统是信息技术发展的一个大趋势,无线水表抄表系统正是其中的一个重要部分。 目前集中器跟主
[单片机]
<font color='red'>无线</font>水表自动<font color='red'>抄</font><font color='red'>表</font>系统硬件和软件设计方案
基于ZigBee技术的无线电表系统设计
   引言   人工抄电表对于一般用户而言是可行的,然而相对于供电部门有很多不足,需要进更深层次的分析和管理也是不够。现实的需求催生着抄电表系统技术和应用不断产生。目前智能卡电表和有线自动抄电表系统都存在一定的不足和成本高的问题。随着无线通信技术的不断发展,近年来出现了面向低成本设备无线联网要求的ZigBee技术。系统最佳的方案应当是前期投入的成本低,运行成本非常低甚至没有。由此本文提出一种基于 ZigBee技术抄电表方案。    1 ZigBee 技术特点   (1)低功耗:ZigBee技术采用了低功耗的工作模式,通常两节五号电池可以使用长达6个月到2年。   (2)可靠性高:ZigBee采用了CSMA-CA的碰撞避免
[测试测量]
基于<font color='red'>ZigBee</font>技术的<font color='red'>无线</font><font color='red'>抄</font>电表系统设计
小广播
最新网络通信文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved