APP下载

基于Si4432的无线射频遥控系统设计

2010-09-13高仁璟刘国新唐祯安

通信技术 2010年10期
关键词:网络管理管理层路由

高仁璟, 刘国新, 唐祯安

(大连理工大学 电子信息与电气工程学部,辽宁 大连 116023)

0 引言

随着半导体技术的发展和各种各样的射频集成芯片的大量涌现,射频技术在现代生产和生活中的应用越来越广泛。射频技术在无线监测、远程控制等领域有非常重要的应用[1]。与传统的有线传输方式相比,射频传输具有安装与维护方便、价格低廉、适用于复杂地理条件等优点。

然而,实际的应用环境中,经常会有各种各样的射频网络在运行。如何实现射频网络管理,避免网络冲突,保证数据正确传输便成为射频技术应用中非常重要的环节。现将Zigbee协议的网络管理方式,应用于基于Si4432的无线射频遥控系统中,并根据实际情况对协议进行简化,保证了系统的可靠运行。

1 无线射频遥控系统的体系结构

射频遥控系统的整体框图如图1所示。系统由一个主节点、多个路由节点(从节点)及手持移动遥控设备(移动节点)组成。主节点主要实现网络的建立和管理、数据的转发功能以及向控制系统发送控制命令。路由节点实现入网及网络维护、数据转发功能。手持设备用于入网和发送控制命令。主节点和路由节点由主电源供电,一直处于工作状态;手持设备由电池供电,大部分时间处于休眠或关闭状态。

图1 射频遥控系统整体框

2 基于Si4432无线射频系统硬件设计

图 2所示为系统的硬件结构图,其中图 2(a)为移动节点的结构图,图 2(b)为路由节点和主节点的结构图。主节点和移动节点均采用高性能、低功耗的 8 位AVR 系列的单片机[2]。考虑移动节点是电池供电,为了延长供电时间,采用低功耗的ATmega168芯片。主节点采用ATmega32芯片。射频收发采用的是Silicon Labs公司的Si4432芯片,该芯片集成度高、体积小、功耗低,具有-118dBm的超高灵敏度,可提供极佳的链路质量,在扩大传输范围的同时将功耗降至最低。其工作频段范围为240~930 MHz,最高输出功率可达+20 dBm,传输距离远。Si4432内部集成了天线分集、休眠唤醒定时器、64字节收发 FIFO等功能,同时,Si4432芯片还具有跳频和信道信号强度评估功能[3]。其外围电路仅需要一个30 MHz晶振及几个电阻、电容、电感等,电路设计简单、成本低廉。AVR单片机与Si4432芯片通过标准的串行接口(SPI)相连。单片机通过SPI口配置Si4432内部寄存器和实现数据的读写。Si4432的TX引脚为射频信号发送端,RXp、RXn引脚为差分信号接收端,射频信号的发射和接收端通过RF开关芯片UPG2214与天线相连。

为了提高系统的实用性,路由节点增加了串口,为系统功能扩展奠定了基础。移动节点增加了液晶显示,显示各节点的工作状态以及信号强度;同时,移动节点还配有多个按键,或用于发送控制命令,或用于发送网络测试命令。

3 系统软件设计

3.1 系统通信的数据帧格式

本系统采用EZMac协议定义的帧格式进行通信,EZMac帧结构如表1所示。

表1 EZMac帧结构

每次发送数据必须以AA为前导码,否则外部接收装置无法接收数据。前导码至少要有3个字节。D0到Dn是净荷,不超过16个字节。2D、D4是同步模式的标志码。CID(用户ID)位用于避免邻近的不同系统使用EZMac而产生的干扰。SID(发送方ID)位和DID(目的地ID)位用于唯一标识数据通信设备。PL(包长)位使用于传输的数据包长度需要动态变化时。CRC(循环冗余码)位用于识别数据包中是否有错误的数据位[4]。当接收数据时,数据包过滤是实时的,这样 EZMac可以尽早剔除无效的数据包。数据包的实时过滤节约了资源,在某些情况下可显著减少浪费在处理无效数据包进程上的资源。

