2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘要</b></p><p>  隨著網(wǎng)絡(luò)的飛速發(fā)展,人們呼吁快速便捷的網(wǎng)絡(luò)的呼聲也越來越來強烈,無線網(wǎng)絡(luò)必定是未來世界的網(wǎng)絡(luò)主要發(fā)展方向。而3G時代無線應(yīng)用的日漸豐富,以及無線終端設(shè)備的層出不窮,對于無線網(wǎng)絡(luò),尤其是基于802.11技術(shù)標(biāo)準(zhǔn)的Wi-Fi無線網(wǎng)絡(luò),802.11n產(chǎn)品技術(shù)應(yīng)用逐漸成為市場主流應(yīng)用。ZigBee技術(shù)是一種新興的短距離、低速率無線網(wǎng)絡(luò)技

2、術(shù)。它是一種介于無限標(biāo)記技術(shù)和藍牙之間的技術(shù)提案,主要用于近距離無線連接。自己在學(xué)校學(xué)習(xí)期間熟悉了通信原理,簡單的單片機知識,c語言編程等等。這些都能在這次的srtp里面得到體現(xiàn)。我們本次srtp重點研究了zigbee無線組網(wǎng),結(jié)合TI z-stack無線傳感協(xié)議,在cc2530芯片的基礎(chǔ)上實現(xiàn)溫濕度光敏等數(shù)據(jù)的無線監(jiān)測,通過此次設(shè)計過程來驗證zigbee無線網(wǎng)絡(luò)的便捷性。</p><p>  關(guān)鍵詞 無線網(wǎng)絡(luò)

3、 zigbee 數(shù)據(jù)監(jiān)測</p><p><b>  第一章 緒論</b></p><p><b>  1 課題背景</b></p><p>  機車在做牽引試驗時,需對機車上的試驗數(shù)據(jù)進行采集與傳輸系統(tǒng),目前還是通過有線方式實現(xiàn)數(shù)據(jù)的采集與傳輸,由于線纜本身十分笨重,占用空間多,這就使得每次牽引試驗時,不但接線

4、非常繁瑣,而且費時費力。又由于受到振動,連接電纜易損壞或者斷線,大大影響了數(shù)據(jù)采集的可靠性。針對目前牽引試驗數(shù)據(jù)采集與傳輸系統(tǒng)存在的不足,擬采用無線傳感器網(wǎng)絡(luò)來實現(xiàn)牽引試驗數(shù)據(jù)的采集與傳輸。該系統(tǒng)采用無線傳感器網(wǎng)絡(luò)節(jié)點構(gòu)成測量系統(tǒng)。由于該系統(tǒng)取消了常規(guī)的測量接線,采用無線傳輸采用由無線傳感器節(jié)點構(gòu)成的無線傳感器網(wǎng)絡(luò),來實現(xiàn)機車牽引試驗時,試驗數(shù)據(jù)的采集與傳輸。所以采用ZigBee無線通信技術(shù)實現(xiàn)數(shù)據(jù)的無線傳輸。采用軟測量方法實現(xiàn)試驗數(shù)據(jù)

5、的檢測。測量數(shù)據(jù),大大減少了試驗所需的連線。提高了試驗效率和試驗的靈活性。本文通過對ZigBee無線網(wǎng)絡(luò)的討論,重點研究了無線傳感器網(wǎng)絡(luò)節(jié)點設(shè)備。</p><p>  無線技術(shù)在傳感監(jiān)測領(lǐng)域有自己獨特的優(yōu)勢,傳統(tǒng)的有線通信方式因為其成本高、布線復(fù)雜,已經(jīng)不能完全滿足人們的應(yīng)用需求了。由此,無線通信技術(shù)應(yīng)運而生。無線網(wǎng)絡(luò)技術(shù)按照傳輸范圍來劃分,可分為無線廣域網(wǎng)、無線城域網(wǎng)、無線局域網(wǎng)和無線個人域網(wǎng)。無線個人域網(wǎng)即短

6、距離無線網(wǎng)絡(luò),典型的短距離無線傳輸技術(shù)有:藍牙(Bluetooth)、ZigBee、WiFi等。</p><p>  在工業(yè)控制、家庭自動化和遙測遙感領(lǐng)域,藍牙(Bluetooth)雖然成本較低,成熟度高,但是傳輸距離有限,僅為10米,可以參與組網(wǎng)的節(jié)點少。WiFi雖然傳輸速度較快,傳輸距離達到100米,但是其價格偏高,功耗較大,組網(wǎng)能力較差。</p><p>  相比之下ZigBee技術(shù)

7、則主要針對低成本、低功耗和低速率的無線通信市場,具有如下特點:</p><p>  功耗低:工作模式情況下,ZigBee技術(shù)傳輸速率低,傳輸數(shù)據(jù)量很小,因此信號的收發(fā)時間很短,其次在非工作模式時,ZigBee節(jié)點處于休眠模式。設(shè)備搜索時延一般為30ms,休眠激活時延為15ms,活動設(shè)備信道接入時延為15ms。由于工作時間較短、收發(fā)信息功耗較低且采用了休眠模式,使得ZigBee節(jié)點非常省電,ZigBee節(jié)點的電池工

8、作時間可以長達6個月到2年左右。同時,由于電池時間取決于很多因素,例如:電池種類、容量和應(yīng)用場合,ZigBee技術(shù)在協(xié)議上對電池使用也作了優(yōu)化。對于典型應(yīng)用,堿性電池可以使用數(shù)年,對于某些工作時間和總時間(工作時間+休眠時間)之比小于1%的情況. </p><p>  數(shù)據(jù)傳輸可靠:ZigBee的媒體接入控制層(MAC層)采用talk-when-ready的碰撞避免機制。在這種完全確認的數(shù)據(jù)傳輸機制下,當(dāng)有數(shù)據(jù)傳

9、送需求時則立刻傳送,發(fā)送的每個數(shù)據(jù)包都必須等待接收方的確認信息,并進行確認信息回復(fù),若沒有得到確認信息的回復(fù)就表示發(fā)生了碰撞,將再傳一次,采用這種方法可以提高系統(tǒng)信息傳輸?shù)目煽啃?。同時為需要固定帶寬的通信業(yè)務(wù)預(yù)留了專用時隙,避免了發(fā)送數(shù)據(jù)時的競爭和沖突。同時ZigBee針對時延敏感的應(yīng)用做了優(yōu)化,通信時延和休眠狀態(tài)激活的時延都非常短。</p><p>  網(wǎng)絡(luò)容量大:ZigBee低速率、低功耗和短距離傳輸?shù)奶攸c使

10、它非常適宜支持簡單器件。ZigBee定義了兩種器件:全功能器件(FFD)和簡化功能器件(RFD)。對全功能器件,要求它支持所有的49個基本參數(shù)。而對簡化功能器件,在最小配置時只要求它支持38個基本參數(shù)。一個全功能器件可以與簡化功能器件和其他全功能器件通話,可以按3種方式工作,分別為:個域網(wǎng)協(xié)調(diào)器、協(xié)調(diào)器或器件。而簡化功能器件只能與全功能器件通話,僅用于非常簡單的應(yīng)用。一個ZigBee的網(wǎng)絡(luò)最多包括有255個ZigBee網(wǎng)路節(jié)點,其中一個

