基于arm_cortex-a8與_android平臺(tái)的智能家居系統(tǒng)設(shè)計(jì)畢業(yè)論文_第1頁(yè)
已閱讀1頁(yè),還剩40頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  本科畢業(yè)設(shè)計(jì)論文</b></p><p>  題 目 基于ARM Cortex-A8與</p><p>  Android平臺(tái)的智能家居系統(tǒng)設(shè)計(jì)</p><p>  專業(yè)名稱 電子科學(xué)與技術(shù) ___</p><p>  學(xué)生姓名____

2、___ _ _ _____</p><p>  指導(dǎo)教師___________ __________</p><p>  畢業(yè)時(shí)間______ 2015年7月__ ____</p><p><b>  摘 要</b></p><p>  隨著物質(zhì)生活水平的逐步提高,科學(xué)技術(shù)

3、的不斷發(fā)展,人們對(duì)生活質(zhì)量的要求也越來(lái)越高。物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,智能家居應(yīng)運(yùn)而生。智能家居通過(guò)物聯(lián)網(wǎng)技術(shù)將家中的各種設(shè)備連接到一起,提供家電控制、照明控制、窗簾控制、電話遠(yuǎn)程控制、室內(nèi)外遙控、防盜報(bào)警、環(huán)境監(jiān)測(cè)、暖通控制、紅外轉(zhuǎn)發(fā)以及可編程定時(shí)控制等多種功能和手段。</p><p>  本文針對(duì)智能家居國(guó)內(nèi)發(fā)展現(xiàn)狀,提出了基于市面上流行的高端處理器ARM CORTEX-A8內(nèi)核的OMAP3530和Android

4、平臺(tái)的智能家居系統(tǒng)設(shè)計(jì)方案。該系統(tǒng)由Android用戶控制模塊、智能網(wǎng)關(guān)模塊以及zigbee節(jié)點(diǎn)控制模塊組成。本系統(tǒng)采用ARM搭建嵌入式網(wǎng)關(guān)平臺(tái)、并帶有良好用戶操作界面,同時(shí)采用 zigbee技術(shù)組建家庭無(wú)線網(wǎng)絡(luò),用戶可以遠(yuǎn)程與家居設(shè)備交互。系統(tǒng)硬件部分介紹了各個(gè)外設(shè),軟件部分由智能網(wǎng)關(guān)程序設(shè)計(jì)、Android 用戶控制程序設(shè)計(jì)以及zigbee節(jié)點(diǎn)控制程序設(shè)計(jì)三部分組成。經(jīng)試驗(yàn)測(cè)試表明,本文設(shè)計(jì)的系統(tǒng)能很好地滿足需求,能夠?qū)崿F(xiàn)對(duì)家居設(shè)備

5、的系統(tǒng)化、網(wǎng)絡(luò)化、智能化控制,對(duì)智能家居發(fā)展具有積極的影響。</p><p>  關(guān)鍵詞:智能家居系統(tǒng),Cortex-A8,ZigBee,Android </p><p><b>  ABSTRACT</b></p><p>  With the gradual improvement of living standards,an

6、d the development of science and technology, people's quality of life are increasingly high requirements. The rapid development of Internet of Things technology, intelligent home came into being. Smart home through h

7、ome networking technology to connect various devices together, provide appliance control, lighting control, curtain control, telephone remote control, indoor and outdoor remote control, anti-theft alarm, environmental mo

8、nitoring, HVA</p><p>  This paper,aiming the current development of domestic smart home, proposed smart home system design based on the popularity of high-end processor core ARM CORTEX-A8 OMAP3530 and Androi

9、d platforms. The system consists of Android user control module, intelligent gateway module and zigbee node control module. The system uses the ARM embedded gateway platform to build, and with a good user interface, whil

10、e using zigbee technology to build a home wireless network, users can remotely interact with the</p><p>  KEY WORDS:Smart Home System,Cortex-A8,ZigBee,Android</p><p><b>  目 錄</b><

11、/p><p><b>  第一章 緒論6</b></p><p>  1.1選題背景及意義6</p><p>  1.2智能家居研究現(xiàn)狀6</p><p>  1.2.1智能家居的起源6</p><p>  1.2.2智能家居在國(guó)外的發(fā)展6</p><p>  1.2

12、.3智能家居在國(guó)內(nèi)的發(fā)展6</p><p>  1.3智能家居發(fā)展趨勢(shì)7</p><p>  1.4論文主要研究?jī)?nèi)容及章節(jié)安排8</p><p>  第二章 相關(guān)基礎(chǔ)知識(shí)9</p><p>  2.1 Android操作系統(tǒng)9</p><p>  2.1.1Android的由來(lái)9</p>&

13、lt;p>  2.1.2 Android的系統(tǒng)架構(gòu)[8]9</p><p>  2.1.3系統(tǒng)移植主要工作[8]10</p><p>  2.2 ZIGBEE技術(shù)11</p><p>  2.2.1 Zigbee網(wǎng)絡(luò)配置11</p><p>  2.2.2ZigBee網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)12</p><p>

14、  2.2.3 ZigBee組網(wǎng)技術(shù)12</p><p>  2.3 ZStack協(xié)議棧介紹13</p><p>  2.3.1 ZStack的安裝13</p><p>  2.3.2 ZStack的結(jié)構(gòu)13</p><p>  2.3.3 設(shè)備的選擇14</p><p>  2.3.4 定位編譯選項(xiàng)14&

15、lt;/p><p>  2.3.5 IAR 工程文件中的編譯選項(xiàng)14</p><p>  2.3.6 ZStack 中的尋址15</p><p>  2.3.7 ZStack 中的路由16</p><p>  2.3.8 ZStack 中的串口通信設(shè)置16</p><p>  2.3.9配置信道16</p&

16、gt;<p>  2.4 CC2530芯片簡(jiǎn)介18</p><p>  第三章 系統(tǒng)硬件設(shè)計(jì)20</p><p>  3.1嵌入式終端設(shè)備20</p><p>  3.2 Cortex處理器21</p><p>  3.2.1 Cortex系列21</p><p>  3.2.2 ARM Cor

17、tex-A821</p><p>  3.3 傳感器節(jié)點(diǎn)23</p><p>  第四章 系統(tǒng)軟件設(shè)計(jì)25</p><p>  4.1系統(tǒng)總體框架設(shè)計(jì)25</p><p>  4.2 智能網(wǎng)關(guān)程序設(shè)計(jì)[15-16]25</p><p>  4.3 Android 用戶控制程序設(shè)計(jì)26</p>

18、<p>  4.3.1 Android 用戶控制程序框架[17]26</p><p>  4.3.2 Android 用戶控制程序編譯與安裝[18-19]29</p><p>  4.4 Zigbee 節(jié)點(diǎn)控制程序設(shè)計(jì)32</p><p>  4.5平臺(tái)控制操作33</p><p>  4.5.1啟動(dòng)程序33</p&

19、gt;<p>  4.5.2 搜索網(wǎng)絡(luò)34</p><p>  4.5.3 傳感器節(jié)點(diǎn)操作34</p><p>  第五章 總結(jié)與展望36</p><p><b>  5.1 總結(jié)36</b></p><p><b>  5.2展望36</b></p><

20、p><b>  參考文獻(xiàn)37</b></p><p><b>  致 謝38</b></p><p><b>  畢業(yè)設(shè)計(jì)小結(jié)39</b></p><p><b>  附 錄40</b></p><p><b>  第一章 緒論&l

21、t;/b></p><p>  1.1選題背景及意義</p><p>  隨著科學(xué)技術(shù)的不斷發(fā)展,人們對(duì)生活質(zhì)量有了更高的要求。人們希望有一個(gè)高效、舒適、安全、便利、環(huán)保的居住環(huán)境。實(shí)現(xiàn)對(duì)家居設(shè)備的系統(tǒng)化、網(wǎng)絡(luò)化、智能化控制,已經(jīng)成為家居環(huán)境未來(lái)的發(fā)展方向,智能家居應(yīng)運(yùn)而生。</p><p>  智能家居是在物聯(lián)網(wǎng)的影響之下物聯(lián)化的體現(xiàn)。智能家居通過(guò)物聯(lián)網(wǎng)技術(shù)

