基于zigbeeCC2530的數據采集與傳輸系統的設計_第1頁
基于zigbeeCC2530的數據采集與傳輸系統的設計_第2頁
基于zigbeeCC2530的數據采集與傳輸系統的設計_第3頁
基于zigbeeCC2530的數據采集與傳輸系統的設計_第4頁
基于zigbeeCC2530的數據采集與傳輸系統的設計_第5頁
已閱讀5頁,還剩34頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、摘要隨著網絡的飛速發展,人們呼吁快速便捷的網絡的呼聲也越來越來強烈,無線網絡必定是未來世界的網絡主要發展方向。而3G時代無線應用的日漸豐富,以及無線終端設備的層出不窮,對于無線網絡,尤其是基于802.11技術標準的Wi-Fi無線網絡,802.11n產品技術應用逐漸成為市場主流應用。ZigBee技術是一種新興的短距離、低速率無線網絡技術。它是一種介于無限標記技術和藍牙之間的技術提案,主要用于近距離無線連接。自己在學校學習期間熟悉了通信原理,簡單的單片機知識,c語言編程等等。這些都能在這次的srtp里面得到體現。我們本次srtp重點研究了zigbee無線組網,結合TI z-stack無線傳感協議,

2、在cc2530芯片的基礎上實現溫濕度光敏等數據的無線監測,通過此次設計過程來驗證zigbee無線網絡的便捷性。關鍵詞 無線網絡 zigbee 數據監測 第一章 緒論1 課題背景機車在做牽引試驗時,需對機車上的試驗數據進行采集與傳輸系統,目前還是通過有線方式實現數據的采集與傳輸,由于線纜本身十分笨重,占用空間多,這就使得每次牽引試驗時,不但接線非常繁瑣,而且費時費力。又由于受到振動,連接電纜易損壞或者斷線,大大影響了數據采集的可靠性。針對目前牽引試驗數據采集與傳輸系統存在的不足,擬采用無線傳感器網絡來實現牽引試驗數據的采集與傳輸。該系統采用無線傳感器網絡節點構成測量系統。由于該系統取消了常規的測

3、量接線,采用無線傳輸采用由無線傳感器節點構成的無線傳感器網絡,來實現機車牽引試驗時,試驗數據的采集與傳輸。所以采用ZigBee無線通信技術實現數據的無線傳輸。采用軟測量方法實現試驗數據的檢測。測量數據,大大減少了試驗所需的連線。提高了試驗效率和試驗的靈活性。本文通過對ZigBee無線網絡的討論,重點研究了無線傳感器網絡節點設備。無線技術在傳感監測領域有自己獨特的優勢,傳統的有線通信方式因為其成本高、布線復雜,已經不能完全滿足人們的應用需求了。由此,無線通信技術應運而生。無線網絡技術按照傳輸范圍來劃分,可分為無線廣域網、無線城域網、無線局域網和無線個人域網。無線個人域網即短距離無線網絡,典型的短

4、距離無線傳輸技術有:藍牙(Bluetooth)、ZigBee、WiFi等。在工業控制、家庭自動化和遙測遙感領域,藍牙(Bluetooth)雖然成本較低,成熟度高,但是傳輸距離有限,僅為10米,可以參與組網的節點少。WiFi雖然傳輸速度較快,傳輸距離達到100米,但是其價格偏高,功耗較大,組網能力較差。相比之下ZigBee技術則主要針對低成本、低功耗和低速率的無線通信市場,具有如下特點:功耗低:工作模式情況下,ZigBee技術傳輸速率低,傳輸數據量很小,因此信號的收發時間很短,其次在非工作模式時,ZigBee節點處于休眠模式。設備搜索時延一般為30ms,休眠激活時延為15ms,活動設備信道接入時

5、延為15ms。由于工作時間較短、收發信息功耗較低且采用了休眠模式,使得ZigBee節點非常省電,ZigBee節點的電池工作時間可以長達6個月到2年左右。同時,由于電池時間取決于很多因素,例如:電池種類、容量和應用場合,ZigBee技術在協議上對電池使用也作了優化。對于典型應用,堿性電池可以使用數年,對于某些工作時間和總時間(工作時間+休眠時間)之比小于1%的情況. 數據傳輸可靠:ZigBee的媒體接入控制層(MAC層)采用talk-when-ready的碰撞避免機制。在這種完全確認的數據傳輸機制下,當有數據傳送需求時則立刻傳送,發送的每個數據包都必須等待接收方的確認信息,并進行確認信息回復,若

