当前位置:首页 > 单片机 > 单片机
[导读] 本文主要介绍了一款以ARM7芯片AT91SAM7X256为核心,μC/OS-II 为操作系统的基于Zigbee 技术无线投票基站的设计。该基站用于连接Zigbee 网络和以太网。实现了无线投票表决器远程监控和多会议室同时投票

 

本文主要介绍了一款以ARM7芯片AT91SAM7X256为核心,μC/OS-II 为操作系统的基于Zigbee 技术无线投票基站的设计。该基站用于连接Zigbee 网络和以太网。实现了无线投票表决器远程监控和多会议室同时投票功能。主要分析了该基站的软件设计,介绍了基站如何建立无线投票表决器网络,收集表决器的投票情况,接受远程监控访问的过程。并且对其硬件平台的结构做了相应描述。

 

1 引言

 

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

 

2 系统概述

 

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

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

 

3 硬件设计

 

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

图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 软件设计

图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 数据缓冲区中,并向投票表决器发送回复帧,向用户指示成功发送。然后收回该投票表决器的网络短地址,使其脱离该网络,防止用户进行二次投票。

图4 应用程序。

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

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

4.4 实现结果

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

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

5 结论

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

 

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