《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于ZigBee技術(shù)的無(wú)線點(diǎn)餐系統(tǒng)設(shè)計(jì)
基于ZigBee技術(shù)的無(wú)線點(diǎn)餐系統(tǒng)設(shè)計(jì)
喬 磊
摘要: 本文提出了基于ZigBee技術(shù)的無(wú)線點(diǎn)餐系統(tǒng)的設(shè)計(jì)方案,。研究表明,該系統(tǒng)能有效地進(jìn)行無(wú)線網(wǎng)絡(luò)組建,,在室內(nèi)環(huán)境下實(shí)現(xiàn)了數(shù)據(jù)的可靠傳輸,。隨著科技的進(jìn)步和網(wǎng)絡(luò)設(shè)備成本的降低,,ZigBee技術(shù)在現(xiàn)代餐飲業(yè),乃至更多的行業(yè)中的應(yīng)用將產(chǎn)生重大的經(jīng)濟(jì)效益,。
Abstract:
Key words :

引言
    當(dāng)今世界無(wú)線通信技術(shù)發(fā)展迅速,,如藍(lán)牙,,Wi-Fi,紅外,,ZigBee無(wú)線技術(shù),,已經(jīng)在很多領(lǐng)域得到了應(yīng)用。無(wú)線點(diǎn)餐系統(tǒng)將先進(jìn)的Zig-Bee技術(shù)運(yùn)用于傳統(tǒng)的餐飲業(yè),,進(jìn)而提高餐廳的服務(wù)水平和工作效率,。目前,應(yīng)用于餐飲行業(yè)的無(wú)線通信技術(shù)主要包括紅外技術(shù),,藍(lán)牙技術(shù)和ZigBee技術(shù)等,。紅外技術(shù)屬于短距離,點(diǎn)對(duì)點(diǎn)的半雙工通信方式,,不適用于網(wǎng)絡(luò)的組網(wǎng),;藍(lán)牙技術(shù)成本高,不適合較多節(jié)點(diǎn)的網(wǎng)絡(luò),。本研究采用了低速率,,低成本,低功耗的ZigBee技術(shù),,設(shè)計(jì)無(wú)線點(diǎn)餐系統(tǒng),。

1 無(wú)線點(diǎn)餐系統(tǒng)整體結(jié)構(gòu)
   
無(wú)線點(diǎn)餐系統(tǒng)主要由點(diǎn)餐終端與服務(wù)臺(tái)終端組成,兩部分通過(guò)ZigBee無(wú)線模塊實(shí)現(xiàn)數(shù)據(jù)通信,。點(diǎn)餐終端選用了友善之臂帶有7寸觸摸屏的ARM9開(kāi)發(fā)板,,通過(guò)上位機(jī)用戶界面程序可以實(shí)現(xiàn)點(diǎn)餐功能。服務(wù)臺(tái)終端選用一臺(tái)帶有串口/并口的臺(tái)式電腦,,連接無(wú)線模塊和POS58系列微型打印機(jī),,對(duì)點(diǎn)餐終端發(fā)送過(guò)來(lái)的數(shù)據(jù)進(jìn)行處理,實(shí)現(xiàn)打印小票的功能,。
    點(diǎn)餐系統(tǒng)的整體結(jié)構(gòu)如圖1所示,。



2 硬件電路的設(shè)計(jì)
2.1 無(wú)線通信模塊
   
CC2430是TI公司推出的用來(lái)實(shí)現(xiàn)ZigBee應(yīng)用的系統(tǒng)級(jí)芯片。CC2430內(nèi)部已集成2.4 GHz的射頻核心和8051控制器,,外接簡(jiǎn)單的電路便可實(shí)現(xiàn)信號(hào)的收發(fā)功能,。這種解決方案能夠有效提高性能并滿足以ZigBee為基礎(chǔ)的2.4 GHz ISM波段應(yīng)用,及對(duì)低成本,,低功耗的要求,。
    圖2為CC2430外圍電路設(shè)計(jì)。


    當(dāng)芯片正常工作時(shí),,電容C1,,C2連接32 MHz晶振組成高頻晶振電路,用于發(fā)送數(shù)據(jù),。偏置電阻R1用于為32 MHz晶體振蕩器設(shè)置精密偏置電流,。芯片休眠時(shí),,電容C3,C4連接32.768kHz的晶振組成低頻晶振電路,,降低功耗,。電容C5用于去除雜波干擾,防止單片機(jī)錯(cuò)誤復(fù)位,。C5,,C7,C8是濾波電容,,去除雜波干擾使電壓更穩(wěn)定,。C10,C11,,C12,,C13,C14為去耦合電容,,用來(lái)電源濾波,,提高芯片工作的穩(wěn)定性。電路中電容C9,,電感L1,,L2,L3以及一個(gè)PCB微波傳輸線組成非平衡變壓器,,整個(gè)結(jié)構(gòu)滿足RF輸入/輸出匹配電阻的要求,。