11、是主控(Master)設(shè)備,其余則是從屬(Slave)設(shè)備。若是通過網(wǎng)絡(luò)協(xié)調(diào)器(Network Coordinator),整個網(wǎng)絡(luò)最多可以支持超過64000個ZigBee網(wǎng)路節(jié)點,再加上各個Network Coordinator可互相連接,整個ZigBee網(wǎng)絡(luò)節(jié)點的數(shù)目將十分可觀。</p><p>  兼容性:ZigBee技術(shù)與現(xiàn)有的控制網(wǎng)絡(luò)標(biāo)準(zhǔn)無縫集成。通過網(wǎng)絡(luò)協(xié)調(diào)器(Coordinator)自動建立網(wǎng)絡(luò),采用

12、載波偵聽/沖突檢測(CSMA-CA)方式進行信道接入。為了可靠傳遞,還提供全握手協(xié)議。</p><p>  安全性:Zigbee提供了數(shù)據(jù)完整性檢查和鑒權(quán)功能,在數(shù)據(jù)傳輸中提供了三級安全性。第一級實際是無安全方式,對于某種應(yīng)用,如果安全并不重要或者上層已經(jīng)提供足夠的安全保護,器件就可以選擇這種方式來轉(zhuǎn)移數(shù)據(jù)。對于第二級安全級別,器件可以使用接入控制清單(ACL)來防止非法器件獲取數(shù)據(jù),在這一級不采取加密措施。第三

13、級安全級別在數(shù)據(jù)轉(zhuǎn)移中采用屬于高級加密標(biāo)準(zhǔn)(AES)的對稱密碼。AES可以用來保護數(shù)據(jù)凈荷和防止攻擊者冒充合法器件。 實現(xiàn)成本低:模塊的初始成本估計在6美元左右,很快就能降到1.5-2.5美元,且Zigbee協(xié)議免專利費用。目前低速低功率的UWB芯片組的價格至少為20美元。而ZigBee的價格目標(biāo)僅為幾美分。</p><p>  由于ZigBee技術(shù)具有上述特點,因而廣泛應(yīng)用在短距離低速率電子設(shè)備之間的數(shù)據(jù)傳輸。

14、ZigBee聯(lián)盟預(yù)測的主要應(yīng)用領(lǐng)域包括工業(yè)控制、消費性電子設(shè)備、汽車自動化、農(nóng)業(yè)自動化和醫(yī)用設(shè)備控制等。</p><p>  2 課題研究的目的意義</p><p>  ZigBee技術(shù)具有低成本、低功耗、近距離、短時延、高容量、高安全及免執(zhí)照頻段等優(yōu)勢,廣泛應(yīng)用于智能家庭、工業(yè)控制、自動抄表、醫(yī)療監(jiān)護、傳感器網(wǎng)絡(luò)應(yīng)用和電信應(yīng)用等領(lǐng)域。</p><p>  智能家

15、庭:現(xiàn)今家用電器已經(jīng)隨處可見了,如何將這些電器和電子設(shè)備聯(lián)系起來,組成一個網(wǎng)絡(luò),甚至可以通過網(wǎng)關(guān)連接到Internet,使得用戶可以方便地在任何地方監(jiān)控自己家里的情況?ZigBee技術(shù)提供了家庭智能化的技術(shù)支持,在ZigBee技術(shù)的支持下,家用電器可以組成一個無線局域網(wǎng),省卻了在家里布線的煩惱。</p><p>  工業(yè)控制:工廠環(huán)境當(dāng)中有大量的傳感器和控制器,可以利用ZigBee技術(shù)把它們連接成一個網(wǎng)絡(luò)進行監(jiān)控

16、,加強作業(yè)管理,降低成本。</p><p>  自動抄表:現(xiàn)在在大多數(shù)地方還是使用人工的方式來逐家逐戶進行抄表,十分不方便。而ZigBee可以用于這個領(lǐng)域,利用傳感器把表的讀數(shù)轉(zhuǎn)化為數(shù)字信號,通過ZigBee網(wǎng)絡(luò)把讀數(shù)直接發(fā)送到提供煤氣或水電的公司。使用ZigBee進行抄表還可以帶來其它好處,比如煤氣或水電公司可以直接把一些信息發(fā)送給用戶,或者和節(jié)能相結(jié)合,當(dāng)發(fā)現(xiàn)能源使用過快的時候可以自動降低使用速度。</

17、p><p>  醫(yī)療監(jiān)護:醫(yī)療工作中,時常要獲得病人的生理指標(biāo)、環(huán)境指標(biāo),可以通過放置傳感器構(gòu)成傳感器網(wǎng)絡(luò),實時監(jiān)測這些數(shù)據(jù)。由于是無線技術(shù),傳感器之間不需要有線連接,被監(jiān)護的人也可以比較自由的行動,非常方便。</p><p>  傳感器網(wǎng)絡(luò)應(yīng)用:傳感器網(wǎng)絡(luò)也是最近的一個研究熱點,像貨物跟蹤、建筑物監(jiān)測、環(huán)境保護等方面都有很好的應(yīng)用前景。傳感器網(wǎng)絡(luò)要求節(jié)點低成本、低功耗,并且能夠自動組網(wǎng)、易于

18、維護、可靠性高。ZigBee在組網(wǎng)和低功耗方面的優(yōu)勢使得它成為傳感器網(wǎng)絡(luò)應(yīng)用的一個很好的技術(shù)選擇。</p><p>  此外,ZigBee技術(shù)也可以應(yīng)用到汽車電子、農(nóng)業(yè)生產(chǎn)和軍事領(lǐng)域中。隨著物聯(lián)網(wǎng)技術(shù)的日漸興起,ZigBee技術(shù)將會扮演更為重要的角色。但是,物聯(lián)網(wǎng)的全面普及將是一個十分漫長的過程,至少目前還在探索和實驗階段,距離實用還有很長的路要走。</p><p>  雖然前景一片大好,

19、但是我們應(yīng)該清楚認識到由于各方面的制約,ZigBee技術(shù)的大規(guī)模商業(yè)應(yīng)用還有待時日,基于ZigBee技術(shù)的無線網(wǎng)絡(luò)應(yīng)用還遠遠說不上成熟,主要表現(xiàn)在:ZigBee市場仍處于起步探索階段,終端產(chǎn)品和應(yīng)用大多處于研發(fā)階段,真正上市的少,且以家庭自動化為主;潛在應(yīng)用多,但具有很大出貨量的典型應(yīng)用少,市場缺乏明確方向;使用點對多點星狀拓撲的應(yīng)用較多,體現(xiàn)ZigBee優(yōu)勢的網(wǎng)狀網(wǎng)絡(luò)應(yīng)用少;基于IEEE 802.15.4底層協(xié)議的應(yīng)用多,而基于Zig