22、將家中的各種設(shè)備(如音頻設(shè)備、照明設(shè)備、窗簾設(shè)備、空調(diào)設(shè)備、安防系統(tǒng)、數(shù)字影院系統(tǒng)、網(wǎng)絡(luò)家電以及三表抄送等)連接到一起,提供家電控制、照明控制、窗簾控制、電話遠(yuǎn)程控制、室內(nèi)外遙控、防盜報(bào)警、環(huán)境監(jiān)測(cè)、暖通控制、紅外轉(zhuǎn)發(fā)以及可編程定時(shí)控制等多種功能和手段[1-2]。與普通家居相比,智能家居不僅具有傳統(tǒng)的居住功能,兼并建筑、網(wǎng)絡(luò)通信、信息家電、設(shè)備自動(dòng)化,集系統(tǒng)、結(jié)構(gòu)、服務(wù)、管理為一體的高效、舒適、安全、便利、環(huán)保的居住環(huán)境,提供全方位的信

23、息交互功能,幫助家庭與外部保持信息交流暢通,優(yōu)化人們的生活方式,幫助人們有效安排時(shí)間,增強(qiáng)家居生活的安全性,甚至為各種能源費(fèi)用節(jié)約資金。</p><p>  1.2智能家居研究現(xiàn)狀</p><p>  1.2.1智能家居的起源</p><p>  智能家居概念的起源比較早,1984年美國(guó)聯(lián)合科技公司(United Techno1ogies Building Syst

24、em)將建筑設(shè)備信息化、整合化概念應(yīng)用于美國(guó)康乃迪克州(Conneticut)哈特佛市(Hartford)的City Place Building時(shí),第一棟“智能型建筑”出現(xiàn)了,從此揭開了全世界爭(zhēng)相建造智能家居的序幕。</p><p>  1.2.2智能家居在國(guó)外的發(fā)展</p><p>  智能家居在國(guó)外的發(fā)展一直處于領(lǐng)先地位,先后在美國(guó)、韓國(guó)、新加坡、日本、歐洲等國(guó)家和地區(qū)都有廣泛的應(yīng)用

25、。如微軟公司開發(fā)的“夢(mèng)幻之家”、IBM開發(fā)的“家庭主任"、Motorola開發(fā)的“居所之門”,韓國(guó)三星公司推出的“Smart Home”軟件控制平臺(tái),新加坡推出的“智慧國(guó)2015”規(guī)劃,日本的“i-Japan”戰(zhàn)略。據(jù)統(tǒng)計(jì),在2000年,國(guó)際智能家居市場(chǎng)銷售總額達(dá)到24億美元。2004年已經(jīng)達(dá)到200億美元[3-4]。顯然,智能家居在國(guó)外巳經(jīng)發(fā)展為一個(gè)非常普及的行業(yè)。</p><p>  1.2.3智能

26、家居在國(guó)內(nèi)的發(fā)展</p><p>  智能家居在國(guó)內(nèi)的起步較晚,現(xiàn)階段還是一個(gè)新興行業(yè),但發(fā)展迅猛。我國(guó)的智能小區(qū)在20世紀(jì)90年代末逐漸興起,最早出現(xiàn)于東南沿海城市,如上海、廣州和深圳等地,其它二三線城市也在逐步建立。在2001年深圳高交會(huì)上,海爾、海信、科龍、清華同方等一些國(guó)內(nèi)企業(yè)推出智能家居概念產(chǎn)品。在2014美國(guó)國(guó)際電子消費(fèi)展(CES)上,國(guó)內(nèi)家電巨頭紛紛推出自家新品,四川長(zhǎng)虹、青島海爾、創(chuàng)維、TCL等廠

27、商的產(chǎn)品均在向智能家居緊貼。四川長(zhǎng)虹展出了基于家庭互聯(lián)網(wǎng)戰(zhàn)略的智能電視、智能空調(diào)、智能冰箱,以及手機(jī)、小家電、廚衛(wèi)等產(chǎn)品,實(shí)現(xiàn)智能化互聯(lián)互通互控,形成一個(gè)整體家庭互聯(lián)網(wǎng)生活解決方案[5]。海爾在CES展上亦推出成套智能家庭系統(tǒng),其可通過(guò)紅外線連接各種傳統(tǒng)電器的Smart Center,用戶可根據(jù)自己實(shí)際需要DIY智能家居系統(tǒng)[6]。</p><p>  智能家居在發(fā)展過(guò)程中還存在不少問(wèn)題,主要包括有線和無(wú)線的選擇

28、、操作系統(tǒng)選擇方面、功耗方面。首先,傳統(tǒng)的智能家居系統(tǒng)多需要各種綜合布線,不但成本高,還影響美觀,且可維護(hù)性差。其次,傳統(tǒng)的智能家居系統(tǒng)在用戶體驗(yàn)上很差,有些用戶操作都是各廠家自己定義的QT界面,用戶不熟悉,有些模式啟動(dòng)還得一個(gè)一個(gè)的設(shè)定,沒(méi)有實(shí)現(xiàn)一鍵式的方便用戶的操作,尤其對(duì)于老人和小孩不容易馬上學(xué)會(huì)操作。最后,現(xiàn)代社會(huì)都是提倡節(jié)能環(huán)保,智能家居方面,還需重點(diǎn)考慮如何使得該系統(tǒng)節(jié)能環(huán)保的問(wèn)題。</p><p>

29、  智能家居系統(tǒng)是為了讓人們獲得一個(gè)高效、舒適、安全、便利、環(huán)保的居住環(huán)境,也奠定了智能家居系統(tǒng)在實(shí)際生活中的應(yīng)用優(yōu)勢(shì),使其成為一個(gè)有潛力、有意義的研究領(lǐng)域。</p><p>  1.3智能家居發(fā)展趨勢(shì)</p><p>  隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,智能家居也將具有蓬勃的生機(jī),未來(lái)的智能家居產(chǎn)品將有以下發(fā)展:</p><p><b>  (1)無(wú)線通信<

30、/b></p><p>  無(wú)線技術(shù)的應(yīng)用,將有效克服傳統(tǒng)智能家居復(fù)雜的布線難題,減少成本,縮短制造時(shí)間,便于對(duì)智能家居系統(tǒng)的升級(jí)。未來(lái)的智能家居系統(tǒng)將廣泛應(yīng)用無(wú)線通信技術(shù)。</p><p> ?。?)協(xié)議標(biāo)準(zhǔn)化、接口模塊化</p><p>  標(biāo)準(zhǔn)的協(xié)議以及接口模塊化將有利于各個(gè)企業(yè)之間的技術(shù)交流,又能提高各種產(chǎn)品的兼容性。</p><p

31、><b> ?。?)智能微型化</b></p><p>  更加微型化、智能化也將是智能家居系統(tǒng)的發(fā)展方向。便攜式的系統(tǒng)以及更加智能使得系統(tǒng)便于控制,將給用戶帶來(lái)更加方便快捷的體驗(yàn)。</p><p> ?。?)云計(jì)算、云服務(wù)</p><p>  智能家居系統(tǒng)將更多地運(yùn)用云計(jì)算、云服務(wù)等技術(shù)。云計(jì)算提供了最可靠、最安全的數(shù)據(jù)存儲(chǔ)中心,用戶數(shù)

32、據(jù)將更加安全,不用再擔(dān)心數(shù)據(jù)丟失、病毒入侵等麻煩。而且它對(duì)用戶端的設(shè)備要求最低,使用起來(lái)很方便。</p><p><b> ?。?)低碳環(huán)保化</b></p><p>  隨著可持續(xù)發(fā)展、低碳、環(huán)保等觀念的深入人心,智能家居系統(tǒng)也將更多考慮低能量、低功耗的因素,設(shè)計(jì)資源節(jié)約型、環(huán)境友好型的智能家居系統(tǒng)將是未來(lái)的發(fā)展方向。</p><p>  1

33、.4論文主要研究?jī)?nèi)容及章節(jié)安排</p><p>  本文針對(duì)智能家居國(guó)內(nèi)發(fā)展現(xiàn)狀,提出了基于市面上流行的高端處理器ARM CORTEX-A8內(nèi)核的OMAP3530和Android平臺(tái)的智能家居系統(tǒng)設(shè)計(jì)方案。該系統(tǒng)由Android用戶控制模塊、智能網(wǎng)關(guān)模塊以及zigbee節(jié)點(diǎn)控制模塊組成。本系統(tǒng)采用ARM搭建嵌入式網(wǎng)關(guān)平臺(tái)、并帶有良好用戶操作界面,同時(shí)采用 zigbee技術(shù)組建家庭無(wú)線網(wǎng)絡(luò),用戶可以遠(yuǎn)程與家居設(shè)備交