6、沒有得到確認信息的回復就表示發生了碰撞,將再傳一次,采用這種方法可以提高系統信息傳輸的可靠性。同時為需要固定帶寬的通信業務預留了專用時隙,避免了發送數據時的競爭和沖突。同時ZigBee針對時延敏感的應用做了優化,通信時延和休眠狀態激活的時延都非常短。 網絡容量大:ZigBee低速率、低功耗和短距離傳輸的特點使它非常適宜支持簡單器件。ZigBee定義了兩種器件:全功能器件(FFD)和簡化功能器件(RFD)。對全功能器件,要求它支持所有的49個基本參數。而對簡化功能器件,在最小配置時只要求它支持38個基本參數。一個全功能器件可以與簡化功能器件和其他全功能器件通話,可以按3種方式工作,分別為:個域網

7、協調器、協調器或器件。而簡化功能器件只能與全功能器件通話,僅用于非常簡單的應用。一個ZigBee的網絡最多包括有255個ZigBee網路節點,其中一個是主控(Master)設備,其余則是從屬(Slave)設備。若是通過網絡協調器(Network Coordinator),整個網絡最多可以支持超過64000個ZigBee網路節點,再加上各個Network Coordinator可互相連接,整個ZigBee網絡節點的數目將十分可觀。 兼容性:ZigBee技術與現有的控制網絡標準無縫集成。通過網絡協調器(Coordinator)自動建立網絡,采用載波偵聽/沖突檢測(CSMA-CA)方式進行信道接入。

8、為了可靠傳遞,還提供全握手協議。 安全性:Zigbee提供了數據完整性檢查和鑒權功能,在數據傳輸中提供了三級安全性。第一級實際是無安全方式,對于某種應用,如果安全并不重要或者上層已經提供足夠的安全保護,器件就可以選擇這種方式來轉移數據。對于第二級安全級別,器件可以使用接入控制清單(ACL)來防止非法器件獲取數據,在這一級不采取加密措施。第三級安全級別在數據轉移中采用屬于高級加密標準(AES)的對稱密碼。AES可以用來保護數據凈荷和防止攻擊者冒充合法器件。 實現成本低:模塊的初始成本估計在6美元左右,很快就能降到1.5-2.5美元,且Zigbee協議免專利費用。目前低速低功率的UWB芯片組的價格

9、至少為20美元。而ZigBee的價格目標僅為幾美分。由于ZigBee技術具有上述特點,因而廣泛應用在短距離低速率電子設備之間的數據傳輸。ZigBee聯盟預測的主要應用領域包括工業控制、消費性電子設備、汽車自動化、農業自動化和醫用設備控制等。 2 課題研究的目的意義 ZigBee技術具有低成本、低功耗、近距離、短時延、高容量、高安全及免執照頻段等優勢,廣泛應用于智能家庭、工業控制、自動抄表、醫療監護、傳感器網絡應用和電信應用等領域。智能家庭:現今家用電器已經隨處可見了,如何將這些電器和電子設備聯系起來,組成一個網絡,甚至可以通過網關連接到Internet,使得用戶可以方便地在任何地方監控自己家里

10、的情況?ZigBee技術提供了家庭智能化的技術支持,在ZigBee技術的支持下,家用電器可以組成一個無線局域網,省卻了在家里布線的煩惱。工業控制:工廠環境當中有大量的傳感器和控制器,可以利用ZigBee技術把它們連接成一個網絡進行監控,加強作業管理,降低成本。自動抄表:現在在大多數地方還是使用人工的方式來逐家逐戶進行抄表,十分不方便。而ZigBee可以用于這個領域,利用傳感器把表的讀數轉化為數字信號,通過ZigBee網絡把讀數直接發送到提供煤氣或水電的公司。使用ZigBee進行抄表還可以帶來其它好處,比如煤氣或水電公司可以直接把一些信息發送給用戶,或者和節能相結合,當發現能源使用過快的時候可以

11、自動降低使用速度。醫療監護:醫療工作中,時常要獲得病人的生理指標、環境指標,可以通過放置傳感器構成傳感器網絡,實時監測這些數據。由于是無線技術,傳感器之間不需要有線連接,被監護的人也可以比較自由的行動,非常方便。傳感器網絡應用:傳感器網絡也是最近的一個研究熱點,像貨物跟蹤、建筑物監測、環境保護等方面都有很好的應用前景。傳感器網絡要求節點低成本、低功耗,并且能夠自動組網、易于維護、可靠性高。ZigBee在組網和低功耗方面的優勢使得它成為傳感器網絡應用的一個很好的技術選擇。此外,ZigBee技術也可以應用到汽車電子、農業生產和軍事領域中。隨著物聯網技術的日漸興起,ZigBee技術將會扮演更為重要的

