施茂祺
(江西財(cái)經(jīng)職業(yè)學(xué)院 現(xiàn)代教育技術(shù)中心,婺源 332000)
隨著通信技術(shù)的迅速發(fā)展,GSM、3G等無(wú)線通信技術(shù)以及藍(lán)牙、WiFi等無(wú)線網(wǎng)絡(luò)越來(lái)越被人們所熟悉和應(yīng)用。然而這些技術(shù)的系統(tǒng)一般非常復(fù)雜,功耗大、成本較高。而ZigBee技術(shù)以其無(wú)需布線,價(jià)格低廉,低功耗、設(shè)計(jì)簡(jiǎn)單等特點(diǎn),在許多的應(yīng)用場(chǎng)合,尤其在無(wú)線傳感器網(wǎng)絡(luò)方面發(fā)揮其它網(wǎng)絡(luò)不可替代的作用[1]。本文就如何結(jié)合ZigBee技術(shù)和以太網(wǎng)的數(shù)據(jù)傳輸,做了系統(tǒng)的研究設(shè)計(jì)。
本文要實(shí)現(xiàn)的是ZigBee傳感器網(wǎng)絡(luò)采集數(shù)據(jù),經(jīng)過(guò)ZigBee網(wǎng)絡(luò)跳變傳輸實(shí)現(xiàn)數(shù)據(jù)的傳輸,送至無(wú)線傳感器網(wǎng)絡(luò)無(wú)線網(wǎng)關(guān),網(wǎng)關(guān)進(jìn)行數(shù)據(jù)解包和打包的格式轉(zhuǎn)換,發(fā)送到以太網(wǎng)網(wǎng)絡(luò)上。主要設(shè)計(jì)工作是搭建傳輸系統(tǒng)的硬件平臺(tái),硬件設(shè)計(jì)框圖如圖1所示。
圖1 系統(tǒng)硬件結(jié)構(gòu)框圖
本系統(tǒng)中要設(shè)計(jì)實(shí)現(xiàn)網(wǎng)關(guān)和終端節(jié)點(diǎn)兩種硬件實(shí)物,其中網(wǎng)關(guān)的設(shè)計(jì)較為復(fù)雜,是設(shè)計(jì)的重點(diǎn)。文中網(wǎng)關(guān)的設(shè)計(jì)思想是采用ZigBee芯片中集成的8051內(nèi)核作為主處理芯片,與以太網(wǎng)控制芯片RTL8019AS相結(jié)合,將ZigBee傳感器網(wǎng)絡(luò)采集的數(shù)據(jù)與外部網(wǎng)絡(luò)互聯(lián),實(shí)現(xiàn)數(shù)據(jù)在不通網(wǎng)絡(luò)中傳輸。
請(qǐng)求和控制信息從以太網(wǎng)的網(wǎng)絡(luò)中傳來(lái),經(jīng)過(guò)RJ-45接口送到以太網(wǎng)控制器RTL8019AS中,以太網(wǎng)控制器主要是將接收到的數(shù)據(jù)包進(jìn)行解析,得到原始的請(qǐng)求和控制消息,并送到微處理器中,微處理器根據(jù)相應(yīng)請(qǐng)求進(jìn)行處理,將處理后的消息再通過(guò)相反的過(guò)程傳到以太網(wǎng)網(wǎng)絡(luò)中,最后反映給用戶。
終端節(jié)點(diǎn)設(shè)計(jì)是利用ZigBee芯片的I/O口外接傳感器,并輔助設(shè)計(jì)它的外圍電路,編程口,電源供電等電路。設(shè)計(jì)中主要是設(shè)計(jì)并驗(yàn)證系統(tǒng)的可行性及正確性,傳感器類型的選擇可以根據(jù)不同的應(yīng)用需求選擇和改變相應(yīng)的傳感器,增加系統(tǒng)的通用性。
基于系統(tǒng)對(duì)芯片的優(yōu)越性比較,我們ZigBee芯片選擇TI公司的CC2430芯片,以太網(wǎng)控制芯片選取臺(tái)灣RETLTEK公司的以太網(wǎng)控制芯片RTL8019AS。
經(jīng)過(guò)ZigBee和以太網(wǎng)兩塊芯片的工作方式的分析,本系統(tǒng)的硬件接口采用8位的數(shù)據(jù)總線方式。鑒于CC2430的I/O的限制和系統(tǒng)設(shè)計(jì)的整體的成本的考慮,采用口線模擬的方式來(lái)實(shí)現(xiàn)數(shù)據(jù)的讀取。
C2430有21個(gè)數(shù)字I/O口,能夠配置為通用的I/O口、計(jì)時(shí)器或串行通信口,輸入的上下拉能力以及外部中斷功能。作通用的I/O口時(shí),可分配成3個(gè)8位的I/O口,分別命名為P0,P1和P2。P0和P1為完全的8位數(shù)據(jù)口,而P2口只有5位可用,所有的I/O口通過(guò)特殊功能寄存器,既可以位尋址也可以字節(jié)尋址。CC2430提供的三個(gè)I/O口,分別作8位數(shù)據(jù),地址和控制。具體分配如下:
數(shù)據(jù)總線:P0口(P0.0 P0.7)
地址總線:P1口的低5位(P1.0 P1.4)
讀信號(hào)線:P2.2,通過(guò)該引腳實(shí)現(xiàn)對(duì)芯片內(nèi)部程序和數(shù)據(jù)的讀操作;
寫(xiě)信號(hào)線:P2.1,通過(guò)該引腳實(shí)現(xiàn)對(duì)芯片內(nèi)部程序和數(shù)據(jù)的寫(xiě)操作;
中斷口:P2.0為中斷的申請(qǐng)信號(hào)線,作為RTL8019AS的中斷申請(qǐng)信號(hào)端口。
RTL8019AS使用的是跳線的方式,它的外部接口形式已經(jīng)選定為數(shù)據(jù)地址總線方式,而CC2430沒(méi)有提供數(shù)據(jù)地址總線口,而只提供了普通I/O口功能,UART串行接口以及SPI的總線模式[2]。在不增加外圍器件的前提下,本設(shè)計(jì)選用了口線模擬的方式,用軟件的方式來(lái)模擬數(shù)據(jù)總線的讀寫(xiě)時(shí)序,這樣節(jié)約了硬件成本。網(wǎng)關(guān)硬件接口設(shè)計(jì)如圖2所示:
圖2 網(wǎng)關(guān)硬件接口框圖
本設(shè)計(jì)中微帶線設(shè)計(jì)參照的TI公司公布的2.4GHZ天線參數(shù)來(lái)完成的。CC2430采用的是2.4GHZ無(wú)線收發(fā),天線的諧振頻率為2.45GHZ,天線的面積為 ,工作帶寬為100MHZ,天線的輻射效率超過(guò)90%[3]。
CC2430射頻信號(hào)的無(wú)線收發(fā)采用差分方式進(jìn)行傳輸,根據(jù)數(shù)據(jù)手冊(cè)查得它的最佳差分負(fù)載是 ,具體參數(shù)阻抗匹配電路應(yīng)該根據(jù)這個(gè)參數(shù)來(lái)進(jìn)行調(diào)整[4]。
網(wǎng)關(guān)設(shè)計(jì)中選取的芯片工作在兩個(gè)不同的電壓等級(jí)上,CC2430需要3.3V的工作電壓,而RTL8019AS需要5V的工作電壓,所用的電源適配器輸出電壓為9V,因此設(shè)計(jì)的電源要進(jìn)行電壓等級(jí)的變換由9V到5V和由9V到3.3V。設(shè)計(jì)選用的穩(wěn)壓芯片是SPX1117-5V和SPX1117-3.3V,分別完成從電源適配器9V電壓到5V和3.3V的電源降壓,以滿足整個(gè)電路的需要。電源適配器輸出電壓時(shí)9V時(shí),分別經(jīng)過(guò)兩塊穩(wěn)壓芯片SPX1117-3.3(U4)和 SPX1117-5(U5),完成 9V到3.3V,9V到5V的電壓轉(zhuǎn)換,以滿足兩個(gè)芯片的工作電壓需要。穩(wěn)壓芯片僅需要一個(gè)阻值為0.33uF的電解電容和一個(gè)普通的0.1uF的普通電容就可以實(shí)現(xiàn)穩(wěn)壓芯片的工作。電源電路設(shè)計(jì)如圖3所示。
圖3 電源電路設(shè)計(jì)
RTL8019AS和CC2430在開(kāi)始工作的時(shí)候都需要復(fù)位。CC2430有三種復(fù)位方式:低電平,上電復(fù)位和看門(mén)狗復(fù)位,本設(shè)計(jì)采用給第一種方式,給復(fù)位引腳輸入低電平復(fù)位。RTL8019AS的復(fù)位要求復(fù)位引腳RSTDRV高復(fù)位,當(dāng)脈沖寬度小于800ns忽略不記。手動(dòng)復(fù)位電路設(shè)計(jì)如圖4所示。
復(fù)位電源通過(guò)穩(wěn)壓芯片SPX1117—5V的輸出引腳提供,當(dāng)按鍵S1沒(méi)有按下時(shí),A點(diǎn)斷路,三極管的集電結(jié)截止不導(dǎo)通,B點(diǎn)為高電平;當(dāng)按鍵S1按下時(shí),節(jié)點(diǎn)A處出現(xiàn)高電平,電阻R5,R6起到限流和分壓作用,三極管基極B高電平,基極和發(fā)射極之間BE導(dǎo)通,由于三極管的導(dǎo)通特性,CE極將導(dǎo)通,集電極被拉低,B點(diǎn)出現(xiàn)低電平,起到復(fù)位作用。這樣就會(huì)使系統(tǒng)的兩塊芯片均得到復(fù)位,滿足整個(gè)系統(tǒng)的復(fù)位要求。
圖4 復(fù)位電路設(shè)計(jì)
終端節(jié)點(diǎn)的作用是通過(guò)ZigBee傳感器網(wǎng)絡(luò)采集現(xiàn)場(chǎng)溫度或數(shù)據(jù),它傳輸數(shù)據(jù)的方式是依托ZigBee網(wǎng)絡(luò)的數(shù)據(jù)跳變傳輸模式傳遞。終端節(jié)點(diǎn)的設(shè)計(jì)是利用ZigBee傳感器芯片CC2430,外接溫度傳感器DS18B20采集數(shù)據(jù),通過(guò)節(jié)點(diǎn)傳輸?shù)揭蕴W(wǎng)網(wǎng)關(guān)進(jìn)行數(shù)據(jù)的匯總,數(shù)據(jù)格式的轉(zhuǎn)換在以太網(wǎng)進(jìn)行數(shù)據(jù)的傳輸。
終端節(jié)點(diǎn)的電路比較簡(jiǎn)潔,就是CC2430的基本外圍電路,外擴(kuò)傳感器接口,編程口接口,電源供電接口。CC2430的基本外圍電路已在前面的章節(jié)(4.3.1 小節(jié))介紹過(guò),在這里將不再贅述。需要說(shuō)明的是:CC2430的P1.2引腳連接溫度傳感器的DQ引腳,而終端節(jié)點(diǎn)的供電采用的電池盒供電,兩節(jié)干電池(3V)就可以滿足終端節(jié)點(diǎn)的供電需求。
本設(shè)計(jì)中的網(wǎng)關(guān)實(shí)現(xiàn)數(shù)據(jù)在兩個(gè)不同類型的網(wǎng)絡(luò)之間的傳輸,要把傳輸?shù)臄?shù)據(jù)用兩種協(xié)議實(shí)現(xiàn)各自的打包和解包,并在兩個(gè)網(wǎng)絡(luò)中進(jìn)行傳輸。網(wǎng)關(guān)的程序設(shè)計(jì)包含ZigBee和以太網(wǎng)數(shù)據(jù)的打包和解包程序,以及相關(guān)設(shè)備的初始化和中斷程序。
主程序在初始化以后就進(jìn)入等待接受中斷請(qǐng)求,判斷請(qǐng)求后進(jìn)入各自的中斷服務(wù)程序中,分別處理ZigBee數(shù)據(jù)的發(fā)送請(qǐng)求和TCP/IP的數(shù)據(jù)的發(fā)送請(qǐng)求。
當(dāng)ZigBee網(wǎng)絡(luò)中的終端節(jié)點(diǎn)通過(guò)無(wú)線方式發(fā)送ZigBee數(shù)據(jù)包到網(wǎng)關(guān)時(shí),網(wǎng)關(guān)產(chǎn)生終端請(qǐng)求,調(diào)用接收Z(yǔ)igBee數(shù)據(jù)包函數(shù),經(jīng)MCU處理后解包出ZigBee數(shù)據(jù),再通過(guò)以太網(wǎng)部分,實(shí)現(xiàn)數(shù)據(jù)到TCP/IP的打包封裝,發(fā)送到以太網(wǎng)芯片進(jìn)行處理,把數(shù)據(jù)寫(xiě)到RTL8019相應(yīng)的數(shù)據(jù)區(qū),然后啟動(dòng)RTL8019發(fā)送TCP/IP數(shù)據(jù)包。將數(shù)據(jù)包發(fā)完以后,重新設(shè)置標(biāo)志位和中斷控制,返回等待中斷狀態(tài)。
本文系統(tǒng)的通過(guò)對(duì)ZigBee協(xié)議的研究和分析,設(shè)計(jì)了結(jié)合ZigBee網(wǎng)絡(luò)和以太網(wǎng)網(wǎng)絡(luò)的傳輸系統(tǒng),對(duì)研究中所涉及的各項(xiàng)設(shè)計(jì)進(jìn)行了詳細(xì)的分析和說(shuō)明。通過(guò)傳輸系統(tǒng)的可行性的實(shí)驗(yàn)性驗(yàn)證,該系統(tǒng)設(shè)計(jì)具有功能完善、性能可靠、接線簡(jiǎn)單、使用方便、控制靈活,可擴(kuò)展性強(qiáng)等特點(diǎn)。該傳輸系統(tǒng)設(shè)計(jì)是具有可行性的,本文中網(wǎng)關(guān)和終端節(jié)點(diǎn)適合低速率,短距離的無(wú)線數(shù)據(jù)傳輸。
[1] 李文仲, 段朝玉,等. zigbee無(wú)線網(wǎng)絡(luò)技術(shù)入門(mén)與實(shí)踐[M].北京: 北京航空航天出版社, 2007.
[2] 黃敬堯, 蔣冰華, 陸啟帥. 基于Windows CE.net 的串行通訊設(shè)計(jì)與實(shí)現(xiàn)[J]微計(jì)算機(jī)信息, 2006, 9: 40-41.
[3] 周書(shū)民, 湯彬, 孫亞民. MobileIP的無(wú)線/有線網(wǎng)絡(luò)通信模擬分析[J]. 計(jì)算機(jī)工程, 2006, (12).