34、互。</p><p><b>  本文研究?jī)?nèi)容如下:</b></p><p>  第一章:緒論。概述智能家居的發(fā)展,揭示本課題的研究意義,了解智能家居在國(guó)內(nèi)外的研究現(xiàn)狀以及未來(lái)的發(fā)展趨勢(shì)。</p><p>  第二章:相關(guān)基礎(chǔ)知識(shí)。詳細(xì)介紹Android、zigbee及ZStack協(xié)議棧等知識(shí),對(duì)CC2530芯片做詳盡介紹。</p>

35、<p>  第三章:系統(tǒng)硬件設(shè)計(jì)。介紹系統(tǒng)的硬件組成,Cortex-A8處理器的特點(diǎn)以及傳感器節(jié)點(diǎn)。</p><p>  第四章:系統(tǒng)軟件設(shè)計(jì)。詳細(xì)介紹系統(tǒng)軟件部分,對(duì)智能網(wǎng)關(guān)程序設(shè)計(jì)、Android 用戶控制程序設(shè)計(jì)以及Zigbee節(jié)點(diǎn)控制程序設(shè)計(jì)三部分的原理,程序等做詳細(xì)介紹。</p><p><b>  第五章:總結(jié)與展望</b></p>

36、;<p>  第二章 相關(guān)基礎(chǔ)知識(shí)</p><p>  2.1 Android操作系統(tǒng)</p><p>  2.1.1Android的由來(lái)</p><p>  Android是基于Linux內(nèi)核的操作系統(tǒng),是Google公司在2007年11月5日公布的手機(jī)操作系統(tǒng)。早期由原名為"Android"的公司開發(fā),谷歌在2005年收購(gòu)&q

37、uot;Android.Inc"后,繼續(xù)進(jìn)行對(duì)Android系統(tǒng)開發(fā)運(yùn)營(yíng),它采用了軟件堆層(software stack,又名軟件疊層)的架構(gòu),主要分為三部分。底層Linux內(nèi)核只提供基本功能,其他的應(yīng)用軟件則由各公司自行開發(fā),部分程序以Java編寫。2011年初數(shù)據(jù)顯示,僅正式上市兩年的操作系統(tǒng)Android已經(jīng)超越稱霸十年的塞班系統(tǒng),使之躍居全球最受歡迎的智能手機(jī)平臺(tái)?,F(xiàn)在,Android系統(tǒng)不但應(yīng)用于智能手機(jī),也在平板電

38、腦市場(chǎng)急速擴(kuò)張。采用Android系統(tǒng)主要廠商包括臺(tái)灣的HTC,(第一臺(tái)谷歌的手機(jī)G1由HTC生產(chǎn)代工)美國(guó)摩托羅拉、SE等,另外還有中國(guó)大陸廠商如:華為、中興、聯(lián)想等 [7] 。</p><p>  2.1.2 Android的系統(tǒng)架構(gòu)</p><p><b>  應(yīng)用程序</b></p><p>  Android以Java為編程語(yǔ)言,從接

39、口到功能,都有層出不窮的變化,其中Activity等同于J2ME的MID let,一個(gè)Activity 類(class)負(fù)責(zé)創(chuàng)建視窗(window),一個(gè)活動(dòng)中的Activity就是在 foreground(前景)模式,背景運(yùn)行的程序叫做Service。兩者之間通過(guò)由Service Connection和AIDL連結(jié),達(dá)到復(fù)數(shù)程序同時(shí)運(yùn)行的效果。如果運(yùn)行中的Activity 全部畫面被其他Activity 取代時(shí),該 Activity

40、便被停止(stopped),甚至被系統(tǒng)清除(kill)。View等同于J2ME的Displayable,程序人員可以通過(guò)View 類與“XML layout”將UI放置在視窗上,Android 1.5的版本可以利用View 打造出所謂的 Widgets,其實(shí)Widget只是View的一種,所以可以使用XML來(lái)設(shè)計(jì)layout,HTC的Android Hero手機(jī)即含有大量的widget。至于View Group是各種layout 的基礎(chǔ)

41、抽象類(abstract class),View Group之內(nèi)還可以有View</p><p><b> ?。?)中介軟件</b></p><p>  操作系統(tǒng)與應(yīng)用程序的溝通橋梁,應(yīng)用分為兩層:函數(shù)層(Library)和虛擬機(jī)(Virtual Machine)。Bionic是Android改良libc的版本。Android 同時(shí)包含了Webkit,所謂的Webki

42、t 就是Apple Safari 瀏覽器背后的引擎。Surface flinger 是就2D或3D的內(nèi)容顯示到屏幕上。Android使用工具鏈(Toolchain)為Google自制的Bionic Libc。 </p><p>  Android采用Open CORE作為基礎(chǔ)多媒體框架。OpenCORE可分7大塊:PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Fra

43、mework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX。 </p><p>  Android使用skia為核心圖形引擎,搭配OpenGL/ES。skia與Linux Cairo功能相當(dāng),但相較于Linux Cairo,skia功能還只是雛形的。2005年Skia公司被Google收購(gòu),2007年初,Skia GL源碼被公開

44、,目前Skia也是Google Chrome 的圖形引擎。 </p><p>  Android的多媒體數(shù)據(jù)庫(kù)采用SQLite數(shù)據(jù)庫(kù)系統(tǒng)。數(shù)據(jù)庫(kù)又分為共用數(shù)據(jù)庫(kù)及私用數(shù)據(jù)庫(kù)。用戶可通過(guò)ContentResolver類(Column)取得共用數(shù)據(jù)庫(kù)。 </p><p>  Android的中間層多以Java實(shí)現(xiàn),并且采用特殊的Dalvik虛擬機(jī)(Dalvik Virtual Machine)

45、。Dalvik虛擬機(jī)是一種“暫存器型態(tài)”(Register Based)的Java虛擬機(jī),變量皆存放于暫存器中,虛擬機(jī)的指令相對(duì)減少。Dalvik虛擬機(jī)可以有多個(gè)實(shí)例(instance), 每個(gè)Android應(yīng)用程序都用一個(gè)自屬的Dalvik虛擬機(jī)來(lái)運(yùn)行,讓系統(tǒng)在運(yùn)行程序時(shí)可達(dá)到優(yōu)化。Dalvik虛擬機(jī)并非運(yùn)行Java字節(jié)碼(Bytecode),而是運(yùn)行一種稱為.dex格式的文件。 </p><p><b&

46、gt; ?。?)硬件抽像層 </b></p><p>  Android 的HAL(硬件抽像層)是能以封閉源碼形式提供硬件驅(qū)動(dòng)模塊。HAL 的目的是為了把Android framework與Linux kernel隔開,讓Android不至過(guò)度依賴Linux kernel,以達(dá)成kernel independent的概念,也讓Android framework 的開發(fā)能在不考量驅(qū)動(dòng)程序?qū)崿F(xiàn)的前提下進(jìn)行

47、發(fā)展。 </p><p>  HAL stub是一種代理人(proxy)的概念,stub是以*.so檔的形式存在。Stub 向 HAL“提供”操作函數(shù)(operations),并由Android runtime向 HAL 取得 stub 的operations,再callback這些操作函數(shù)。HAL里包含了許多的stub(代理人)。Runtime只要說(shuō)明“類型”,即module ID,就可以取得操作函數(shù)。 <

48、;/p><p>  2.1.3系統(tǒng)移植主要工作</p><p>  Android系統(tǒng)的移植工作的目的是為了在特定的硬件上運(yùn)行Android系統(tǒng)。在移植的過(guò)程中,把握關(guān)鍵要點(diǎn),減少工作量是一個(gè)重要的方面。從工作的角度,通常的方法為,首先要熟悉硬件抽象層的接口,其次要集成和復(fù)用已有的驅(qū)動(dòng)程序,主要的工作量在硬件抽象層的實(shí)現(xiàn)中。為了更好地理解和調(diào)試系統(tǒng),也應(yīng)該適當(dāng)?shù)亓私馍蠈訉?duì)硬件抽象層的調(diào)用情況。