12、角色。但是,物聯網的全面普及將是一個十分漫長的過程,至少目前還在探索和實驗階段,距離實用還有很長的路要走。 雖然前景一片大好,但是我們應該清楚認識到由于各方面的制約,ZigBee技術的大規模商業應用還有待時日,基于ZigBee技術的無線網絡應用還遠遠說不上成熟,主要表現在:ZigBee市場仍處于起步探索階段,終端產品和應用大多處于研發階段,真正上市的少,且以家庭自動化為主;潛在應用多,但具有很大出貨量的典型應用少,市場缺乏明確方向;使用點對多點星狀拓撲的應用較多,體現ZigBee優勢的網狀網絡應用少;基于IEEE 802.15.4底層協議的應用多,而基于ZigBee標準協議的應用少3 設計的準

13、備工作及預期實現的目的1 熟悉通信原理 zigbee是一種無線網絡技術,在組網過程中涉及到的廣播原理以及網絡標識等都需要我去補充通信原理方面的知識2 熟悉掌握IAR軟件的應用 zigbee硬件里面的程序大部分是在IAR環境下完成編譯調試的3 掌握基礎的射頻知識 cc2530的芯片就是右51單片機跟射頻前端組成的,信息的發送與接受是靠射頻前端完成的4 熟悉c語言網絡硬件編程,在設計傳感器網絡的時候需要在zigbee網絡的應用層做編程工作,用到的語言就是c語言。5 了解TI的z-stack協議 預期實現的效果:把調試完成的程序燒寫進zigbee硬件后可以成功組網,通過電腦可以觀察到網絡拓撲結構,在

14、電腦上可以監測節點的溫濕度光敏數值。第二章 zigbee無線網絡概述 2.1 ZigBee概述ZigBee一詞來源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飛翔和“嗡嗡”(zig)地抖動翅膀的“舞蹈”來與同伴傳遞花粉所在方位信息,也就是說蜜蜂依靠這樣的方式構成了群體中的通信網絡,它是一種低成本、低功耗的近距離無線組網通信技術。2000年,IEEE 802.15工作組成立的任務組TG4(Task Group,TG)制定了IEEE 802.15.4標準。該標準以低能耗、低速率傳輸、低成本為重點目標,為設備之間的低速無線互連提供了統一標準,就是ZigBee無線通信技術。ZigBee協議是基于IEEE 8

15、02.15.4標準的,由IEEE 802.15.4和ZigBee聯盟共同制定。IEEE 802.15.4工作組制定ZigBee協議的物理層(PHY)和媒體訪問控制層( MAC層)協議。ZigBee聯盟成立用于2002年,定義了ZigBee協議的網絡層(NWK)、應用層(APL)和安全服務規范。協議棧結構如圖2-1。應用層(含應用接口層)用戶應用支持子層ZigBee聯盟網絡層MAC層IEEE 802.15.4物理層圖2-1 ZigBee協議棧結構ZigBee協議由物理層(PHY)、介質訪問控制子層(MAC)、網絡層(NWK),應用層(APL)及安全服務提供層(SSP)五塊內容組成。其中PHY層和

16、MAC層標準由IEEE 802.15.4標準定義,MAC層之上的NWK層,APL層及SSP層,由ZigBee聯盟的ZigBee標準定義。APL層由應用支持層(APS),應用框架(AF)以及ZigBee設備對象(ZDO)及ZDO管理平臺組成1。PHY層定義了無線射頻應該具備的特征,提供了868MHz-868.6MHz、902MHz-928MHz和2400MHz-24835MHz三種不同的頻段,分別支持20kbps、40kbps和250kbps的傳輸速率,1個、10個以及16個不同的信道。ZigBee的傳輸距離與輸出功率和環境參數有關,一般為10100米之間。PHY層提供兩種服務:PHY層數據服務

17、和PHY層管理服務,PHY層數據服務是通過無線信道發送和接收物理層協議數據單元(PPDU),PHY層的特性是激活和關閉無線收發器、能量檢測、鏈路質量指示、空閑信道評估、通過物理媒介接收和發送分組數據。MAC層使用CSMA-CA沖突避免機制對無線信道訪問進行控制,負責物理相鄰設備問的可靠鏈接,支持關聯(Association)和退出關聯(Disassociation)以及MAC層安全。MAC層提供兩種服務:MAC層數據服務和MAC層管理服務,MAC層數據服務通過物理層數據服務發送和接收MAC層協議數據單元(MPDU)。MAC層的主要功能是:進行信標管理、信道接入、保證時隙(GTS)管理、幀確認應