20、Bee標(biāo)準(zhǔn)協(xié)議的應(yīng)用少</p><p>  3 設(shè)計的準(zhǔn)備工作及預(yù)期實現(xiàn)的目的</p><p>  1 熟悉通信原理 zigbee是一種無線網(wǎng)絡(luò)技術(shù),在組網(wǎng)過程中涉及到的廣播原理以及網(wǎng)絡(luò)標(biāo)識等都需要我去補充通信原理方面的知識</p><p>  2 熟悉掌握IAR軟件的應(yīng)用 zigbee硬件里面的程序大部分是在IAR環(huán)境下完成編譯調(diào)試的</p>

21、<p>  3 掌握基礎(chǔ)的射頻知識 cc2530的芯片就是右51單片機跟射頻前端組成的,信息的發(fā)送與接受是靠射頻前端完成的</p><p>  4 熟悉c語言網(wǎng)絡(luò)硬件編程,在設(shè)計傳感器網(wǎng)絡(luò)的時候需要在zigbee網(wǎng)絡(luò)的應(yīng)用層做編程工作,用到的語言就是c語言。</p><p>  5 了解TI的z-stack協(xié)議</p><p>  預(yù)期實現(xiàn)的效果

22、:把調(diào)試完成的程序燒寫進zigbee硬件后可以成功組網(wǎng),通過電腦可以觀察到網(wǎng)絡(luò)拓撲結(jié)構(gòu),在電腦上可以監(jiān)測節(jié)點的溫濕度光敏數(shù)值。</p><p>  第二章 zigbee無線網(wǎng)絡(luò)概述</p><p>  2.1 ZigBee概述</p><p>  ZigBee一詞來源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飛翔和“嗡嗡”(zig)地抖動翅膀的“舞蹈”來與同伴傳遞花

23、粉所在方位信息,也就是說蜜蜂依靠這樣的方式構(gòu)成了群體中的通信網(wǎng)絡(luò),它是一種低成本、低功耗的近距離無線組網(wǎng)通信技術(shù)。2000年,IEEE 802.15工作組成立的任務(wù)組TG4(Task Group,TG)制定了IEEE 802.15.4標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)以低能耗、低速率傳輸、低成本為重點目標(biāo),為設(shè)備之間的低速無線互連提供了統(tǒng)一標(biāo)準(zhǔn),就是ZigBee無線通信技術(shù)。</p><p>  ZigBee協(xié)議是基于IEEE 802

24、.15.4標(biāo)準(zhǔn)的,由IEEE 802.15.4和ZigBee聯(lián)盟共同制定。IEEE 802.15.4工作組制定ZigBee協(xié)議的物理層(PHY)和媒體訪問控制層( MAC層)協(xié)議。ZigBee聯(lián)盟成立用于2002年,定義了ZigBee協(xié)議的網(wǎng)絡(luò)層(NWK)、應(yīng)用層(APL)和安全服務(wù)規(guī)范。協(xié)議棧結(jié)構(gòu)如圖2-1。</p><p>  圖2-1 ZigBee協(xié)議棧結(jié)構(gòu)</p><p>  Zi

25、gBee協(xié)議由物理層(PHY)、介質(zhì)訪問控制子層(MAC)、網(wǎng)絡(luò)層(NWK),應(yīng)用層(APL)及安全服務(wù)提供層(SSP)五塊內(nèi)容組成。其中PHY層和MAC層標(biāo)準(zhǔn)由IEEE 802.15.4標(biāo)準(zhǔn)定義,MAC層之上的NWK層,APL層及SSP層,由ZigBee聯(lián)盟的ZigBee標(biāo)準(zhǔn)定義。APL層由應(yīng)用支持層(APS),應(yīng)用框架(AF)以及ZigBee設(shè)備對象(ZDO)及ZDO管理平臺組成[1]。</p><p>  

26、PHY層定義了無線射頻應(yīng)該具備的特征,提供了868MHz-868.6MHz、902MHz-928MHz和2400MHz-24835MHz三種不同的頻段,分別支持20kbps、40kbps和250kbps的傳輸速率,1個、10個以及16個不同的信道Ⅲ。ZigBee的傳輸距離與輸出功率和環(huán)境參數(shù)有關(guān),一般為10~100米之間。PHY層提供兩種服務(wù):PHY層數(shù)據(jù)服務(wù)和PHY層管理服務(wù),PHY層數(shù)據(jù)服務(wù)是通過無線信道發(fā)送和接收物理層協(xié)議數(shù)據(jù)單元

27、(PPDU),PHY層的特性是激活和關(guān)閉無線收發(fā)器、能量檢測、鏈路質(zhì)量指示、空閑信道評估、通過物理媒介接收和發(fā)送分組數(shù)據(jù)。</p><p>  MAC層使用CSMA-CA沖突避免機制對無線信道訪問進行控制,負責(zé)物理相鄰設(shè)備問的可靠鏈接,支持關(guān)聯(lián)(Association)和退出關(guān)聯(lián)(Disassociation)以及MAC層安全。MAC層提供兩種服務(wù):MAC層數(shù)據(jù)服務(wù)和MAC層管理服務(wù),MAC層數(shù)據(jù)服務(wù)通過物理層數(shù)

28、據(jù)服務(wù)發(fā)送和接收MAC層協(xié)議數(shù)據(jù)單元(MPDU)。MAC層的主要功能是:進行信標(biāo)管理、信道接入、保證時隙(GTS)管理、幀確認應(yīng)答幀傳送、連接和斷開連接。</p><p>  NWK層提供網(wǎng)絡(luò)節(jié)點地址分配,組網(wǎng)管理,消息路由,路徑發(fā)現(xiàn)及維護等功能。NWK層主要是為了確保正確地操作IEEE 802.15.4.2003MAC子層和為應(yīng)用層提供服務(wù)接口。NWK層從概念上包括兩個服務(wù)實體:數(shù)據(jù)服務(wù)實體和管理服務(wù)實體。NW

29、K層的責(zé)任主要包括加入和離開一個網(wǎng)絡(luò)用到的機制、應(yīng)用幀安全機制和他們的目的地路由幀機制,ZigBee協(xié)調(diào)器的網(wǎng)絡(luò)層還負責(zé)建立一個新的網(wǎng)絡(luò)。</p><p>  ZigBee應(yīng)用層包括應(yīng)用支持子層(APS子層)、應(yīng)用框架(AF)和ZigBee設(shè)備對象(ZDO)。APS子層負責(zé)建立和維護綁定表,綁定表主要根據(jù)設(shè)備之間的服務(wù)和他們的需求使設(shè)備相互配對。ZigBee的應(yīng)用框架(AF)為各個用戶自定義的應(yīng)用對象提供了模板式