49、 </p><p>  圖2.1:Android系統(tǒng)架構(gòu)</p><p>  移植方面主要的工作有兩個(gè)部分: </p><p><b>  Linux驅(qū)動(dòng) </b></p><p>  Android系統(tǒng)硬件抽象層</p><p>  Linux中的驅(qū)動(dòng)工作在內(nèi)核空間,Android系統(tǒng)硬件抽象層

50、工作在用戶空間,有了這兩個(gè)部分的結(jié)合,就可以讓龐大的Android系統(tǒng)運(yùn)行在特定的硬件平臺(tái)上。 </p><p>  2.2 ZIGBEE技術(shù)</p><p>  2.2.1 Zigbee網(wǎng)絡(luò)配置 </p><p>  低數(shù)據(jù)速率的WPAN中包括兩種無(wú)線設(shè)備:全功能設(shè)備(FFD)和精簡(jiǎn)功能設(shè)備(RFD)。其中,F(xiàn)FD可以和FFD、RFD通信,而RFD只能和FFD通

51、信,RFD之間是無(wú)法通信的。RFD的應(yīng)用相對(duì)簡(jiǎn)單,例如在傳感器網(wǎng)絡(luò)中,它們只負(fù)責(zé)將采集的數(shù)據(jù)信息發(fā)送給它的協(xié)調(diào)點(diǎn),并不具備數(shù)據(jù)轉(zhuǎn)發(fā)、路由發(fā)現(xiàn)和路由維護(hù)等功能。RFD占用資源少,需要的存儲(chǔ)容量也小,成本比較低。</p><p>  在一個(gè)ZigBee網(wǎng)絡(luò)中,至少存在一個(gè)FFD充當(dāng)整個(gè)網(wǎng)絡(luò)的協(xié)調(diào)器,即PAN協(xié)調(diào)器,ZigBee中也稱作ZigBee協(xié)調(diào)器。一個(gè)ZigBee網(wǎng)絡(luò)只有一個(gè)PAN協(xié)調(diào)器。通常,PAN協(xié)調(diào)器是一

52、個(gè)特殊的FFD,它具有較強(qiáng)大的功能,是整個(gè)網(wǎng)絡(luò)的主要控制者,它負(fù)責(zé)建立新的網(wǎng)絡(luò)、發(fā)送網(wǎng)絡(luò)信標(biāo)、管理網(wǎng)絡(luò)中的節(jié)點(diǎn)以及存儲(chǔ)網(wǎng)絡(luò)信息等。FFD和RFD都可以作為終端節(jié)點(diǎn)加入ZigBee網(wǎng)絡(luò)。此外,普通FFD也可以在它的個(gè)人操作空間(POS)中充當(dāng)協(xié)調(diào)器(路由),但它仍然受PAN協(xié)調(diào)點(diǎn)的控制。ZigBee中每個(gè)協(xié)調(diào)點(diǎn)最多可連接255個(gè)節(jié)點(diǎn),一個(gè)ZigBee網(wǎng)絡(luò)最多可容納65535個(gè)節(jié)點(diǎn)。</p><p>  2.2.2Z

53、igBee網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)</p><p>  ZigBee網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)主要有三種,星型網(wǎng)、網(wǎng)狀(mesh)網(wǎng)和混合網(wǎng)。</p><p><b> ?。?) 星型網(wǎng)</b></p><p>  星型網(wǎng)是由一個(gè)PAN協(xié)調(diào)點(diǎn)和一個(gè)或多個(gè)終端節(jié)點(diǎn)組成的。PAN協(xié)調(diào)點(diǎn)必須是FFD,它負(fù)責(zé)發(fā)起建立和管理整個(gè)網(wǎng)絡(luò),其它的節(jié)點(diǎn)(終端節(jié)點(diǎn))一般為RFD,分布在

54、PAN協(xié)調(diào)點(diǎn)的覆蓋范圍內(nèi),直接與PAN協(xié)調(diào)進(jìn)行通信。星型網(wǎng)通常用于節(jié)點(diǎn)數(shù)量較少的場(chǎng)合。</p><p><b> ?。?)Mesh網(wǎng)</b></p><p>  Mesh網(wǎng)一般是由若干個(gè)FFD連接在一起形成,它們之間是完全的對(duì)等通信,每個(gè)節(jié)點(diǎn)都可以與它的無(wú)線通信范圍內(nèi)的其它節(jié)點(diǎn)通信。Mesh網(wǎng)中,一般將發(fā)起建立網(wǎng)絡(luò)的FFD節(jié)點(diǎn)作為PAN協(xié)調(diào)點(diǎn)。Mesh網(wǎng)是一種高可靠性

55、網(wǎng)絡(luò),具有“自恢復(fù)”能力,它可為傳輸?shù)臄?shù)據(jù)包提供多條路徑,一旦一條路徑出現(xiàn)故障,則存在另一條或多條路徑可供選擇。Mesh網(wǎng)可以通過(guò)FFD擴(kuò)展網(wǎng)絡(luò),組成Mesh網(wǎng)與星型網(wǎng)構(gòu)成的混合網(wǎng)。</p><p><b> ?。?)混合網(wǎng) </b></p><p>  混合網(wǎng)中,終端節(jié)點(diǎn)采集的信息首先傳到同一子網(wǎng)內(nèi)的協(xié)調(diào)點(diǎn),再通過(guò)網(wǎng)關(guān)節(jié)點(diǎn)上傳到上一層網(wǎng)絡(luò)的PAN協(xié)調(diào)點(diǎn)。混合網(wǎng)都適

56、用于范圍較大的網(wǎng)絡(luò)。</p><p>  2.2.3 ZigBee組網(wǎng)技術(shù)</p><p>  ZigBee中,只有PAN協(xié)調(diào)點(diǎn)可以建立一個(gè)新的ZigBee網(wǎng)絡(luò)。當(dāng)ZigBee PAN協(xié)調(diào)點(diǎn)希望建立一個(gè)新網(wǎng)絡(luò)時(shí),首先掃描信道,尋找網(wǎng)絡(luò)中的一個(gè)空閑信道來(lái)建立新的網(wǎng)絡(luò)。如果找到了合適的信道,ZigBee協(xié)調(diào)點(diǎn)會(huì)為新網(wǎng)絡(luò)選擇一個(gè)PAN標(biāo)識(shí)符(PAN標(biāo)識(shí)符是用來(lái)標(biāo)識(shí)整個(gè)網(wǎng)絡(luò)的,因此所選的PAN標(biāo)識(shí)

57、符必須在信道中是唯一的)。一旦選定了PAN標(biāo)識(shí)符,就說(shuō)明已經(jīng)建立了網(wǎng)絡(luò),此后,如果另一個(gè)ZigBee協(xié)調(diào)點(diǎn)掃描該信道,這個(gè)網(wǎng)絡(luò)的協(xié)調(diào)點(diǎn)就會(huì)響應(yīng)并聲明它的存在。另外,這個(gè)ZigBee協(xié)調(diào)點(diǎn)還會(huì)為自己選擇一個(gè)16bit網(wǎng)絡(luò)地址。ZigBee網(wǎng)絡(luò)中的所有節(jié)點(diǎn)都有一個(gè)64bit IEEE擴(kuò)展地址和一個(gè)16bit網(wǎng)絡(luò)地址,其中,16bit的網(wǎng)絡(luò)地址在整個(gè)網(wǎng)絡(luò)中是唯一的,也就是802.15.4中的MAC短地址。</p><p&g

58、t;  ZigBee協(xié)調(diào)點(diǎn)選定了網(wǎng)絡(luò)地址后,就開始接受新的節(jié)點(diǎn)加入其網(wǎng)絡(luò)。當(dāng)一個(gè)節(jié)點(diǎn)希望加入該網(wǎng)絡(luò)時(shí),它首先會(huì)通過(guò)信道掃描來(lái)搜索它周圍存在的網(wǎng)絡(luò),如果找到了一個(gè)網(wǎng)絡(luò),它就會(huì)進(jìn)行關(guān)聯(lián)過(guò)程加入網(wǎng)絡(luò),只有具備路由功能的節(jié)點(diǎn)可以允許別的節(jié)點(diǎn)通過(guò)它關(guān)聯(lián)網(wǎng)絡(luò)。如果網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn)與網(wǎng)絡(luò)失去聯(lián)系后想要重新加入網(wǎng)絡(luò),它可以進(jìn)行孤立通知過(guò)程重新加入網(wǎng)絡(luò)。網(wǎng)絡(luò)中每個(gè)具備路由器功能的節(jié)點(diǎn)都維護(hù)一個(gè)路由表和一個(gè)路由發(fā)現(xiàn)表,它可以參與數(shù)據(jù)包的轉(zhuǎn)發(fā)、路由發(fā)現(xiàn)和路由