18、答幀傳送、連接和斷開連接。NWK層提供網絡節點地址分配,組網管理,消息路由,路徑發現及維護等功能。NWK層主要是為了確保正確地操作IEEE 802.15.42003MAC子層和為應用層提供服務接口。NWK層從概念上包括兩個服務實體:數據服務實體和管理服務實體。NWK層的責任主要包括加入和離開一個網絡用到的機制、應用幀安全機制和他們的目的地路由幀機制,ZigBee協調器的網絡層還負責建立一個新的網絡。ZigBee應用層包括應用支持子層(APS子層)、應用框架(AF)和ZigBee設備對象(ZDO)。APS子層負責建立和維護綁定表,綁定表主要根據設備之間的服務和他們的需求使設備相互配對。ZigBe

19、e的應用框架(AF)為各個用戶自定義的應用對象提供了模板式的活動空間,并提供了鍵值對(KVP)服務和報文(MSG)服務供應用對象的數據傳輸使用。一個設備允許最多240個用戶自定義應用對象,分別指定在端點l至端點240上。ZDO可以看成是指配到端點O上的一個特殊的應用對象,被所有ZigBee設備包含,是所有用戶自定義的應用對象調用的一個功能集,包括網絡角色管理,綁定管理,安全管理等。ZDO負責定義設備在網絡中的角色(例如是ZigBee協調器或者ZigBee終端設備)、發現設備和決定他們提供哪種應用服務,發現或響應綁定請求,在網絡設備之間建立可靠的關聯。安全服務提供者SSP(Security Se

20、rvice Provider)向NWK層和APS層提供安全服務。ZigBee協議層與層之間是通過原語進行信息的交換和應答的。大多數層都向上層提供數據和管理兩種服務接口,數據SAP(Service Access Point)和管理SAP(Service Access Point)。數據服務接口的目標是向上層提供所需的常規數據服務,管理服務接口的目標是向上層提供訪問內部層參數、配置和管理數據的機制。2.2 ZigBee網絡基礎ZigBee網絡基礎主要包括設備類型,拓撲結構和路由方式三方面的內容,ZigBee標準規定的網絡節點分為協調器(Coordinator)、路由器(Router)和終端節點(E

21、nd Device)。節點類型是網絡層的概念,反映了網絡的拓撲形式。ZigBee網絡具有三種拓撲形式:星型拓撲、樹型拓撲、網狀拓撲2。2.2.1 網絡節點類型 (1) 協調器(Coordinator)在各種拓撲形式的ZigBee網絡中,有且只有一個協調器節點,它負責選擇網絡所使用的頻率通道、建立網絡并將其他節點加入網絡、提供信息路由、安全管理和其他服務。 (2) 路由器(Router)當采用樹型和網狀拓撲結構時,需要用到路由器節點,它也可以加入協調器,是網絡遠距離延伸的必要部件。它負責發送和接受節點自身信息;節點之間轉發信息;允許子節點通過它加入網絡。 (3) 終端節點終端節點的主要任務就是發

22、送和接收信息,通常一個終端節點不處在數據收發狀態時可進入休眠狀態以降低能耗。2.2.2 網絡拓撲形式 (1) 星型拓撲星型拓撲是最簡單的拓撲形式,如圖2-2。圖中包含一個協調器節點和一些終端節點。每一個終端節點只能和協調器節點進行通訊,在兩個終端節點之間進行通訊必須通過協調器節點進行轉發,其缺點是節點之間的數據路由只有唯一路徑。圖2-2 星形拓撲結構 (2)樹型拓撲樹型拓撲結構如圖2-3。協調器可以連接路由器節點和終端節點,子節點的路由器節點也可以連接路由器節點和終端節點。直接通信只可以在父節點和子節點之間進行,非父子關系的節點只能間接通信。圖2-3 樹狀拓撲結構 (3)網狀拓撲網狀拓撲如圖2

23、-4。網狀拓撲具有靈活路由選擇方式,如果某個路由路徑出現問題,信息可自動沿其他路徑進行傳輸。任意兩個節點可相互傳輸數據,網絡會自動按照ZigBee協議算法選擇最優化路徑,以使網絡更穩定,通訊更有效率。圖2-4 網狀拓撲結構2.2.3 工作模式ZigBee網絡的工作模式可以分為信標(Beacon)模式和非信標(Non-beacon)模式兩種。信標模式可以實現網絡中所有設備的同步工作和同步休眠,以達到最大限度地節省功耗,而非信標模式只允許ZE進行周期性休眠,協調器和所有路由器設備長期處于工作狀態。在信標模式下,協調器負責以一定的間隔時間(一般在15ms-4mins之間)向網絡廣播信標幀,兩個信標幀

