ZigBee无线通信模块[2]在整个集线器设计中也起着举足轻重的作用。ZigBee模块中RF(射频)收发器采用射频收发模块采用UZ2400芯片,微处理器采用8051芯片。RF收发器是ZigBee设备的核心,任何ZigBee设备都要有RF收发器。它与用于广播的普通无线收发器的不同之处在于体积小,功耗低,支持电池供电的设备。它主要进行信号的调制与解调、发送和接收等。微处理器通过SPI总线与RF收发器相连,主要用于处理射频信号、控制和协调各部分器件的工作,通过串口与外部设备之间进行通信。ZigBee模块还包括存储器、晶振、天线、串口等器件。如图3所示:
图3 ZigBee无线通信模块结构图
4 软件设计
4.1 操作系统软件设计
软件主要包括操作系统软件和应用程序两部分。集线器ARM9微处理器中ARM BIOS软件完成ARM的初始化、SDRAM设置以及嵌入式Linux的加载,最后控制权交给操作系统Linux,此后系统在Linux的管理下运行应用程序。
ARM9微处理器中,选用嵌入式Linux[3-5]作为操作系统。与其他嵌入式操作系统相比,Linux以其易于移植裁减、内核小、效率高、完整及性能优异的网络模块、源代码开放并有众多的开发者等优越的性能,在嵌入式领域得到广泛的认同。所以采用Linux可使产品研发周期大大缩短。采用ARM9微处理器及嵌入式Linux操作系统可开发出在多媒体及无线通信等方面具有优异性能的无线手持设备。
用嵌入式Linux软件系统进行系统开发,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面等。首先建立交叉编译环境。建好交叉编译环境之后,大致还要做以下五方面的工作:①引导装载程序(BootLoader),能实现系统的快速引导,提供瞬间开机功能。负责将Linux内核加载到内存,并将控制权交给内核初始化程序;②Linux内核(Kernel)的移植与裁减,Linux内核采用模块化的组织结构,通过增减内核模块的方式来增减系统的功能,正确合理的设置内核的功能模块,只编译系统所需功能的代码,来获得更高的运行速度;③装载文件系统(File system)嵌入式系统一般不具备硬盘等大容量存储体,而用Flash为主存储器,其文件系统也具有特殊性;④开发图形用户界面(GUI);⑤选择上层应用程序(Application)。
其中较为重要的是对ZigBee无线通信模块协议的编写。根据硬件条件的需要改写ZigBee协议[6],使系统在最简洁的程序下发挥硬件的最大功能。ZigBee是基于802.15.4标准开发的关于组网、安全和应用软件方面的技术标准。ZigBee协议包括高层应用规范(profile)、汇聚层、网络层、数据链路层和物理层。其中数据链路层和物理层标准由IEEE 802.15.4负责制定,网络层以上由ZigBee联盟制定。IEEE 802.15.4标准于2003年5月制定完成,它满足国际标准化组织(ISO)开放系统互连(OSI)参考模型,主要包括物理层、数据链路层。IEEE 802.15.4协议与其他无线网络相比,突出的优点是:组网能力强,适应面广,可靠性高,节能性好。
相对于其他常见的无线通信标准,ZigBee协议栈具有紧凑而且简单的特点,而且对环境配置要求不高。如图4所示:
图4 ZigBee的协议栈模型
ZigBee节点加入及脱离网络握手协议的设计为:当某一个ZigBee节点要求加入网络时,只要将自己的信道设置成与集线器中ARM微处理器所使用的信道相同,并提供正确的认证信息,即可请求加入网络。同理,一个ZigBee节点要离开网络,只须向ARM微处理器提出请求即可。一个节点成功地加入或脱离网络,都必须由ARM微处理器控制。因此,集线器中ARM微处理器可以实时掌握网络的所有节点信息。
4.2 应用软件设计
应用软件在系统软件Linux的平台上进行开发。应用软件根据实际需要进行安装,可以广泛应用于工业控制、家庭自动化、医疗护理、智能农业、消费类电子和远程控制等领域。安装不同的应用程序实现对各种智能电器、侦测/监控设备的通信和操控。
5 结束语
本文是利用ARM微处理器和ZigBee模块组成无线串口集线器,进而组成无线网络。基于ZigBee的串口集线器的应用将是大量的。它可以应用于家庭网、楼宇自动化、车载系统、小型办公室等,具有布置美观方便,无须专业人员维护等优点,对未来社会信息化进程将具有深远的意义。Internet的家庭宽带接入和家庭设备共享将成为主流,串口集线器在家庭中将发挥不可替代的作用。另外,基于ZigBee的串口集线器在工农业生产等方面的应用前景也是广阔的,它可以应用于工农业生产中的自动化、网络化和智能化地进行远程设备控制。