59、維護(hù),以及關(guān)聯(lián)其它節(jié)點(diǎn)來(lái)擴(kuò)展網(wǎng)絡(luò)[8-11]。</p><p>  2.3 ZStack協(xié)議棧介紹</p><p>  2.3.1 ZStack 的安裝</p><p>  Z-Stack 協(xié)議棧由TI 公司出品,符合最新的Zigbee2007 規(guī)范。它支持多平臺(tái),其中就包括CC2530芯片,ZStack 的安裝包為ZStack-CC2530-2.4.0-1.4.0

60、.exe,雙擊之后直接安裝,安裝完后生成C:\Texas Instruments\ZStack-CC2530-2.4.0-1.4.0 文件夾,文件夾內(nèi)包括協(xié)議棧中各層部分源程序,Documents 文件夾內(nèi)包含一些與協(xié)議棧相關(guān)的幫助和學(xué)習(xí)文檔,Projects 包含與工程相關(guān)的庫(kù)文件、配置文件等,其中基于ZStack的工程應(yīng)放在 Texas Instruments\ZStack-CC2530-2.4.0-1.4.0\Projects\z

61、stack\Samples 文件夾下。</p><p>  2.3.2 ZStack 的結(jié)構(gòu)</p><p>  ZStack 的層次結(jié)構(gòu)如下圖2.2所示</p><p>  圖2.2 ZStack 層次結(jié)構(gòu)</p><p>  從層次的名字就能知道代表的含義,比如NWK層就是網(wǎng)絡(luò)層。一般應(yīng)用中較多關(guān)注的 是HAL層(硬件抽象層)和App 層

62、(用戶應(yīng)用),前者要針對(duì)具體的硬件進(jìn)行修改,后者 要添加具體的應(yīng)用程序。而OSAL 層是ZStack 特有的系統(tǒng)層,相當(dāng)于一個(gè)簡(jiǎn)單的操作系統(tǒng), 便于對(duì)各層次任務(wù)的管理,理解它的工作原理對(duì)開發(fā)是很重要的,下面對(duì)各層進(jìn)行簡(jiǎn)要介紹APP (Application Programming):應(yīng)用層目錄,這是用戶創(chuàng)建各種不同工程的區(qū)域,在這個(gè)目錄中包含了應(yīng)用層的內(nèi)容和這個(gè)項(xiàng)目的主要內(nèi)容,在協(xié)議棧里面一般是以操作系統(tǒng)的 任務(wù)實(shí)現(xiàn)的。</p&g

63、t;<p>  HAL(Hardware (H/W) Abstraction Layer):硬件層目錄,包含有與硬件相關(guān)的配置和驅(qū)動(dòng)及操作函數(shù)。</p><p>  MAC:MAC 層目錄,包含了MAC層的參數(shù)配置文件及其MAC的LIB庫(kù)的函數(shù)接口文件。</p><p>  MT(Monitor Test):實(shí)現(xiàn)通過(guò)串口可控各層,與各層進(jìn)行直接交互。</p>&

64、lt;p>  NWK(ZigBee Network Layer):網(wǎng)絡(luò)層目錄,含網(wǎng)絡(luò)層配置參數(shù)文件及網(wǎng)絡(luò)層庫(kù)的函數(shù)接口文件。</p><p>  OSAL(Operating System (OS) Abstraction Layer):協(xié)議棧的操作系統(tǒng)。</p><p>  Profile:AF(Application work)層目錄,包含AF層處理函數(shù)文件。</p>

65、<p>  Security:安全層目錄,安全層處理函數(shù),比如加密函數(shù)等。</p><p>  Services:地址處理函數(shù)目錄,包括著地址模式的定義及地址處理函數(shù)。</p><p>  Tools:工程配置目錄,包括空間劃分及ZStack 相關(guān)配置信息。</p><p>  ZDO(ZigBee Device Objects):ZDO 目錄。<

66、;/p><p>  ZMac:MAC 層目錄,包括MAC層參數(shù)配置及MAC層LIB 庫(kù)函數(shù)回調(diào)處理函數(shù)。</p><p>  ZMain:主函數(shù)目錄,包括入口函數(shù)及硬件配置文件。</p><p>  Output:輸出文件目錄,這EW8051 IDE自動(dòng)生成的。</p><p>  2.3.3 設(shè)備的選擇</p><p>

67、  雙擊一個(gè)工程的work space可以打開一個(gè)工程,打開工程后,從work space 下面的下拉列表中選擇設(shè)備類型,可以選擇設(shè)備類型為協(xié)調(diào)器,路由器或終端節(jié)點(diǎn)。當(dāng)選擇設(shè)備類型為協(xié)調(diào)器或路由節(jié)點(diǎn)時(shí),編譯連接命令文件應(yīng)選擇 TexasInstruments\ZStack-1.4.3-1.2.1 \Projects\zstack\Tools\CC2430DB 目錄下的f8w2430.xcl文件,若選擇設(shè)備類型為終端節(jié)點(diǎn),編譯連接命 令文

68、件應(yīng)選擇f8w2430pm.xcl文件。</p><p>  2.3.4 定位編譯選項(xiàng)</p><p>  對(duì)于一個(gè)特定的工程,編譯選項(xiàng)存在于兩個(gè)地方,一些很少需要改動(dòng)的編譯選項(xiàng)存在于連接控制文件中,每一種設(shè)備類型對(duì)應(yīng)一種連接控制文件,當(dāng)選擇了相應(yīng)的設(shè)備類型后,會(huì)自動(dòng)選擇相應(yīng)的配置文件,如選擇了設(shè)備類型為協(xié)調(diào)器,則工程會(huì)自動(dòng)選擇f8wCoord.cfg配置文件,選擇了設(shè)備類型為路由器后f8

69、wRouter.cfg配置文件被自動(dòng)選擇,選擇了設(shè)備類型為終端節(jié)點(diǎn)后f8wEndev.cfg配置文件被自動(dòng)選擇。通常情況下,這些文件很少需要改動(dòng)。用戶定義的選項(xiàng)和一些用來(lái)使能/禁用某些功能的選項(xiàng)存在于IAR 的工程文件中。</p><p>  2.3.5 IAR 工程文件中的編譯選項(xiàng)</p><p>  在IAR 工程中選擇Project/Options/C/C++ Complier中的P

70、rocessor 標(biāo)簽,如下圖2.3所示:</p><p>  圖2.3 IAR 編譯選項(xiàng)</p><p>  若想在這個(gè)配置中增加一個(gè)編譯選項(xiàng),只需將相應(yīng)的編譯選項(xiàng)添加到列表框中,若禁用一個(gè)編譯選項(xiàng),只需在相應(yīng)編譯選項(xiàng)的前面增加一個(gè)x。很多編譯選項(xiàng)都作為開關(guān)量使用,來(lái)選擇源程序中的特定程序段,也可定義數(shù)字量,也可添加DEFAULT_CHANLIST,即相應(yīng)數(shù)值來(lái)覆蓋默認(rèn)設(shè)置(DEFAUL

71、T_CHANLIST在 Tools目錄下的f8wConfig.cfg 文件中配置,默認(rèn)選擇信道11。ZStack協(xié)議棧支持大量的編譯選項(xiàng)。</p><p>  2.3.6 ZStack 中的尋址</p><p>  ZStack中定義了兩種地址,64 位的擴(kuò)展地址(IEEE 地址)和16 位網(wǎng)絡(luò)短地址。擴(kuò)展地址是全球唯一的,就像網(wǎng)卡地址,可由廠家設(shè)置或者用戶寫進(jìn)芯片。網(wǎng)絡(luò)短地址是加入Zig

72、bee網(wǎng)時(shí),由協(xié)調(diào)器分配,在特定的網(wǎng)絡(luò)中是唯一的,但是不一定每次都是一樣,只是和其他同網(wǎng)設(shè)備相區(qū)別。ZStack符合ZigBee 的分布式尋址方案來(lái)分配網(wǎng)絡(luò)地址。這個(gè)方案保證在整個(gè)網(wǎng)絡(luò)中所有分配的地址是唯一的。這一點(diǎn)是必須的,因?yàn)檫@樣才能保證一個(gè)特定的數(shù)據(jù)包能夠發(fā)給它指定的設(shè)備,而不出現(xiàn)混亂。同時(shí),這個(gè)尋址算法本身的分布特性可保證設(shè)備只能與他的父輩設(shè)備通訊,并接受一個(gè)網(wǎng)絡(luò)地址,不需要整個(gè)網(wǎng)絡(luò)范圍內(nèi)通訊的地址分配。這有助于由三個(gè)參數(shù)MAX

