0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Zigbee技术实现了无线投票表决器远程监控与投票功能

电子设计 来源:郭婷 作者:电子设计 2018-12-26 09:10 次阅读

1 引言

投票表决器在选举,会议,教学,娱乐节目中得到大量的使用。现行的无线表决系统采用单一的无线网络,使无线终端设备与上位机进行通信。由于无线网络存在传输距离有限,对障碍物穿透性较差等问题,无法实现远程监控和多会议室同时投票等问题。本文利用Zigbee 技术具有低功耗,使用频段免费和以太网具有传输远,传输速率快等特点,将二者相结合,设计了一款无线投票表决器基站。实现了无线投票表决器远程监控和多会议室同时投票功能。

2 系统概述

整个无线投票表决器系统,由监控中心,基站,表决器组成,如图1 所示。基站既作为远程监控中心与无线投票表决器设备通信的枢纽,并且还作为无线投票表决器网络中的协调器,维护和管理整个无线网络。基站收集各投票表决器的投票情况,接受远程监控中心的指令和定时访问。

基于Zigbee技术实现了无线投票表决器远程监控与投票功能

图1 无线投票表决器系统整体结构

3 硬件设计

基站硬件结构如图2 所示,由ARM7 处理器AT91SAM7X256、无线模块、以太网模块,存储模块,电源模块,和显示模块组成。

基于Zigbee技术实现了无线投票表决器远程监控与投票功能

图2 硬件整体结构

其中AT91SAM7X256 作为整个基站的主控芯片,由Atmel 公司出品,它集成了ARM7TDMI 处理器,片内256KB Flash 和64KB SRAM,还包括了USART、SPI、CAN 控制器Ethernet 网口等外围设备。

无线模块采用CC2520 芯片。CC2520 是由TI 公司推出的第二代基于Zigbee/IEEE802.15.4 协议的收发芯片。丰富的硬件支持帧处理,数据缓存,数据加密,CCA 等操作。CC2520 通过SPI 接口与AT91SAM7X256 实现通信。AT91SAM7X256 分别通过/CSN 引脚和VREG_EN 引脚对CC2520 进行片选和使能,GPIO4 引脚为AT91SAM7X256 提供接收数据帧起始信号和发送数据帧结束信号。

以太网模块采用DM9161 芯片,DM9161 是Davicom 公司推出的能实现全部10M/100M 以太网物理功能的低功耗高性能物理层收发器

4 软件设计

基于Zigbee技术实现了无线投票表决器远程监控与投票功能

图3 软件整体结构。

软件整体结构框图如图3 所示。本基站采用μC/OS-II 操作系统,并在此操作系统上完成基于TCP/IP协议的LwIP 协议栈和基于Zigbee 协议的msstatePAN协议栈的移植,以及以太网网卡驱动程序,无线收发芯片驱动程序,应用程序的编写工作[3,4].下面将详细对驱动程序和应用程序进行详细的说明。

4.1 以太网网卡驱动

由EMAC_INIT()函数完成对EMAC 的初始化设置,其中包括对EMAC 操作模式、MII 接口和PHY进行配置,设置发送和接收缓冲区描述符[5].MII 接口是IEEE-802.3 定义的以太网行业标准,用于 FastEthernet MAC-block 与各种类型的PHY 连接[6]. 它包括一个数据接口,以及一个MAC 和PHY 之间的管理接口。在PHY 上电后,先对DM9161 进行一次软件复位操作,待软件复位结束后使EMAC 和PHY 各自进行初始化设置,并使能EMAC 和PHY 接口,然后实现自动协商过程,在自动协商过程中,依靠MDIO接口是EMAC 和PHY 进行通讯,使二者配置成相同的速度和双工模式。最后设置EMAC 地址并完成接收和发送缓冲区标识符的初始化工作,使得每个描述符指向正确的缓冲地址并将描述符首地址写入队列指针寄存器。EMAC 的数据包读取和数据包传送分别由EMACReadPacke()和EMACSendPacket()函数来完成,其中为了保证获得正确的数据包读取位置在读取数据包之前必需先调用GetInputPacketLen()函数获得数据包的长度。