2.2 服務(wù)臺(tái)終端
   
服務(wù)臺(tái)終端選用帶有串口/并口的PC機(jī)。PC機(jī)與無(wú)線模塊通過(guò)串口連接,,和微型打印機(jī)通過(guò)并口連接。如圖3所示,,ZigBee無(wú)線模塊和PC機(jī)通過(guò)串口(TXD和RXD)進(jìn)行通信,,直接向串口讀寫(xiě)即可。PC機(jī)向微型打印機(jī)的8位數(shù)據(jù)信號(hào)線DATA0~7發(fā)送數(shù)據(jù),,數(shù)據(jù)選通輸入信號(hào)STB低電平有效,,DATA0~7的數(shù)據(jù)只有在有效的STB信號(hào)作用下才能被鎖入打印機(jī)內(nèi)部鎖存器中。打印機(jī)狀態(tài)信號(hào)BUSY高電平有效,,表示打印機(jī)正在打印數(shù)據(jù),。



3 網(wǎng)絡(luò)節(jié)點(diǎn)軟件的設(shè)計(jì)
3.1 網(wǎng)絡(luò)節(jié)點(diǎn)程序

    ZigBee網(wǎng)絡(luò)支持三種網(wǎng)絡(luò)結(jié)構(gòu),即星狀,、樹(shù)狀和網(wǎng)狀,。節(jié)點(diǎn)設(shè)計(jì)基于通用性及便于開(kāi)發(fā)的考慮,移植了TI公司的Z-Stack協(xié)議棧,,其主要特點(diǎn)就是兼容性,,支持IEEE 802.15.4標(biāo)準(zhǔn)的CC2430片上系統(tǒng)解決方案,。ZigBee網(wǎng)絡(luò)中有三種設(shè)備,分別是協(xié)調(diào)器,、路由器及終端設(shè)備,。協(xié)調(diào)器負(fù)責(zé)啟動(dòng)一個(gè)網(wǎng)絡(luò),在一個(gè)ZigBee網(wǎng)絡(luò)中有且只有一個(gè)協(xié)調(diào)器設(shè)備,。本系統(tǒng)選用了一個(gè)協(xié)調(diào)器和多個(gè)終端設(shè)備,,對(duì)協(xié)議棧進(jìn)行了相應(yīng)的修改和增減以適應(yīng)硬件電路的實(shí)際需求,組成簡(jiǎn)單的星形網(wǎng)絡(luò),。
    Z-Stack是基于操作系統(tǒng)的思想來(lái)構(gòu)建的,,采用事件輪循機(jī)制,整個(gè)協(xié)議棧用C語(yǔ)言編寫(xiě),。當(dāng)各層初始化之后,,系統(tǒng)進(jìn)入低功耗模式,當(dāng)事件發(fā)生時(shí),,喚醒系統(tǒng),,開(kāi)始進(jìn)入中斷處理事件,結(jié)束后繼續(xù)進(jìn)入低功耗模式,。如果同時(shí)有幾個(gè)事件發(fā)生,,判斷優(yōu)先級(jí),逐次處理事件,。這種軟件構(gòu)架可以極大地降級(jí)系統(tǒng)的功耗,。整個(gè)Z-Stack的主要工作流程,大致分為系統(tǒng)啟動(dòng),、驅(qū)動(dòng)初始化,、OSAL初始化與啟動(dòng)和進(jìn)入任務(wù)輪循幾個(gè)階段。
    系統(tǒng)流程如圖4所示,。


    當(dāng)硬件初始化完成后,,打開(kāi)中斷,執(zhí)行osal_star_system()函數(shù)開(kāi)始運(yùn)行OSAL系統(tǒng),。該任務(wù)調(diào)度函數(shù)按照優(yōu)先級(jí)檢測(cè)各個(gè)任務(wù)是否就緒,。如果存在就緒的任務(wù)則調(diào)用tasksArr()中相對(duì)應(yīng)的任務(wù)處理函數(shù)去處理該事件,直到執(zhí)行完所有就緒的任務(wù),。如果任務(wù)列表中沒(méi)有就緒的任務(wù),,則可以使處理器進(jìn)入睡眠狀態(tài)實(shí)現(xiàn)低功耗。OSAL任務(wù)調(diào)度流程如圖5所示,。
    ZigBee網(wǎng)絡(luò)的形成是通過(guò)ZDApp_Init這個(gè)任務(wù)實(shí)現(xiàn)的,。zDApp_Init任務(wù)中調(diào)用了函數(shù)ZDAPP_Net-workInit,如果是協(xié)調(diào)器就建立網(wǎng)絡(luò),確定PANID與頻道選擇,,打開(kāi)全局中斷之后進(jìn)入監(jiān)聽(tīng)狀態(tài),,監(jiān)測(cè)網(wǎng)絡(luò)中有無(wú)ZigBee信號(hào),如果有節(jié)點(diǎn)申請(qǐng)加入網(wǎng)絡(luò),,協(xié)調(diào)器給節(jié)點(diǎn)分配網(wǎng)絡(luò)地址,。對(duì)于終端設(shè)備,完成初始化之后,,發(fā)送申請(qǐng)加入網(wǎng)絡(luò)信號(hào),,等待協(xié)調(diào)器響應(yīng)。成功加入網(wǎng)絡(luò)后,,進(jìn)入休眠狀態(tài)等待喚醒,。網(wǎng)絡(luò)啟動(dòng)程序流程如圖6所示。