73、_DEPTH、MAX_ROUTERS和MAX_CHILDREN決定網(wǎng)絡(luò)的地址分配,這也是profile的一部分。MAX_DEPTH代表網(wǎng)絡(luò)最大深度,協(xié)調(diào)器為0 級(jí)深度,它決定了物理上網(wǎng)絡(luò)的―長(zhǎng)度;MAX_CHILDREN決定了一個(gè)協(xié)調(diào)器或路由器能擁有幾個(gè)子節(jié)點(diǎn);MAX_ROUTERS決定了一個(gè)協(xié)調(diào)器或路由器能擁有幾個(gè)路由功能的節(jié)點(diǎn),它是MAX_CHILDREN的子集。雖然不同的pr</p><p>  2.3.7

74、 ZStack 中的路由</p><p>  路由對(duì)應(yīng)用層是透明的,應(yīng)用層只需要知道地址而不在乎路由的過(guò)程。Z-Stack 的路由實(shí)現(xiàn)了Zigbee網(wǎng)絡(luò)的自愈機(jī)制,一條路由損壞了,可以自動(dòng)尋找新的路由。</p><p>  無(wú)線自組織網(wǎng)絡(luò)(Ad-hoc)中有很多著名的路由技術(shù),其中AODV是很常用的一種,AODV是按需路由協(xié)議。Z-Stack簡(jiǎn)化了AODV,使之適應(yīng)于無(wú)線傳感器網(wǎng)絡(luò)的特點(diǎn),

75、能在有移動(dòng)節(jié)點(diǎn)、鏈路失效和丟包的環(huán)境下工作。當(dāng)路由器從應(yīng)用層或其他設(shè)備收到單播的包時(shí),網(wǎng)絡(luò)層根據(jù)下列步驟轉(zhuǎn)發(fā):如果目的地是自己的鄰居,就直接傳送過(guò)去。否則,該路由器檢查路由表尋找目的地,如果找到了就發(fā)給下一跳,沒(méi)找到就開始啟動(dòng)路由發(fā)現(xiàn)過(guò)程,確定了路由之后才發(fā)過(guò)去。路由發(fā)現(xiàn)基本按照AODV的算法進(jìn)行,請(qǐng)求地址的源設(shè)備向鄰居廣播路由請(qǐng)求包(RREQ),收到RREQ的節(jié)點(diǎn)更新鏈路花費(fèi)域,繼續(xù)廣播路由請(qǐng)求。這樣,直到目的節(jié)點(diǎn)收到RREQ,此時(shí)的

76、鏈路花費(fèi)域可能有幾個(gè)值,對(duì)應(yīng)不同的路由,選擇一條最好的作為路由路徑,然后目的設(shè)備發(fā)送路由應(yīng)答包(RREP ),反向到源設(shè)備,路徑上其他設(shè)備由此更新自己的路由表。這樣一條新的路由就建成了。</p><p>  2.3.8 ZStack 中的串口通信設(shè)置</p><p>  串口通信的目的是協(xié)調(diào)器把整個(gè)網(wǎng)絡(luò)的信息發(fā)給上位機(jī)進(jìn)行可視化和數(shù)據(jù)存儲(chǔ)等處理。同時(shí)在開發(fā)階段非常需要有串口功能的支持,以了

77、解調(diào)試信息。Z-Stack已經(jīng)把串口部分的配置簡(jiǎn)單化了,設(shè)置的位置是mt_uart.c的MT_UartInit ()函數(shù)。配置方法是給uartConfig這一結(jié)構(gòu)體賦值,它包括了波特率、緩沖區(qū)大小,回調(diào)函數(shù)等參數(shù)。需要注意的有幾個(gè)參數(shù):</p><p>  波 特 率:賦值為宏MT_UART_DEFAULT_BAUDRATE,進(jìn)一步跟蹤查詢可知就是38400 Baud;這決定了和上位機(jī)通信的速率。</p&g

78、t;<p>  流 控:默認(rèn)是打開的,本項(xiàng)目沒(méi)有使用,改為關(guān)閉。</p><p>  回調(diào)函數(shù):在主動(dòng)控制模塊中會(huì)用到。</p><p><b>  2.3.9配置信道</b></p><p>  每一個(gè)設(shè)備都必須有一個(gè)DEFAULT_CHANLIST來(lái)控制信道集合。對(duì)于一個(gè)ZigBee 協(xié)調(diào)起來(lái)說(shuō),這個(gè)表格用來(lái)掃描噪音最小

79、的信道。對(duì)于終端節(jié)點(diǎn)和路由器節(jié)點(diǎn)來(lái)說(shuō),這個(gè)列表用來(lái)掃描并加入一個(gè)存在的網(wǎng)絡(luò)。</p><p>  (1)配置PAN ID 和要加入的網(wǎng)絡(luò)</p><p>  這個(gè)可選配置項(xiàng)用來(lái)控制ZigBee路由器和終端節(jié)點(diǎn)要加入那個(gè)網(wǎng)絡(luò)。文件f8wConfg.cfg 中的ZDO_CONFIG_PAN_ID參數(shù)可以設(shè)置為一個(gè)0~0x3FFF 之間的一個(gè)值。協(xié)調(diào)器使用這個(gè)值,作為它要啟動(dòng)的網(wǎng)絡(luò)的PANID。

80、而對(duì)于路由器節(jié)點(diǎn)和終端節(jié)點(diǎn)來(lái)說(shuō)只要加入一個(gè)已經(jīng)用這個(gè)參數(shù)配置了PAN ID的網(wǎng)絡(luò)。如果要關(guān)閉這個(gè)功能,只要將這個(gè)參數(shù)設(shè)置為0xFFFF 。要更進(jìn)一步控制加入過(guò)程, 需要修改ZDApp.c 文件中的ZDO_NetworkDiscovery ConfirmCB函數(shù)。</p><p> ?。?)最大有效載荷大小</p><p>  對(duì)于一個(gè)應(yīng)用程序最大有效載荷的大小基于幾個(gè)因素。MAC層提供了一

81、個(gè)有效載荷長(zhǎng)度常數(shù)102。NWK層需要一個(gè)固定頭大小,一個(gè)有安全的大小和一個(gè)沒(méi)有安全的大小。APS層必須有一個(gè)可變的基于變量設(shè)置的頭大小,包括ZigBee協(xié)議版本,KVP的使用和APS幀控制設(shè)置等等。最后,用戶不必根據(jù)前面的要素來(lái)計(jì)算最大有效載荷大小。AF模塊提供一個(gè)API,允許用戶查詢棧的最大有效載荷或者最大傳送單元(MTU) 。用戶調(diào)用函數(shù)afDataReqMTU,該函數(shù)將返回MTU 或者最大有效載荷大小。</p>&

82、lt;p>  typedef struct</p><p><b>  {</b></p><p>  uint8 kvp;</p><p>  APSDE_DataReqMTU_t aps;</p><p>  }afDataReqMTU_t;</p><p>  uint8 afData

83、ReqMTU( afDataReqMTU_t* fields )</p><p>  通常afDataReqMTU_t結(jié)構(gòu)只需要設(shè)置KVP的值,這個(gè)值表明KVP是否被使用。</p><p> ?。?)非易失性存儲(chǔ)器</p><p>  ZigBee 設(shè)備有許多狀態(tài)信息需要被存儲(chǔ)到非易失性存儲(chǔ)空間中,這樣能夠讓設(shè)備在意外復(fù)位或者斷電的情況下復(fù)原。否則它將無(wú)法重新加入網(wǎng)