24、發送間隔之間有16個相同的時槽,這些時槽分為網絡休眠區和網絡活動區兩個部分,消息只能在網絡活動區的各個時槽內發送。非信標模式下,ZigBee標準采用父節點為子節點緩存數據,終端節點主動向其父節點提取數據的機制,實現終端節點的周期性(周期可設置)休眠。網絡中所有的父節點需要為自己的子節點緩存數據幀,所有子節點的大多數時間都處于休眠狀態,周期性的醒來與父節點握手以確認自己仍處于網絡中,并向父節點提取數據,其從休眠模式轉入數據傳輸模式一般只需要15ms。 第三章 CC2530芯片介紹3.1 CC2530概述CC2530 是用于2.4-GHz IEEE 802.15.4、ZigBee 和RF4CE 應

25、用的一個真正的片上系統(SoC)解決方案。它能夠以非常低的總的材料成本建立強大的網絡節點。CC2530 結合了領先的RF 收發器的優良性能,業界標準的增強型8051 CPU,系統內可編程閃存,8-KB RAM 和許多其他強大的功能。CC2530 有四種不同的閃存版本:CC2530F32/64/128/256,分別具有32/64/128/256KB 的閃存。CC2530 具有不同的運行模式,使得它尤其適應超低功耗要求的系統。運行模式之間的轉換時間短進一步確保了低能源消耗。CC2530 芯片延用了以往CC2430 芯片的架構,在單個芯片上整合了ZigBee 射頻(RF) 前端、內存和微控制器。它使

26、用1 個8 位MCU(8051),具有128 KB 可編程閃存和8 KB 的RAM,還包含模擬數字轉換器(ADC)、幾個定時器(Timer)、AES128 協同處理器、看門狗定時器(Watchdog timer)、32 kHz 晶振的休眠模式定時器、上電復位電路(Power On Reset)、掉電檢測電路(Brown out detection),以及21 個可編程I/O 引腳。 CC2530 芯片采用0.18 m CMOS 工藝生產;在接收和發射模式下,電流損耗分別低 于27 mA 或25 mA。CC2530 的休眠模式和轉換到主動模式的超短時間的特性,特別適合那些要求電池壽命非常長的應用

27、。3.2 CC2530模塊描述 CC2530 方框圖 圖中模塊大致可以分為三類:CPU 和內存相關的模塊;外設、時鐘和電源管理相關的模塊,以及無線電相關的模塊。CPU 和內存 CC253x芯片系列中使用的8051 CPU內核是一個單周期的8051兼容內核。它有三種不同的內存訪問總線(SFR,DATA 和CODE/XDATA),單周期訪問SFR,DATA 和主SRAM。它還包括一個調試接口和一個18 輸入擴展中斷單元。 中斷控制器總共提供了18 個中斷源,分為六個中斷組,每個與四個中斷優先級之一相關。當設備從活動模式回到空閑模式,任一中斷服務請求就被激發。一些中斷還可以從睡眠模式(供電模式1-3

28、)喚醒設備。 內存仲裁器位于系統中心,因為它通過SFR 總線把CPU 和DMA 控制器和物理存儲器以及所有外設連接起來。內存仲裁器有四個內存訪問點,每次訪問可以映射到三個物理存儲器之一:一個8-KB SRAM、閃存存儲器和XREG/SFR 寄存器。它負責執行仲裁,并確定同時訪問同一個物理存儲器之間的順序。 8-KB SRAM映射到DATA存儲空間和部分XDATA存儲空間。8-KB SRAM是一個超低功耗的SRAM,即使數字部分掉電(供電模式2 和3)也能保留其內容。這是對于低功耗應用來說很重要的一個功能。 32/64/128/256 KB閃存塊為設備提供了內電路可編程的非易失性程序存儲器,映射

29、到XDATA 存儲空間。除了保存程序代碼和常量以外,非易失性存儲器允許應用程序保存必須保留的數據,這樣設備重啟之后可以使用這些數據。使用這個功能,例如可以利用已經保存的網絡具體數據,就不需要經過完全啟動、網絡尋找和加入過程。時鐘和電源管理 數字內核和外設由一個1.8-V 低差穩壓器供電。它提供了電源管理功能,可以實現使用不同供電模式的長電池壽命的低功耗運行。有五種不同的復位源來復位設備。外設 CC2530 包括許多不同的外設,允許應用程序設計者開發先進的應用。 調試接口執行一個專有的兩線串行接口,用于內電路調試。通過這個調試接口,可以執行整個閃存存儲器的擦除、控制使能哪個振蕩器、停止和開始執行