30、的活動空間,并提供了鍵值對(KVP)服務(wù)和報文(MSG)服務(wù)供應(yīng)用對象的數(shù)據(jù)傳輸使用。一個設(shè)備允許最多240個用戶自定義應(yīng)用對象,分別指定在端點l至端點240上。ZDO可以看成是指配到端點O上的一個特殊的應(yīng)用對象,被所有ZigBee設(shè)備包含,是所有用戶自定義的應(yīng)用對象調(diào)用的一個功能集,包括網(wǎng)絡(luò)角色管理,綁定管理,安全管理等。</p><p>  ZDO負責(zé)定義設(shè)備在網(wǎng)絡(luò)中的角色(例如是ZigBee協(xié)調(diào)器或者Zig

31、Bee終端設(shè)備)、發(fā)現(xiàn)設(shè)備和決定他們提供哪種應(yīng)用服務(wù),發(fā)現(xiàn)或響應(yīng)綁定請求,在網(wǎng)絡(luò)設(shè)備之間建立可靠的關(guān)聯(lián)。</p><p>  安全服務(wù)提供者SSP(Security Service Provider)向NWK層和APS層提供安全服務(wù)。</p><p>  ZigBee協(xié)議層與層之間是通過原語進行信息的交換和應(yīng)答的。大多數(shù)層都向上層提供數(shù)據(jù)和管理兩種服務(wù)接口,數(shù)據(jù)SAP(Service Ac

32、cess Point)和管理SAP(Service Access Point)。數(shù)據(jù)服務(wù)接口的目標(biāo)是向上層提供所需的常規(guī)數(shù)據(jù)服務(wù),管理服務(wù)接口的目標(biāo)是向上層提供訪問內(nèi)部層參數(shù)、配置和管理數(shù)據(jù)的機制。</p><p>  2.2 ZigBee網(wǎng)絡(luò)基礎(chǔ)</p><p>  ZigBee網(wǎng)絡(luò)基礎(chǔ)主要包括設(shè)備類型,拓撲結(jié)構(gòu)和路由方式三方面的內(nèi)容,ZigBee標(biāo)準(zhǔn)規(guī)定的網(wǎng)絡(luò)節(jié)點分為協(xié)調(diào)器(Coor

33、dinator)、路由器(Router)和終端節(jié)點(End Device)。節(jié)點類型是網(wǎng)絡(luò)層的概念,反映了網(wǎng)絡(luò)的拓撲形式。ZigBee網(wǎng)絡(luò)具有三種拓撲形式:星型拓撲、樹型拓撲、網(wǎng)狀拓撲[2]。</p><p>  2.2.1 網(wǎng)絡(luò)節(jié)點類型</p><p>  (1) 協(xié)調(diào)器(Coordinator)</p><p>  在各種拓撲形式的ZigBee網(wǎng)絡(luò)中,有且只有

34、一個協(xié)調(diào)器節(jié)點,它負責(zé)選擇網(wǎng)絡(luò)所使用的頻率通道、建立網(wǎng)絡(luò)并將其他節(jié)點加入網(wǎng)絡(luò)、提供信息路由、安全管理和其他服務(wù)。</p><p>  (2) 路由器(Router)</p><p>  當(dāng)采用樹型和網(wǎng)狀拓撲結(jié)構(gòu)時,需要用到路由器節(jié)點,它也可以加入?yún)f(xié)調(diào)器,是網(wǎng)絡(luò)遠距離延伸的必要部件。它負責(zé)發(fā)送和接受節(jié)點自身信息;節(jié)點之間轉(zhuǎn)發(fā)信息;允許子節(jié)點通過它加入網(wǎng)絡(luò)。</p><p&

35、gt;<b>  (3) 終端節(jié)點</b></p><p>  終端節(jié)點的主要任務(wù)就是發(fā)送和接收信息,通常一個終端節(jié)點不處在數(shù)據(jù)收發(fā)狀態(tài)時可進入休眠狀態(tài)以降低能耗。</p><p>  2.2.2 網(wǎng)絡(luò)拓撲形式</p><p><b>  (1) 星型拓撲</b></p><p>  星型拓撲是最

36、簡單的拓撲形式,如圖2-2。圖中包含一個協(xié)調(diào)器節(jié)點和一些終端節(jié)點。每一個終端節(jié)點只能和協(xié)調(diào)器節(jié)點進行通訊,在兩個終端節(jié)點之間進行通訊必須通過協(xié)調(diào)器節(jié)點進行轉(zhuǎn)發(fā),其缺點是節(jié)點之間的數(shù)據(jù)路由只有唯一路徑。</p><p>  圖2-2 星形拓撲結(jié)構(gòu)</p><p><b>  (2)樹型拓撲</b></p><p>  樹型拓撲結(jié)構(gòu)如圖2-3。協(xié)調(diào)

37、器可以連接路由器節(jié)點和終端節(jié)點,子節(jié)點的路由器節(jié)點也可以連接路由器節(jié)點和終端節(jié)點。直接通信只可以在父節(jié)點和子節(jié)點之間進行,非父子關(guān)系的節(jié)點只能間接通信。</p><p>  圖2-3 樹狀拓撲結(jié)構(gòu)</p><p><b>  (3)網(wǎng)狀拓撲</b></p><p>  網(wǎng)狀拓撲如圖2-4。網(wǎng)狀拓撲具有靈活路由選擇方式,如果某個路由路徑出現(xiàn)問題,

38、信息可自動沿其他路徑進行傳輸。任意兩個節(jié)點可相互傳輸數(shù)據(jù),網(wǎng)絡(luò)會自動按照ZigBee協(xié)議算法選擇最優(yōu)化路徑,以使網(wǎng)絡(luò)更穩(wěn)定,通訊更有效率。</p><p>  圖2-4 網(wǎng)狀拓撲結(jié)構(gòu)</p><p>  2.2.3 工作模式</p><p>  ZigBee網(wǎng)絡(luò)的工作模式可以分為信標(biāo)(Beacon)模式和非信標(biāo)(Non-beacon)模式兩種。信標(biāo)模式可以實現(xiàn)網(wǎng)絡(luò)

39、中所有設(shè)備的同步工作和同步休眠,以達到最大限度地節(jié)省功耗,而非信標(biāo)模式只允許ZE進行周期性休眠,協(xié)調(diào)器和所有路由器設(shè)備長期處于工作狀態(tài)。</p><p>  在信標(biāo)模式下,協(xié)調(diào)器負責(zé)以一定的間隔時間(一般在15ms--4mins之間)向網(wǎng)絡(luò)廣播信標(biāo)幀,兩個信標(biāo)幀發(fā)送間隔之間有16個相同的時槽,這些時槽分為網(wǎng)絡(luò)休眠區(qū)和網(wǎng)絡(luò)活動區(qū)兩個部分,消息只能在網(wǎng)絡(luò)活動區(qū)的各個時槽內(nèi)發(fā)送。</p><p>

