0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Zigbee技術(shù)實現(xiàn)了無線投票表決器遠程監(jiān)控與投票功能

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2018-12-26 09:10 ? 次閱讀

1 引言

投票表決器在選舉,會議,教學(xué),娛樂節(jié)目中得到大量的使用。現(xiàn)行的無線表決系統(tǒng)采用單一的無線網(wǎng)絡(luò),使無線終端設(shè)備與上位機進行通信。由于無線網(wǎng)絡(luò)存在傳輸距離有限,對障礙物穿透性較差等問題,無法實現(xiàn)遠程監(jiān)控和多會議室同時投票等問題。本文利用Zigbee 技術(shù)具有低功耗,使用頻段免費和以太網(wǎng)具有傳輸遠,傳輸速率快等特點,將二者相結(jié)合,設(shè)計了一款無線投票表決器基站。實現(xiàn)了無線投票表決器遠程監(jiān)控和多會議室同時投票功能。

2 系統(tǒng)概述

整個無線投票表決器系統(tǒng),由監(jiān)控中心,基站,表決器組成,如圖1 所示?;炯茸鳛檫h程監(jiān)控中心與無線投票表決器設(shè)備通信的樞紐,并且還作為無線投票表決器網(wǎng)絡(luò)中的協(xié)調(diào)器,維護和管理整個無線網(wǎng)絡(luò)?;臼占魍镀北頉Q器的投票情況,接受遠程監(jiān)控中心的指令和定時訪問。

基于Zigbee技術(shù)實現(xiàn)了無線投票表決器遠程監(jiān)控與投票功能

圖1 無線投票表決器系統(tǒng)整體結(jié)構(gòu)

3 硬件設(shè)計

基站硬件結(jié)構(gòu)如圖2 所示,由ARM7 處理器AT91SAM7X256、無線模塊、以太網(wǎng)模塊,存儲模塊,電源模塊,和顯示模塊組成。

基于Zigbee技術(shù)實現(xiàn)了無線投票表決器遠程監(jiān)控與投票功能

圖2 硬件整體結(jié)構(gòu)

其中AT91SAM7X256 作為整個基站的主控芯片,由Atmel 公司出品,它集成了ARM7TDMI 處理器,片內(nèi)256KB Flash 和64KB SRAM,還包括了USART、SPI、CAN 控制器、Ethernet 網(wǎng)口等外圍設(shè)備。

無線模塊采用CC2520 芯片。CC2520 是由TI 公司推出的第二代基于Zigbee/IEEE802.15.4 協(xié)議的收發(fā)芯片。豐富的硬件支持幀處理,數(shù)據(jù)緩存,數(shù)據(jù)加密,CCA 等操作。CC2520 通過SPI 接口與AT91SAM7X256 實現(xiàn)通信。AT91SAM7X256 分別通過/CSN 引腳和VREG_EN 引腳對CC2520 進行片選和使能,GPIO4 引腳為AT91SAM7X256 提供接收數(shù)據(jù)幀起始信號和發(fā)送數(shù)據(jù)幀結(jié)束信號。

以太網(wǎng)模塊采用DM9161 芯片,DM9161 是Davicom 公司推出的能實現(xiàn)全部10M/100M 以太網(wǎng)物理功能的低功耗高性能物理層收發(fā)器。

4 軟件設(shè)計

基于Zigbee技術(shù)實現(xiàn)了無線投票表決器遠程監(jiān)控與投票功能

圖3 軟件整體結(jié)構(gòu)。

軟件整體結(jié)構(gòu)框圖如圖3 所示。本基站采用μC/OS-II 操作系統(tǒng),并在此操作系統(tǒng)上完成基于TCP/IP協(xié)議的LwIP 協(xié)議棧和基于Zigbee 協(xié)議的msstatePAN協(xié)議棧的移植,以及以太網(wǎng)網(wǎng)卡驅(qū)動程序,無線收發(fā)芯片驅(qū)動程序,應(yīng)用程序的編寫工作[3,4].下面將詳細對驅(qū)動程序和應(yīng)用程序進行詳細的說明。

4.1 以太網(wǎng)網(wǎng)卡驅(qū)動

