當(dāng)前位置:首頁(yè) > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]摘 要:設(shè)計(jì)了一款以ARM7 芯片AT91SAM7X256 為核心,μC/OS-II 為操作系統(tǒng)的基于Zigbee 技術(shù)無(wú)線投票基站。該基站用于連接Zigbee 網(wǎng)絡(luò)和以太網(wǎng)。實(shí)現(xiàn)了無(wú)線投票表決器遠(yuǎn)程監(jiān)控和多會(huì)議室同時(shí)投票功能。主要分析了該

摘 要:設(shè)計(jì)了一款以ARM7 芯片AT91SAM7X256 為核心,μC/OS-II 為操作系統(tǒng)的基于Zigbee 技術(shù)無(wú)線投票基站。該基站用于連接Zigbee 網(wǎng)絡(luò)和以太網(wǎng)。實(shí)現(xiàn)了無(wú)線投票表決器遠(yuǎn)程監(jiān)控和多會(huì)議室同時(shí)投票功能。主要分析了該基站的軟件設(shè)計(jì),介紹了基站如何建立無(wú)線投票表決器網(wǎng)絡(luò),收集表決器的投票情況,接受遠(yuǎn)程監(jiān)控訪問(wèn)的過(guò)程。并且對(duì)其硬件平臺(tái)的結(jié)構(gòu)做了相應(yīng)描述。

  1 引言

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

  2 系統(tǒng)概述

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

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

  3 硬件設(shè)計(jì)

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

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

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

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

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

4 軟件設(shè)計(jì)

圖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ū)動(dòng)程序,無(wú)線收發(fā)芯片驅(qū)動(dòng)程序,應(yīng)用程序的編寫(xiě)工作[3,4].下面將詳細(xì)對(duì)驅(qū)動(dòng)程序和應(yīng)用程序進(jìn)行詳細(xì)的說(shuō)明。

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

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

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

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

  發(fā)射模塊完成數(shù)據(jù)的發(fā)送任務(wù)。下面程序?yàn)閿?shù)據(jù)發(fā)送過(guò)程。

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

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

  4.3 應(yīng)用層

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

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

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

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

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

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

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

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

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

  5 結(jié)論

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