一种ZigBee以太网网关的设计
扫描二维码
随时随地手机看文章
摘要 基于物联网中应用广泛的ZigBee技术,设计的ZigBee以太网网关为物联网和互联网之间的数据传输搭建了桥梁。阐述了网关软硬件设计和测试过程,测试结果表明,设计的网关具有较强的技术优势和广阔的市场前景。
关键词 ZigBee;以太网;网关;物联网
物联网,即物物相连的网络,目前已广泛应用于公共安全、智能交通、智能楼宇和环境监测等众多领域。ZigBee是一种低速率、低功耗、网络容量大、节点间能够进行群体协作,网络具有很强自愈能力的无线通信技术,在物联网应用中得到了广泛使用。随着物联网技术的不断发展和推广,解决物联网和互联网之间的异构互联,在物联网和互联网之间建立一个透明的数据传输通道,为现场非IP物联网设备接入IP网络提供技术保证,也将成为物联网技术研究的热点和重点。
1 硬件设计
1.1 网关硬件架构
网关硬件架构由LM3S6911微处理器单元、系统电源单元电路、JTAG接口单元电路、RS232接口单元电路、以太网接口单元电路和ZigBee射频模块组成,网关硬件架构如图1所示。由于ZigBee射频电路需要进行2.4 GHz射频电路设计,因此把ZigBee射频电路部分进行了独立设计,射频电路板通过排针与主控板相连接。
1.2 主控板电路设计
主控板设计选用高性能、低成本ARM Cortex—M3嵌入式微处理器LM36911,其内置一个完全集成了媒体访问控制层(MAC)和网络物理层(PHY)的10/100 MHz以太网控制器,遵循IEEE802.3协议规范,MAC层提供以太网帧的发送和接收处理,PHY层只需要一个双路1:1隔离变压器就能够与以太网线路连接。设计中使用内置磁性隔离变压器的RJ45以太网连接器HR911105A与LM3S6911处理器的PHY直接相连,使得以太网外围接口电路简单、抗干扰能力强,主控板电路设计如图2所示。
LM3S6911同时提供两个同步串行接口(SSI)和3个通用异步收发器(UART),设置SSI0为SPI接口,通过SPI总线与ZigBee射频模块相连接。由于ZigBee以太网网关需要对其进行参数配置后才能正常工作,设计使用LM3S6911的UART0作为配置串行端口。
1.3 射频模块电路设计
ZigBee射频模块电路选用TI公司的2.4 GHz IEEE802.15.4和ZigBee应用片上系统解决方案专用芯片CC2530,CC2530能够以较低的成本构建强大的ZigBee无线网络,内置了性能优良的IEE 802.15.4兼容无线射频收发器和业界标准的增强型8051 CPU内核。
为增强ZigBee射频模块的发射功率和接收灵敏度,在射频电路设计中增加了2.4 GHz射频前端芯片CC2591,CC2591内置了功率放大器(PA)和低噪声放大器(LNA),使输出功率可达22 dBm,接收灵敏度可达-98.8 dBm,扩展了ZigBee无线射频信号的传输距离。
CC2530的RF输入输出为高阻抗差分信号,CC2591除了内置PA、LNA和RF开关电路外,还内置了巴伦电路和RF匹配网络,这使得在配合少量的外围被动器件,能够与CC2530进行良好的RF匹配,简化了无线射频电路设计,降低了射频电路中由于被动器件参数误差造成的无线信号衰减,射频模块电路设计如图3所示。
为达到最佳射频性能,CC2591电源引脚AVDD_PA1、AVDD_PA2和AVDD_LNA电源去耦器件C6、C7、C8、L3、L4、TL1、TL2和TL3必须被使用,其中TL1、TL2和TL3为PCB走线感抗等效值,近似值分别为TL1=0.66 nH,TL2=0.87 nH,TL3=2.52 nH,C5对AVDD_BIAS进行去耦。
CC2591的射频输出引脚通过L5、C9、C10、C11和L6组成的网络与外接50 Ω天线进行阻抗匹配,其中L5和C9组成滤波网络进行滤波,C10起隔直作用,C11进行高频滤波,L6进行低频滤波。
ZigBee在24 GHz频段最大传输速率是250kbit·s-1,设计中射频模块通过CC2530的SPI接口与主控板相连接,可满足ZigBee的数据传输速率要求。
2 软件设计
2.1 主控板软件设计
主控板软件设计在LM3S6911微处理器上移植了μC/OS-Ⅱ嵌入式实时操作系统,μC/OS-Ⅱ是一个开放源码的实时操作系统,但它只是一个实时的任务调度及通信内核,缺少对外围设备和接口的充分支持。为获得对以太网接口的支持,在其上移植了LwIP(Light Weight IP)TCP/IP协议栈。LwIP是一套用于嵌入式系统的开放源代码的TCP/IP协议栈,实现的重点是在保持TCP协议主要功能的基础上减少对RAM的占用,适合在低端嵌入式系统中使用。
在设计中基于μC/OS-Ⅱ操作系统,同时编写了SPI通信驱动程序和串口通信驱动程序,其中SPI驱动程序用于和ZigBee射频模块进行通信,串口驱动程序用于提供网关的串口配置功能。主控板软件工作流程如图4所示。
其中OSTaskCreate(taskStart,…)为μC/OS-Ⅱ操作系统第一个任务,在其中要进行目标板和TCP/IP的初始化,并建立以太网通信处理任务taskNet、SPI通信处理任务taskSPI和串口通信处理任务taskUART,最后通过OSStart()启动μC/OS-Ⅱ内核。以太网通信处理任务task Net启动LwIP协议栈,完成TCP和UDP相关通信服务;SPI通信处理任务taskSPI完成通过SPI总线与ZigBee射频模块的通信;串口通信处理任务taskUART完成网关参数配置相关工作。
2.2 射频模块软件设计
ZigBee射频模块软件设计是基于CC2530芯片,移植了TI公司的ZigBee协议栈Z-Stack,Z-Stack协议栈采用轮转查询式操作系统,包括系统初始化和操作系统的执行,系统初始化完成初始化硬件平台和软件架构所需要的各个模块,为操作系统的运行做好准备工作,系统初始化完成后,就开始执行操作系统入口程序。轮转查询式操作系统专门分配了存放所有任务事件的tasksEvents[]数组,每个单元对应存放着每一个任务的所有事件,操作系统通过一个do—while循环来遍历tasksEvents[],找到优先级最高的任务来处理,射频模块软件工作流程如图5所示。
2.3 SPI通信协议设计
ZigBee射频模块通过SPI总线和主控板进行通信,网关设计中配置主控板为SPI主机,射频模块为SPI从机,主机和从机之阀的双向通信均采用应答和超时重发机制。根据SPI总线传输协议,从机不能主动向主机发送数据,所以采用—个主机和从机之间相连的GPI0口,来配合完成从机向主机的数据发送功能,主机到从机通信流程如图6所示,从机到主机通信流程如图7所示。
3 网关测试
3.1 测试方法
网关测试使用两台ZigBee以太网网关、两台电脑和TCP&UDP测试工具软件进行,在电脑X和电脑Y上分别安装TCP&UDP测试工具软件,网关测试如图8所示。
3.2 测试结果
网关A ZigBee参数配置:设备类型(协调器)、通信信道(2.410 GHz)、网络标识(0x1123)、发送模式(点对点);网关B ZigBee参数配置:设备类型(终端)、通信信道(2.410 GHz)、网络标识(0x1123)、发送模式(点对点)。
网关A通过其以太网接口和电脑X相连,网关A以太网参数配置:通信协议(TCP)、通信模式(服务器);电脑X上运行TCP&UDP测试工具软件,以太网参数配置:通信协议(TCP)、通信模式(客户端),配置完成后连接网关A。以同样的方式通过以太网接口连接网关B和电脑Y,并进行参数配置,之后完成TCP连接工作。
配置和连接工作完成后将网关A和电脑X分别置于一点(M点),将网关B和电脑Y分别置于距离M点视距D米的另一点(N点),在电脑X上通过TCP&UDP测试工具软件每隔Ts,发送一次包长为LByte的数据包,在电脑Y上进行数据接收;反之在电脑Y上发送数据包,在电脑X上接收数据,通过此种方法进行ZigBee以太网网关数据传输测试。
从表1中可以看出,在传输距离为视距600 m和800 m时,数据传输丢包率均为O;在视距1 000 m时,由于无线信号衰减,出现了较小的数据丢包或者断包。由测试结果可以得出,设计的ZigBee以太网网关在发送包长为1 024 Byte的情况下,能够保证在视距800 m之内进行数据可靠传输,在视距1 000 m时丢包率很小,在同类产品中具有较好的先进性和技术优势。
4 结束语
以物联网实际应用为背景,设计了ZigBee以太网网关解决了广泛应用于物联网领域的ZigBee技术到互联网的连接,在ZigBee无线网络和互联网之间搭建了一个透明的数据传输通道。射频模块的单独设计,从工艺上和技术上,保证了射频PCB板材的选择要求和射频信号特殊处理需求,既降低了产品成本,又提高了产品性能。通过增加射频前端功放电路,提高了射频模块的发射功率和接收灵敏度,网关测试结果表明设计的网关具有显著的技术竞争力和市场推广价值。