APP下载

CC2530和FPGA的新型无线网络节点设计

2012-08-14万智萍

单片机与嵌入式系统应用 2012年7期
关键词:无线网络路由器串口

万智萍

(中山大学新华学院,广州510520)

万智萍(讲师),主要研究方向为嵌入式系统、无线传感网、图像处理。

引 言

在当今的技术领域,使用ZigBee协议进行组网正趋向于成熟。使用ZigBee技术,可以简单地组建一个广泛适用、稳定可靠的无线网络,这种网络由多个具有计算处理、无线通信、传感技术以及控制能力的单节点构成[1]。ZigBee技术利用全球公用的公共频率2.4GHz,应用于监视、控制网络时具有低成本、低耗电、网络节点多、传输距离远等特点[2]。无线网络根据应用环境和要求的不同有着不同的种类划分,在医疗、保健、化学处理和灾难救助等领域应用广泛[3-4]。并且静态节点和动态节点随社会发展开始相互结合,使得整个网络更加灵活[5-6]。本文设计了一种无线网络节点,在静态的无线网络结构中能动态地作为一个节点参与组网,不再采用MCU控制以CC2530为主芯片的模块的方式,而采用CC2530与FPGA相互传输控制;使用CC2530所具有的ZigBee协议进行互联,实现一种新型的动态无线网络节点的设计。

1 网络协议与结构

1.1 ZigBee协议

ZigBee是以IEEE 802.15.4无线标准为基础开发的无线传感器网络协议,是IEEE第一种用于传感器与制动器等监测和控制应用的开放无线标准[7]。无线传感器网络由许多功能相同或不同的传感器节点组成,而每个传感器节点由数据采集、数据处理和控制、通信和电源4个模块组成。节点在网络中负责完成数据的采集、收发和转发[8-9]。作为ZigBee协议网络节点,需要有IEEE 802.15.4标准的PHY和MAC层,这两层组成了控制和数据传输的架构,ZigBee层架构如图1所示。

图1 ZigBee层架构

ZigBee在底层具有OSI模型开始的两层架构,物理层(PHY)定义了无线射频特征,支持2种不同的信号:2450MHz和868/915MHz。本文使用的频段在2.4 GHz ISM。IEEE 802.15.4标准允许在这个全球频段内使用250kbps的数据速率,还可以提供16个不同的信道。而介质访问控制层(MAC)负责相邻设备间的单跳数据通信,它与网络层连接,经过相互协调和数据传送来工作,也建立设备间的单跳数据通信的协调、关联和安全。网络层(NWK)支持的网络拓扑有星型、树型和网格型。应用层则包括APS子层、ZDO和管理平台以及应用对象架构。由ZigBee架构可知它们的相互关联:安全服务提供层(SSP)保护了应用层、网络层(NWK)和介质访问控制层(MAC),由此建立起了安全机制;而安全服务提供层(SSP)则是通过ZD0和管理平台进行初始化和配置的,要求实现高级加密标准。

1.2 无线网络结构

ZigBee网络由一个中心协调器(Coordinator)和多个路由器(Router)组成。路由器在网络中为全功能节点(Full Function Device),和选配的终端节点(End Device)一起组成了ZigBee网状网。ZigBee网状网拓扑结构如图2所示。

图2 ZigBee网状网拓扑结构

图2的ZigBee网络中,路由器既能收发数据,也能充当路由器,转发数据。实际上,中心协调器本身和路由器没有区别。而在一个网络里,必须把某个路由器作为主节点,并设置整个网络所共用的PAN ID,例如所有路由器的出厂PAN ID都设为PAN ID=0x199B。在组网时,需要把其中一个路由器作为主节点,设置除0x199B的0x0001~0xFF00中的任意的PAN ID。在这个网络里,有唯一的PAN ID,任意想要加入网络的节点,需要设置为相同的PAN ID才可以加入。该网络中的任意两个节点都可以进行通信,即使其他节点都断电了,当然也有可能中心协调器也断电,这两个节点间还是可以进行通信的。