由EMAC_INIT()函數(shù)完成對EMAC 的初始化設(shè)置,其中包括對EMAC 操作模式、MII 接口和PHY進行配置,設(shè)置發(fā)送和接收緩沖區(qū)描述符[5].MII 接口是IEEE-802.3 定義的以太網(wǎng)行業(yè)標(biāo)準(zhǔn),用于 FastEthernet MAC-block 與各種類型的PHY 連接[6]. 它包括一個數(shù)據(jù)接口,以及一個MAC 和PHY 之間的管理接口。在PHY 上電后,先對DM9161 進行一次軟件復(fù)位操作,待軟件復(fù)位結(jié)束后使EMAC 和PHY 各自進行初始化設(shè)置,并使能EMAC 和PHY 接口,然后實現(xiàn)自動協(xié)商過程,在自動協(xié)商過程中,依靠MDIO接口是EMAC 和PHY 進行通訊,使二者配置成相同的速度和雙工模式。最后設(shè)置EMAC 地址并完成接收和發(fā)送緩沖區(qū)標(biāo)識符的初始化工作,使得每個描述符指向正確的緩沖地址并將描述符首地址寫入隊列指針寄存器。EMAC 的數(shù)據(jù)包讀取和數(shù)據(jù)包傳送分別由EMACReadPacke()和EMACSendPacket()函數(shù)來完成,其中為了保證獲得正確的數(shù)據(jù)包讀取位置在讀取數(shù)據(jù)包之前必需先調(diào)用GetInputPacketLen()函數(shù)獲得數(shù)據(jù)包的長度。

4.2 Zigbee 收發(fā)芯片CC2520 驅(qū)動

由初始化模塊,數(shù)據(jù)發(fā)送模塊和數(shù)據(jù)接收模塊組成。通過初始化模塊對CC2520 進行初始化配置。其中包括對CC2520 進行啟動,設(shè)置網(wǎng)絡(luò)頻道號,發(fā)射功率,自動CRC 校驗,將GPIO4 管腳配置成用來接收SFD 幀起始信號。

發(fā)射模塊完成數(shù)據(jù)的發(fā)送任務(wù)。下面程序為數(shù)據(jù)發(fā)送過程。

先清除發(fā)送緩沖區(qū),再將待發(fā)數(shù)據(jù)包寫入發(fā)送緩沖區(qū)內(nèi)并進入待發(fā)狀態(tài),然后根據(jù)GPIO4 管腳信號判斷數(shù)據(jù)是否發(fā)送完畢,若未發(fā)送完畢繼續(xù)等待,若發(fā)送完畢清楚SFD 標(biāo)志位,最后使CC2520 進入空閑狀態(tài)。

接收模塊完成數(shù)據(jù)的接收任務(wù)。當(dāng)檢測到CC2520的GPIO4 管腳的SFD 信號后,產(chǎn)生中斷,進入到接收中斷服務(wù)程序。接收中斷服務(wù)程序與發(fā)送程序類似,這里不再一一列出。

4.3 應(yīng)用層

主要實現(xiàn):1.以太網(wǎng)和Zigbee 網(wǎng)絡(luò)的建立。2.接受遠程監(jiān)控中心的訪問和各項指令。3.維護并管理整個Zigbee 網(wǎng)絡(luò)。4.接收來自Zigbee 網(wǎng)絡(luò)中的各投票表決器的投票數(shù)據(jù)幀。程序流程圖如圖4 所示。

首先建立以太網(wǎng)絡(luò),完成與上位機的連接后,上位機向基站發(fā)出建立無線投票表決器網(wǎng)絡(luò)的基礎(chǔ)信息幀?;靖鶕?jù)基礎(chǔ)信息幀中指定的頻段,PAN 號,發(fā)射功率等參數(shù)建立Zigbee 網(wǎng)絡(luò)。各無線表決器申請加入該網(wǎng)絡(luò),成功加入后將會將獲得由基站(Zigbee 網(wǎng)絡(luò)中的協(xié)調(diào)器)分配的一個16 位動態(tài)網(wǎng)絡(luò)短地址。并同時提示用戶表決器通信正常。否則提示通信失敗。