4.2 Zigbee 收发芯片CC2520 驱动

由初始化模块,数据发送模块和数据接收模块组成。通过初始化模块对CC2520 进行初始化配置。其中包括对CC2520 进行启动,设置网络频道号,发射功率,自动CRC 校验,将GPIO4 管脚配置成用来接收SFD 帧起始信号。

发射模块完成数据的发送任务。下面程序为数据发送过程。

先清除发送缓冲区,再将待发数据包写入发送缓冲区内并进入待发状态,然后根据GPIO4 管脚信号判断数据是否发送完毕,若未发送完毕继续等待,若发送完毕清楚SFD 标志位,最后使CC2520 进入空闲状态。

接收模块完成数据的接收任务。当检测到CC2520的GPIO4 管脚的SFD 信号后,产生中断,进入到接收中断服务程序。接收中断服务程序与发送程序类似,这里不再一一列出。

4.3 应用层

主要实现:1.以太网和Zigbee 网络的建立。2.接受远程监控中心的访问和各项指令。3.维护并管理整个Zigbee 网络。4.接收来自Zigbee 网络中的各投票表决器的投票数据帧。程序流程图如图4 所示。

首先建立以太网络,完成与上位机的连接后,上位机向基站发出建立无线投票表决器网络的基础信息帧。基站根据基础信息帧中指定的频段,PAN 号,发射功率等参数建立Zigbee 网络。各无线表决器申请加入该网络,成功加入后将会将获得由基站(Zigbee 网络中的协调器)分配的一个16 位动态网络短地址。并同时提示用户表决器通信正常。否则提示通信失败。

在设定时限内,基站统计成功加入该网络的投票表决器数目,并向上位机发送统计结果。屏蔽此后所有申请加入该网络的投票表决器设备直到基站收到上位机更新网络的命令。上位机收到参与该阶段的投票表决器总数若大于设定的最低人数时,则向基站发送投票信息帧。若参与该阶段的投票表决器总数若小于设定的最低人数时上位机则向基站发送延长等待投票表决器加入网络的时限指令。若再次超过时限仍未达到指定人数则提示该阶段投票无效。投票信息帧中包括本阶段投票的投票格式,投票类型等内容。基站收到投票信息帧后并向整个Zigbee 网络进行广播,此时投票开始进行。Zigbee 网络中的各投票表决器根据收到的投票信息帧,将提示用户进行相应的投票操作。用户完成投票操作后,投票表决器将投票数据帧发送给基站,基站将投票数据帧存入到Zigbee_BUF 数据缓冲区中,并向投票表决器发送回复帧,向用户指示成功发送。然后收回该投票表决器的网络短地址,使其脱离该网络,防止用户进行二次投票。

基于Zigbee技术实现了无线投票表决器远程监控与投票功能

图4 应用程序。

上位机定时向基站进行访问,基站收到访问请求后向上位机传输数据缓冲区内容。上位机收到后返回信息确认帧。基站接受到上位机的信息确认帧之后清除数据缓冲区内容。基站在规定投票时限内,收回所有网络短地址,使本次加入该网络的投票表决器全部脱离,停止用户进行投票。

完成该阶段投票过程后,进入新阶段投票时,上位机向基站发送更新网络命令。此时,基站重新允许投票表决器加入该网络。开始新一轮的投票过程。

4.4 实现结果

基站完成了联调工作。成功的实现了本文介绍的全部功能。图5 为频谱仪监测基站与无线投票表决器进行通信时的数据传输情况。

图5 远程监控中心上位机监控软件。

5 结论

本文设计的基站实现了以太网和Zigbee 网络的连接,为Zigbee 网络实现远程监控提供了一些思路。该基站已投入市场,并取得良好的经济效益。如何在功耗和传输速度上提高基站的性能以及设计出能与现行的多种协议互联的基站是我们今后研究的重点。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19265

    浏览量

    229671
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9088

    浏览量

    367405
  • 远程监控
    +关注

    关注

    2

    文章

    1292

    浏览量

    30224
  • ZigBee
    +关注

    关注

    158

    文章

    2270

    浏览量

    242741