3.2 各节点功能实现

系统中各节点的软件由硬件管理层、数据管理层、应用管理层、网络管理层四部分组成。硬件管理层实现单片机的初始化、Si4432初始化、按键等外设管理。数据管理层主要对数据进行处理,它与硬件管理层、网络管理层及应用管理层都存在数据接口。数据管理层与硬件管理层进行无线收发数据交换,与网络管理层和应用层进行命令数据交换。为加快程序的响应速度,各层之间的消息传递主要通过置位标志位的方式实现。应用管理层主要实现用户自定义的功能。网络管理层主要用于实现网络管理功能,节点类型不同,其实现的功能也不同。各节点网络管理层的功能为:

(1)主节点

主节点实现组网及网络管理功能。为避免因节点复位造成网络故障,本系统充分利用了单片机的 EEPROM 数据存储区。

主节点的组网过程:读取EEPROM区的网络参数数值,包括组网频段、网络ID值、子节点ID值(主节点的ID值设为0x00,广播地址的值设为0xFF)。主节点对设定频段进行一段时间的侦听,如果未发现有同频的其他网络存在,则确定本频段为网络建立频段;若发现存在其他网络则进行跳频管理,将网络频段调至相邻频段,同时将新的频段值存入EEPROM区。

主节点网络管理:主节点组网完成后,等待其他节点加入网络。当主节点收到子节点入网请求后,向子节点发送入网确认消息,同时将子节点的地址存储于EEPROM中的网络拓扑管理区。若某一子节点长时间未响应,则主节点将其从网络中剔除。在网络运行过程中,若主节点发现其他网络在同一频段运行,则向全网发送跳频命令,同时更改网络频段。

(2)路由节点

路由节点主要实现入网、网络管理、数据转发等功能。

路由节点入网过程:读取EEPROM内网络参数数值,包括网络ID,本节点ID,父节点ID,子节点ID,网络频段值。在设定频段内发送入网请求,收到入网确认消息后,将新的网络拓扑参数存入EEPROM网络拓扑管理区。若路由节点长时间未收到入网确认消息,则自动跳至下一频段搜索网络。

路由节点网络管理:路由节点动态监测网络状态,当路由节点收到子节点入网请求时,发送确认消息,并将子节点的ID值存入EEPROM网络拓扑管理区;当路由节点的父节点丢失时,则寻找新的父节点重新入网。同时,路由节点也具备网络侦听功能,当路由节点发现同频段其他网络运行时,向主节点发送网络冲突消息。

本系统中,路由节点作为数据的中转站,同时具有数据暂存功能,即当发往某节点的数据暂时无法收到确认消息时,路由节点将其暂存,等待节点重新入网后再传递数据,长时间无响应时则删除数据。

(3)移动节点

手持设备作为移动节点,无路由和数据转发功能,采用电池供电。移动节点的主要功能是入网和发送控制命令,为了省电通常处于休眠状态。

3.3 系统各节点的程序流程

系统各节点的程序流程:

①硬件初始化:包括单片机初始化,Si4432初始化,其他外设初始化。

②网络初始化:主节点发起网络,路由节点和移动节点进行信道扫描并加入网络;

③用户自定义功能初始化;

④程序进入循环工作状态,检测各层标志位状态,当标志位状态改变时,则调用相应的函数进行处理。

3.4 冲突避免机制

当多个节点间进行数据传递时,有可能发生通信冲突,造成信道阻塞,数据丢失。为避免这种状况出现,这里借鉴了CSMA/CA协议方式,在一个广播形式的网络中,当一个节点发送消息时,网络中覆盖范围内所有的节点都能接收到,容易形成数据阻塞,导致网络速度变慢,甚至瘫痪。为了避免数据传输中的碰撞和重复发送,无线网络中采用CSMA/CA协议,当一个节点要发送数据时,首先侦听信道是否空闲,如果空闲则立即发送数据,否则暂时不发送,退避一段时间,继续侦听[5]。该协议能够实现通信信道的合理利用。