在設(shè)定時限內(nèi),基站統(tǒng)計成功加入該網(wǎng)絡(luò)的投票表決器數(shù)目,并向上位機發(fā)送統(tǒng)計結(jié)果。屏蔽此后所有申請加入該網(wǎng)絡(luò)的投票表決器設(shè)備直到基站收到上位機更新網(wǎng)絡(luò)的命令。上位機收到參與該階段的投票表決器總數(shù)若大于設(shè)定的最低人數(shù)時,則向基站發(fā)送投票信息幀。若參與該階段的投票表決器總數(shù)若小于設(shè)定的最低人數(shù)時上位機則向基站發(fā)送延長等待投票表決器加入網(wǎng)絡(luò)的時限指令。若再次超過時限仍未達到指定人數(shù)則提示該階段投票無效。投票信息幀中包括本階段投票的投票格式,投票類型等內(nèi)容?;臼盏酵镀毙畔蟛⑾蛘麄€Zigbee 網(wǎng)絡(luò)進行廣播,此時投票開始進行。Zigbee 網(wǎng)絡(luò)中的各投票表決器根據(jù)收到的投票信息幀,將提示用戶進行相應(yīng)的投票操作。用戶完成投票操作后,投票表決器將投票數(shù)據(jù)幀發(fā)送給基站,基站將投票數(shù)據(jù)幀存入到Zigbee_BUF 數(shù)據(jù)緩沖區(qū)中,并向投票表決器發(fā)送回復(fù)幀,向用戶指示成功發(fā)送。然后收回該投票表決器的網(wǎng)絡(luò)短地址,使其脫離該網(wǎng)絡(luò),防止用戶進行二次投票。

基于Zigbee技術(shù)實現(xiàn)了無線投票表決器遠程監(jiān)控與投票功能

圖4 應(yīng)用程序。

上位機定時向基站進行訪問,基站收到訪問請求后向上位機傳輸數(shù)據(jù)緩沖區(qū)內(nèi)容。上位機收到后返回信息確認幀?;窘邮艿缴衔粰C的信息確認幀之后清除數(shù)據(jù)緩沖區(qū)內(nèi)容?;驹谝?guī)定投票時限內(nèi),收回所有網(wǎng)絡(luò)短地址,使本次加入該網(wǎng)絡(luò)的投票表決器全部脫離,停止用戶進行投票。

完成該階段投票過程后,進入新階段投票時,上位機向基站發(fā)送更新網(wǎng)絡(luò)命令。此時,基站重新允許投票表決器加入該網(wǎng)絡(luò)。開始新一輪的投票過程。

4.4 實現(xiàn)結(jié)果

基站完成了聯(lián)調(diào)工作。成功的實現(xiàn)了本文介紹的全部功能。圖5 為頻譜儀監(jiān)測基站與無線投票表決器進行通信時的數(shù)據(jù)傳輸情況。

圖5 遠程監(jiān)控中心上位機監(jiān)控軟件。

5 結(jié)論

本文設(shè)計的基站實現(xiàn)了以太網(wǎng)和Zigbee 網(wǎng)絡(luò)的連接,為Zigbee 網(wǎng)絡(luò)實現(xiàn)遠程監(jiān)控提供了一些思路。該基站已投入市場,并取得良好的經(jīng)濟效益。如何在功耗和傳輸速度上提高基站的性能以及設(shè)計出能與現(xiàn)行的多種協(xié)議互聯(lián)的基站是我們今后研究的重點。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    18927

    瀏覽量

    227231
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    8967

    瀏覽量

    365039
  • 遠程監(jiān)控
    +關(guān)注

    關(guān)注

    2

    文章

    1165

    瀏覽量

    30098
  • ZigBee
    +關(guān)注

    關(guān)注

    158

    文章

    2262

    瀏覽量

    242104
