随着电子技术、计算机技术和通信技术的不断发展,各个行业的自动化进程正在逐渐加快,以至于在自动抄表中对数据采集的实时性、可靠性、信息量提出了更高的要求。目前的抄表系统主要有:有线抄表系统,掌上抄表系统和无线抄表系统。其中有线抄表系统增加了综合布线的费用和难度,降低了系统的应用灵活性,限制了有线抄表系统的推广和应用。掌上抄表系统需抄表部门用掌上抄表器抄取数据,因此降低了自动化程度。无线抄表系统采用无线收发设备传输数据,不需专门架线,系统结构简单,节省了人力和物力,相对有线抄表系统和掌上抄表系统有着更大的优势。本文提出了一种基于无线网络技术的无线抄表系统,重点研究了基于nRF2401的无线通信的集中器的设计,通过该集中器可以实现采集数据快速、可靠的传递。
无线抄表系统方案
智能小区无线抄表系统主要由三表数据采集终端、集中器和物业中心的计算机组成。三表数据采集终端和集中器(下层),集中器和物业中心(上层)的计算机均采用星型结构。智能小区无线抄表系统结构如图1所示。
上层通过以nRF2401无线通信模块与分散在小区内各栋楼内集中器上的nRF2401无线通信模块相连接,形成1对多的连接形式,实现集中器和小区物业中心的计算机的实时在线连接。下层通信包括集中器通过无线方式对三表数据的采集、存储、转发,以及转发上位机下达的指令和对三表进行控制操作等。集中器是整个无线抄表系统的通信桥梁,它的工作情况决定了系统的可靠性和稳定性,其实现功能有:每个月按约定时间循环查询终端三表的数据,并把采集到的数据进行累加保存起来;当接收到物业中心的计算机发布的采集命令后,立即打包数据并传送;也可主动向物业中心的计算机发送数据、报告紧急情况等。
集中器硬件设计
在无线抄表系统中,集中器处于信息传递通路的中间位置,该系统中的集中器采用无线方式传输数据,是整个系统的核心。无线数据集中器主要有无线数据传输模块nRF2401、外部存储单元、本地通信接口、微处理器(MCU)和电源模块等组成。数据集中器硬件结构框图如图2所示,数据集中器电路原理图如图3所示。
考虑到无线数据集中器的低功耗、经济高效、性能稳定、接口电路简单和自动化程度高等特点,因此选择合适的电路芯片至关重要。
无线数据传输模块nRF2401
nRF2401是挪威 Nordic公司的单片2.4GHz无线收发一体芯片。它将射频、8051MCU、9通道12位ADC、外围元件、电感和滤波器全部集成到单芯片中,可提供ShockBurst、 DuoCeiver、片上CRC以及地址计算编码等功能。nRF2401无线收发一体芯片和蓝牙一样,都工作在2.4GHz自由频段。nRF2401支持多点间通信, 最高传输速率超过1Mbit/s,而且比蓝牙具有更高的传输速度。与蓝牙不同的是,户透明,同种产品之间可以自由通信。更重要的是,nRF2401比蓝牙产品更便宜。
电源模块
在集中器电路中电源是能源中心,在集中器中起着非常重要的作用。由于本集中器系统所采用的芯片需用+3V或+5V的直流供电,所以在电源部分首先使用AC-DC模块将220V交流电转化为+5V的直流电。在该系统中,选用专为通信控制芯片提供转换电压的LM1117为转换芯片。又因为电压中含有许多高频干扰源,这些高频成分很容易经过电源进入通信系统中。另外系统自身的发送频率也会经过电源感应反馈到通信系统造成干扰。因而在电源电路中加入220mH的电感,与并入多个不同容值的电容所构成的滤波电路来抑制各种高频信号。该电源的电路原理图如图4所示。
集中器电路设计注意事项
射频部分的电路设计是集中器设计的重点与难点,也是集中器设计成功的关键。抗干扰设计直接关系到射频性能和整个集中器的运转情况。在射频部分布线时,合理的布局与布线及采用多层板既是布线所必须的也是降低电磁干扰提高抗干扰能力的有效手段。
布线时需要注意以下几点:一是射频部分电路没有用做布线的面积均需用铜填充并连接到地,以提供RF屏蔽达到有效抗干扰的目的 ;二是nRF2401芯片底部应接地 ;为了降低延迟、减少串扰,确保高频信号的传输,要使用多个接地过孔将nRF2401芯片底部和地层相连; 三是尽可能地减少串扰,减少分布参数的影响,器件要紧密地分布在nRF2401 的四周,并使用较小封装。
集中器软件设计
集中器的主要任务是完成与小区物业中心和三表数据采集终端的通信。集中器的通信包括两部分:与小区物业中心的计算机通过nRF2401 无线通信模块与集中器进行通信;集中器通过nRF2401 无线通信模块与三表数据采集终端进行通信。
在集中器与小区物业中心和三表数据采集终端的无线数据传输中,数据必须进行规定格式的处理才能有效的降低数据传输过程中的误码率。本系统采用的数据包格式由数据序列号、目标地址、源地址、所发数据长度、数据正文及校验码组成。
当接收端收到一个数据包后,向发送端发送确认信号,若校验无误,则开始判断过程之后对该数据包进行处理。在数据包前加数据序列号是为了及时的发现丢包、漏包的现象。