30、用戶程序、執行8051 內核提供的指令、設置代碼斷點,以及內核中全部指令的單步調試。使用這些技術,可以很好地執行內電路的調試和外部閃存的編程。 設備含有閃存存儲器以存儲程序代碼。閃存存儲器可通過用戶軟件和調試接口編程。閃存控制器處理寫入和擦除嵌入式閃存存儲器。閃存控制器允許頁面擦除和4 字節編程。 I/O控制器負責所有通用I/O引腳。CPU可以配置外設模塊是否控制某個引腳或它們是否受軟件控制,如果是的話,每個引腳配置為一個輸入還是輸出,是否連接襯墊里的一個上拉或下拉電阻。CPU 中斷可以分別在每個引腳上使能。每個連接到I/O 引腳的外設可以在兩個不同的I/O 引腳位置之間選擇,以確保在不同應用

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

32、一個PWM輸出或捕獲輸入信號邊沿的時序。它還可以配置在IR產生模式,計算定時器3 周期,輸出是ANDed,定時器3 的輸出是用最小的CPU 互動產生調制的消費型IR 信號。 MAC定時器(定時器2)是專門為支持IEEE 802.15.4 MAC或軟件中其他時槽的協議設計。定時器有一個可配置的定時器周期和一個8 位溢出計數器,可以用于保持跟蹤已經經過的周期數。一個16 位捕獲寄存器也用于記錄收到/發送一個幀開始界定符的精確時間,或傳輸結束的精確時間,還有一個16 位輸出比較寄存器可以在具體時間產生不同的選通命令(開始RX,開始TX,等等)到無線模塊。定時器3 和定時器4 是8 位定時器,具有定時

33、器/計數器/PWM 功能。它們有一個可編程的分頻器,一個8 位的周期值,一個可編程的計數器通道,具有一個8 位的比較值。每個計數器通道可以用作一個PWM 輸出。 睡眠定時器是一個超低功耗的定時器,計算32-kHz 晶振或32-kHz RC 振蕩器的周期。睡眠定時器在除了供電模式3 的所有工作模式下不斷運行。這一定時器的典型應用是作為實時計數器,或作為一個喚醒定時器跳出供電模式1 或2。 ADC支持7到12位的分辨率,分別在30 kHz或4 kHz的帶寬。DC和音頻轉換可以使用高達八個輸入通道(端口0)。輸入可以選擇作為單端或差分。參考電壓可以是內部電壓、AVDD 或是一個單端或差分外部信號。A

34、DC 還有一個溫度傳感輸入通道。ADC 可以自動執行定期抽樣或轉換通道序列的程序。 隨機數發生器使用一個16 位LFSR 來產生偽隨機數,這可以被CPU 讀取或由選通命令處理器直接使用。例如隨機數可以用作產生隨機密鑰,用于安全。 AES加密/解密內核允許用戶使用帶有128位密鑰的AES算法加密和解密數據。這一內核能夠支持IEEE 802.15.4 MAC 安全、ZigBee 網絡層和應用層要求的AES 操作。 一個內置的看門狗允許CC2530 在固件掛起的情況下復位自身。當看門狗定時器由軟件使能,它必須定期清除;否則,當它超時就復位它就復位設備。或者它可以配置用作一個通用32-kHz 定時器。

35、 USART 0和USART 1每個被配置為一個SPI主/從或一個UART。它們為RX和TX提供了雙緩沖,以及硬件流控制,因此非常適合于高吞吐量的全雙工應用。每個都有自己的高精度波特率發生器,因此可以使普通定時器空閑出來用作其他用途。無線設備 CC2530 具有一個IEEE 802.15.4 兼容無線收發器。RF 內核控制模擬無線模塊。另外,它提供了MCU 和無線設備之間的一個接口,這使得可以發出命令,讀取狀態,自動操作和確定無線設備事件的順序。無線設備還包括一個數據包過濾和地址識別模塊。 3.3 CC2530引腳描述 CC2530的引腳圖引腳名稱 引腳 引腳類型 描述AVDD1 28 電源(

36、模擬) 2-V3.6-V 模擬電源連接AVDD2 27 電源(模擬) 2-V3.6-V 模擬電源連接AVDD3 24 電源(模擬) 2-V3.6-V 模擬電源連接AVDD4 29 電源(模擬) 2-V3.6-V 模擬電源連接AVDD5 21 電源(模擬) 2-V3.6-V 模擬電源連接AVDD6 31 電源(模擬) 2-V3.6-V 模擬電源連接DCOUPL 40 電源(數字) 1.8V 數字電源去耦。不使用外部電路供應。DVDD1 39 電源(數字) 2-V3.6-V 數字電源連接DVDD2 10 電源(數字) 2-V3.6-V 數字電源連接GND - 接地 接地襯墊必須連接到一個堅固的接地

