当前位置:高校自动化网 >> RIFI >> 浏览文章

ZigBee无线通信网络的指纹考勤网络设计整体方案设计

文章来源:www.chinaaet.com 作者:伍龙山 戴志强 王凯旋 刘静微


该文章讲述了ZigBee无线通信网络的指纹考勤网络设计整体方案设计.

 

  一、ZigBee无线通信网络的指纹考勤网络设计整体方案设计

  (一)星型ZigBee无线通信网络方案

  在指纹识别过程中,指纹终端产生的数据是很少的,通常为几十个字节,因此对通信系统的带宽要求较低。ZigBee可实现250kbps的,通信距离一般介于10—100m间,以及低成本、高容量使其成为恰当的选择。

  在ZigBee无线通信网络中设备单元有3种:协调器、路由器和终端。在本文中,我们组建包括一个协调器、多个终端的小型ZigBee网络。协调器通过串口与上位机(或另一网络端)相连{zigBee终端接到指纹识别模块,并配合液晶扩展板实现对IDWD5002模块的控制。指纹考勤结果的各信息在上位机管理软件中显示。图1为系统方案。

  图1 指纹考勤网络设计方案

  (二)硬件模块方案

  在网络中需要使用的模块有:ZigBee无线网络模块和指纹识别模块。

  ZigBee无线通信模块选择为RF一2430。RF一2430提供SPI和UART与外部通信,其中UART可高达115.2kbps。指纹识别模块选择为IDWD5002,其通讯接口为RS232。该模块作为从设备,由主设备发送相关命令对其进行控制,可调节安全等级、指纹特征数据的读/写和1:N识别及1:l验证等。

  使用ZigBee无线通信模块配套的液晶扩展板,通过RS232与指纹识别模块IDWD5002相连接。

  二、指纹考勤网络方案实现

  在网络软件开发中,使用的是IAR7.3OB平台,ZigBee网络协议为Ziggee2006协议栈。

  在协议安装完成后,路径C:\Texas Instrument\zstack一1.4.3—1.21\Project\zstack\utilities下有的SerialApp工程实现了简单的无线数据传输功能。全双工通信和流量控制,在数据发送超时或丢包时,具有数据重发功能。因此,在此工程基础上修改,可以实现需要的ZigBee网络。

  (一)配置网络参数。

  在本文中需要构建的是一个一层的星型网络, 首先是设定网络的类型。在nwk—globals.h文件中,STACK PROFILE ID 的定义就是网络的类型,将其定义为GENERIC STAR;最大网络深度MAX NODE DEPTH改为t。网络中最大设备数是由NwK—MAXDEVICE—LIST确定的,而且通常都会留有一定的余量,将其改为需要的数量。在文件nwk~globals.C中,数组CskipRtrs和数组CskipChldrn确定网络的结构,将其改为需要的值。同时,在f8wConfig.cfg中设定信道、PAN_ID、绑定表最大记录数和单个记录绑定族ID最大数,并加入REFLECTOR编译标志。

  (二)主体程序设计。

  对于给定的SerialApp.c中,主体的框架已经有了基本的轮廓;同时在文件0SAL—SerialApp.c中任务初始化合事件添加都已经完成。我们通过对SerialApp.C和其头文件的添加和修改就可以完成程序。网络中的数据通信时通过命令来识别发送目的地的。’这样可以不必注意终端网络地址变动,而实现数据的通信。

  1.设备绑定实现。

  在ZigBee2006协议中,数据通信是基于命令绑定方式实现的。绑定允许应用层发送信息需要带目的地址,APS层确定目的地址从它的绑定表格中,然后在信息前端加一h这个目的地址或组。在设备绑定中有多种绑定方式,如源绑定等。本文中采用的是源绑定方式,这需要在编译选项中加入REFLECTOR。绑定过程是由用户终端发起的。首先终端向协调器发送描述符匹配请求,协调器接到描述符匹配请求后,在ZDO消息处理函数中给命令输出列表中添加输出命令,并初始化该命令对应的管理数据单元。终端接到匹配响应后完成命令绑定。接着向协调器发送带有绑定命令的数据帧到协调器,协调器接收到绑定命令数据帧后,重复上面的操作。这样就完成了终端和协调器的双向绑定,其过程如图2所示。当终端接收到描述符匹配请求后,向协调器发送数据帧并传送到上位机,通知终端加入网络。

  2.程序实现。

  在本文中阐述的网络是单层的星型数据网络,需要为每个加入网络的终端分配资源。在SerialApp.C中添加数据接收序列号数组和发送序列号数组,数据接收存储结构体和数据发送结构体,修改接收和发送族数组。

  协调器从串口接收到上位机传来的数据,必须根据数据中包含的命令发送到对应的终端。根据约定的数据帧格式,从数据帧中提取命令并赋给当前发送终端参数。当数据帧接收完毕,启动OTA发送任务将接收到的数据帧以绑定的方式发送;在接收到确认消息后继续发送剩余的数据。如果上位机是连续发送数据,则还需要一个接收存储结构体,使得已经接收到的数据能完整的发送给终端。对于数据的接收就相对发送就简单得多了。指纹识别模块向ZigBee终端发送的数据通常都是很小的,为几卜个字节。因此协调器接收到数据后,可直接通过串口发送到上位机。

  相对于协调器,用户终端是一个精简的ZigBee网络单元。在指纹考勤网络中,ZigBee终端有两个主要功能。其一,完成数据的通信:其二,实现对指纹识别模块的控制。由于指纹模板比较大,这就需要对从协调器接收的数据整合成一个完整的数据包。它包括指纹识别的命令包和数据包。上位机将指纹模板分割成几个数据帧发送,这样是为了适应协调器串口接收要求。因此,在终端接收数据时,就必须将原来完整的数据恢复,然后发送到指纹模块。指纹模块实现指纹识别需要外部发送指令进行控制。在ZigBee终端的液晶扩展板上有4个按键可用于对指纹模块的控制。在终端的程序中加入对按键的响应和指纹模块响应处理就可实现对IDWD5002指纹模块的控制。最后在程序中将指纹识别模块识别结果打包发送到协调器,至此完成ZigBee终端的程序设计。

  (三)IDM)5002指纹识别模块控制。

  IDWD5002指纹识别模块与zigBee终端液晶扩展板连接后,通过按下上面的按键,实现对其控制。从按键按下后,指纹采集时间约3秒,这可以通过指纹模块进行更改。在指纹采集的过程中,光学采集仪会有紫色背景光。登记手指按下后,紫光消失。这时可以在上位机上看到识别结果。

相关文章:
  • 关于dbμV、dbm 、dbw
  • 电磁波常用的测量单位
  • 微功率短距离无线电设备的技术要求
  • 上一篇:全国无线电 检测 技术演练题库
    下一篇:没有了
    最近更新