84、絡(luò)或者起到有效作用。為了啟用這個(gè)功能,需要包含NV_RESTORE編譯選項(xiàng)。注意,在一個(gè)真正的ZigBee網(wǎng)絡(luò)中,這個(gè)選項(xiàng)必須始終啟用。關(guān)閉這個(gè)選項(xiàng)的功能也僅僅是在開發(fā)階段使用。ZDO層負(fù)責(zé)保存和恢復(fù)網(wǎng)絡(luò)層最重要的信息,包括最基本的網(wǎng)絡(luò)信息(Network Information Base NIB,管理網(wǎng)絡(luò)所需要的最基本屬性);子節(jié)點(diǎn)和父親節(jié)點(diǎn)的列表;包含應(yīng)用程序綁定表。此外,如果使用了安全功能,還要保存類似于幀個(gè)數(shù)這樣的信息。當(dāng)一個(gè)設(shè)

85、備復(fù)位后重新啟動(dòng),這類信息恢復(fù)到設(shè)備當(dāng)中。如果設(shè)備重新啟動(dòng),這些信息可以使設(shè)備重新恢復(fù)到網(wǎng)絡(luò)當(dāng)中。在ZDAPP_ Init中,函數(shù)NLME_RestoreFromNV() 的調(diào)用指示網(wǎng)絡(luò)層通過(guò)保存在NV中的數(shù)據(jù)重新恢復(fù)網(wǎng)絡(luò)。如果網(wǎng)絡(luò)所需的NV空間沒(méi)有建立,這個(gè)函數(shù)的調(diào)用將同時(shí)初始化這部分NV空間。NV同樣可以用來(lái)保存應(yīng)用程序的特定信息,用戶描述符就是一個(gè)很好的例子。NV中用戶描述符ID項(xiàng)是ZDO_NV_USERDESC(在Z</p

86、><p>  2.4 CC2530芯片簡(jiǎn)介</p><p>  ZigBee新一代SOC芯片CC2530是真正的片上系統(tǒng)解決方案之一,支持IEEE 802.15.4標(biāo)準(zhǔn)/ZigBee/ZigBee RF4CE和能源的應(yīng)用。擁有龐大的快閃記憶體多達(dá)256個(gè)字節(jié),CC2530是理想ZigBee專業(yè)應(yīng)用。支持新Remo TI的ZigBee RF4CE,這是業(yè)界首款符合ZigBee RF4CE兼容的協(xié)

87、議棧,和更大內(nèi)存大小將允許芯片無(wú)線下載,支持系統(tǒng)編程。此外,CC2530結(jié)合了一個(gè)完全集成的,高性能的RF收發(fā)器與一個(gè)8051 微處理器,8 kB的RAM ,32/64/128/256 KB閃存,以及其他強(qiáng)大的支持功能和外設(shè)。</p><p>  CC2530提供了101dB的鏈路質(zhì)量,優(yōu)秀的接收器靈敏度和健壯的抗干擾性,四種供電模式,多種閃存尺寸,以及一套廣泛的外設(shè)集——包括2個(gè)USART、12 位ADC和21

88、個(gè)通用GPIO,以及更多。除了通過(guò)優(yōu)秀的RF性能、選擇性和業(yè)界標(biāo)準(zhǔn)增強(qiáng)8051MCU 內(nèi)核,支持一般的低功耗無(wú)線通信,CC2530還可以配備TI一個(gè)標(biāo)準(zhǔn)兼容或?qū)S械木W(wǎng)絡(luò)協(xié)議棧(RemoTI、Z-Stack或SimpliciTI)來(lái)簡(jiǎn)化開發(fā),使你更快的獲得市場(chǎng)。CC2530可以用于的應(yīng)用包括遠(yuǎn)程控制、消費(fèi)型電子、家庭控制、計(jì)量和智能能源、樓宇自動(dòng)化、醫(yī)療以及更多領(lǐng)域。其主要特點(diǎn)如下:</p><p><b&g

89、t; ?。?)強(qiáng)大無(wú)線前端</b></p><p>  2.4 GHz IEEE 802.15.4 標(biāo)準(zhǔn)射頻收發(fā)器 。</p><p>  出色的接收器靈敏度和抗干擾能力。</p><p>  可編程輸出功率為+4.5 dBm,總體無(wú)線連接102dbm。</p><p><b>  極少量的外部元件。</b>

90、</p><p>  支持運(yùn)行網(wǎng)狀網(wǎng)系統(tǒng),只需要一個(gè)晶體。</p><p>  6 毫米× 6 毫米的QFN40 封裝 。</p><p>  適合系統(tǒng)配置符合世界范圍的無(wú)線電頻率法規(guī):歐洲電信標(biāo)準(zhǔn)協(xié)會(huì)ETSI EN300 328和EN 300 440 (歐洲),F(xiàn)CC 的CFR47 第15 部分(美國(guó))和ARIB STD-T-66 (日本)。</p

91、><p><b> ?。?)低功耗</b></p><p>  接收模式:24 毫安 。</p><p>  發(fā)送模式1dBm:29 毫安 。</p><p>  功耗模式1(4 微秒喚醒):0.2 毫安 。</p><p>  功率模式2(睡眠計(jì)時(shí)器運(yùn)行):1 微安 。</p><

92、;p>  功耗模式3(外部中斷):0.4 微安 。</p><p>  寬電源電壓范圍( 2 V-3.6V)。</p><p><b> ?。?)微控制器</b></p><p>  高性能和低功耗8051 微控制器內(nèi)核。</p><p>  32 /64 / 128 /或256 /kB 系統(tǒng)可編程閃存。</

93、p><p>  8 KB 的內(nèi)存保持在所有功率模式。</p><p><b>  硬件調(diào)試支持。</b></p><p><b>  系統(tǒng)硬件設(shè)計(jì)</b></p><p>  本部分包括嵌入式移動(dòng)終端設(shè)備和無(wú)線傳感器節(jié)點(diǎn)。</p><p>  3.1嵌入式終端設(shè)備</p&g

94、t;<p>  本系統(tǒng)嵌入式終端設(shè)備部分由核心板和底板兩部分組成,其核心板上集成了TI推出的新一代移動(dòng)應(yīng)用處理器——OMAP3530,是專門為智能手機(jī)和筆記本電腦等低功耗便攜式應(yīng)用而設(shè)計(jì)。OMAP3530在單一的芯片上集成了ARM Cortex-A8內(nèi)核、TMS320C64x+TMDSP內(nèi)核、圖像引擎、視頻加速器以及豐富的多媒體外設(shè),其中Cortex-A8內(nèi)核擁有超過(guò)當(dāng)今300MHz ARM9器件4倍的處理性能。該處理器有

95、256MB的DDR內(nèi)存和256MB的NANDFLASH,可廣泛用于流媒體、視頻會(huì)議、高清靜態(tài)圖像、3G多媒體手機(jī)、高性能PDA等項(xiàng)目。</p><p>  所選用系統(tǒng)組成實(shí)物如圖3.1所示,底板上則由以下外設(shè)組成:</p><p>  一個(gè)調(diào)試串口、一個(gè)擴(kuò)展串口、一個(gè)LCD模塊、兩個(gè)USBHOST接口、一個(gè) USB CLIENT 接口、一個(gè)自適應(yīng)以太網(wǎng)接口、一個(gè)觸摸屏接口、一個(gè)Zigbee

96、協(xié)調(diào)器接口、一個(gè)SD卡插槽、一個(gè)RTC和看門狗、一個(gè)鍵盤、攝像頭模塊、GPS模塊、WIFI藍(lán)牙模塊、WCDMA模塊。</p><p>  圖3.1 底板實(shí)物圖</p><p>  3.2 Cortex處理器</p><p>  3.2.1 Cortex系列</p><p>  Cortex系列處理器是基于ARM最新架構(gòu)ARMv7架構(gòu)的處理器,

97、按照資源多少分為Cortex-M、Cortex-R和Cortex-A三類。</p><p>  這些新的ARM Cortex處理器系列都是基于最新的ARMv7架構(gòu)的產(chǎn)品,按照性能從高到低的順序排列,分別是:Cortex-R系列、Cortex-A系列、和Cortex-M系列。其中,Cortex-A系列是針對(duì)日益增長(zhǎng)的,功能豐富的,需要運(yùn)行包括Linux、Windows CE和Symbian等大型嵌入式操作系統(tǒng)的嵌入