37、面。GND 1,2,3,4 未使用的引腳 連接到GNDP0_0 19 數字I/O 端口0.0P0_1 18 數字I/O 端口0.1P0_2 17 數字I/O 端口0.2P0_3 16 數字I/O 端口0.3P0_4 15 數字I/O 端口0.4P0_5 14 數字I/O 端口0.5P0_6 13 數字I/O 端口0.6P0_7 12 數字I/O 端口0.7P1_0 11 數字I/O 端口1.0-20-mA 驅動能力P1_1 9 數字I/O 端口1.1-20-mA 驅動能力P1_2 8 數字I/O 端口1.2P1_3 7 數字I/O 端口1.3P1_4 6 數字I/O 端口1.4P1_5 5 數

38、字I/O 端口1.5P1_6 38 數字I/O 端口1.6P1_7 37 數字I/O 端口1.7P2_0 36 數字I/O 端口2.0P2_1 35 數字I/O 端口2.1P2_2 34 數字I/O 端口2.2P2_3 33 數字I/O 模擬端口2.3/32.768 kHz XOSCP2_4 32 數字I/O 模擬端口2.4/32.768 kHz XOSCRBIAS 30 模擬I/O 參考電流的外部精密偏置電阻RESET_N 20 數字輸入 復位,活動到低電平RF_N 26 RF I/O RX 期間負RF 輸入信號到LNA RF_P 25 RF I/O RX 期間正RF 輸入信號到LNAXOS

39、C_Q1 22 模擬I/O 32-MHz 晶振引腳1或外部時鐘輸入XOSC_Q2 23 模擬I/O 32-MHz 晶振引腳2第四章 系統的整體設計4.1 系統的結構簡介本系統由三類節點組成:ZigBee協調器節點、路由器節點、傳感器節點。圖3-1所示是其組成示意圖,其中ZigBee協調器是分布式處理中心,即匯聚節點。多個傳感器節點置于不同的監測區域,每個傳感器節點會先把數據傳給匯聚節點,然后匯聚節點把數據通過串口傳給上位機做進一步處理并顯示給用戶。協調器節點可以與多個傳感器節點通信,這樣可以使本系統同時監測多個區域,何時檢測哪個區域通常由用戶通過協調器節點來控制。當被檢測區域的障礙物較多或者協

40、調器節點距離傳感器節點較遠時,可以通過增加路由器節點來增強網絡的穩定性。當用戶沒有數據請求時,傳感器節點只進行低功耗的信道掃描。系統工作流程示意圖如下電腦(上位機)網 關路由節點溫濕度光敏傳感器溫濕度光敏傳感器溫濕度光敏傳感器圖4-1 采集監測系統示意圖4.2 對每個部分的功能和指標進行詳細介紹(1)信息收集終端:即協調器,就是設計的zigbee網絡的網關, 完成網絡的建立與維護,和節點之間綁定的建立,實現數據的匯總,然后以有線的方式傳送到上位機軟件,進行進一步數據處理。本設計采用RS-232串口將采集到的數據發送到上位機。在本設計中可以通過串口助手老查看溫濕度光敏等傳感器數據。(2)溫濕度光

41、敏傳感器節點:即節點,放置在需要采集數據的地方。溫濕度光敏采集終端可以實現網絡的加入、與協調器綁定的建立對溫濕度光敏的檢測。檢測到的數據通過ZigBee無線網絡發送到協調器。 (3)上位機:本系統的設計的上位機選擇了PC機,由于srtp確定以來反復對方案進行了探討研究用PC機作為上位機軟件最穩定,查閱了大量資料可以用通過不同的技術手段選擇不同的上位機,帶ARM設備開發板,移動終端等等都可以作為上位機。4.3 系統的程序設計(1) 設備的描述程序中,兩種設備被配置:傳感器和中心收集設備3。中心收集設備作為協調器或路由器啟動,描述為:const SimpleDescriptionFormat_t

42、zb_SimpleDesc =MY_ENDPOINT_ID, / 端點 MY_PROFILE_ID, / Profile ID DEV_ID_COLLECTOR, / 設備 ID DEVICE_VERSION_COLLECTOR, / 設備版本 0, / 保留 NUM_IN_CMD_COLLECTOR, / 輸入命令數量 (cId_t *) zb_InCmdList, / 輸入命令列表 NUM_OUT_CMD_COLLECTOR, / 輸出命令數量 (cId_t *) NULL / 輸出命令列表;傳感器設備的描述為:const SimpleDescriptionFormat_t zb_Simp