2 节点的构成

2.1 FPGA具体配置

本文采用的FPGA主芯片是Altera公司的EP1C6Q240C8[10],它有240个引脚、6 030个 LE以及26个M4K结构的片上RAM(共计239 616位),而且含有2个高性能PLL以及多达185个用户自定义的I/O口。由于该器件是FPGA与CC2530的协调操作,所以FPGA需要根据CC2530的输入/输出进行配置,而CC2530是既作为MCU,又作为数据传输端的芯片。FPGA内部结构如图3所示。

图3 FPGA内部结构

EP1C6Q240C8根据CC2530发送来的控制信号,根据时钟单元对CC2530接收到的数据进行协议的检测。若检测正确,便发送到数据控制逻辑单元,再根据地址译码存入数据存储单元。在需要输出时,也是通过CC2530的信号发送来控制输出。在FPGA中,最重要的便是数据控制逻辑单元,其中包含了控制比较和数据传输的功能。

2.2 CC2530内部设置

MCU与无线传输接收模块使用TI公司的CC2530,具体选用了CC2530F256[11]。它具有256KB闪存块,VDD为2~3.6V,fc为2 394~2 507MHz。使用C语言对CC2530进行编程,主要是对RF收发器的配置,而对于该器件,需要在控制RF收发器的同时,对FPGA进行控制,部分程序如下:

以上程序主要是控制3种模式的切换:数据发送、数据接收和FPGA控制。除此之外,还需要设置3种模式的函数,特别是对FPGA的多种控制,需要进行函数的嵌套。波特率的设置也要根据需要而确定。另外若作为中心协调器,还需要配置PAN ID等等。

3 连接及状态

3.1 模块连接

使用CC2530最小系统板,其中使用RS232对其进行编程配置和数据的发送和接收。在CC2530上,RF_N和RF_P引脚作为无线的发送接收。在对芯片编程时,需要先用9针串口线把最小系统板的串口跟PC的串口相连,然后使用Keil软件把程序烧录到芯片中。在程序烧入后,拔掉PC上的插线,接到FPGA开发板的串口上。对于最小系统板,数据的发送和接收需要经过SP3223E串口的转接,由于正常的9针串口都是使用2、3引脚进行传输,所以习惯地把CC2530的P0.2、P0.3口接到SP3223E上,然后把CC2530的 GPIO口上编号为P0.0、P0.1、P0.4的引脚连接到FPGA上编号为A0、A1、A4的3个引脚上,这样便完成了模块的互连。

3.2 运行状态

由于CC2530作为两个功能的使用对于状态的控制需要特别安排,以免出现错误。配置EP1C6Q240C8和CC2530F256后得到状态转换方式,状态转换图如图4所示。

图4 状态转换图

CC2530在接通电源后便处于待机状态,在由按键信号触发后,便开始转入FPGA控制状态,实际程序中是开始运行FPGA控制函数,然后发送控制信号给FPGA。之后,CC2530便又返回待机状态,等待无线信号的接收,等到接收后便发送给FPGA。此时FPGA经过收到需要接收的控制信号判断后,对CC2530发送过来的信号进行存储。经过存储之后,继续等待FPGA的控制信号。若CC2530收到了需要发送的控制信号,FPGA便进入了发送等待的状态,直到CC2530开始进行接收或是再次进入等待状态后,再读取,然后发送给CC2530。

4 实验结果

设置多节点后,使用串口工具连接CC2530,使用Sea-Solve软件进行无线网络的测试,得到实时测试图Sea-Solve信号频谱测试图如图5所示。

图5 SeaSolve信号频谱测试图

信号在2.4GHz左右增益达到了36dBm,而其他频率在80dBm左右,这样可以看出,ZigBee信号能在2.4 GHz接收到敏感信号。SeaSolve频谱峰值图如图6所示。