40、;  非信標(biāo)模式下,ZigBee標(biāo)準(zhǔn)采用父節(jié)點為子節(jié)點緩存數(shù)據(jù),終端節(jié)點主動向其父節(jié)點提取數(shù)據(jù)的機制,實現(xiàn)終端節(jié)點的周期性(周期可設(shè)置)休眠。網(wǎng)絡(luò)中所有的父節(jié)點需要為自己的子節(jié)點緩存數(shù)據(jù)幀,所有子節(jié)點的大多數(shù)時間都處于休眠狀態(tài),周期性的醒來與父節(jié)點握手以確認自己仍處于網(wǎng)絡(luò)中,并向父節(jié)點提取數(shù)據(jù),其從休眠模式轉(zhuǎn)入數(shù)據(jù)傳輸模式一般只需要15ms。</p><p>  第三章 CC2530芯片介紹</p>

41、<p>  3.1 CC2530概述</p><p>  CC2530 是用于2.4-GHz IEEE 802.15.4、ZigBee 和RF4CE 應(yīng)用的一個真正的片上系統(tǒng)(SoC)解決方案。它能夠以非常低的總的材料成本建立強大的網(wǎng)絡(luò)節(jié)點。CC2530 結(jié)合了領(lǐng)先的RF 收發(fā)器的優(yōu)良性能,業(yè)界標(biāo)準(zhǔn)的增強型8051 CPU,系統(tǒng)內(nèi)可編程閃存,8-KB RAM 和許多其他強大的功能。CC2530 有

42、四種不同的閃存版本:CC2530F32/64/128/256,分別具有32/64/128/256KB 的閃存。CC2530 具有不同的運行模式,使得它尤其適應(yīng)超低功耗要求的系統(tǒng)。運行模式之間的轉(zhuǎn)換時間短進一步確保了低能源消耗。</p><p>  CC2530 芯片延用了以往CC2430 芯片的架構(gòu),在單個芯片上整合了ZigBee 射頻(RF) 前端、內(nèi)存和微控制器。它使用1 個8 位MCU(8051),具有12

43、8 KB 可編程閃存和8 KB 的RAM,還包含模擬數(shù)字轉(zhuǎn)換器(ADC)、幾個定時器(Timer)、AES128 協(xié)同處理器、看門狗定時器(Watchdog timer)、32 kHz 晶振的休眠模式定時器、上電復(fù)位電路(Power On Reset)、掉電檢測電路(Brown out detection),以及21 個可編程I/O 引腳。 </p><p>  CC2530 芯片采用0.18 μm CMOS 工

44、藝生產(chǎn);在接收和發(fā)射模式下,電流損耗分別低 于27 mA 或25 mA。CC2530 的休眠模式和轉(zhuǎn)換到主動模式的超短時間的特性,特別適合那些要求電池壽命非常長的應(yīng)用。</p><p>  3.2 CC2530模塊描述</p><p>  CC2530 方框圖 </p><p>  圖中模塊大致可以分為三類:CPU 和內(nèi)存相關(guān)的模塊;外設(shè)、時鐘和電源管理相關(guān)的模

45、塊,以及無線電相關(guān)的模塊。</p><p><b>  CPU 和內(nèi)存</b></p><p>  CC253x芯片系列中使用的8051 CPU內(nèi)核是一個單周期的8051兼容內(nèi)核。它有三種不同的內(nèi)存訪問總線(SFR,DATA 和CODE/XDATA),單周期訪問SFR,DATA 和主SRAM。它還包括一個調(diào)試接口和一個18 輸入擴展中斷單元。</p>&

46、lt;p>  中斷控制器總共提供了18 個中斷源,分為六個中斷組,每個與四個中斷優(yōu)先級之一相關(guān)。當(dāng)設(shè)備從活動模式回到空閑模式,任一中斷服務(wù)請求就被激發(fā)。一些中斷還可以從睡眠模式(供電模式1-3)喚醒設(shè)備。</p><p>  內(nèi)存仲裁器位于系統(tǒng)中心,因為它通過SFR 總線把CPU 和DMA 控制器和物理存儲器以及所有外設(shè)連接起來。內(nèi)存仲裁器有四個內(nèi)存訪問點,每次訪問可以映射到三個物理存儲器之一:一個8-KB

47、 SRAM、閃存存儲器和XREG/SFR 寄存器。它負責(zé)執(zhí)行仲裁,并確定同時訪問同一個物理存儲器之間的順序。</p><p>  8-KB SRAM映射到DATA存儲空間和部分XDATA存儲空間。8-KB SRAM是一個超低功耗的SRAM,即使數(shù)字部分掉電(供電模式2 和3)也能保留其內(nèi)容。這是對于低功耗應(yīng)用來說很重要的一個功能。</p><p>  32/64/128/256 KB閃存塊

48、為設(shè)備提供了內(nèi)電路可編程的非易失性程序存儲器,映射到XDATA 存儲空間。除了保存程序代碼和常量以外,非易失性存儲器允許應(yīng)用程序保存必須保留的數(shù)據(jù),這樣設(shè)備重啟之后可以使用這些數(shù)據(jù)。使用這個功能,例如可以利用已經(jīng)保存的網(wǎng)絡(luò)具體數(shù)據(jù),就不需要經(jīng)過完全啟動、網(wǎng)絡(luò)尋找和加入過程。</p><p><b>  時鐘和電源管理</b></p><p>  數(shù)字內(nèi)核和外設(shè)由一個1

49、.8-V 低差穩(wěn)壓器供電。它提供了電源管理功能,可以實現(xiàn)使用不同供電模式的長電池壽命的低功耗運行。有五種不同的復(fù)位源來復(fù)位設(shè)備。</p><p><b>  外設(shè)</b></p><p>  CC2530 包括許多不同的外設(shè),允許應(yīng)用程序設(shè)計者開發(fā)先進的應(yīng)用。</p><p>  調(diào)試接口執(zhí)行一個專有的兩線串行接口,用于內(nèi)電路調(diào)試。通過這個調(diào)試

50、接口,可以執(zhí)行整個閃存存儲器的擦除、控制使能哪個振蕩器、停止和開始執(zhí)行用戶程序、執(zhí)行8051 內(nèi)核提供的指令、設(shè)置代碼斷點,以及內(nèi)核中全部指令的單步調(diào)試。使用這些技術(shù),可以很好地執(zhí)行內(nèi)電路的調(diào)試和外部閃存的編程。</p><p>  設(shè)備含有閃存存儲器以存儲程序代碼。閃存存儲器可通過用戶軟件和調(diào)試接口編程。閃存控制器處理寫入和擦除嵌入式閃存存儲器。閃存控制器允許頁面擦除和4 字節(jié)編程。</p>&l

51、t;p>  I/O控制器負責(zé)所有通用I/O引腳。CPU可以配置外設(shè)模塊是否控制某個引腳或它們是否受軟件控制,如果是的話,每個引腳配置為一個輸入還是輸出,是否連接襯墊里的一個上拉或下拉電阻。CPU 中斷可以分別在每個引腳上使能。每個連接到I/O 引腳的外設(shè)可以在兩個不同的I/O 引腳位置之間選擇,以確保在不同應(yīng)用程序中的靈活性。</p><p>  系統(tǒng)可以使用一個多功能的五通道DMA控制器,使用XDATA存

