版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、無線傳感器網(wǎng)絡簡介傳感器網(wǎng)絡實現(xiàn)了數(shù)據(jù)的采集、處理和傳輸三種功能。它與通信技術和計算機技術共同構成信息技術的三大支柱。無線傳感器網(wǎng)絡(Wireless Sensor Network, WSN )是由大量的靜止或移動的傳感器以自組織和多跳的方式構成的無線網(wǎng)絡,以協(xié)作地感知、采集、處理和傳輸網(wǎng)絡覆蓋地 理區(qū)域內被感知對象的信息,并最終把這些信息發(fā)送給網(wǎng)絡的所有者。無線傳感器網(wǎng)絡所具有的眾多類型的傳感器,可探測包括地震、電磁、溫度、濕度、噪聲、光強度、壓力、土壤成分、移動物體的大小、速度和方向等周邊環(huán)境中多種多樣的現(xiàn)象。潛在的應用領域可以歸納為 :軍事、航空、防爆、救災、環(huán)境、醫(yī)療、保健、家居、工業(yè)
2、、商業(yè)等領域。計算機技術通信技術WSN&要組成傳感器節(jié)點功能:采集、處理、控制和通信等網(wǎng)絡功能:兼顧節(jié)點和路由器資源受限:存儲、計算、通信、能量Sink節(jié)點功能:連接傳感器網(wǎng)絡與Internet等外部網(wǎng)絡,實現(xiàn)兩種協(xié)議棧之間的通信協(xié)議轉換,發(fā)布管理節(jié)點的監(jiān)測任務,轉發(fā)收集到的數(shù)據(jù)。特點:連續(xù)供電、功能強、數(shù)量少等WSN專感器節(jié)點傳感器模塊:信息采集、數(shù)據(jù)轉換處理器模塊:控制、數(shù)據(jù)處理、網(wǎng)絡協(xié)議無線通訊模塊:無線通信,交換控制信息和收發(fā)采集數(shù)據(jù)能量供應模塊:提供能量電源能量有限通信能力有限計算和存儲能力有限大規(guī)模網(wǎng)絡:地理區(qū)域大;部署密集提高信噪比;提高監(jiān)測精度;增強容錯性;減少盲區(qū)自組織網(wǎng)絡:
3、不確定性;拓撲結構變化資源受限:計算、存儲、通訊、能量動態(tài)拓撲:節(jié)點故障;通訊故障;移動性;節(jié)點加入可靠網(wǎng)絡:適應環(huán)境條件;魯棒性、容錯性應用相關:沒有統(tǒng)一的通信協(xié)議平臺以數(shù)據(jù)為中心網(wǎng)絡層:主要負責路由生成與路由選擇;傳輸層:負責數(shù)據(jù)流的傳輸控制,是保證通信服務質量的重要部分;應用層:包括一系列基于監(jiān)測任務的應用層軟件;WSN關的標準有:WSN網(wǎng)絡協(xié)議棧WSN協(xié)議棧多采用五層協(xié)議:應用層、傳輸層、網(wǎng) 絡層、數(shù)據(jù)鏈路層、物理層。與以太網(wǎng)協(xié)議棧的五層協(xié) 議相對應。另外,協(xié)議棧還應包括能量管理器、拓撲管 理器和任務管理器。這些管理器使得傳感器節(jié)點能夠按 照能源高效的方式協(xié)同工作,在節(jié)點移動的傳感器網(wǎng)
4、絡 中轉發(fā)數(shù)據(jù),并支持多任務和資源共享。各層協(xié)議和管 理器的功能如下:?物理層:提供簡單但健壯的信號調制和無線收 發(fā)技術;?數(shù)據(jù)鏈路層:負責數(shù)據(jù)成幀、幀檢測、媒體訪 問和差錯控制;能量管理器:管理傳感器節(jié)點如何使用能源,在各個協(xié)議層 都需要考慮節(jié)省能量;移動管理器:檢測并注冊傳感器節(jié)點的移動,維護到匯聚節(jié) 點的路由,使得傳感器節(jié)點能夠動態(tài)跟蹤其鄰居的位置; 任務管理器:在一個給定的區(qū)域內平衡和調度監(jiān)測任務。IEEE 802.15.4,屬于物理層和 MACg標準,由于IEEE組織在無線領域的影響力,以及 TI, ST, Ember, Freescale, NXP等著名芯片廠商的推動,已成為WSN
5、勺事實標準。Zigbee,該標準在IEEE 802.15.4 之上,重點制定網(wǎng)絡層、安全層、應用層的標準規(guī)范,先后推出了Zigbee 2004, Zigbee 2006, Zigbee 2007/ Zigbee PRO等版本。此外,Zigbee聯(lián)盟還制定了針對具體行業(yè)應用的規(guī)范,如智能家居、智能電網(wǎng)、消費類電子等領域,旨在實現(xiàn)統(tǒng)一的標準,使得不同廠家生產(chǎn)的設備相互之間能夠通信。值得說明的是,Zigbee在新版本的智能電網(wǎng)標準 SEP2.0已經(jīng)采用新的基于IPv6的6Lowpan規(guī)范,隨著智能電網(wǎng)的建設,Zigbee將逐漸被IPv6/6Lowpan標準所取代。與zigbee類似的標準還有z-wa
6、ve、ANT Enocean等,相互之間不兼容,不利于產(chǎn)業(yè)化的發(fā)展。ISA100.11a,國際自動化協(xié)會ISA下屬的工業(yè)無線委員會ISA100發(fā)起的工業(yè)無線標準。WirelessHART,國際上幾個著名的工業(yè)控制廠商共同發(fā)起的,致力于將HARK表無線化的工業(yè)無線標準。WIA-PA,中國科學院沈陽自動化所參與制定的工業(yè)無線國際標準。IEEE 802.15.4 簡介? IEEE 802.15.4 描述了低速率無線個人局域網(wǎng)的物理層和媒體接入控制協(xié)議,是矩距離無線通信的IEEE標準,也是無線傳感器網(wǎng)絡通信協(xié)議中物理層與MAC!的一個具體實驗。? IEEE 802.15.4 標準,針對低速無線個人區(qū)域
7、網(wǎng)絡(low-rate wireless personal area network, LR-WPAN )制定標準。該標準把低能量消耗、低速率傳輸、低成本作 為重點目標,旨在為個人或者家庭范圍內不同設備之間的低速互連提供統(tǒng)一標準。免許可證的2.4GHZ頻段,可提供250Kb/s的數(shù)據(jù)傳輸率,有16個信道數(shù),全球可用? 有16位和64位兩種地址格式,其中64位地址是全球惟一的擴展地址?2、與星型網(wǎng)不同,點對點網(wǎng)絡只要彼此都在對方的無線輻射范圍之內,任何兩個設備之都可以直接通信。點對點網(wǎng)絡中也需要網(wǎng)絡協(xié)調器,負責實現(xiàn)管理鏈路狀態(tài)信息,認證設備身份等功能。點對點網(wǎng)絡模式可以支持ad hoc網(wǎng)絡允許通
8、過多跳路由的方式在網(wǎng)絡中傳輸數(shù)據(jù)。?點對點網(wǎng)絡可以構造更復雜的網(wǎng)絡結構,適合于設備分布范圍廣的應用,比如在工業(yè)檢測與控制、貨物庫存跟蹤和智能農(nóng)業(yè)等方面有非常好的應用背景IEEE802.15.4協(xié)議棧架構物理層規(guī)范IE E E 802 .15.4 定義 了 2個物理層標準 ,分別是2 .4 G H z 物理層和868/9l5MHZ?物理層的主要功能如1)無線發(fā)射機的激活和關閉;2)信道能量檢測;3)接收分組的鏈路質量指示;4)基于CSMA心砌制;5)信道頻率選擇;6)數(shù)據(jù)傳輸和接受。ZigBee標準概述ZigBee技術是一組基于IEEE802.15.4無線標準開發(fā)的,有關組網(wǎng)、安全和應用軟件方面
9、的技術標準。無線個人局域崗工作組IEEE802.15.4技術標準ZigBee技術的基礎,ZigBee技術建立在IEEE802.15.4標準之上IEEE802.15.4只處理低級MAC1和物理層協(xié)議。 ZigBee聯(lián)盟對其網(wǎng)絡層協(xié)議和 API進行了標準化。ZigBee技術標準概述ZigBee技術是一種 近距離、低復雜度、低功耗、低速率、低成本的雙向無線通信技術,主要用于短距離、功耗低且傳輸速率不高各種電子設備之間進行數(shù)據(jù)傳輸。非常適合于家電和小型電子設備的無線控制指令傳輸。采用跳頻技術,使用的頻段分別為2.4GHZ(ISM),868MHz(歐洲),915MHZ (美國),有效覆蓋范圍為1075M
10、.ZigBee體系結構圖ZIGBEE技術特點/1? ZigBee是一種無線連接,可工作在 2.4GHZ(ISM),868MHz(歐洲),915MHZ (美國),分別具有最高250Kb/s,20Kb/s,40Kb/s,的數(shù)據(jù)傳輸速率,其傳輸距離在10 75M.?1.功耗低:ZigBee網(wǎng)絡節(jié)點設備工作周期短、收發(fā)數(shù)據(jù)信息功耗低,且使用了休眠模式(當不接收數(shù)據(jù)時處于休眠狀態(tài),當需要接收數(shù)據(jù)時由協(xié)調器喚醒節(jié)點)?2.成本低:普通節(jié)點硬件只需 8位微處理器,4-32KB的ROM一個節(jié)點大約10元,且ZigBee協(xié)議是免專利費的。?.可靠性高:采用CSMA/C假術,避免收發(fā)數(shù)據(jù)時的競爭和沖突,且MACW
11、采用完全確認的數(shù)據(jù)傳輸機制,每個發(fā)送的數(shù)據(jù)都必須等待接收方的確認信息,所以從根本上保證了數(shù)據(jù)傳輸?shù)目煽啃浴?4.容量大:一個ZIGBEE網(wǎng)絡最多可容納254個從設備和一個主設備,一個區(qū)域內最多可以同時存在100個ZIGBEE網(wǎng)絡?5.時延?。核阉髟O備時延 30MS藍牙3-10S,因此此技術適用于對時延要求苛刻的無線控制(工業(yè)控制場合)應用。?6.兼容性好(1)家庭和樓宇網(wǎng)絡應用。通過 zigbee網(wǎng)絡,可以遠程控制家里的電器、門窗,實現(xiàn)水電氣遠程自動抄表。(2)工業(yè)控制(3)公共場所安全(4)農(nóng)業(yè)控制(5)醫(yī)療ZigBee協(xié)議框架應用層應用程序接口 安全層(128b加密)網(wǎng)絡層(星狀網(wǎng)格樹狀)
12、MAC子層物理層用戶ZIGBEE聯(lián)盟平IEEE802.15. ZIGBEE 平臺通信硬件實現(xiàn)ZigBee網(wǎng)絡層規(guī)范1.網(wǎng)絡層參考模型及實現(xiàn)。網(wǎng)絡層主要實現(xiàn)了點加入、離開、路由查找和傳送數(shù)據(jù)。目前 ZigBee網(wǎng)絡層主要支持兩種路由算法,即樹路由( cluster-tree )和 網(wǎng)狀路由。支持星狀,樹狀,網(wǎng)格等拓撲結構2.ZigBee節(jié)點設備類型(1) ZigBee協(xié)調器(Co-ordinator ),是啟動和配置網(wǎng)絡的一種設備,是網(wǎng)絡的中心節(jié)點,一個ZigBee網(wǎng)絡只允許有一個ZigBee協(xié)調器(2) ZigBee路由器(Router),是一種支持關聯(lián)的設備,能夠將消息轉發(fā)到其他設備,Zig
13、Bee網(wǎng)絡或樹形網(wǎng)絡可以有多個ZigBee路由器,ZigBee星型網(wǎng)絡不支持ZigBee路由器;(3)ZigBee終端設備(End Device八執(zhí)行具體功能的設備。ZIGBEE設備地址每個設備節(jié)點都包括以下的2種地址:(1)IEEE MACfc址:這是一種64位的地址,這個地址由IEEE組織進行分配,用于唯一的標識設備,全球沒有任何兩個設備具有相同的MACCfe址。在zigbee網(wǎng)絡中,有時也叫 MAC地址為擴展地址。(2)16位短地址:16位短地址用于在本地網(wǎng)絡中標識設備,和在網(wǎng)絡中發(fā)送數(shù)據(jù),所以如果是處于不同的網(wǎng)絡中有可能具有相同的短地址。當一個節(jié)點加入網(wǎng)絡的時候將由它的父節(jié)點給它分配短
14、地址。(3)協(xié)調器的短地址是0o.ZigBee網(wǎng)絡層主要功能ZigBee網(wǎng)絡層主要功能包括設備連接和斷開網(wǎng)絡里所采用的機制,以及在幀信息傳輸過程中所采用的安全性機制。此外,還包括設備之間的路由發(fā)現(xiàn)和路由維護和轉交。并且,網(wǎng) 絡層對一跳(one-hop)鄰居設備的發(fā)現(xiàn)和相關結點信息的存儲。一個 ZigBee協(xié)調器創(chuàng)建一個新的網(wǎng)絡,為新加入的設備分配短地址等。4.1CC2530芯片基本介紹CC2530是用于2.4-GHz IEEE 802.15.4 、 ZigBee和RF4CE應用的一個真正的片上系統(tǒng)(SoC解決方案。它能夠以非常低的總的材料成本建立強大的網(wǎng)絡節(jié)點。CC2530結合了領先白RF收發(fā)
15、器的優(yōu)良性能,業(yè)界標準的增強型8051 CPU系統(tǒng)內可編程閃存,8-KB RAM和許多其它強大的功能。CC2530有四種不同的閃存版本:CC2530F32/64/128/256 ,分別具有32/64/128/256KB的閃存。CC2530具有不同的運行模式,使得它尤其適應超低功耗要求的系統(tǒng)。運行模式之間的轉換時間短進一步確保了低能源消耗2.CC2530芯片性能特點高性能和低功耗的8051微控制器核 32- 、64-或128-KB的系統(tǒng)內可編程閃存集成符合IEEE 802.15.4 標準的2.4GHz的RF無線電收發(fā)機 硬件支持CSMA/C砌能具有8路舒服和可配置分辨率的 12位ADC 強大的5
16、通道DMA 21 個通用I/O引腳2.外設模塊CC2530包括許多不同的外設,允許應用程序設計者開發(fā)先進的應用。調試接口執(zhí)行一個專有的兩線串行接口,用于內電路調試。I/O控制器負責所有通用I/O引腳。CPUW以配置外設模塊是否控制某個引腳或它們是否受軟件控制,如果是的話,每個引腳配置為一個輸入還是輸出,是否連接襯墊里的一個上拉或下拉電阻。系統(tǒng)可以使用一個多功能的五通道DMAS制器,使用XDAT照儲空間訪問存儲器,因此能夠訪問所有物理存儲器。每個通道(觸發(fā)器、優(yōu)先級、傳輸模式、尋址模式、源和目標指針和傳輸計數(shù))用DMA描述符在存儲器任何地方配置。1. I/O端口引腳功能CC2530有21個可編程
17、I/O引腳,P0和P1是完整的8位I/O端口,P2 口只有5個可使用的位。通過軟件設定一組 SFR寄存器的位和字節(jié),可使這些引腳作為通常的I/O 口或作為連接ADC計時器或USART部件的外圍設備I/O 口使用??稍O置為通常的I/O 口,也可設置為外圍的I/O使用在輸入時有上拉和下拉能力全部21個I/O 口引腳都具有響應外部中斷源輸入口。如果需要外部中斷,可又t I/O 口引腳產(chǎn)生中斷,同時外部中斷事件也能被用來喚醒休眠模式。1219腳(P0_7P0_0 :具有4mA的輸出驅動能力。11, 9腳(P1_0,P1_1):具有20mA的驅動能力。58, 3718腳(P1_7P1_2):具有4mA的
18、輸出驅動能力。3238腳(P2_4P2_0 :具有4mA的輸出驅動能力4.5通用I/O端口通用I/O端口相關寄存器1.寄存器PxSEL其中x為端口的標號,P0SEL, P1SEL, P2SEL:用來設置端口的每個引腳為通用 I/O或外部設備I/O。指定位為0為通用I/O,指定位為1 為外部設備I/O o缺省時,每當復位之后,所有的數(shù)字輸入 /輸出引腳都設置為通用輸入引腳。如 P1SEL&=0XC段置P1-6,P1-7為通用I/O)如P0SELI =0X80 (設置P0-7為外部設 備 I/O )寄存器PxDIR 寄存器PxDIR ( P0DIR , P1DIR, P2DIR )用來設置每個端口
19、引腳為輸入或輸出。只要設置PxDIR中指定位為1,其對應的引腳設置為輸出。只要設置PxDIR中指定位為0,其對應的引腳設置為輸入。如 P1DIR = 0XC0(設置P1-6,P1-7為輸出)如P0DIR&=0X01(設置P0-0為為輸入)1.1 I 2c串行總線的組成及工作原理采用串行總線技術可以使系統(tǒng)的硬件設計大大簡化、系統(tǒng)的體積減小、可靠性提高。同時,系統(tǒng)的更改和擴充極為容易。常用的串行擴展總線有:I2C (Inter IC BUS )總線、單總線(1WIRE BUS SPI (Serial Peripheral Interface )總線及 Microwire/PLUS 等。1.3 I2
20、C總線特點I 2C總線是一種串行總線,用于連接微控制器及其外圍設備,具有以下特點:兩條總線線路:一條串行數(shù)據(jù)線(SDA, 一條串行時鐘線(SCD 每個連接到總線的器件都可以使用軟件更具它的唯一的地址來識別傳輸數(shù)據(jù)的設備間是簡單的主從關系主機可以用作主機發(fā)送器或主機接收器串行的8位雙向數(shù)據(jù)傳輸,位速率在標準模式下可達100kbit/s ,在快速模式下可達400kbit/s ,在高速模式下可達3.4Mbit/s1.7 I2C典型信號模擬子程序2)終止信號1)起始信號void I2cStop(void)Void T2CStart(void)SDA = 0; SDA = 1;SomeNop();Som
21、eNop();SCL = 1;SCL = 1;SomeNop();SomeNop();SDA = 1;SDA = 0;SomeNop();SomeNop();)4. 2振蕩器#define OSC_32KHZ 0 x00/使用外部32 K晶體振蕩器2.3 PCA9554寄存器的功能?PCA9554弓|腳I/O是輸入還是輸出,由輸入/輸出寄存器還有配置寄存器的位值決定。四個寄存器?寄存器0輸入端口寄存器?寄存器1輸出端口寄存器?寄存器2一極性反轉寄存器?寄存器3配置寄存器/時鐘設置函數(shù)#define HAL_BOARD_INIT() uint16 i;SLEEPCMD &= OSC_PD; /*
22、 開啟 16MHz RC 和 32MHz XOSC */while (!(SLEEPSTA & XOSC_STB);/* 等待 32MHz XOSC 穩(wěn)定 */asm(NOP);for (i=0; iC:ON .E.Nfir,5腌時*1時as比較ST2BhIENOIRC ON S TIF6型”學幃 X/US.RF2INT3JhTFXTJ P3TFBRCaNJ- PDIF 廈7LFSAKTC TK JjUIEM2 LTTXOIEBRJCOM2 LTTICDIF5IMA-JfaZET! DMAmRCOX.JDMAIF9定時ifill S6位費FI4L載3港出T1EhIEX1 .T1 IEERCOX
23、.TIIF 11,z,定 HSftHT2百澗iIEXI .TZLEJRCON.T2IF ME11定時SO信位:)必援“士較福出T3SBIlIENI T3 IE1RCON T3IF L,3i,12虎 IH 宰 4 G8位1祥山T4IEXI T4EE1EJCOX.T4EF t中13琳1 13人FOTFTTIEXI FDUZIRCOJi.roEF 1114U&AR.T 1 TX7 花出.LTTXS73JilEN2.UTXltEIKCON2 LiTXIlF名域1“精人F1INT7BJiJEN2 PalEPl IF 14RFi川中卻FLFTHXTJ R.FTF5 1 COX KFTF -17目門向”時迸
24、出WDTWhIEM2 WDTIE1RJCOM2 WDTTFO_DIR_PORT_PIN(2, 0, IO_OUT);IO_DIR_PORT_PIN(1, 5, IO_OUT);IO_DIR_PORT_PIN(1,4, IO_OUT);L_LCM_RESETn();asm(nop);/設置P2.0方向為輸出/設置P1.5方向為輸出/設置P1.4方向為輸出void LCM_Init(void)IO_DIR_PORT_PIN(1,7,/設置P1.7方向為輸出IO_DIR_PORT_PIN(1,6,/設置P1.6方向為輸出主程序中斷請求斷點篡續(xù)執(zhí)行LOUT);LOUT);asm(nop);H_LCM_
25、RESETn();顯示開,發(fā)個命令,打開我的顯示LCM_WriteCMD(LCM_CMD_DisplayON); /* SO12864FPD-13ASBE(3S)的命令字 */? #define LCM_CMD_DisplayON0 xAF /顯示開,見SO12864-14磅歹U模塊說明書,1010 1111=AF? #defineLCM_CMD_DisplayOFF0 xAE/顯示關1.1中斷的定義及必要性? 定義:所謂中斷是指中央處理器CPU正在處理某件事的時候,外部發(fā)生了某一事件,請求 CPUS速處理,CPU暫時中斷當前的工作,轉入 處理所發(fā)生的事件,處理完后,再回到原來被中斷的地方,繼
26、續(xù)原來 的工作。這樣的過程稱為中斷。1.3中斷源外設中斷請求實時時鐘中斷請求控制對象中斷源位要向R.TI雀星7EA口RQ鵬用所軻中斷.th無中斷蒞認h.dU電置對應的怩般更翻,個中%爬分別便能融靜山S-中RDf;住用.出出來型。55.TIEBUW峰昵定叼雅中段性能我中斷鵬止L中備便能4ENCCE0RiWAEE叩密,需重中好便能心中新器止1=中畸世能3URJC1IEQR-WCSAR7 L4理他能我中制鞋止11中*住艙2URXffCE0JVW口弓由tniKXTi朝使能心中庭里止L中希使能JADCIE0R-WADC中聯(lián)梗隴則中祈祭山L中看他能QKFEHJUEfi.WKf tx.fijc fifo 中
27、幗?;谇袛?上13中新世能IEM中局信崛&故障引起的中斷人為設置的中斷強迫中斷引起的中斷都是隨機。人為設置的中斷,不是隨機的,故稱為自愿中斷1.4中斷處理過程中斷處理過程包括中斷請求、中斷排隊、中斷響應、中斷處理、中斷返回五個全過程。CPU對中斷的響應及中斷過程的 tt:RB7:中甘丸京-Q沒有健川5ADCJIQ旦WHOMX中面燈看.4:中新芭生町就為BI1EPU價;:中崎向量網(wǎng)程二 謂母,也無中Bt衣決h 中好未注4Q沒有徒用fl怵ILP5ART 0 RX中箭標市.中斷比t時設咀。FU前向中斷向履用程時 看明 fl:而中斷未提1中時本法2ETI1RW久向r必殂一宜設為1設置為零林+出罐做期
28、劇即Bi Hit幾乎總此如北白功中斷 靖東時執(zhí)行一次)卜1ftFEJLRJJflRFTXTXnrO巾嘀回耳 TRflKH中斯坦I時應為IflXE推寓中商位看岬H BJ清除r 心人中餐未提h 中斷未捷rroR.W用圖-外眼 口設為L設置大事糊性能M爆刷中廝近翻,幾乎總是如此工后切中笥 著幕畔執(zhí)行次1-TCM (DxaB? 中吊尿位名稱復位R/W描述7: 0P1IEN0X00R/W端口 P1.0 至J P1.7中斷使能,0:中斷禁用,1:中斷使能IRCONfr斷標志寄存器4IKONCQxDO!申晴哥芯世酢也Jtw播注710:0KW班底定因H中斷0=無中而卡融1:中曲1法0彩W必原”如-可人1總是把
29、匪中斷薄-SPOD=00口由中林之0; 無中新束決1:序曲來4T4IF0RWHQ定時 A 中 R u tL- it Al 中甑力1 E N *J1 Jill FtPUffi 向中 ih A M M理時晴(ft.0:犬中斷未決1:中斷4點3T3IF0RWH0定時中晶自上時t13中廄城里時改為A妣風而匐中善向HHf 舞舞 程時脩靜.0:無中斷未決L: 中勤氏醫(yī)T2IF0JLWH0正時零士中Bib*巧七時叁士中而發(fā)生時設用1 fl=H,,tCFUPJ折M中孑器各倒 程時情%0=無中斷未:決1= 甲新小樂1TIIF。RWHD笳時m中斷,3定時01中斷度中時也為1異H,長pu向相商中看聯(lián)善則 曷時0:無
30、中斷未決1:中Br來提0DMAlf0RWDMA三膽中斷標志0; 無中薪未決iJ世RW崔建7:5-(KBRW出:百M.用WDTJFQWW廿門聊出川空中崎阮右Q:無中斷*決h中面.卡跳3FLffq??诖ㄠ坝尚∶鞅攘磥硪?,中槍2E l IEQB.WUmATl W中崎酥二 電天中新靶法h木質末選1tmiflfE0HJWHEART DTX-h4i4如 無期看比決1工中淅在企qKDF0ELW口之4武標去 a 無中看點決IJ 中斯未決lARM? fft E5:bIRCON沖斷標志寄存器5? P0SEL&=0X0緞置 P0.1 為通用 I/O 接口 P0INP|= 0X02?,設置P0.1 = 1為上位,
31、P0.1為高電平中斷? P0IEN|= 0X02 ,設置 P0.1 = 1, P0.1 為中斷方式? P1CTL|= 0X02, P0.1 為上升沿觸發(fā)中斷? EA=1使能全局中斷? IEN1|= 0X20 P0 口中斷使能? P0IFG |= 0X00初始化P0中斷標志位? void Init_IO(void)中斷服務程序? #pragma vector=P0INT_VECTOR? _interrupt void P0_IRQ(void)? ?uint8 key = 0;?P0IFG &= 0 x80;/P0.7中斷標志清0?key = GetKeyInput();/讀取按鍵值?if(key
32、)?ctrPCA9554FLASHLED(key); / 控制相應的LEDS滅? ? (? P0SEL |=0 x80; / 將P0.7設置為外設功能? P0DIR &=0 x80; / 將 P0.7 設置為輸入? P0INP &=0 x80;/端口 P0.7=0為下拉,輸入模式設置(P0.7有上拉、下拉)? P0IEN |=0 x80; /P0.7中斷使能? PICTL |=0 x01; /P0.7為下降沿觸發(fā)中斷? EA = 1; /使能全局中斷? IEN1 |=0 x20;/P0 口中斷使能? P0IFG &= 0 x80; /P0.7中斷標志清 0? ;通過PCA9554的擴展IO的按
33、鍵輸入變化,對應的 PCA9554將輸出一個低電平中斷,該中斷接入CC2530的P0.7端口,進而產(chǎn)生P0中斷? CC2530系統(tǒng)時鐘? CC2530有1個內部的系統(tǒng)時鐘。時鐘源可以是 1個16MHz的RC振蕩器,也可以是1個。時鐘控制是通過使用 CLKCONCOM殊功能寄存器來執(zhí)行? 16MHz的RC振蕩器功耗低,但沒有晶體振蕩器精確,因此不適用于射頻收發(fā)器。?當我們選擇32MHz的晶體振蕩器用于射頻收發(fā)時,它并不能即時生效。這是由于為在實際改變時鐘源之前,被選擇的時鐘源要首先達到穩(wěn)定狀態(tài)。(在選擇32MHz 時鐘作為系統(tǒng)時鐘源之前,應該等待一個額外的64us的安全時間,可以通過增加一條空指
34、令“ NOP來實現(xiàn)。如果不等待,可能會造成系統(tǒng)崩潰。)?如果我們選擇32MHz勺晶體振蕩器,必須關閉 16MHz的RC振蕩器。如果我們選擇 16MHz的RC振蕩器,必須關閉32MHz勺晶體振蕩器?主程序:反復選擇不同的振蕩器作為系統(tǒng)時鐘源,并調用 led控制程序,閃爍LED? 1.2四種供電模式供電模式高頻振蕩器低猱振藹器攜壓器,數(shù)字)配置A 犯 MHz XOSCB 16 MHz RCOSCC 32 kHz XOSCD 32 kHz RCOSC主那空閑粳式A或BC或DONPM1無C或DONPW無C或DOFFPNG無無OFFPM0全功能模式? PM0全功能模式。連接到數(shù)字內核的電壓調整器打開。1
35、6MHz RC振蕩器或32MHz晶體振蕩器運行或者它們同時運行。32.753KHz RC振蕩器或32.768KHz晶體振蕩器運行。?在該模式下,CPU片內外設和RF收發(fā)器都處于激活狀態(tài),數(shù)字電壓調整器打開。該模式也被稱為激活模式。注意:當處于PM0(SLEEPCMD.MODE=0 xM時,通過使能PCON.IDLE位,CPU核將停止運行,所有片內外設功能正常并且CPU核將被任何一個使能的中斷喚醒。PM1 模式PM1連接到數(shù)字部分的電壓調整器打開。16MHz RC振蕩器和32MHz晶體振蕩器都不運行。32.753KHz RC振蕩器或32.768KHz晶體振蕩器運行。在產(chǎn)生復位、外部中斷或當 TO
36、C o 1-5 h z 睡眠定時器到期時系統(tǒng)將返回到PM0PM2 模式PM2連接到數(shù)字內核的電壓調整器關閉。16MHz RC振蕩器和32MHz晶體振蕩器都不運行。32.753KHz RC振蕩器或32.768KHz晶體振蕩器運行。在產(chǎn)生復位、外部中斷或當睡眠定時器到期時系統(tǒng)將返回到PM0PM3 模式PM3連接到數(shù)字內核的電壓調整器關閉。沒有振蕩器運行。在產(chǎn)生復位或外部中斷時系統(tǒng)將返回到PM0串口通信原理?串口是串行接口( serial port )的簡稱,也稱為串行通信接口或 COM口。?串口通信是指采用串行通信協(xié)議(serial communication )在一條信號線上將數(shù)據(jù)一個比特一個比
37、特地逐位進行傳輸?shù)耐ㄐ拍J健? 串口按電氣標準及協(xié)議來劃分,包括 RS-232-C、RS-422、RS485等。串行通信?在串行通信中,數(shù)據(jù)在1位寬的單條線路上進行傳輸,一個字節(jié)的數(shù)據(jù)要分為8次,由低位到高位按順序一位一位的進行傳送。?串行通信的數(shù)據(jù)是逐位傳輸?shù)?,發(fā)送方發(fā)送的每一位都具有固定的時間間隔,這就要求接收方也要按照發(fā)送方同樣的時間間隔來接收每一位。不僅如此,接收 方還必須能夠確定一個信息組的開始和結束。?常用的兩種基本串行通信方式包括同步通信和異步通信昌昨fitLI70RO4UCTGQC圮時劇1的LD設黑的 瑞用望量30wOr看用色過1上多用他直24T4CTCQ和宵比時H*的Lfli
38、也X必 瑞用電量12WRflRWMTJiCTG0R%1。tnuiS-RTRWi0BDC7G0irvLrsrr峋面快置小善用位量1h 4用倒置口PEftCFC舊FU -小諛控制異步通信規(guī)定傳輸?shù)臄?shù)據(jù)格式由起始位(1.4串行異步通信在異步通信中,收發(fā)雙方取得同步是通過在字符格式中設置起始位和停止位的方法來實現(xiàn)的。具體來說就是,在一個有效字符正式發(fā)送之前,發(fā)送器先發(fā)送一個起始位,然后發(fā)送有效字符位,在字符結束時再發(fā) 送一個停止位,起始位至停止位構成一幀。停止位至下一個起始位之間是不定長的空閑位,并且規(guī)定起始位 為低電平(邏輯值為0),停止位和空閑位都是高電平(邏輯值為1),這樣就保證了起始位開始處一
39、定會有一個下跳沿,由此就可以標志一個字符傳輸?shù)钠鹗肌6鶕?jù)起始位和停止位也就很容易的實現(xiàn)了字符的界定 和同步。異步通信的數(shù)據(jù)格式start bit )、數(shù)據(jù)位(data bit )、奇偶校驗位(parity bit )和停止位(stop bit )組成,如圖1所示(該圖中未畫出奇偶校驗位,因為奇偶檢驗位不是必須有的,如果有奇偶檢驗位,則奇偶檢驗位應該在數(shù)據(jù)位之后,停止位之前)1.4.2異步通信的數(shù)據(jù)發(fā)送過程?(1)初始化后或者沒有數(shù)據(jù)需要發(fā)送時,發(fā)送端輸有任意數(shù)量的空閑位。?(2)當需要發(fā)送數(shù)據(jù)時,發(fā)送端首先輸出邏輯0,作?(3)接著就可以開始輸出數(shù)據(jù)位了,發(fā)送端首先輸DO,然后是D1,最后是
40、數(shù)據(jù)的最高位。?(4)如果設有奇偶檢驗位,發(fā)送端輸出檢驗位。?(5)最后,發(fā)送端輸出停止位(邏輯 1)。?(6)如果沒有信息需要發(fā)送,發(fā)送端輸出邏輯1 (空息需要發(fā)送,則轉入步驟(2)寄存器PERCFG.U0C強來選擇備用位置,這受硬件電路決定串行通信接口寄存器 U0CSR串行通信接口寄存器 U0CSRU0UCR-USART 0 UART 控制寄存器U0GCR USART 0!用控制寄存器U0BUF USART喉收/發(fā)送數(shù)據(jù)緩存寄存器國1觀值E.W7MODE0KMLTTHL垃界Oi sniwAI.6QJLWClMirnAKE至此量上丁不驚Di糧用原就|星載等植健55LAVEQNW5M舞映鬲無盤
41、怦DiL5刖M植人4nDGJLKTW足1 常狀/imjw甫性*i.i宇1nH到不抵停止帶照3DKWD匚n知謁根去Di由11字胃/找向司福20艮*力m子管*tuur夫和smm楠立,*ntiw(Mcrir d而總1114f*表3HMmUF中的艙電,M 餐有收翻字8Ir 摩注燈接收字燈1TX.BYTBQKEg黑耳丁后狀乩 EITE自新5FI F幅式D T忖舞有值仔比L *11物依掩fir高。居EF1H匕T0ACTIVEQn6A氏Tfl,r u狀上.在沏u慢犬卜淖貸畀F堪根式Di WARTSfflli也看域IA右蟠能改US 的忙時mat阻1酶)-UMT 0跳圖如褪琴出邏輯1,可以為起始位。出數(shù)據(jù)的最低
42、位閑位),如果有信?發(fā)送數(shù)據(jù)的具體步驟如下:UOBUF(0 xC1) USART 0接收 傳送數(shù)據(jù)緩存位名稱復位RW描述7:0DATA7:00 x00RWU與ART接收和傳送數(shù)據(jù).當號這個寄存器的時候數(shù)據(jù)被寫到內部.傳送數(shù)據(jù)寄存 器.巧讀取該寄存器的時候.數(shù)據(jù)來自內部讀取的數(shù)據(jù)寄存器。2.1.6 U0BAUD USART酸特率控制寄存器U06AUD(0 xC2) USAftT。渡特率控制位名都復位RW描述7:0BAUD_M7i00 x00RW把車小放部分的住,BAUD_E刊BAUD_M汰定:UARTTk發(fā)”牛和SPI的主5 時鐘頻率*2.3 CC2530配置串口的一般步驟? 1、配置串口的備用
43、位置,是備用位置1,還是備用位置2。配置寄存器PERCFG卜設控制寄存器? 2、配置IO,使用外部設備功能。此處配置P0_2和P0_3用作串口 UART0? 3、配置端口的外設優(yōu)先級。此處配置P0外設優(yōu)先作為UART0? 4、配置相應串口的控制和狀態(tài)寄存器。此處配置UART0勺工作寄存器? 5、配置串口工作的波特率。此處配置為波特率115200? 6、將對應的串口接收/發(fā)送中斷標志位清0,接收/發(fā)送一個字節(jié)都將產(chǎn)生一個中斷,在接收時需要開總中斷和使能接收中斷,以及運行接收? 3.2 CC2530串口初始化? void initUART(void)? 3.4串口接收數(shù)據(jù)中斷函數(shù)1? HAL_IS
44、R_FUNCTION( halUart0R? PERCFG = 0 x00;/位置 1 P0 口? P0SEL = 0 x3c;/P0用作串口, P0SEL =0011, 1100,設置 p0.2, p0.3, p0.4, p0,5=1? U0CSR |= 0 x80;/ U0CSR =1000,0000,選擇為 UAR訪式?U0GCR |= 11;baud_e = 11;?U0BAUD |= 216;/ 波特率設為 115200?UTX0IF = 1;/發(fā)送中斷標志為設置,初始化 USART 0 TX中斷標志?U0CSR |= 0X40;/ 允許接收?IEN0 |= 0 x84;/uart0
45、 接收中斷? 3.3串口發(fā)送數(shù)據(jù)函數(shù)? void UartTX_Send_String(UINT8 *Data,int len)? ? int j;for(j=0;j介骯1度入檢;tl子星MAC 1 bA 1 MAT 和 Zm.dc J網(wǎng)絡肥e NWK網(wǎng)喀瓜I I錄NWK)應用主n Jtd(APS)阿珞3UNWK)r* nj因中椎澳C Ar但霓交件(J錄的間用腳中T sapi ZigBee 盤第 )能 C ZDO 卜歐)時除口求typedef struct uint16 myAddr;/16位的節(jié)點地址uint16 panId; / 節(jié)點的 PAN IDuint8 channel; /RF C
46、hannel(必須在 1126)uint8 ackRequest; /如果設置為true的話會接收目的節(jié)點的反饋信息#ifdef SECURITY_CCM是否加密,預定義里取消了加密uint8* securityKey;uint8* securityNonce;#endif basicRfCfg_t; /RF 基本配置Zigbee協(xié)議體系結構應用程序框架(AF)運行在ZigBee協(xié)議棧上的應用程序實際上就是廠商自定義的應用對象,并且遵循規(guī)范( profile )運行在端點1 240上。在ZigBee應用中,提供2種標準服務類型:鍵值對(KVP或報文(MSGZigBee設備對象(ZDO遠程設備通
47、過ZDO青求描述符信息,接U到這些請求時,ZD8調用配置對象獲取相應描述符值。另外,ZDO提供綁定服務。ZigBee節(jié)點類型三種ZigBee協(xié)調者-coord為協(xié)調者節(jié)點a)每個ZigBee網(wǎng)絡必須有一個b)初始化網(wǎng)絡信息.ZigBee路由器-router為路由節(jié)點a)路由信息ZigBee終端節(jié)點-rfd為終端節(jié)點a)沒有路由功能-低價格ZStack協(xié)議棧構架Zigbee協(xié)議棧就是將各個層定義的協(xié)議都集合在一起,以函數(shù)的形式實現(xiàn),并給用戶提供一些應用層 API,供用戶調用。協(xié)議棧體系分層架構與協(xié)議棧代碼文件夾對應表如Z-stackZ-stack是為你搭建一個小型的操作系統(tǒng)(本質也是大型的程序)
48、不考慮底層和網(wǎng)絡層的內容,將復雜部分屏蔽掉。讓用戶通過API函數(shù)就可以輕易用ZigBeeZ-stack是任務輪詢操作系統(tǒng)協(xié)議棧是一個小操作系統(tǒng)。 舉例說明:51單片機時候是不是會用到定時器的功能?利用定時器計時,令LEA秒改變一次狀態(tài)。好,現(xiàn)在進一步,我們利用同一個定時器計時, 令LED1 一秒閃爍一次,LED2二秒閃爍一次。這樣就有 2個任務了。再進一步有 n個LED就有n個任務執(zhí)行了。協(xié)議棧的最終工作原理也一樣。從它工作開始,定時器周而復 始地計時,有發(fā)送、接收等任務要執(zhí)行時就執(zhí)行。這個方式稱為任務輪詢。Zigbee 協(xié)議棧 OSAL? OSAL(Operating system abst
49、raction layer),即操作系統(tǒng)抽象層#IE 恒*3 告KLmhe 時心鍵所卻走的JW 4M 達小馬加任kUNWk挈J*TI Z-stack協(xié)議棧學習-添加新任務內加人了田雌?ft 稱為 力皆八1_ &仔察蜂室樸Hyamm AbKU-actian _ n. yc-r / .在Zstack(TI的Zigbee協(xié)議棧)中,對于每個用戶自己新建立的任務通常需要兩個相關的處理函數(shù),包括:.用于初始化的函數(shù),如:SampleApp_Init(),這個函數(shù)是在osalInitTasks()這個osal(Zstack中自帶的小操作系統(tǒng))中去調用的,其目的就是把一些用戶自己寫的任務中的一些 變量,網(wǎng)絡
50、模式,網(wǎng)絡終端類型等進行初始化;.用于引起該任務狀態(tài)變化的事件發(fā)生后所需要執(zhí)行的事件處理函數(shù),如:SampleApp_ProcessEvent(),這個函數(shù)是首先在 const pTaskEventHandlerFn tasksArr口中進行設置(綁定),然后在osalInitTasks()中如果發(fā)生事件進行調用綁定的事件處理函數(shù).osalInitTasks ()和 tasksArr口 的修改.修改 osalInitTasks () void osalInitTasks( void )OuhsApp_Init( taskID+ ); PhotoApp_Init( taskID); .修改 ta
51、sksArrconst pTaskEventHa .在osalInitTasks ()和tasksArr口 添加相應的項就可以了。2.修改 tasksArr口const pTaskEventHandlerFn tasksArr口 = .修改 osalInitTasks () void osalInitTasks( void ) OuhsApp_Init( taskID+);OuhsApp_ProcessEventPhotoApp_Init( taskID);)網(wǎng)絡參數(shù)的設置.協(xié)議棧規(guī)范的設置協(xié)議棧規(guī)范由ZIGBEE聯(lián)盟定義指定。在同一個網(wǎng)絡中的設備必須符合同一個協(xié)議棧規(guī)范。兩個協(xié)議棧規(guī)范:Zi
52、gbee和Zigbee PRO.在NWK/ nwk_globals.h文件下對兩個協(xié)議棧規(guī)范的實現(xiàn)代碼#if defined ( ZIGBEEPRO )#define STACK_PROFILE_ID ZIGBEEPRO_PROFILE#else#define STACK_PROFILE_ID HOME_CONTROLS#endif邏輯設備類型三種邏輯設備Coordinator協(xié)調器Router路由器End-Device終端設備小提示:在對Z-STACK目 進行編譯時。對于協(xié)調器,在 Workspace區(qū)域的下拉菜單中選擇 CoordinatorEB;對于路由器,在 Workspace區(qū)域的下
53、拉菜單中選擇 RouterEB;對于終 端設備,在Workspace區(qū)域的下拉菜單中選擇 EndDeviceEB;PANID和信道的選擇? PANID: 16位的網(wǎng)絡ID用來標識唯一一個 ZIGBEE網(wǎng)絡,主要是用于區(qū)分同一地區(qū)同一信道的網(wǎng)絡,使得同一地區(qū)可同時存在多個ZIGBEE網(wǎng)絡。其取值范圍是0 x00000 xFFFE.當設置為OxFFFE時,協(xié)調器可以隨機獲取一個16位白P PANID建立一個網(wǎng)絡,路由器或終端可以加入任意個已設定信道上的網(wǎng)絡而不去關心PANID)? 小提示:由于 WIFI工作在2.5G頻段,WIFI無處不在,所以最好選擇 ZIGBEE網(wǎng)絡的15, 20, 25, 2
54、6信道。數(shù)據(jù)的發(fā)送? 1.函數(shù) afStatus_t AF_DataRequest ? ( afAddrType_t *dstAddr, endPointDesc_t *srcEP,uint16 cID, uint16 len, uint8 *buf, uint8 *transID,uint8 options, uint8 radius )? *dstAddr :發(fā)送目的地址、端點地址以及傳送模式,決定了消息發(fā)磅到哪個設備及哪個endpoint.? *srcEP :源端點;cID :簇ID; len:數(shù)據(jù)長度。? *buf :數(shù)據(jù)。*transID :序列號。 Options :發(fā)送選項。Ra
55、dius :跳數(shù)。端點描述符endPointDesc_t? typedef struct? (? uint8 endPoint;/ 端點號? uint8 *task_id; / /那一個任務的端點號? SimpleDescriptionFormat_t *simpleDesc;? afNetworkLatencyReq_t latencyReq;? endPointDesc_t;數(shù)據(jù)發(fā)送模式說明在協(xié)議棧中數(shù)據(jù)發(fā)送模式有幾種:單播、組播、廣播和直接發(fā)送。.廣播發(fā)送如果想使用廣播發(fā)送,則只需將dstAddr- addrMode設為AddrBroadcast, dstAddr- addr- shortAd
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鮮花烤奶課程設計
- 自來水收費系統(tǒng)課程設計
- 補牙系統(tǒng)課程設計
- 2025年度藝術品代購代發(fā)市場推廣協(xié)議4篇
- 鐵路線路課程設計
- 年度數(shù)字視頻切換臺市場分析及競爭策略分析報告
- 年度工藝禮品加工設備市場分析及競爭策略分析報告
- 2024年央行金融政策和法律法規(guī)測試題及答案匯編
- 二零二五年駕校場地租賃與師資力量引進協(xié)議3篇
- 重卡汽配配件課程設計
- 《阻燃材料與技術》課件全套 顏龍 第1講 緒論 -第11講 阻燃性能測試方法及分析技術
- SOR-04-014-00 藥品受托生產(chǎn)企業(yè)審計評估報告模板
- 新媒體論文開題報告范文
- 2024年云南省中考數(shù)學試題含答案解析
- 國家中醫(yī)藥管理局發(fā)布的406種中醫(yī)優(yōu)勢病種診療方案和臨床路徑目錄
- 2024年全國甲卷高考化學試卷(真題+答案)
- 汽車修理廠管理方案
- 人教版小學數(shù)學一年級上冊小學生口算天天練
- (正式版)JBT 5300-2024 工業(yè)用閥門材料 選用指南
- 三年級數(shù)學添括號去括號加減簡便計算練習400道及答案
- 蘇教版五年級上冊數(shù)學簡便計算300題及答案
評論
0/150
提交評論