CSMA/CA协议有三种检测信道空闲的方式:能量检测(ED)、载波检测(CS)以及能量载波混合检测。这里采用能量检测的方式,当节点要发送数据时,首先检测 Si4432的RSSI寄存器的值,以检测信道能量值,当RSSI值大于某一阈值时不进行数据发送,退避一段时间,继续检测,直至将数据发出。

3.5 跳频机制

现利用跳频管理机制,对射频网络频段进行管理。Si4432频段管理寄存器分为两种,一种是载波发生器,另一种是跳频(FHSS)管理寄存器。载波发生器用于设置Si4432的基础频率(Fnom);跳频管理寄存器用于设置跳频参数。跳频管理寄存器由跳频频道(fhch)选择和跳频步长(fhs)设置两个寄存器组成。Si4432载波频率计算式为:

由式(1)可知,当设置好调频步长(fhs)后,可以通过改变跳频频道选择寄存器的数值(fhch)来实现跳频功能。

4 系统功能验证

首先,验证主节点的组网功能。开启一个干扰网络,然后给主节点上电。当主节点信道扫描时间设置合理时,系统能够检测到网络冲突,并进行跳频。

然后,验证各节点网络管理功能。开启路由节点,路由节点进行信道扫描,在主节点工作的频段向主节点发送入网请求,主节点发送确认消息并在液晶模块上显示路由节点状态。实验证明,主节点能够监测路由节点入网及离网状态。网络运行过程中引入干扰网络时,主节点能够实行跳频 管理。

在数据冲突验证中,当各节点组成链状网时,数据发送正常。当组成Mesh状网时,会出现数据冲突现象。将各节点的CSMA/CA退避时间设置为不同值时,能够有效降低冲突发生率。

5 结语

在无线技术应用中,为射频网络添加网络管理功能,能够有效的避免网间冲突,防止数据丢失,网络瘫痪等故障,大大提高数据的传输效率。

相比于传统的有线控制系统,本系统体积小,安装方便,功耗低,无线传输性能优越;机械复杂度低,出现故障,易于查找故障点,更换、维修方便;工业现场往往存在各种供电线路、控制线路等,电路极其复杂,采用本射频控制系统,能够极大地降低电路复杂度,降低安全隐患。系统已成功应用于冶金、水泥等行业,实现了控制信号的无线传输。

[1] 罗春彬, 彭龑, 易彬. RFID技术发展与应用[J]. 通信技术, 2009,42(12): 112-114.

[2] 沈文, LEE Eagle, 詹卫前. AVR单片机C语言开发入门指导[M].北京: 清华大学出版社, 2003: 2-3.

[3] Silicon Laboratories. Si4432 ISM transceiver DataSheet rev 0.3[EB/OL]. (2010-01-12) [2010-03-08]. http://www.silabs.com.

[4] 刘希若, 罗志祥. EZMac协议原理与应用[J]. 计算机与数字工程,2007, 35(07): 98-99.

[5] Zigbee Alliance. Zigbee Document 053474r17: Zigbee specification[EB/OL]. (2010-01-12) [2010-03-08]. http://www.zigbee.org/.

猜你喜欢

网络管理管理层路由
数控机床DNC网络管理平台在智能制造中的应用
铁路数据网路由汇聚引发的路由迭代问题研究
核安全文化对管理层的要求
一种基于虚拟分扇的簇间多跳路由算法
基于OpenStack虚拟化网络管理平台的设计与实现
探究路由与环路的问题
电动汽车充电服务网络管理初探
基于EOC通道的SHDSL网络管理技术
基于预期延迟值的扩散转发路由算法
高级管理层股权激励与企业绩效的实证研究