52、儲空間訪問存儲器,因此能夠訪問所有物理存儲器。每個通道(觸發(fā)器、優(yōu)先級、傳輸模式、尋址模式、源和目標(biāo)指針和傳輸計數(shù))用DMA 描述符在存儲器任何地方配置。許多硬件外設(shè)(AES 內(nèi)核、閃存控制器、USART、定時器、ADC 接口)通過使用DMA 控制器在SFR 或XREG 地址和閃存/SRAM 之間進行數(shù)據(jù)傳輸,獲得高效率操作。定時器1 是一個16 位定時器,具有定時器/PWM 功能。它有一個可編程的分頻器,一個16 位周期值,和五個各自

53、可編程的計數(shù)器/捕獲通道,每個都有一個16 位比較值。每個計數(shù)器/捕獲通道可以用作一個PWM輸出或捕獲輸入信號邊沿的時序。它還可以配置在IR產(chǎn)生模式,計算定時器3 周期,輸出是ANDed,定時器3 的輸出是用最小的CPU 互動產(chǎn)生調(diào)制的消費型IR 信號。</p><p>  MAC定時器(定時器2)是專門為支持IEEE 802.15.4 MAC或軟件中其他時槽的協(xié)議設(shè)計。定時器有一個可配置的定時器周期和一個8 位

54、溢出計數(shù)器,可以用于保持跟蹤已經(jīng)經(jīng)過的周期數(shù)。一個16 位捕獲寄存器也用于記錄收到/發(fā)送一個幀開始界定符的精確時間,或傳輸結(jié)束的精確時間,還有一個16 位輸出比較寄存器可以在具體時間產(chǎn)生不同的選通命令(開始RX,開始TX,等等)到無線模塊。定時器3 和定時器4 是8 位定時器,具有定時器/計數(shù)器/PWM 功能。它們有一個可編程的分頻器,一個8 位的周期值,一個可編程的計數(shù)器通道,具有一個8 位的比較值。每個計數(shù)器通道可以用作一個PWM

55、輸出。</p><p>  睡眠定時器是一個超低功耗的定時器,計算32-kHz 晶振或32-kHz RC 振蕩器的周期。睡眠定時器在除了供電模式3 的所有工作模式下不斷運行。這一定時器的典型應(yīng)用是作為實時計數(shù)器,或作為一個喚醒定時器跳出供電模式1 或2。</p><p>  ADC支持7到12位的分辨率,分別在30 kHz或4 kHz的帶寬。DC和音頻轉(zhuǎn)換可以使用高達八個輸入通道(端口0)

56、。輸入可以選擇作為單端或差分。參考電壓可以是內(nèi)部電壓、AVDD 或是一個單端或差分外部信號。ADC 還有一個溫度傳感輸入通道。ADC 可以自動執(zhí)行定期抽樣或轉(zhuǎn)換通道序列的程序。</p><p>  隨機數(shù)發(fā)生器使用一個16 位LFSR 來產(chǎn)生偽隨機數(shù),這可以被CPU 讀取或由選通命令處理器直接使用。例如隨機數(shù)可以用作產(chǎn)生隨機密鑰,用于安全。</p><p>  AES加密/解密內(nèi)核允許用戶

57、使用帶有128位密鑰的AES算法加密和解密數(shù)據(jù)。這一內(nèi)核能夠支持IEEE 802.15.4 MAC 安全、ZigBee 網(wǎng)絡(luò)層和應(yīng)用層要求的AES 操作。</p><p>  一個內(nèi)置的看門狗允許CC2530 在固件掛起的情況下復(fù)位自身。當(dāng)看門狗定時器由軟件使能,它必須定期清除;否則,當(dāng)它超時就復(fù)位它就復(fù)位設(shè)備。或者它可以配置用作一個通用32-kHz 定時器。</p><p>  USAR

58、T 0和USART 1每個被配置為一個SPI主/從或一個UART。它們?yōu)镽X和TX提供了雙緩沖,以及硬件流控制,因此非常適合于高吞吐量的全雙工應(yīng)用。每個都有自己的高精度波特率發(fā)生器,因此可以使普通定時器空閑出來用作其他用途。</p><p><b>  無線設(shè)備</b></p><p>  CC2530 具有一個IEEE 802.15.4 兼容無線收發(fā)器。RF 內(nèi)核控

59、制模擬無線模塊。另外,它提供了MCU 和無線設(shè)備之間的一個接口,這使得可以發(fā)出命令,讀取狀態(tài),自動操作和確定無線設(shè)備事件的順序。無線設(shè)備還包括一個數(shù)據(jù)包過濾和地址識別模塊。</p><p>  3.3 CC2530引腳描述</p><p>  CC2530的引腳圖</p><p>  引腳名稱 引腳 引腳類型 描述</p><p>  AV

60、DD1 28 電源(模擬) 2-V–3.6-V 模擬電源連接</p><p>  AVDD2 27 電源(模擬) 2-V–3.6-V 模擬電源連接</p><p>  AVDD3 24 電源(模擬) 2-V–3.6-V 模擬電源連接</p><p>  AVDD4 29 電源(模擬) 2-V–3.6-V 模擬電源連接</p><p>  AV

61、DD5 21 電源(模擬) 2-V–3.6-V 模擬電源連接</p><p>  AVDD6 31 電源(模擬) 2-V–3.6-V 模擬電源連接</p><p>  DCOUPL 40 電源(數(shù)字) 1.8V 數(shù)字電源去耦。不使用外部電路供應(yīng)。</p><p>  DVDD1 39 電源(數(shù)字) 2-V–3.6-V 數(shù)字電源連接</p><p&

62、gt;  DVDD2 10 電源(數(shù)字) 2-V–3.6-V 數(shù)字電源連接</p><p>  GND - 接地 接地襯墊必須連接到一個堅固的接地面。</p><p>  GND 1,2,3,4 未使用的引腳 連接到GND</p><p>  P0_0 19 數(shù)字I/O 端口0.0</p><p>  P0_1 18 數(shù)字I/O 端口0.1&

63、lt;/p><p>  P0_2 17 數(shù)字I/O 端口0.2</p><p>  P0_3 16 數(shù)字I/O 端口0.3</p><p>  P0_4 15 數(shù)字I/O 端口0.4</p><p>  P0_5 14 數(shù)字I/O 端口0.5</p><p>  P0_6 13 數(shù)字I/O 端口0.6</p>

64、<p>  P0_7 12 數(shù)字I/O 端口0.7</p><p>  P1_0 11 數(shù)字I/O 端口1.0-20-mA 驅(qū)動能力</p><p>  P1_1 9 數(shù)字I/O 端口1.1-20-mA 驅(qū)動能力</p><p>  P1_2 8 數(shù)字I/O 端口1.2</p><p>  P1_3 7 數(shù)字I/O 端口1.3&l

65、t;/p><p>  P1_4 6 數(shù)字I/O 端口1.4</p><p>  P1_5 5 數(shù)字I/O 端口1.5</p><p>  P1_6 38 數(shù)字I/O 端口1.6</p><p>  P1_7 37 數(shù)字I/O 端口1.7</p><p>  P2_0 36 數(shù)字I/O 端口2.0</p>&l