98、式終端設(shè)備;Cortex-R系列針對(duì)的是需要搭載小型實(shí)時(shí)操作系統(tǒng)來(lái)進(jìn)行控制應(yīng)用的系統(tǒng),包括汽車電子設(shè)備、網(wǎng)絡(luò)以及影像設(shè)備;Cortex-M系列則是針對(duì)性能要求小,不需要搭載嵌入式操作系統(tǒng)的嵌入式設(shè)備。</p><p>  3.2.2 ARM Cortex-A8</p><p>  ARM Cortex-A8處理器是一款適用于復(fù)雜操作系統(tǒng)及用戶應(yīng)用的應(yīng)用處理器,其結(jié)構(gòu)如圖3.2所示。它作為嵌

99、入式終端設(shè)備的使用,是屬于非常高端的選擇。另外,為了滿足Cortex-A8處理器實(shí)現(xiàn)超量級(jí)的速度和功耗,它使用了ARM Artisan庫(kù)以及完善的泄漏控制技術(shù)。這其中,Artisan庫(kù)還支持智能能源管理(IEM,Intelligent Energy Manger)技術(shù)。此外,它的集成工藝已經(jīng)達(dá)到65nm,這對(duì)于嵌入式處理器領(lǐng)域,又是一次跳躍。它的功耗,也低的驚人,65nm的ARM cortex-A8處理器的功耗竟然還不到300 mW,這

100、對(duì)于一個(gè)移動(dòng)終端設(shè)備是非常好的應(yīng)用解決方案。而且,它的性能也幾乎接近臺(tái)式機(jī)的性能。這就意味著,用戶將使用著集成工藝超高,價(jià)格低廉,性能超越,功耗很好的處理器。</p><p>  圖3.2 Cortex-A8內(nèi)部結(jié)構(gòu)圖</p><p>  Cortex-A8處理器是第一款使用全新的ARMv7架構(gòu)的嵌入式應(yīng)用處理器,它支持最新Thumb-2指令集。這種指令集的特點(diǎn)就是代碼高密度,因此使處理?yè)?/p>

101、有更高的性能,并具有更低的功耗。它第一次采用了異常強(qiáng)大的NEON技術(shù)。將NEON用于處理一些視頻、音頻和圖形工作可以減輕CPU負(fù)擔(dān),因此提高整個(gè)CPU處理的性能。另外Cortex-A8的還支持Jazelle-RCTJava加速技術(shù),它可以為隨時(shí)動(dòng)態(tài)和實(shí)時(shí)調(diào)整編譯提供最優(yōu)化,同時(shí)減少內(nèi)存使用空間高達(dá)三倍。該處理器配置了先進(jìn)的超標(biāo)量體系結(jié)構(gòu)流水線,能夠同時(shí)執(zhí)行多條指令,并且提供超過(guò)2.0 DMIPS/MHz的性能。處理器集成了一個(gè)可調(diào)尺寸的

102、二級(jí)高速緩沖存儲(chǔ)器,能夠與高速的16KB或者32KB一級(jí)高速緩沖存儲(chǔ)器同時(shí)工作,從而達(dá)到最快的讀取速度和最大的吞吐量。新處理器還配置了用于安全交易和數(shù)字版權(quán)管理的Trust Zone技術(shù),以及實(shí)現(xiàn)低功耗管理的IEM功能。</p><p>  Cortex-A8處理器使用了先進(jìn)的分支預(yù)測(cè)技術(shù),并且具有專用的NEON整型和浮點(diǎn)型流水線進(jìn)行信號(hào)和媒體文件處理。在使用小于4m2的硅片及低功耗的65nm工藝的情況下,Cor

103、tex-A8處理器的運(yùn)行頻率將高于600MHz,這里不包括NEON追蹤技術(shù)和二級(jí)高速緩沖技術(shù)。在高性能的90nm和65nm工藝下,Cortex-A8處理器的運(yùn)行頻率最高能達(dá)到1 GHz,能夠滿足用戶高性能的消費(fèi)產(chǎn)品設(shè)計(jì)的需要[12-13]。</p><p><b>  3.3 傳感器節(jié)點(diǎn)</b></p><p>  本設(shè)計(jì)無(wú)線傳感器節(jié)點(diǎn)有三部分構(gòu)成:傳感器、控制模塊及

104、無(wú)線節(jié)點(diǎn)模塊。</p><p>  無(wú)線傳感器節(jié)點(diǎn)示意圖如圖3.3所示,圖3.4為本實(shí)驗(yàn)用到的溫濕度傳感器、距離傳感器、氣體傳感器和繼電器傳感器的實(shí)物圖。</p><p>  圖3.3 無(wú)線傳感器節(jié)點(diǎn)示意圖</p><p>  a:溫濕度傳感器 b:距離傳感器</p><p>  c:氣體傳感器

105、 d:繼電器傳感器</p><p>  圖3.4 無(wú)線傳感器節(jié)點(diǎn)實(shí)物圖</p><p>  其中無(wú)線節(jié)點(diǎn)模塊主要包括:Zigbee芯片CC2530和天線構(gòu)成。實(shí)物如圖3.5所示,其原理圖如圖3.6所示。</p><p>  圖3.5 無(wú)線節(jié)點(diǎn)模塊</p><p>  圖3.6 無(wú)線節(jié)點(diǎn)原理圖</p&

106、gt;<p>  傳感器及模塊就比較多樣了:可以攜帶一個(gè)傳感器,也可攜帶多個(gè),還可以帶一些其他的設(shè)備。總體來(lái)說(shuō)包括:溫濕度傳感器,氣體傳感器,距離傳感器,繼電器,串口等設(shè)備。</p><p>  底板使用三種供電方式:電源適配器供電、USB供電、電池供電。</p><p><b>  系統(tǒng)軟件設(shè)計(jì)</b></p><p>  4.

107、1系統(tǒng)總體框架設(shè)計(jì)</p><p>  硬件平臺(tái)是智能家居控制系統(tǒng)的載體,軟件是控制系統(tǒng)的靈魂。本系統(tǒng)軟件設(shè)計(jì)由智能網(wǎng)關(guān)程序設(shè)計(jì)、Android 用戶控制程序設(shè)計(jì)以及Zigbee節(jié)點(diǎn)控制程序設(shè)計(jì)三部分組成。智能網(wǎng)關(guān)既是互聯(lián)網(wǎng)和家庭網(wǎng)絡(luò)之間的橋梁,也是智能家居控制系統(tǒng)的主控設(shè)備,可以對(duì)系統(tǒng)進(jìn)行統(tǒng)一集中管理與控制。ZigBee節(jié)點(diǎn)組成的無(wú)線局域網(wǎng)中的協(xié)調(diào)器接收智能網(wǎng)關(guān)應(yīng)答的遠(yuǎn)程消息,并發(fā)送給相應(yīng)的路由器節(jié)點(diǎn)或終端節(jié)點(diǎn)

108、,以監(jiān)控家電設(shè)備和監(jiān)測(cè)家居環(huán)境。集成了Zigbee 模塊的家電設(shè)備控制器和各種傳感器模塊可作為 ZigBee無(wú)線傳感器網(wǎng)絡(luò)中的終端??刂平K端又可以稱為手持操控設(shè)備,它包括平板電腦或者智能手機(jī)等任可以安裝Android操作系統(tǒng)的終端設(shè)備,本智能家居系統(tǒng)特別開發(fā)了基于Android系統(tǒng)的家居環(huán)境控制軟件,可以安裝在手持操控設(shè)備上,來(lái)滿足手持操控設(shè)備對(duì)家電網(wǎng)絡(luò)的狀態(tài)的實(shí)時(shí)監(jiān)控和遠(yuǎn)程遙控; 同時(shí)也可以通過(guò)發(fā)送GSM 短消息遠(yuǎn)程控制家中電氣設(shè)備,

109、或者接收到關(guān)于家居環(huán)境信息的GSM 短消息。</p><p>  其綜合框架如圖4.1所示:</p><p>  圖4.1系統(tǒng)工作框架</p><p>  4.2 智能網(wǎng)關(guān)程序設(shè)計(jì)[14-15]</p><p>  智能網(wǎng)關(guān)程序是連接android系統(tǒng)與Zigbee無(wú)線網(wǎng)絡(luò)的橋梁,運(yùn)行在android系統(tǒng)服務(wù)層,智能網(wǎng)關(guān)程序通過(guò)3G、Wifi

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論