43、leDesc =MY_ENDPOINT_ID, / 端點MY_PROFILE_ID, / Profile IDDEV_ID_COLLECTOR, / 設備 IDDEVICE_VERSION_COLLECTOR, / 設備版本 0, / 保留 NUM_IN_CMD_COLLECTOR, / 輸入命令數量 (cId_t *) zb_InCmdList, / 輸入命令列表NUM_OUT_CMD_SENSOR, / 輸出命令數量(cId_t *) zb_OutCmdList / 輸出命令列表;(2) sht11溫濕度傳感器部分工作程序 #define data p1-1#define sck p1-0

44、#define ack 1#define noack 0#define measure_temp 0x03 /測量溫度命令#define measure_humi 0x05 /測量濕度命令/ 讀溫濕度命令 char s-measure(unsigned char *p-value, unsigned char *p-checksum, unsigned char mode ) unsigned char error=0; unsigned int i;C s_transstart();/傳輸開始 switch(mode) case temp:error+=s_write_byte(measur

45、e_temp);break; case humi:error+=s_write_byte(measure_humi);break default:break; for(i=0;i<65535;i+) if(data=0) break; if(data) reeor+=1; *(p_value)=s_read_byte(ack);*(p_value+1)=s_read_byte(ack); *p_checksum=s_read_byte(noack);return error;/ 溫濕度值變換及溫度補償void calc_sth15(float *p_humidity,float *p_t

46、emperature) const float c1=-4.0; const float c2=0.0405; const float c3=-0.0000028; const float t1=-0.01; const float t2=0.00008; float rh=*p_humidity; float t=*p_temperature; float rh_lin; float th_ture; float t_c; t_c=t*0.01-40; rh_lin=c3*rh*rh+c2*rh+c1; trh_ture=(t_c-25)*(t1+t2*rh)+rh_lin; *p_temp

47、erature=t-c; *p_humidity=rh_ture;/從相對溫度和濕度計算露點char calc_dewpoint(float h,float t)float logex,dew_point; logex=0.66077+7.5*t/(237.3+t)+log 10(h)-2; dew_point=(logex-0.6607)*237.3/(0.66077+7.5-logex); return dew_point;/動態顯示接口程序DIR: MOV R0,#79H MOV R3,#01H MOV A,R3LD0: MOV DPTR,#0101H MOVX DPTR,A INC D

48、PTR MOV A,R0 ADD A,#12H MOVX A,A+PC MOVX DPTR,A ACLL DL1 INC R0 MOV A,R3 JB ACC.5,LD1 RL A MOV R3,A AJMP LD0LD1: RETDSEG: DB 3FH, 06H, 5BH, 4FH, 66H, 6DHDSEG1: DB 7DH, 07H, 7FH, 6FH, 77H, 7CHDSEG2: DB 39H, 5EH, 79H, 71H, 73H, 3EHDSEG3: DB 31H, 61H, 1CH, 23H, 40H, 03HDSEG4: DB 18H, 00H, 00H, 00HDL1:

49、MOV R7, #02HDWDL: MOV R6, #0FFHDL6: DJNZ R6, DL6 DJNZ R7, DL RET光敏采集實現程序#include "ioCC2530.h" #include "string.h"typedef signed short int16;typedef unsigned short uint16;typedef unsigned char uchar;typedef unsigned int uint;char TxData2; /存儲發送字符串uint16 LightLevel;uint16 myApp_Rea

50、dLightLevel( void );/* 名 稱: InitUart()* 功 能: 串口初始化函數* 入口參數: 無* 出口參數: 無*/void InitUart(void) PERCFG = 0x00; /外設控制寄存器 USART 0的IO位置:0為P0口位置1 P0SEL = 0x0c; /P0_2,P0_3用作串口(外設功能) P2DIR &= 0XC0; /P0優先作為UART0 U0CSR |= 0x80; /設置為UART方式 U0GCR |= 11; U0BAUD |= 216; /波特率設為115200 UTX0IF = 0; /UART0 TX中斷標志初始置

51、位0/* 名 稱: UartSendString()* 功 能: 串口發送函數* 入口參數: Data:發送緩沖區 len:發送長度* 出口參數: 無*/void UartSendString(char *Data, int len) uint i; for(i=0; i<len; i+) U0DBUF = *Data+; while(UTX0IF = 0); UTX0IF = 0; /* 名 稱: DelayMS()* 功 能: 以毫秒為單位延時 16M時約為535,32M時要調整,系統時鐘不修改默認為16M* 入口參數: msec 延時參數,值越大延時越久* 出口參數: 無*/void DelayMS(uint msec) uint i,j; for (i=0; i<msec; i+) for (j=0; j<1070; j+);/* fn main* brief* Main function of application example.* Parameters:* param void* return v

溫馨提示

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

評論

0/150

提交評論