66、t;p>  P2_1 35 數(shù)字I/O 端口2.1</p><p>  P2_2 34 數(shù)字I/O 端口2.2</p><p>  P2_3 33 數(shù)字I/O 模擬端口2.3/32.768 kHz XOSC</p><p>  P2_4 32 數(shù)字I/O 模擬端口2.4/32.768 kHz XOSC</p><p>  RBIAS 3

67、0 模擬I/O 參考電流的外部精密偏置電阻</p><p>  RESET_N 20 數(shù)字輸入 復(fù)位,活動到低電平</p><p>  RF_N 26 RF I/O RX 期間負RF 輸入信號到LNA </p><p>  RF_P 25 RF I/O RX 期間正RF 輸入信號到LNA</p><p>  XOSC_Q1 22 模擬I/O

68、32-MHz 晶振引腳1或外部時鐘輸入</p><p>  XOSC_Q2 23 模擬I/O 32-MHz 晶振引腳2</p><p>  第四章 系統(tǒng)的整體設(shè)計</p><p>  4.1 系統(tǒng)的結(jié)構(gòu)簡介</p><p>  本系統(tǒng)由三類節(jié)點組成:ZigBee協(xié)調(diào)器節(jié)點、路由器節(jié)點、傳感器節(jié)點。圖3-1所示是其組成示意圖,其中ZigBe

69、e協(xié)調(diào)器是分布式處理中心,即匯聚節(jié)點。多個傳感器節(jié)點置于不同的監(jiān)測區(qū)域,每個傳感器節(jié)點會先把數(shù)據(jù)傳給匯聚節(jié)點,然后匯聚節(jié)點把數(shù)據(jù)通過串口傳給上位機做進一步處理并顯示給用戶。協(xié)調(diào)器節(jié)點可以與多個傳感器節(jié)點通信,這樣可以使本系統(tǒng)同時監(jiān)測多個區(qū)域,何時檢測哪個區(qū)域通常由用戶通過協(xié)調(diào)器節(jié)點來控制。當(dāng)被檢測區(qū)域的障礙物較多或者協(xié)調(diào)器節(jié)點距離傳感器節(jié)點較遠時,可以通過增加路由器節(jié)點來增強網(wǎng)絡(luò)的穩(wěn)定性。當(dāng)用戶沒有數(shù)據(jù)請求時,傳感器節(jié)點只進行低功耗的信

70、道掃描。系統(tǒng)工作流程示意圖如下</p><p>  圖4-1 采集監(jiān)測系統(tǒng)示意圖</p><p>  4.2 對每個部分的功能和指標(biāo)進行詳細介紹</p><p>  (1)信息收集終端:即協(xié)調(diào)器,就是設(shè)計的zigbee網(wǎng)絡(luò)的網(wǎng)關(guān), 完成網(wǎng)絡(luò)的建立與維護,和節(jié)點之間綁定的建立,實現(xiàn)數(shù)據(jù)的匯總,然后以有線的方式傳送到上位機軟件,進行進一步數(shù)據(jù)處理。本設(shè)計采用RS-23

71、2串口將采集到的數(shù)據(jù)發(fā)送到上位機。在本設(shè)計中可以通過串口助手老查看溫濕度光敏等傳感器數(shù)據(jù)。</p><p>  (2)溫濕度光敏傳感器節(jié)點:即節(jié)點,放置在需要采集數(shù)據(jù)的地方。溫濕度光敏采集終端可以實現(xiàn)網(wǎng)絡(luò)的加入、與協(xié)調(diào)器綁定的建立對溫濕度光敏的檢測。檢測到的數(shù)據(jù)通過ZigBee無線網(wǎng)絡(luò)發(fā)送到協(xié)調(diào)器。</p><p>  (3)上位機:本系統(tǒng)的設(shè)計的上位機選擇了PC機,由于srtp確定以來反

72、復(fù)對方案進行了探討研究用PC機作為上位機軟件最穩(wěn)定,查閱了大量資料可以用通過不同的技術(shù)手段選擇不同的上位機,帶ARM設(shè)備開發(fā)板,移動終端等等都可以作為上位機。</p><p>  4.3 系統(tǒng)的程序設(shè)計</p><p><b>  (1) 設(shè)備的描述</b></p><p>  程序中,兩種設(shè)備被配置:傳感器和中心收集設(shè)備[3]。</p

73、><p>  中心收集設(shè)備作為協(xié)調(diào)器或路由器啟動,描述為:</p><p>  const SimpleDescriptionFormat_t zb_SimpleDesc =</p><p>  {MY_ENDPOINT_ID, // 端點</p><p>  MY_PROFILE_ID, //

74、 Profile ID</p><p>  DEV_ID_COLLECTOR, // 設(shè)備 ID</p><p>  DEVICE_VERSION_COLLECTOR, // 設(shè)備版本</p><p>  0, // 保留</p><p>  NUM_IN_CMD_C

75、OLLECTOR, // 輸入命令數(shù)量</p><p>  (cId_t *) zb_InCmdList, // 輸入命令列表</p><p>  NUM_OUT_CMD_COLLECTOR, // 輸出命令數(shù)量</p><p>  (cId_t *) NULL // 輸出命令列表</p>&l

76、t;p><b>  };</b></p><p>  傳感器設(shè)備的描述為:</p><p>  const SimpleDescriptionFormat_t zb_SimpleDesc =</p><p>  {MY_ENDPOINT_ID, // 端點</p><p>  MY_PROF

77、ILE_ID, // Profile ID</p><p>  DEV_ID_COLLECTOR, // 設(shè)備 ID</p><p>  DEVICE_VERSION_COLLECTOR, // 設(shè)備版本</p><p>  0, // 保留</p>

78、<p>  NUM_IN_CMD_COLLECTOR, // 輸入命令數(shù)量</p><p>  (cId_t *) zb_InCmdList, // 輸入命令列表</p><p>  NUM_OUT_CMD_SENSOR, // 輸出命令數(shù)量</p><p>  (cId_t *) zb_OutCmdList

79、 // 輸出命令列表</p><p><b>  };</b></p><p>  (2) sht11溫濕度傳感器部分工作程序</p><p>  #define data p1-1</p><p>  #define sck p1-0</p><p>  #define ack 1&

80、lt;/p><p>  #define noack 0</p><p>  #define measure_temp 0x03 //測量溫度命令</p><p>  #define measure_humi 0x05 //測量濕度命令</p><p><b>  // 讀溫濕度命令</b></p><

81、p>  char s-measure(unsigned char *p-value, unsigned char *p-checksum, unsigned char mode )</p><p><b>  {</b></p><p>  unsigned char error=0; </p><p>  unsigned int

82、i;C </p><p>  s_transstart();//傳輸開始</p><p>  switch(mode)</p><p><b>  {</b></p><p>  case temp:error+=s_write_byte(measure_temp);break;</p><

83、p>  case humi:error+=s_write_byte(measure_humi);break </p><p>  default:break;</p><p><b>  }</b></p><p>  for(i=0;i<65535;i++) if(data==0) break;</p>&

84、lt;p>  if(data) reeor+=1;</p><p>  *(p_value)=s_read_byte(ack);</p><p>  *(p_value+1)=s_read_byte(ack); </p><p>  *p_checksum=s_read_byte(noack);</p><p>  return err

85、or;</p><p><b>  }</b></p><p>  // 溫濕度值變換及溫度補償</p><p>  void calc_sth15(float *p_humidity,float *p_temperature)</p><p><b>  {</b></p><