收藏 人收藏

    評論

    相關(guān)推薦

    用AT89C51實現(xiàn)三人表決器

    本帖最后由 eehome 于 2013-1-5 09:58 編輯 用AT89C51實現(xiàn)三人表決器
    發(fā)表于 08-14 19:39

    7人表決器

    用循環(huán)語句設(shè)計一個7人投票表決器,速求
    發(fā)表于 04-23 18:01

    滾動顯示屏,無線傳感投票

    滾動顯示屏,無線傳感投票
    發(fā)表于 11-11 21:53

    8人表決器

    8人表決器電路,,源文件
    發(fā)表于 04-12 09:43

    三人表決器的VHDL設(shè)計實現(xiàn),求代碼

    三人表決器的VHDL設(shè)計實現(xiàn)求代碼
    發(fā)表于 11-10 13:50

    如何設(shè)計一個無線電子表決器

    以微型處理為核心,外圍配以存儲,鍵盤及l(fā)ed顯示,設(shè)計出一種實用的無線電子表決器
    發(fā)表于 03-13 15:02

    基于Zigbee無線投票表決器基站設(shè)計

    1 引言 投票表決器在選舉,會議,教學(xué),娛樂節(jié)目中得到大量的使用?,F(xiàn)行的無線表決系統(tǒng)采用單一的無線網(wǎng)絡(luò),使無線終端設(shè)備與上位機進行通信。由于
    發(fā)表于 07-24 16:45 ?1767次閱讀
    基于<b class='flag-5'>Zigbee</b>的<b class='flag-5'>無線</b><b class='flag-5'>投票表決器</b>基站設(shè)計

    EDA/三取二表決器設(shè)計

    掌握在 Quartus Ⅱ開發(fā)環(huán)境下,運用硬件描述語言輸入法對“三人表決器”進行設(shè)計輸入、編譯、調(diào)試和仿真的方法。
    發(fā)表于 01-15 15:27 ?0次下載

    無線投票原理圖+源代碼

    基于單片機的無線投票,使用的是NRF24L01無線接收模塊實現(xiàn),歡迎相互交流。
    發(fā)表于 07-20 14:39 ?15次下載

    單片機的無線匿名投票裝置

    、藍牙等無線技術(shù)無線投票表決系統(tǒng)陸續(xù)開發(fā)出來。本文設(shè)計了一套基于單片機的小型的匿名無線投票裝置
    發(fā)表于 01-18 16:26 ?3次下載
    單片機的<b class='flag-5'>無線</b>匿名<b class='flag-5'>投票</b>裝置

    采用MSP430F135單片機實現(xiàn)無線投票表決器的設(shè)計

    該設(shè)計實現(xiàn)了基于MSP430F135和CCllOO的無線表決系統(tǒng)的主控制裝置和表決器的軟硬件,并利用Microsoft Visual Studio 2005
    的頭像 發(fā)表于 09-13 09:32 ?5735次閱讀
    采用MSP430F135單片機<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>無線</b><b class='flag-5'>投票表決器</b>的設(shè)計

    鋯石FPGA A4_Nano開發(fā)板視頻:三人表決器功能敘述與設(shè)計

    表決器無線表決器兩大類,其中有線表決器已經(jīng)退出此項市場,而無線投票表決器無需安裝,會議之前準(zhǔn)備
    的頭像 發(fā)表于 09-23 07:09 ?2336次閱讀
    鋯石FPGA A4_Nano開發(fā)板視頻:三人<b class='flag-5'>表決器</b>的<b class='flag-5'>功能</b>敘述與設(shè)計

    鋯石FPGA A4_Nano開發(fā)板視頻:三人表決器的設(shè)計與分析

    表決器,是投票系統(tǒng)中的客戶端,是一種代表投票或舉手表決表決裝置。表決時,與會的有關(guān)人員只要按動
    的頭像 發(fā)表于 09-23 07:05 ?2980次閱讀
    鋯石FPGA A4_Nano開發(fā)板視頻:三人<b class='flag-5'>表決器</b>的設(shè)計與分析

    protel dxp三人表決器

    protel dxp 三人表決器
    發(fā)表于 06-14 15:00 ?0次下載

    多數(shù)表決器電路設(shè)計與制作

    電子發(fā)燒友網(wǎng)站提供《多數(shù)表決器電路設(shè)計與制作.pptx》資料免費下載
    發(fā)表于 09-02 14:42 ?0次下載