基于ARM和nRF2401的无线自动抄表系统
内容分别执行历史存储电量、水量、煤气量数据的传输或当前电表、水表、煤气表读数的采集传输,发送到上层模块,再由上层模块发送到仪表中心。
传统的抄表收费方式存在许多弊端,如存在安全隐患、入户麻烦、管理费用过高等,已不适应现代物业管理的需要。随着电子技术和通信技术的发展,自动抄表系统得以广泛应用,各类相关产品也层出不穷,人们对新产品也提出更高的要求。本文提出了一种基于ARM和nRF240l的无线自动抄表系统,通信质量好,成本低,工作可靠、经济实用,可以准确及时地将用户三表数据抄送上来,是一种理想的自动抄表解决方案,同时也是抄表收费系统发展的趋势[1]。
图1无线自动抄表系统的总体结构
1系统的总体结构
图1为无线自动抄表系统的总体结构,它可用于家庭
2系统的硬件实现2.1系统硬件结构
测控基站组成由LPC2131
[2]
、nRF2401
[3]
、串行
内部三表或多表数据的抄送。系统下层直接与水表、电表、煤气表等连接,上层与抄表中心主机连接,实现数据的远程抄送。系统一般使用被动抄表方式。上层模块接收到仪表中心的抄表命令时,通过无线方式向下层模块发送抄表指令。下层模块主要有两个功能:一是当定点抄表时刻到达时,设备自动采集电表、水表、煤气表读数,并将该数据存储到串行EEPROM存储器中;二是当下层模块接收到指令时,可以根据指
EEPROMCAT24WC32、MAX485芯片及485总线等
构成,如图2所示。由于测控基站系统的LPC2131拥
有两个标准的硬件总线接口,因此本系统具有结构简单,成本低的特点。
主控基站组成由PC机、LPC2131、nRF2401、
MAX232芯片及232总线构成,如图2所示。其主要
功能是通过RS232接口从PC机中接收抄表指令,将该指令进行编码后进行无线传输,电表端设备收到该
-25-
无线指令后,将待返回的数据编码并进行无线传输,然后PC机收到该无线数据,对信息进行处理并由相
应程序进行显示。
以自由通信。更重要的是,nRF2401比蓝牙产品更便宜。所以nRF2401是业界体积小、功耗低、外围元件少的低成本射频系统级芯片。nRF2401适用于多种无线通信的场合,如无线数据传输系统、无线鼠标、遥控开锁、遥控玩具等。
2.2.2.2nRF2401芯片的工作原理
(1)RX/TX模式
nRF2401的RXTX模式采用片上先进先出
(FIFO)来进行低数据率的时钟同步和高数据率的传输,因此极大地降低了功耗。
发射主要通过MCU接口引脚CE、CLK1和
DATA来完成。当MCU请求发送数据时,置CE为高
电平,此时的接收机地址和有效载荷数据作为
2.2主要器件介绍
2.2.1LPC2131芯片
LPC2131是PHILIPS公司的ARM7微控制器。它基于一个支持实时仿真和跟踪的16/32位ARM7TDMI-SCPU的微控制器,并带有32KB嵌入的高速Flash存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失
却很小。LP2131采用64脚封装,功耗低,拥有2个32位定时器、脉宽调制(PWM)输出以及8路10位ADC、多达4个的外部中断,通过片内boot装载程序实现在系统编程(ISP)和在应用编程(IAP)。多个串行接口,包括2个16C550工业标准UART、高速接口(400
nRF2401的内部时钟,可用请求协议或MCU将速率
调至1Mbps;置CE为低电平可激活发射。
接收主要使用MCU接口引脚CE、DR1、CLK1和
DATA来实现。当正确设置射频数据包输入载荷的地址和大小后,置CE为高电平即可激活RX。此后便可在nRF2401监测信息输入,200!s内若收到有效数据包,则给MCU一个中断并置DR1高电平,以使MCU
以时钟形式输出有效载荷数据,待系统收到全部数据后nRF2401再置DR1为低电平,此时如果CE保持高电平,则等待新的数据包。若CE置低电平,则开始接收新的序列。
(2)DuoCeiver的双信道接收模式
nRF2401的DuoCeiver技术为RX提供了两个独
立的专用数字信道,因而可代替两个单独接收系统。
kbps)和2个SPI接口,通过片内PLL可实现最大为60MHz的CPU操作频率[4]。
2.2.2nRF2401芯片及工作原理2.2.2.1nRF2401芯片
nRF2401芯片是挪威Nordic公司推出的2.4G单
片无线射频收发芯片,芯片内置频率合成器、功率放大器、晶体振荡器和调制器等功能模块,输出功率和通信频道可通过程序进行配置[5]。该芯片具有接收灵敏度高、外围电路少、发射功率低、传输速率高、低功耗等优点。nRF2401芯片和蓝牙一样,都工作在2.4~
nRF2401可以通过一个天线接口从相隔8MHz的两个
1Mbps接收机上接收数据。同时将两个数字信道的输出反馈到两个单独的MCU接口。具体的两个信道如下:
数字信道1:CLK1,DATA,AR1;数字信道2:CLK2,DATA,DOUT2;
数字信道2的频率比数字信道1的频率高出8MHz。
3系统的软件设计3.1μCOSII嵌入式操作系统
嵌入式操作系统μC
OSII(microcontroller
2.5GHzISM自由频段,能够在全球无线市场畅通无
阻。nRF2401芯片支持多点间通信,比蓝牙具有更高的传输速度,其最高传输速率超过1Mbps。它采用Soc
operatingsystem)是专为微控制器系统和软件开发而
设计的公开源代码的抢占式实时多任务操作系统内核,是一段微控制器启动后首先执行的背景程序,作为整个系统的框架贯穿系统运行的始终。对于对实时性和稳定性要求较高的无线抄表系统来说,引入μC
(SystemonChip)方法设计,只需少量外围元件便可组
成射频收发电路。与蓝牙不同的是,nRF2401没有复
杂的通信协议,它完全对用户透明,同种产品之间可
--
OSII无疑将大大改善其性能[6]。
Feb.2007
2007年第2期ElectricalMeasurement&Instrumentation
μCOSII的特点可以概括为以下几个方面:公开
源代码,代码结构清晰、明了,注释详尽,组织有条理,可移植性好,可裁剪,可固化。内核属于抢占式,最多可以管理60个任务。μCOSII自1992年的第一版(μCOS)以来已经有好几百个应用,是一个经实践证明好用且稳定可靠的内核。目前国内对μCOSII的研究和应用都很多。
对于LPC2131部分,根据整个装置实现的功能和对他的要求进行系统任务分割,并根据实际需要为各个任务分配优先级。系统大致可分为如下几个任务:与上位机的串口通讯;与nRF2401的通信;与三表的通信;与EEPROM的通信。对应每个任务,需要编写相应的应用程序,软件设计部分的关键技术有:
(1)μCOSII内核向LPC2131中的移植,要根据处理器的特点合理地修改μCOSII的3个与处理器相关的文件:OS_CPUH,OS_CPU_AASM,OS_CPU_C.主要是将文件中的汇编指令,改为ARM7的汇编指C。
令,并根据CPU的特点对文件中寄存器的初值进行改写。
(2)内存配置问题。对于存储器容量的设计,要综合考虑μCOSII内核代码和应用程序代码的大小。每个任务是独立运行的,必须给每个任务提供单独的栈空间(RAM),RAM总量的计算公式为:
RAM总量=应用程序的RAM需求+内核数据区的RAM需求+各任务栈需求之总和+最多中断嵌套所
需堆栈。
3.2上层模块软件设计
按照主控基站硬件电路设计,上层模块编程的基
本思路是,系统上电时初始配置nRF2401状态字,随后进入激活方式,LPC2131接收到主机发送来的抄表命令后,通过射频无线通讯方式向测控基站发送命令,同时开始计时。如果下层模块没有数据返回或者返回的数据是错误的,则上层模块会重新发送命令。如图3主控基站软件流程图所示。
3.3下层模块软件设计
按照测控基站硬件电路设计,下层模块编程的基
3.4通信机制
无线通信易受到干扰,一次发送的数据越长,受
本思路是,系统上电时初始配置nRF2401状态字,随后进入激活方式,当收到上层模块发来的抄表命令时,MCU首先检查地址。如果地址不符,说明命令是发给其它模块的,则丢弃命令,继续等待。如果地址符合,则将上层模块发来的命令转发给仪表,等待数据返回。数据正常接收完毕后,则向上层发送数据,之后重新进入等待状态,
如图4测控基站软件流程图所示。
示。下:
干扰的可能性越大。所以应该把比较长的数据分成小的数据包分别发送。
主机与LPC2131、nRF2401之间的通信方式如传输速率为115200bps,1个起始位、8个数据位、
8个校验位、1个停止位。数据帧的帧结构如表1所
-27-
Feb.2007
2007年第2期ElectricalMeasurement&Instrumentation
表1数据帧的帧结构
表2数据帧的帧结构
LPC2131、nRF2401与LPC2131、nRF2401之间的
通信方式如下:
传输速率为9600bps,1个起始位、奇8个数据位、校验位、1个停止位。数据帧的帧结构如表2所示。
的通用性和可靠性,略加改进也可以应用于报警与安全系统、家庭自动化控制遥控装置等。
参
[1]赵
2004,30(2):105-106.
[2]ARMLimited.ARM7TDMITechnicalDDI0192A,2000.
[3]NordicInc.nRF2401rev1_0Datasheet[Z].2003.[4]周立功,张社,2005.
华.深入浅出ARM7[M].北京:北京航空航天大学出版
考文献
锋.基于nRF401的短距无线抄表系统[J].电力系统自动化.
LPC2131与电表之间的通信方式如下:
传输速率1200bps,1个起始位,8个数据位,奇校验位,1个停止位。数据帧结构遵循DLT645—1997标准。
ReferenceManual.Arm
4结束语
无线自动抄表系统是未来发展的必然趋势,而对
[5]张崇,于晓琳,刘建平.单片2.4GHz无线收发一体芯片nRF2401及
于抄表系统的改造,采用ARM核的无线自动抄表系统具有使用方便、成本低、应用灵活、无需重新布线、可使系统小型化、便于提高性能和与各种外设连接扩展的优点,并且价格适中。μCOSII作为一个源代码公开的操作系统,在应用中稳定可靠。家庭内部的三表可以统一抄送。该系统在500米内能够正常实现无线自动抄表的功能,误码率为。此外,本系统具有良好(上接第15页)方法,十分有效地提高了测量精度,为电力谐波的检测与治理提供了一种有效手段。