86、p>  const float c1=-4.0;</p><p>  const float c2=0.0405;</p><p>  const float c3=-0.0000028;</p><p>  const float t1=-0.01;</p><p>  const float t2=0.00008;</p>

87、;<p>  float rh=*p_humidity;</p><p>  float t=*p_temperature;</p><p>  float rh_lin;</p><p>  float th_ture;</p><p>  float t_c;</p><p>  t_c=t*0.01

88、-40;</p><p>  rh_lin=c3*rh*rh+c2*rh+c1;</p><p>  trh_ture=(t_c-25)*(t1+t2*rh)+rh_lin;</p><p>  *p_temperature=t-c;</p><p>  *p_humidity=rh_ture;</p><p><

89、;b>  }</b></p><p>  //從相對溫度和濕度計算露點</p><p>  char calc_dewpoint(float h,float t)</p><p><b>  {</b></p><p>  float logex,dew_point;</p><p&

90、gt;  logex=0.66077+7.5*t/(237.3+t)+[log 10(h)-2];</p><p>  dew_point=(logex-0.6607)*237.3/(0.66077+7.5-logex);</p><p>  return dew_point;</p><p><b>  }</b></p>&l

91、t;p>  //動態(tài)顯示接口程序</p><p>  DIR: MOV R0,#79H</p><p>  MOV R3,#01H</p><p><b>  MOV A,R3</b></p><p>  LD0: MOV DPTR,#0101H</p><p>  MOVX @DP

92、TR,A</p><p><b>  INC DPTR</b></p><p><b>  MOV A,@R0</b></p><p>  ADD A,#12H</p><p>  MOVX A,@A+PC</p><p>  MOVX @DPTR,A</p>

93、<p><b>  ACLL DL1</b></p><p><b>  INC R0</b></p><p><b>  MOV A,R3</b></p><p>  JB ACC.5,LD1</p><p><b>  RL A</b><

94、;/p><p><b>  MOV R3,A</b></p><p><b>  AJMP LD0</b></p><p>  LD1: RET</p><p>  DSEG: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH</p><p>  

95、DSEG1: DB 7DH, 07H, 7FH, 6FH, 77H, 7CH</p><p>  DSEG2: DB 39H, 5EH, 79H, 71H, 73H, 3EH</p><p>  DSEG3: DB 31H, 61H, 1CH, 23H, 40H, 03H</p><p>  DSEG4: DB 18H, 00H, 0

96、0H, 00H</p><p>  DL1: MOV R7, #02H[DW]</p><p>  DL: MOV R6, #0FFH</p><p>  DL6: DJNZ R6, DL6</p><p>  DJNZ R7, DL</p><p><b>  RET</

97、b></p><p><b>  光敏采集實現(xiàn)程序</b></p><p>  #include "ioCC2530.h" </p><p>  #include "string.h"</p><p>  typedef signed short int16;</

98、p><p>  typedef unsigned short uint16;</p><p>  typedef unsigned char uchar;</p><p>  typedef unsigned int uint;</p><p>  char TxData[2]; //存儲發(fā)送字符串</p><p&g

99、t;  uint16 LightLevel;</p><p>  uint16 myApp_ReadLightLevel( void );</p><p>  /****************************************************************************</p><p>  * 名 稱: InitUa

100、rt()</p><p>  * 功 能: 串口初始化函數(shù)</p><p><b>  * 入口參數(shù): 無</b></p><p><b>  * 出口參數(shù): 無</b></p><p>  ***************************************************

101、*************************/</p><p>  void InitUart(void)</p><p><b>  { </b></p><p>  PERCFG = 0x00; //外設(shè)控制寄存器 USART 0的IO位置:0為P0口位置1 </p><p>  P0SEL

102、 = 0x0c; //P0_2,P0_3用作串口(外設(shè)功能)</p><p>  P2DIR &= ~0XC0; //P0優(yōu)先作為UART0</p><p>  U0CSR |= 0x80; //設(shè)置為UART方式</p><p>  U0GCR |= 11; </p>

103、;<p>  U0BAUD |= 216; //波特率設(shè)為115200</p><p>  UTX0IF = 0; //UART0 TX中斷標(biāo)志初始置位0</p><p><b>  }</b></p><p>  /**********************************

104、******************************************</p><p>  * 名 稱: UartSendString()</p><p>  * 功 能: 串口發(fā)送函數(shù)</p><p>  * 入口參數(shù): Data:發(fā)送緩沖區(qū) len:發(fā)送長度</p><p><b>  * 出口參數(shù)

105、: 無</b></p><p>  ****************************************************************************/</p><p>  void UartSendString(char *Data, int len)</p><p><b>  {</b>&

106、lt;/p><p><b>  uint i;</b></p><p>  for(i=0; i<len; i++)</p><p><b>  {</b></p><p>  U0DBUF = *Data++;</p><p>  while(UTX0IF == 0);&

107、lt;/p><p>  UTX0IF = 0;</p><p><b>  }</b></p><p><b>  }</b></p><p>  /****************************************************************************&

108、lt;/p><p>  * 名 稱: DelayMS()</p><p>  * 功 能: 以毫秒為單位延時 16M時約為535,32M時要調(diào)整,系統(tǒng)時鐘不修改默認為16M</p><p>  * 入口參數(shù): msec 延時參數(shù),值越大延時越久</p><p><b>  * 出口參數(shù): 無</b></p&

109、gt;<p>  ****************************************************************************/</p><p>  void DelayMS(uint msec)</p><p><b>  { </b></p><p><b>  uint

110、 i,j;</b></p><p>  for (i=0; i<msec; i++)</p><p>  for (j=0; j<1070; j++);</p><p><b>  }</b></p><p>  /*****************************************

111、*************************************</p><p>  * @fn main</p><p><b>  *</b></p><p><b>  * @brief</b></p><p>  * Main function of applicati

112、on example.</p><p><b>  *</b></p><p>  * Parameters:</p><p><b>  *</b></p><p>  * @param void</p><p><b>  *</b></p&

113、gt;<p>  * @return void</p><p><b>  *</b></p><p>  ******************************************************************************/</p><p>  void main(void)</p&

114、gt;<p><b>  {</b></p><p>  CLKCONCMD &= ~0x40; //設(shè)置系統(tǒng)時鐘源為32MHZ晶振</p><p>  while(CLKCONSTA & 0x40); //等待晶振穩(wěn)定為32M</p><p>  CLKCONCMD

溫馨提示

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

最新文檔

評論

0/150

提交評論