3.2 服務(wù)臺(tái)終端程序
   
服務(wù)臺(tái)程序主要是用來(lái)處理接收到的數(shù)據(jù)包,,對(duì)數(shù)據(jù)進(jìn)行解碼,、數(shù)據(jù)庫(kù)存儲(chǔ)及打印。如圖7所示,,每個(gè)節(jié)點(diǎn)的數(shù)據(jù)包含有以下內(nèi)容:起始幀,,和結(jié)束幀均屬于標(biāo)準(zhǔn)8位字節(jié),設(shè)置為0X00,;餐桌號(hào),,每個(gè)節(jié)點(diǎn)對(duì)應(yīng)不同的桌號(hào),0X01表示1號(hào)桌,,在點(diǎn)餐終端里設(shè)置,;數(shù)據(jù)長(zhǎng)度,表示這個(gè)數(shù)據(jù)包里所點(diǎn)菜的總數(shù)目,;數(shù)據(jù)幀,,真正的菜單信息,每一位表示一種菜的名稱和數(shù)量,,例如數(shù)據(jù)0X42,,即“01000010”,低三位表示數(shù)量,,高五位表示菜的代碼,可以定義32種菜,;結(jié)束幀,,標(biāo)志信息結(jié)束。


3.3 點(diǎn)餐界面的設(shè)計(jì)
   
點(diǎn)餐終端選用帶有觸屏的ARM9開(kāi)發(fā)板,,內(nèi)置Windows CE 6.0操作系統(tǒng),,用.NET編寫(xiě)的用戶界面程序主要實(shí)現(xiàn)如下功能:
    (1)菜單查詢,通過(guò)觸摸屏進(jìn)行菜單的瀏覽查詢,,查詢出的菜品可以顯示出菜的名稱,、單價(jià)和圖片,。
    (2)點(diǎn)菜,實(shí)現(xiàn)加菜,、減菜,、選擇數(shù)量等功能。
    (3)服務(wù)呼叫,,對(duì)臨時(shí)需要服務(wù)員過(guò)來(lái)的情況,,提供呼叫服務(wù)功能。
    (4)廣告播放,,觸摸屏在無(wú)觸摸的情況,,利用空余時(shí)間會(huì)循環(huán)播放廣告。

4 調(diào)試結(jié)果
   
系統(tǒng)選用了3個(gè)點(diǎn)餐終端分別對(duì)應(yīng)3個(gè)餐桌,,1個(gè)服務(wù)臺(tái)終端,,組成星形網(wǎng)絡(luò)。如圖8所示,,通過(guò)點(diǎn)餐界面,,選中了三種菜,確定發(fā)送后,,在圖9所示的服務(wù)臺(tái)界面中,,成功收到數(shù)據(jù),并且準(zhǔn)確的解碼,,存儲(chǔ)在對(duì)應(yīng)的數(shù)據(jù)庫(kù)表中,。


    若點(diǎn)餐終端的呼叫按鍵被按下,服務(wù)臺(tái)終端的呼叫按鍵會(huì)閃爍5 s,。
    由于ZigBee網(wǎng)絡(luò)采用了CSMA/CA機(jī)制,,帶有沖突避免的載波偵聽(tīng)多路訪問(wèn),確保多點(diǎn)發(fā)送時(shí),,利用ACK信號(hào)盡量避免發(fā)生數(shù)據(jù)沖突,,使系統(tǒng)更加穩(wěn)定可靠。

5 結(jié)語(yǔ)
   
本文提出了基于ZigBee技術(shù)的無(wú)線點(diǎn)餐系統(tǒng)的設(shè)計(jì)方案,。研究表明,,該系統(tǒng)能有效地進(jìn)行無(wú)線網(wǎng)絡(luò)組建,在室內(nèi)環(huán)境下實(shí)現(xiàn)了數(shù)據(jù)的可靠傳輸,。隨著科技的進(jìn)步和網(wǎng)絡(luò)設(shè)備成本的降低,,ZigBee技術(shù)在現(xiàn)代餐飲業(yè),乃至更多的行業(yè)中的應(yīng)用將產(chǎn)生重大的經(jīng)濟(jì)效益,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。