版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
*******************實踐教學(xué)*************************************學(xué)院秋季學(xué)期嵌入式系統(tǒng)課程設(shè)計題目:基于嵌入式室內(nèi)環(huán)境信息采集控制演示系統(tǒng)設(shè)計專業(yè)班級:計算機科學(xué)與技術(shù)(物聯(lián)網(wǎng)工程方向)姓名:學(xué)號:指引教師:成績:目錄題目:基于嵌入式的室內(nèi)環(huán)境信息采集控制演示系統(tǒng)設(shè)計 1目錄 2摘要 3關(guān)鍵詞 3前言 3系統(tǒng)分析及其設(shè)計 4一、基本原理: 4二、系統(tǒng)方案設(shè)計 5三、總體設(shè)計 7四、系統(tǒng)測試 31總結(jié) 31參考文獻(xiàn) 32致謝 32基于嵌入式室內(nèi)環(huán)境信息采集控制演示系統(tǒng)設(shè)計摘要基于嵌入式無線傳感網(wǎng)絡(luò)是多學(xué)科高度交叉,知識高度集成前沿?zé)狳c研究領(lǐng)域。它通過各類集成化微型傳感器協(xié)作地實時監(jiān)測,感知和采集各種環(huán)境或監(jiān)測對象信息,這些信息通過無線方式被發(fā)送,并以自組多跳網(wǎng)絡(luò)方式傳送到顧客終端無線傳感器網(wǎng)絡(luò)特性決定了其不需要較高傳播帶寬,而規(guī)定較低傳播延時和極低功率消耗。IEEES02.15.4/ZigBee技術(shù)是近年來通信領(lǐng)域中研究熱點,具備低成本、低功耗、低速率、低復(fù)雜度特點和高可靠性、組網(wǎng)簡樸、靈活等優(yōu)勢,逐漸成為無線傳感器網(wǎng)絡(luò)事實上國際原則。本次課設(shè)設(shè)計并實現(xiàn)了用無線傳感器網(wǎng)絡(luò)構(gòu)成分布式溫度濕度監(jiān)控系統(tǒng)。核心詞:嵌入式、信息采集、ZIGBEE、串口通信前言嵌入式系統(tǒng)是以應(yīng)用為中心,以計算機技術(shù)為基本,軟硬件可定制,合用于不同應(yīng)用場合,對功能,可靠性,成本,體積,功耗有嚴(yán)格規(guī)定專用計算機系統(tǒng)[1]。隨著生活水平提高和科學(xué)技術(shù)發(fā)展需求,人類對環(huán)境信息感知上有了更高規(guī)定,在某些特殊工業(yè)生產(chǎn)領(lǐng)域和室內(nèi)存儲場合對環(huán)境規(guī)定顯得特別苛刻;隨著嵌入式技術(shù)發(fā)展,為環(huán)境環(huán)境檢測提供了更進(jìn)一步保障?;谇度胧江h(huán)境信息采集系統(tǒng)包括感知層、傳播層、應(yīng)用層三個層面;傳播層常用有溫濕度、煙感、一氧化碳、壓力等嵌入式傳感器模塊,傳播層涉及有線通信和無線通信兩某些,應(yīng)用層涉及各種終端。在室內(nèi)環(huán)境監(jiān)測領(lǐng)域,以嵌入式技術(shù)為基本,結(jié)合ZigBee技術(shù)可以實現(xiàn)、精確、完整、可靠反映環(huán)境信息,做到實時監(jiān)控。系統(tǒng)分析及其設(shè)計一、基本原理:溫度傳感器將被測點溫度采集后輸出模仿信號逐漸送往放大電路、低通濾波器以及A/D轉(zhuǎn)換器(即信號調(diào)理電路),然后再單片機控制下將A/D轉(zhuǎn)換器輸出數(shù)字信號傳送到無線收發(fā)芯片中,并通過芯片調(diào)制解決后由芯片內(nèi)部天線發(fā)送到上位機機監(jiān)測軟件上,在上位機模塊上,發(fā)來數(shù)據(jù)由單片機控制無線收發(fā)芯片接受并解調(diào),最后通過接口芯片發(fā)送到PC機中進(jìn)行顯示和解決。溫度傳感器被用在終端節(jié)點上,當(dāng)上電后,溫度傳感器就是可以獲取環(huán)境中某個地方溫度敏感元器件,它可以將環(huán)境中溫度或者是與溫度有關(guān)參量信息轉(zhuǎn)換成電信號,咱們可以依照這些電信號強弱來辨認(rèn)被測點在環(huán)境中溫度數(shù)據(jù)。系統(tǒng)方案設(shè)計系統(tǒng)設(shè)計需求濕度傳感器和溫度傳感器采集到數(shù)據(jù)后,通過給RS232串口增長無線傳播功能,代替設(shè)備電纜線進(jìn)行無線傳播,無線溫度采集系統(tǒng)變化了老式有線數(shù)據(jù)采集系統(tǒng)搭建布線困難,監(jiān)測區(qū)域受限等諸多局限性。規(guī)定設(shè)計短距離無線通信系統(tǒng)具備功耗少,性價比高,系統(tǒng)維護(hù)快捷以便,并且通過在傳感器模塊上添加FLASH存儲設(shè)備,使得數(shù)據(jù)采集工作可以掙脫對監(jiān)測過程網(wǎng)絡(luò)輻射范疇限制,可應(yīng)用到許多場合更好改進(jìn)采集工作便捷行。通過與其她通信技術(shù)(如GSM/GPRS)無縫接合,可以實現(xiàn)采集數(shù)據(jù)遠(yuǎn)程傳播,滿足對數(shù)據(jù)采集區(qū)域遠(yuǎn)程監(jiān)控串口傳播設(shè)計為雙向全雙工,無硬件流控制,強制容許OTA(多條)時間和丟包重傳。2、系統(tǒng)方案設(shè)計方案一:飛思卡爾公司(Freescale)MC13193芯片搭載了滿足IEEE802.15.4原則射頻信號傳播與接受調(diào)制解調(diào)設(shè)備。此類功能完善雙向2.4GHz頻段收發(fā)設(shè)備可以融合到ZigBee技術(shù)之中。MC13193包括低噪放大器,10mW功率增強器,壓控振蕩器,電源供應(yīng)調(diào)節(jié)模塊,所有頻段編碼和解碼模塊,涉及可以轉(zhuǎn)換和控制數(shù)據(jù)發(fā)送與接受串行外圍接口(SPI)中斷祈求輸出。采用O-QPSK調(diào)制方式,最大傳播速率為250kb/s。搭配高性能微解決器一起使用,MC13193可以提供低成本且高效率短距離數(shù)據(jù)傳播解決方案。MC13193和MCU兩者采用串行外圍接口(SPI)連接,因而可以保證飛思卡爾龐大產(chǎn)品系列中任意一款MCU都能與之匹配使用。方案二:選取TI公司2.4GHz片上系統(tǒng)解決方案CC2530,CC2530是用于IEEES02.15.4、Zigbee和RF4CE應(yīng)用一種片上系統(tǒng)解決方案,它能以較低總成本建立強大網(wǎng)絡(luò)節(jié)點。CC2530結(jié)合了先進(jìn)RF收發(fā)器性能,業(yè)界原則增強型8051內(nèi)核,使操作更容易,具備不同運營模式,特別合用于低功耗系統(tǒng)需求。3、系統(tǒng)方案選取通過對比以上兩種方案開發(fā)難易限度、開發(fā)周期和既有實驗環(huán)境咱們選取方案二。無線溫度采集系統(tǒng)變化了老式有線數(shù)據(jù)采集系統(tǒng)搭建布線困難,監(jiān)測區(qū)域受限等諸多局限性。ZigBee這種新興短距離無線通信系統(tǒng)具備功耗少,性價比高,系統(tǒng)維護(hù)快捷以便,并且通過在傳感器模塊上添加FLASH存儲設(shè)備,使得數(shù)據(jù)采集工作可以掙脫對監(jiān)測過程網(wǎng)絡(luò)輻射范疇限制[2],可應(yīng)用到許多場合更好改進(jìn)采集工作便捷行。通過與其她通信技術(shù)(如GSM/GPRS)無縫接合,可以實現(xiàn)采集數(shù)據(jù)遠(yuǎn)程傳播,滿足對數(shù)據(jù)采集區(qū)域遠(yuǎn)程監(jiān)控。普通以ZigBee技術(shù)為核心無線溫度采集系統(tǒng)工作過程為:協(xié)調(diào)器節(jié)點一方面應(yīng)搭建網(wǎng)絡(luò),等待各自終端采集節(jié)點入網(wǎng)祈求;終端節(jié)點通過驗證加入網(wǎng)絡(luò)后,把溫度傳感器采集到數(shù)據(jù)通過無線網(wǎng)絡(luò)上傳傳播給協(xié)調(diào)器節(jié)點;協(xié)調(diào)器節(jié)點接受到數(shù)據(jù)包后,進(jìn)行數(shù)據(jù)包解析,并通過串口將溫度信息以及子節(jié)點地址等有效信息存儲并顯示在監(jiān)控界面上。三、總體設(shè)計無線傳感器溫度測量系統(tǒng)重要由單個ZigBee協(xié)調(diào)器、單部PC機和放置在各處溫度采集節(jié)點—ZigBee終端設(shè)備構(gòu)成。ZigBee協(xié)調(diào)器與各個終端節(jié)點形成了一種ZigBee星型網(wǎng)絡(luò)。整個無線溫度采集系統(tǒng)拓?fù)錁?gòu)造圖如圖1所示。各處溫度采集節(jié)點—ZigBee終端設(shè)備構(gòu)成。CC2530芯片有效通信半徑為100m時,終端節(jié)點可以安頓在以協(xié)調(diào)器為中心100m半徑范疇內(nèi)。終端數(shù)據(jù)采集節(jié)點構(gòu)造較為簡化,僅由一種CC2530模塊,F(xiàn)lash存儲,2節(jié)1.5V電池和溫度傳感器構(gòu)成,各個終端節(jié)點被初始化為無信標(biāo)網(wǎng)絡(luò)中終端設(shè)備。終端設(shè)備上電復(fù)位后,便啟動搜索指定信道上ZigBee協(xié)調(diào)器,并發(fā)送連接祈求,終端設(shè)備在成功入網(wǎng)后,將被賦予一種16位短地址,在后來網(wǎng)絡(luò)中通信都以這個16位短地址作為節(jié)點標(biāo)記;啟動休眠定期器,間隔10秒鐘喚醒一次,醒來后使用一種簡樸非時隙CSMA-CA,通過競爭機制獲得信道使用權(quán),自己向協(xié)調(diào)器節(jié)點發(fā)送祈求數(shù)據(jù)。運用模塊上溫度傳感器模塊檢測環(huán)境溫度,并上傳給協(xié)調(diào)器節(jié)點,然后及時再次進(jìn)入休眠狀態(tài),最大限度地減少能耗,延長終端節(jié)點電源續(xù)航時間,同步也可以延伸采集范疇,即運用ZigBe網(wǎng)絡(luò)自組織性咱們可以攜帶輕巧終端數(shù)據(jù)采集節(jié)點到實際測量區(qū)域完畢數(shù)據(jù)采集工作,如果超過了無線網(wǎng)絡(luò)可以支持傳播范疇,那可以將數(shù)據(jù)暫時存儲在Flash存儲器中。網(wǎng)絡(luò)中協(xié)調(diào)器節(jié)點負(fù)責(zé)收集各溫度采集節(jié)點信息,并將信息迅速通過RS232串口按事先定義好格式上傳PC機,隨后解析并顯示出來。1、總體設(shè)計框圖如下:圖1無線溫濕度采集系統(tǒng)框圖2、硬件設(shè)計實物圖如下:2.1CC2530郵票孔節(jié)點模塊2.2無線節(jié)點模塊2.3溫濕度采集模塊3、溫濕度監(jiān)測芯片闡明3.1SHT10闡明SHT10是一款高度集成溫度濕度傳感器芯片,提供全標(biāo)定數(shù)字輸出。它采用專利COMSens技術(shù),保證了傳感器具備極高可靠性與卓越長期穩(wěn)定性。傳感器涉及涉及一種電容性聚合體測濕敏感元件、一種能隙材料制成測溫元件[3],并在同一芯片上,與14位A/D轉(zhuǎn)換器以及串行接口電路進(jìn)行連接。SH10引腳特性如下:3.1.1、電源引腳SHT10供電電壓為2.4~5.5V。傳感器上電后,要等待11ms以越過“休眠”狀態(tài)。在此期間無需發(fā)送任何指令。電源引腳(VDD,GND)之間可增長一種100nF電容,用以去耦濾波。3.1.2、串行接口(兩線雙向)SHT10串行接口,在傳感器信號讀取及電源損耗方面,都做了優(yōu)化解決;但與I2C接口不兼容.3.1.3、串行時鐘輸入(SCK)SCK用于微解決器與SHTxx之間通訊同步。由于接口包括了完全靜態(tài)邏輯,因而不存在最小SCK頻率。3.1.4、串行數(shù)據(jù)(DATA)DATA三態(tài)門用于數(shù)據(jù)讀取。DATA在SCK時鐘下降沿之后變化狀態(tài),并僅在SCK時鐘上升沿有效。數(shù)據(jù)傳播期間,在SCK時鐘高電平時,DATA必要保持穩(wěn)定。為避免信號沖突,微解決器應(yīng)驅(qū)動DATA在低電平。需要一種外部上拉電阻(例如:10kΩ)將信號提拉至高電平(參見圖2)。上拉電阻普通已包括在微解決器I/O電路中。3.1.5、串行時鐘輸入(SCK)SCK用于微解決器與SHTxx之間通訊同步。由于接口包括了完全靜態(tài)邏輯,因而不存在最小SCK頻率。3.1.6、串行數(shù)據(jù)(DATA)DATA三態(tài)門用于數(shù)據(jù)讀取。DATA在SCK時鐘下降沿之后變化狀態(tài),并僅在SCK時鐘上升沿有效。數(shù)據(jù)傳播期間,在SCK時鐘高電平時,DATA必要保持穩(wěn)定。為避免信號沖突,微解決器應(yīng)驅(qū)動DATA在低電平。需要一種外部上拉電阻(例如:10kΩ)將信號提拉至高電平(參見圖2)。上拉電阻普通已包括在微解決器I/O電路中。3.1.7、測量時序(RH和T)發(fā)布一組測量命令(‘00000101’表達(dá)相對濕度RH,‘00000011’表達(dá)溫度T)后,控制器要等待測量結(jié)束。這個過程需要大概11/55/210ms,分別相應(yīng)8/12/14bit測量。確切時間隨內(nèi)部晶振速度,最多有±15%變化。SHTxx通過下拉DATA至低電平并進(jìn)入空閑模式,表達(dá)測量結(jié)束。控制器在再次觸發(fā)SCK時鐘前,必要等待這個“數(shù)據(jù)備妥”信號來讀出數(shù)據(jù)。檢測數(shù)據(jù)可以先被存儲,這樣控制器可以繼續(xù)執(zhí)行其他任務(wù)在需要時再讀出數(shù)據(jù)。接著傳播2個字節(jié)測量數(shù)據(jù)和1個字節(jié)CRC奇偶校驗。uC需要通過下拉DATA為低電平,以確認(rèn)每個字節(jié)。所有數(shù)據(jù)從MSB開始,右值有效(例如:對于12bit數(shù)據(jù),從第5個SCK時鐘起算作MSB;而對于8bit數(shù)據(jù),首字節(jié)則無意義)。用CRC數(shù)據(jù)確認(rèn)位,表白通訊結(jié)束。如果不使用CRC-8校驗,控制器可以在測量值LSB后,通過保持確認(rèn)位ack高電平,來中斷通訊。在測量和通訊結(jié)束后,SHTxx自動轉(zhuǎn)入休眠模式。3.1.8、通訊復(fù)位時序如果與SHTxx通訊中斷,下列信號時序可以復(fù)位串口:當(dāng)DATA保持高電平時,觸發(fā)SCK時鐘9次或更多。在下一次指令前,發(fā)送一種“傳播啟動”時序。這些時序只復(fù)位串口,狀態(tài)寄存器內(nèi)容依然保存。通訊復(fù)位時序圖4、CC2530闡明4.1、簡介CC2530是用于2.4-GHz
IEEE802.15.4、ZigBee和RF4CE應(yīng)用一種真正片上系統(tǒng)(SoC)解決方案。它可以以非常低總材料成本建立強大網(wǎng)絡(luò)節(jié)點。CC2530結(jié)合了領(lǐng)先RF收發(fā)器優(yōu)良性能,業(yè)界原則增強型8051CPU,系統(tǒng)內(nèi)可編程閃存,8-KBRAM和許多其他強大功能。CC2530有四種不同閃存版本:CC2530F32/64/128/256,分別具備32/64/128/256KB閃存。CC2530具備不同運營模式,使得它特別適應(yīng)超低功耗規(guī)定系統(tǒng)。運營模式之間轉(zhuǎn)換時間短進(jìn)一步保證了低能源消耗。CC2530F256結(jié)合了德州儀器業(yè)界領(lǐng)先黃金單元ZigBee
合同棧(Z-Stack?),提供了一種強大和完整ZigBee解決方案。CC2530F64結(jié)合了德州儀器黃金單元RemoTI,更好地提供了一種強大和完整ZigBeeRF4CE
遠(yuǎn)程控制解決方案。4.2、引腳描述引腳名稱引腳引腳類型描述AVDD128電源(模仿)2-V–3.6-V模仿電源連接AVDD227電源(模仿)2-V–3.6-V模仿電源連接AVDD324電源(模仿)2-V–3.6-V模仿電源連接AVDD429電源(模仿)2-V–3.6-V模仿電源連接AVDD521電源(模仿)2-V–3.6-V模仿電源連接AVDD631電源(模仿)2-V–3.6-V模仿電源連接DCOUPL40電源(數(shù)字)1.8V數(shù)字電源去耦。不使用外部電路供應(yīng)。DVDD139電源(數(shù)字)2-V–3.6-V數(shù)字電源連接DVDD210電源(數(shù)字)2-V–3.6-V數(shù)字電源連接GND-接地接地襯墊必要連接到一種結(jié)實接地面。GND1,2,3,4未使用引腳
連接到GNDP0_019數(shù)字I/O端口0.0P0_118數(shù)字I/O端口0.1P0_217數(shù)字I/O端口0.2P0_316數(shù)字I/O端口0.3P0_415數(shù)字I/O端口0.4P0_514數(shù)字I/O端口0.5P0_613數(shù)字I/O端口0.6P0_712數(shù)字I/O端口0.7P1_011數(shù)字I/O端口1.0-20-mA驅(qū)動能力P1_19數(shù)字I/O端口1.1-20-mA驅(qū)動能力P1_28數(shù)字I/O端口1.2P1_37數(shù)字I/O端口1.3P1_46數(shù)字I/O端口1.4P1_55數(shù)字I/O端口1.5P1_638數(shù)字I/O端口1.6P1_737數(shù)字I/O端口1.7P2_036數(shù)字I/O端口2.0P2_135數(shù)字I/O端口2.1P2_234數(shù)字I/O端口2.2P2_333數(shù)字I/O模仿端口2.3/32.768kHzXOSCP2_432數(shù)字I/O模仿端口2.4/32.768kHzXOSCRBIAS30模仿I/O參照電流外部精密偏置電阻RESET_N20數(shù)字輸入復(fù)位,活動到低電平RF_N26RFI/ORX期間負(fù)RF輸入信號到LNARF_P25RFI/ORX期間正RF輸入信號到LNAXOSC_Q122模仿I/O32-MHz晶振引腳1或外部時鐘輸入XOSC_Q223模仿I/O32-MHz晶振引腳24.3、模塊闡明CC2530芯片系列中使用8051CPU內(nèi)核是一種單周期8051兼容內(nèi)核。它有三種不同內(nèi)存訪問總線(SFR,DATA和CODE/XDATA),單周期訪問SFR,DATA和主SRAM。它還涉及一種調(diào)試接口和一種18輸入擴(kuò)展中斷單元。中斷控制器總共提供了18個中斷源,分為六個中斷組,每個與四個中斷優(yōu)先級之一有關(guān)。當(dāng)設(shè)備從活動模式回到空閑模式,任一中斷服務(wù)祈求就被激發(fā)。某些中斷還可以從睡眠模式(供電模式1-3)喚醒設(shè)備。內(nèi)存仲裁器位于系統(tǒng)中心,由于它通過SFR
總線把CPU和DMA控制器和物理存儲器以及所有外設(shè)連接起來。內(nèi)存仲裁器有四個內(nèi)存訪問點,每次訪問可以映射到三個物理存儲器之一:一種8-KBSRAM、閃存存儲器和XREG/SFR
寄存器。它負(fù)責(zé)執(zhí)行仲裁,并擬定同步訪問同一種物理存儲器之間順序。8-KBSRAM映射到DATA存儲空間和某些XDATA存儲空間。8-KBSRAM是一種超低功耗SRAM,雖然數(shù)字某些掉電(供電模式2和3)也能保存其內(nèi)容。這是對于低功耗應(yīng)用來說很重要一種功能。32/64/128/256KB閃存塊為設(shè)備提供了內(nèi)電路可編程非易失性程序存儲器,映射到XDATA
存儲空間。除了保存程序代碼和常量以外,非易失性存儲器容許應(yīng)用程序保存必要保存數(shù)據(jù),這樣設(shè)備重啟之后可以使用這些數(shù)據(jù)。使用這個功能,例如可以運用已經(jīng)保存網(wǎng)絡(luò)詳細(xì)數(shù)據(jù),就不需要通過完全啟動、網(wǎng)絡(luò)尋找和加入過程。4.4、時鐘和電源管理數(shù)字內(nèi)核和外設(shè)由一種1.8-V低差穩(wěn)壓器供電。它提供了電源管理功能,可以實現(xiàn)使用不同供電模式長電池壽命低功耗運營。有五種不同復(fù)位源來復(fù)位設(shè)備。4.5、外設(shè)CC2530涉及許多不同外設(shè),容許應(yīng)用程序設(shè)計者開發(fā)先進(jìn)應(yīng)用。調(diào)試接口執(zhí)行一種專有兩線串行接口,用于內(nèi)電路調(diào)試。通過這個調(diào)試接口,可以執(zhí)行整個閃存存儲器擦除、控制使能哪個振蕩器、停止和開始執(zhí)行顧客程序、執(zhí)行8051
內(nèi)核提供指令、設(shè)立代碼斷點,以及內(nèi)核中所有指令單步調(diào)試。使用這些技術(shù),可以較好地執(zhí)行內(nèi)電路調(diào)試和外部閃存編程。設(shè)備具有閃存存儲器以存儲程序代碼。閃存存儲器可通過顧客軟件和調(diào)試接口編程。閃存控制器解決寫入和擦除嵌入式閃存存儲器。閃存控制器容許頁面擦除和4
字節(jié)編程。I/O控制器負(fù)責(zé)所有通用I/O引腳。CPU可以配備外設(shè)模塊與否控制某個引腳或它們與否受軟件控制,如果是話,每個引腳配備為一種輸入還是輸出,與否連接襯墊里一種上拉或下拉電阻。CPU中斷可以分別在每個引腳上使能。每個連接到I/O
引腳外設(shè)可以在兩個不同I/O引腳位置之間選取,以保證在不同應(yīng)用程序中靈活性。系統(tǒng)可以使用一種多功能五通道DMA控制器,使用XDATA存儲空間訪問存儲器,因而可以訪問所有物理存儲器。每個通道(觸發(fā)器、優(yōu)先級、傳播模式、尋址模式、源和目的指針和傳播計數(shù))用DMA描述符在存儲器任何地方配備。許多硬件外設(shè)(AES
內(nèi)核、閃存控制器、USART、定期器、ADC接口)通過使用DMA控制器在SFR或XREG地址和閃存/SRAM之間進(jìn)行數(shù)據(jù)傳播,獲得高效率操作。定期器1是一種16位定期器,具備定期器/PWM功能。它有一種可編程分頻器,一種16位周期值,和五個各自可編程計數(shù)器/捕獲通道,每個均有一種16位比較值。每個計數(shù)器/捕獲通道可以用作一種PWM輸出或捕獲輸入信號邊沿時序。它還可以配備在IR產(chǎn)生模式,計算定期器3周期,輸出是ANDed,定期器3輸出是用最小CPU互動產(chǎn)生調(diào)制消費型IR信號。MAC定期器(定期器2)是專門為支持IEEE802.15.4MAC或軟件中其她時槽合同設(shè)計。定期器有一種可配備定期器周期和一種8位溢出計數(shù)器,可以用于保持跟蹤已經(jīng)通過周期數(shù)。一種16位捕獲寄存器也用于記錄收到/發(fā)送一種幀開始界定符精準(zhǔn)時間,或傳播結(jié)束精準(zhǔn)時間,尚有一種16位輸出比較寄存器可以在詳細(xì)時間產(chǎn)生不同選通命令(開始RX,開始TX,等等)到無線模塊。定期器3和定期器4是8位定期器,具備定期器/計數(shù)器/PWM功能。它們有一種可編程分頻器,一種8位周期值,一種可編程計數(shù)器通道,具備一種8位比較值。每個計數(shù)器通道可以用作一種PWM輸出。睡眠定期器是一種超低功耗定期器,計算32-kHz晶振或32-kHzRC振蕩器周期。睡眠定期器在除了供電模式3所有工作模式下不斷運營。這一定期器典型應(yīng)用是作為實時計數(shù)器,或作為一種喚醒定期器跳出供電模式1或2。ADC支持7到12位辨別率,分別在30kHz或4kHz帶寬。DC和音頻轉(zhuǎn)換可以使用高達(dá)八個輸入通道(端口0)。輸入可以選取作為單端或差分。參照電壓可以是內(nèi)部電壓、AVDD或是一種單端或差分外部信號。ADC尚有一種溫度傳感輸入通道。ADC可以自動執(zhí)行定期抽樣或轉(zhuǎn)換通道序列程序。隨機數(shù)發(fā)生器使用一種16位LFSR來產(chǎn)生偽隨機數(shù),這可以被CPU讀取或由選通命令解決器直接使用。例如隨機數(shù)可以用作產(chǎn)生隨機密鑰,用于安全。AES加密/解密內(nèi)核容許顧客使用帶有128位密鑰AES算法加密和解密數(shù)據(jù)。這一內(nèi)核可以支持IEEE802.15.4MAC安全、ZigBee網(wǎng)絡(luò)層和應(yīng)用層規(guī)定AES操作。一種內(nèi)置看門狗容許CC2530在固件掛起狀況下復(fù)位自身。當(dāng)看門狗定期器由軟件使能,它必要定期清除;否則,當(dāng)它超時就復(fù)位它就復(fù)位設(shè)備?;蛘咚梢耘鋫溆米饕环N通用32-kHz
定期器。USART0和USART1每個被配備為一種SPI主/從或一種UART。它們?yōu)镽X和TX提供了雙緩沖,以及硬件流控制,因而非常適合于高吞吐量全雙工應(yīng)用。每個均有自己高精度波特率發(fā)生器,因而可以使普通定期器空閑出來用作其她用途。4.6、無線設(shè)備CC2530具備一種IEEE802.15.4兼容無線收發(fā)器。RF內(nèi)核控制模仿無線模塊。此外,它提供了MCU和無線設(shè)備之間一種接口,這使得可以發(fā)出命令,讀取狀態(tài),自動操作和擬定無線設(shè)備事件順序。無線設(shè)備還涉及一種數(shù)據(jù)包過濾和地址辨認(rèn)模塊。5、軟件設(shè)計在一種ZigBee應(yīng)用系統(tǒng)中,光有硬件是沒有用,還需要與之相匹配軟件程序才干真正可以使用。無線溫度采集系統(tǒng)軟件設(shè)計重要涉及ZigBee節(jié)點間通信程序,協(xié)調(diào)器節(jié)點組網(wǎng)程序。5軟件開發(fā)環(huán)境選取ZigBee合同棧:ZigBeeZigBee開發(fā)及下載工具:TI公司IAR軟件5.1、基于ZigBee無線傳感器網(wǎng)絡(luò)測控系統(tǒng)中協(xié)調(diào)器設(shè)備軟件設(shè)計流程如下:macEventLoopmacEventLoop解決本任務(wù)當(dāng)前優(yōu)先級最高事件macTaskInit注冊相應(yīng)事件YES解決本任務(wù)當(dāng)前優(yōu)先級最高事件macTaskInitNwk_event_loop解決本任務(wù)當(dāng)前優(yōu)先級最高事件Nwk_event_loop解決本任務(wù)當(dāng)前優(yōu)先級最高事件nwk_initHal_InitHalProcessevet解決本任務(wù)當(dāng)前優(yōu)先級最高事件開始注冊相應(yīng)事件Hal_InitHalProcessevet解決本任務(wù)當(dāng)前優(yōu)先級最高事件開始MT_ProcessEventMT_TaskInit解決本任務(wù)MT_ProcessEventMT_TaskInit解決本任務(wù)當(dāng)前優(yōu)先級最高事件硬件初始化osalInitTASKS系統(tǒng)初始化注冊相應(yīng)事件YESosalInitTASKS系統(tǒng)初始化APS_event_loopAPS_Init解決本任務(wù)當(dāng)前優(yōu)先級最高事件注冊相應(yīng)事件YESAPS_event_loopAPS_Init解決本任務(wù)當(dāng)前優(yōu)先級最高事件執(zhí)行操作系統(tǒng)執(zhí)行操作系統(tǒng)ZDApp_InitZDAappeventlooppp解決本任務(wù)當(dāng)前優(yōu)先級最高事件注冊相應(yīng)事件NOYESZDApp_InitZDAappeventlooppp解決本任務(wù)當(dāng)前優(yōu)先級最高事件SAPI_ProcessEvent解決本任務(wù)當(dāng)前優(yōu)先級最高事件SAPI_ProcessEvent解決本任務(wù)當(dāng)前優(yōu)先級最高事件SAPI_Init注冊相應(yīng)事件YESSAPI_Init5.2、無線接受串口轉(zhuǎn)發(fā)流程圖如下:SerialApp_ProcessEventSerialApp_ProcessEventOOsal_msg_receive(SerialApp_Taskid)AAF_INCOMING_MSG_CMDSerialApp_ProcessMSGCmdSerialApp_ProcessMSGCmdHalUARTWriteHalUARTWriteOOsal_set_event(SerialApp_TaskID,SERIALAPP_RESP_EVT)SerialApp_RespSerialApp_Resp5.3、串口接受無線轉(zhuǎn)發(fā)流程圖如下:SerialApp_CallBackSerialApp_CallBackSerialApp_Send()SerialApp_Send()HalUARTResdHalUARTResdAF_DataResquestAF_DataResquest發(fā)送與否成功?發(fā)送與否成功?結(jié)束YES結(jié)束Osal_Set_Osal_Set_event(SerialApp_TaskID,SERIALAPPSENDEVT)6.源代碼如下:#include"ZComDef.h"#include"OSAL.h"#include"OSAL_Nv.h"#include"OnBoard.h"#include"ZMAC.h"#ifndefNONWK#include"AF.h"#endif/*Hal*/#include"hal_lcd.h"#include"hal_led.h"#include"hal_adc.h"#include"hal_drivers.h"#include"hal_assert.h"#include"hal_flash.h"#include"stdio.h"http://MaximunnumberofVddsamplescheckedbeforegoon#defineMAX_VDD_SAMPLES3//電壓檢測#defineZMAIN_VDD_LIMITHAL_ADC_VDD_LIMIT_4//正常電壓極限值externboolHalAdcCheckVdd(uint8limit);//設(shè)備啟動前芯片電壓檢測函數(shù)staticvoidzmain_dev_info(void);staticvoidzmain_ext_addr(void);staticvoidzmain_vdd_check(void);#ifdefLCD_SUPPORTEDstaticvoidzmain_lcd_init(void);#endif/**********************************************************************@fnmain*@briefFirstfunctioncalledafterstartup.*@returndon'tcare*/intmain(void){//Turnoffinterruptsosal_int_disable(INTS_ALL);//關(guān)閉所有中斷EA=0//InitializationforboardrelatedstuffsuchasLEDsHAL_BOARD_INIT();//初始化系統(tǒng)時鐘、LED所使用IO等//Makesuresupplyvoltageishighenoughtorunzmain_vdd_check();//檢測芯片電壓與否正常//InitializeboardI/OInitBoard(OB_COLD);//初始化LEDIO//InitialzeHALdriversHalDriverInit();//初始化芯片各個硬件模塊(涉及LCD)//InitializeNVSystemosal_nv_init(NULL);//初始化FLASH存儲//InitializetheMACZMacInit();//初始化MAC層//Determinetheextendedaddresszmain_ext_addr();//形成節(jié)點MAC地址//InitializebasicNVitemszgInit();//初始化某些非易失變量#ifndefNONWK//SincetheAFisn'tatask,callit'sinitializationroutineafInit();//初始化應(yīng)用框架層#endif//Initializetheoperatingsystemosal_init_system();//初始化操作系統(tǒng)//Allowinterruptsosal_int_enable(INTS_ALL);//使能所有中斷//FinalboardinitializationInitBoard(OB_READY);//初始化按鍵//Displayinformationaboutthisdevicezmain_dev_info();//在液晶上顯示設(shè)備IEEE信息/*DisplaythedeviceinfoontheLCD*/#ifdefLCD_SUPPORTEDzmain_lcd_init();//在LCD上顯示該設(shè)備信息#endif#ifdefWDT_IN_PM1/*IfWDTisused,thisisagoodplacetoenableit.*/WatchDogEnable(WDTIMX);#endifosal_start_system();//NoReturnfromherereturn0;//Shouldn'tgethere.}/**********************************************************************@fnzmain_vdd_check*@briefCheckiftheVddisOKtoruntheprocessor.*@returnReturnifVddisok;otherwise,flashLED,thenreset*********************************************************************/staticvoidzmain_vdd_check(void)//檢測設(shè)備電壓{uint8vdd_passed_count=0;booltoggle=0;//RepeatgettingthesampleuntilnumberoffailuresorsuccesseshitsMAX//thenbasedonthecountvalue,determineifthedeviceisreadyornotwhile(vdd_passed_count<MAX_VDD_SAMPLES)//電壓正常狀況下,檢查3次{if(HalAdcCheckVdd(ZMAIN_VDD_LIMIT))//設(shè)立電壓正常極限值并使用AD檢測電壓{vdd_passed_count++;//Keeptrack#timesVddpassesinarowMicroWait(10000);//Wait10mstotryagain}else{vdd_passed_count=0;//ResetpassedcounterMicroWait(50000);//Wait50msMicroWait(50000);//Waitanother50mstotryagain}/*toggleLED1andLED2*/if(vdd_passed_count==0){if((toggle=!(toggle)))HAL_TOGGLE_LED1();elseHAL_TOGGLE_LED2();}}/*turnoffLED1*/HAL_TURN_OFF_LED1();HAL_TURN_OFF_LED2();}/***************************************************************************************************@fnzmain_ext_addr**@briefExecuteaprioritizedsearchforavalidextendedaddressandwritetheresults*intotheOSALNVsystemforusebythe*system.TemporaryaddressnotsavedtoNV.*inputparameters*None.*outputparameters*None.*@returnNone.***************************************************************************************************/staticvoidzmain_ext_addr(void){uint8nullAddr[Z_EXTADDR_LEN]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};uint8writeNV=TRUE;//Firstcheckwhetheranon-erasedextendedaddressexistsintheOSALNV.if((SUCCESS!=osal_nv_item_init(ZCD_NV_EXTADDR,Z_EXTADDR_LEN,NULL))||(SUCCESS!=osal_nv_read(ZCD_NV_EXTADDR,0,Z_EXTADDR_LEN,aExtendedAddress))||(osal_memcmp(aExtendedAddress,nullAddr,Z_EXTADDR_LEN))){//Attempttoreadtheextendedaddressfromthelocationonthelockbitspage//wheretheprogrammingtoolsknowtoreserveit.HalFlashRead(HAL_FLASH_IEEE_PAGE,HAL_FLASH_IEEE_OSET,aExtendedAddress,Z_EXTADDR_LEN);if(osal_memcmp(aExtendedAddress,nullAddr,Z_EXTADDR_LEN)){//AttempttoreadtheextendedaddressfromthedesignatedlocationintheInfoPage.if(!osal_memcmp((uint8*)(P_INFOPAGE+HAL_INFOP_IEEE_OSET),nullAddr,Z_EXTADDR_LEN)){osal_memcpy(aExtendedAddress,(uint8*)(P_INFOPAGE+HAL_INFOP_IEEE_OSET),Z_EXTADDR_LEN);}else//Novalidextendedaddresswasfound.{uint8idx;#if!defined(NV_RESTORE)writeNV=FALSE;//MakethisatemporaryIEEEaddress#endif/*Attempttocreateasufficientlyrandomextended*addressforexpediency.*Note:thisisonlyvalid/legalinatestenvironment*andmustneverbeusedforacommercialproduct.*/for(idx=0;idx<(Z_EXTADDR_LEN-2);){uint16randy=osal_rand();aExtendedAddress[idx++]=LO_UINT16(randy);aExtendedAddress[idx++]=HI_UINT16(randy);}//Next-to-MSBidentifiesZigBeedevicetype.#ifZG_BUILD_COORDINATOR_TYPE&&!ZG_BUILD_JOINING_TYPEaExtendedAddress[idx++]=0x10;#elifZG_BUILD_RTRONLY_TYPEaExtendedAddress[idx++]=0x20;#elseaExtendedAddress[idx++]=0x30;#endif//MSBhashistoricalsignficance.aExtendedAddress[idx]=0xF8;}}if(writeNV){(void)osal_nv_write(ZCD_NV_EXTADDR,0,Z_EXTADDR_LEN,aExtendedAddress);}}//SettheMACPIBextendedaddressaccordingtoresults//fromabove.(void)ZMacSetReq(MAC_EXTENDED_ADDRESS,aExtendedAddress);}/***************************************************************************************************@fnzmain_dev_info*@briefThisdisplaystheIEEE(MSBtoLSB)ontheLCD.*inputparameters*None.*outputparameters*None.*@returnNone.***************************************************************************************************/staticvoidzmain_dev_info(void){#ifdefLCD_SUPPORTEDuint8i;uint8*xad;uint8lcd_buf[Z_EXTADDR_LEN*2+1];uint8num;chars[16];//Displaytheextendedaddress.xad=aExtendedAddress+Z_EXTADDR_LEN-1;for(i=0;i<Z_EXTADDR_LEN*2;xad--){uint8ch;ch=(*xad>>4)&0x0F;lcd_buf[i++]=ch+((ch<10)?'0':'7');ch=*xad&0x0F;lcd_buf[i++]=ch+((ch<10)?'0':'7');}lcd_buf[Z_EXTADDR_LEN*2]='\0';//HalLcdWriteString("IEEE:",HAL_LCD_LINE_1);//HalLcdWriteString((char*)lcd_buf,HAL_LCD_LINE_2);//osal_nv_read(ZCD_NV_PANID,0,2,&zgConfigPANID);sprintf(s,(char*)"%d%d%d%d%d",((UINT16)((uint16)zgConfigPANID/10000)),((UINT16)((uint16)zgConfigPANID%10000/1000)),((UINT16)((uint16)zgConfigPANID%1000/100)),((UINT16)((uint16)zgConfigPANID%100/10)),((UINT16)((uint16)zgConfigPANID%10)));i=0;do{if(s[i]=='0'){s[i]='';num=1;}elsenum=0;i++;}while(num);GUI_SetColor(1,0);//GUI_LoadBitmap(80,0,(uint8*)Logo,48,30);//向顯示緩沖區(qū)加載一幅128×64點陣單色位圖//LCM_Refresh();GUI_PutString5_7(20,8,"OURS-CC2530");GUI_PutString5_7(5,22,"IEEEAddress:"
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- HSE健康、安全和環(huán)境培訓(xùn)課件
- 2014年高考語文試卷(遼寧)(空白卷)
- 房地產(chǎn)行業(yè)助理職責(zé)
- 昆蟲記的讀書筆記15篇
- 網(wǎng)絡(luò)社會工作發(fā)展-第1篇-洞察分析
- 藥物代謝途徑解析-第2篇-洞察分析
- 遠(yuǎn)程醫(yī)療平臺優(yōu)化-洞察分析
- 魚類養(yǎng)殖廢棄物處理-洞察分析
- 羽毛微觀結(jié)構(gòu)分析-洞察分析
- 碳交易市場資本流動-洞察分析
- GB/T 1535-2017大豆油
- 植物細(xì)胞信號轉(zhuǎn)導(dǎo)課件
- 醫(yī)院感染質(zhì)量控制中心工作總結(jié)和計劃課件
- 第二章-地方理論-《旅游目的地管理》課件
- 河北省唐山市藥品零售藥店企業(yè)藥房名單目錄
- 水上運輸大型構(gòu)件安全交底
- 《保障農(nóng)民工工資支付條例》口袋書課件
- 2020 新ACLS-PCSA課前自我測試-翻譯版玉二醫(yī)【復(fù)制】附有答案
- 危險化學(xué)品安全周知卡氧氣
- DB13∕T 5517-2022 大田作物病蟲草害防控關(guān)鍵期植保無人飛機作業(yè)技術(shù)規(guī)程
- 《編譯原理》考試試習(xí)題及答案(匯總)
評論
0/150
提交評論