根据频谱峰值图,其在各频率的峰值和原频谱测试图区别不大,信号在2.4GHz左右接近35dBm,由图可以看出,在固定频率上的信号的波动比较小,抗干扰性较好。

图6 SeaSolve频谱峰值图

在组网之后,使用串口工具进行测试,得到测试图如图7所示。

图7 串口工具测试图

根据ZigBee协议,0FDH为数据传输指令,第2个16进制数为数据长度,第3~4个16进制数为目标地址。若是数据接收,则后面会加入原地址数据。由图中可知,本机发送的地址为2001H,另一端为2000H。

结 语

本文设计了一种基于ZigBee协议的无线网络节点,节点的设计对于整个无线传感器网络至关重要,其稳定性和可靠性关系着测试任务的成败[12]。现在很多工业的设计都把CC2530单独作为一个ZigBee模块,这是由于TI公司在制作CC2530芯片时,已经预配置了ZigBee协议。在使用ZigBee模块时,只用其封装后的RS232接口,不需要了解内部便可使用,而实际上CC2530作为一种MCU,其内核是8051,它除了无线功能外也具有单片机所具备的功能。使用CC2530与FPGA的搭配,不仅使得CC2530更大限度地被利用,而且弥补了FPGA需要再外接MCU控制的缺陷,也不需要再使用另外的单片机来接以CC2530作为核心的ZigBee模块。在这个设计中,在芯片相接时需要进行频率的搭配,电平的转换等。因此,如果选用合适的芯片进行搭配,会使其更加快速和方便。

[1]赵华,殷奎喜,邵建华.基于无线传感网的室内安全环保监控系统[J].微计算机信息,2010,26(1):21-34.

[2]王焱,符江.基于FPGA的无线传感网络协调器设计[J].微计算机信息,2010(26):25-39.

[3]Ruairí,Ronan Mac,Keane,et al.A Wireless Sensor Network Application Requirements Taxonomy [C]//Sensor Technologies and Applications,Cap Esterel,2008:209-216.

[4]Culler D,Estrin D,Srivastava M.Guest Editors'Introduction:Overview of Sensor Networks[J].Computer,2004,37(8):41-49.

[5]Luo R C,Tu L C,Chen O.Auto-Deployment of Mobile Nodes in Wireless Sensor Networks Using Grid Method[C]//IEEE International Conference on Industrial Technology,Hong Kong,2005:359-360.

[6]Akyildiz Ian F,Kasimoglu Ismail H.Wireless Sensor and Actor Networks:Research Challenges[J].Ad Hoc Networks,2004,2(4):351-367.

[7]朱斌,唐勇,谭勇,等.基于ZigBee的工控网数据采集传输系统设计[J].化工自动化及仪表,2010,37(4):81-85.

[8]Sinha A,Chandrakasan A.Energy Aware Software[C]//Proc.VLSI Design 2000,Calcutta,India:2000.

[9]Sinha A,Chandrakasan A.An Dynamic Power Management in Wireless Sensor Networks[J].IEEE Design & TEX of Computers,2001,18(2):62-74.

[10]Altera Corporation.Cyclone Device Handbook[EB/OL].[2012-02-21].http://www.altera.com.

[11]TI.CC253XUser's Guide[EB/OL].(2010-06-25)[2012-02-21 ]. http://focus. ti. com/docs/prod/folders/print/cc2530.html.

[12]陈凯,张丕状,韩焱.无线传感器网络节点的模块化设计[J].传感器与微系统,2008,27(6):94-96.

猜你喜欢

无线网络路由器串口
买千兆路由器看接口参数
维持生命
路由器每天都要关
路由器每天都要关
浅谈AB PLC串口跟RFID传感器的通讯应用
滤波器对无线网络中干扰问题的作用探讨
无线网络的中间人攻击研究
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信