收藏 人收藏

    评论

    相关推荐

    用AT89C51实现三人表决器

    本帖最后由 eehome 于 2013-1-5 09:58 编辑 用AT89C51实现三人表决器
    发表于 08-14 19:39

    7人表决器

    用循环语句设计一个7人投票表决器,速求
    发表于 04-23 18:01

    滚动显示屏,无线传感投票

    滚动显示屏,无线传感投票
    发表于 11-11 21:53

    8人表决器

    8人表决器电路,,源文件
    发表于 04-12 09:43

    三人表决器的VHDL设计实现,求代码

    三人表决器的VHDL设计实现求代码
    发表于 11-10 13:50

    如何设计一个无线电子表决器

    以微型处理为核心,外围配以存储,键盘及led显示,设计出一种实用的无线电子表决器
    发表于 03-13 15:02

    基于Zigbee无线投票表决器基站设计

    1 引言 投票表决器在选举,会议,教学,娱乐节目中得到大量的使用。现行的无线表决系统采用单一的无线网络,使无线终端设备与上位机进行通信。由于
    发表于 07-24 16:45 1841次阅读
    基于<b class='flag-5'>Zigbee</b>的<b class='flag-5'>无线</b><b class='flag-5'>投票表决器</b>基站设计

    EDA/三取二表决器设计

    掌握在 Quartus Ⅱ开发环境下,运用硬件描述语言输入法对“三人表决器”进行设计输入、编译、调试和仿真的方法。
    发表于 01-15 15:27 0次下载

    无线投票原理图+源代码

    基于单片机的无线投票,使用的是NRF24L01无线接收模块实现,欢迎相互交流。
    发表于 07-20 14:39 16次下载

    单片机的无线匿名投票装置

    、蓝牙等无线技术无线投票表决系统陆续开发出来。本文设计了一套基于单片机的小型的匿名无线投票装置
    发表于 01-18 16:26 3次下载
    单片机的<b class='flag-5'>无线</b>匿名<b class='flag-5'>投票</b>装置

    采用MSP430F135单片机实现无线投票表决器的设计

    该设计实现了基于MSP430F135和CCllOO的无线表决系统的主控制装置和表决器的软硬件,并利用Microsoft Visual Studio 2005
    的头像 发表于 09-13 09:32 5882次阅读
    采用MSP430F135单片机<b class='flag-5'>实现</b><b class='flag-5'>无线</b><b class='flag-5'>投票表决器</b>的设计

    锆石FPGA A4_Nano开发板视频:三人表决器功能叙述与设计

    表决器无线表决器两大类,其中有线表决器已经退出此项市场,而无线投票表决器无需安装,会议之前准备
    的头像 发表于 09-23 07:09 2475次阅读
    锆石FPGA A4_Nano开发板视频:三人<b class='flag-5'>表决器</b>的<b class='flag-5'>功能</b>叙述与设计

    锆石FPGA A4_Nano开发板视频:三人表决器的设计与分析

    表决器,是投票系统中的客户端,是一种代表投票或举手表决表决装置。表决时,与会的有关人员只要按动
    的头像 发表于 09-23 07:05 3092次阅读
    锆石FPGA A4_Nano开发板视频:三人<b class='flag-5'>表决器</b>的设计与分析

    protel dxp三人表决器

    protel dxp 三人表决器
    发表于 06-14 15:00 0次下载

    基于51单片机的7人多数投票表决器设计

    基于51单片机的7人多数投票表决器设计 ( proteus仿真+程序+设计报告+讲解视频) 仿真图proteus8.16(有低版本) 程序编译:keil 4/keil 5 编程语言:C语言
    的头像 发表于 11-09 09:48 755次阅读
    基于51单片机的7人多数<b class='flag-5'>投票表决器</b>设计