基于ZigBee技術(shù)的無(wú)線(xiàn)智能小車(chē)軟件設(shè)計(jì)畢業(yè)論文_第1頁(yè)
基于ZigBee技術(shù)的無(wú)線(xiàn)智能小車(chē)軟件設(shè)計(jì)畢業(yè)論文_第2頁(yè)
基于ZigBee技術(shù)的無(wú)線(xiàn)智能小車(chē)軟件設(shè)計(jì)畢業(yè)論文_第3頁(yè)
基于ZigBee技術(shù)的無(wú)線(xiàn)智能小車(chē)軟件設(shè)計(jì)畢業(yè)論文_第4頁(yè)
基于ZigBee技術(shù)的無(wú)線(xiàn)智能小車(chē)軟件設(shè)計(jì)畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

武漢理工大學(xué)PAGE畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)第1頁(yè)畢業(yè)設(shè)計(jì)(論文)題目:基于ZigBee技術(shù)的無(wú)線(xiàn)智能小車(chē)軟件設(shè)計(jì)畢業(yè)設(shè)計(jì)(論文)要求及原始數(shù)據(jù)(資料):1.綜述無(wú)線(xiàn)智能小車(chē)的應(yīng)用前景;2.深入了解無(wú)線(xiàn)智能小車(chē)的軟件設(shè)計(jì)的相關(guān)技術(shù)以及使用;3.熟練掌握基于QT的圖形界面開(kāi)發(fā)以及ZigBee無(wú)線(xiàn)通訊技術(shù);4.設(shè)計(jì)并實(shí)現(xiàn)無(wú)線(xiàn)智能小車(chē)中關(guān)于上位機(jī)圖形界面的開(kāi)發(fā)、上位機(jī)與下位機(jī)的無(wú)線(xiàn)通訊功能;5.深入分析無(wú)線(xiàn)智能小車(chē)的關(guān)鍵技術(shù)與編寫(xiě)語(yǔ)言;6.訓(xùn)練檢索文獻(xiàn)資料和利用文獻(xiàn)資料的能力;7.訓(xùn)練撰寫(xiě)技術(shù)文檔與學(xué)位論文的能力。第2頁(yè)畢業(yè)設(shè)計(jì)(論文)主要內(nèi)容:1.綜述無(wú)線(xiàn)智能小車(chē)在各領(lǐng)域中的應(yīng)用;2.掌握QT的圖形界面開(kāi)發(fā)技術(shù);3.掌握Z(yǔ)igBee無(wú)線(xiàn)通訊技術(shù);4.設(shè)計(jì)并實(shí)現(xiàn)無(wú)線(xiàn)智能小車(chē)中關(guān)于上位機(jī)圖形界面的開(kāi)發(fā);5.上位機(jī)與下位機(jī)的無(wú)線(xiàn)通訊功能;5.組裝各功能模塊,實(shí)現(xiàn)上位機(jī)對(duì)智能小車(chē)無(wú)線(xiàn)操作以及紅外智能避障功能;6.深入分析無(wú)線(xiàn)智能小車(chē)的關(guān)鍵技術(shù)與整個(gè)設(shè)計(jì)的流程;學(xué)生應(yīng)交出的設(shè)計(jì)文件(論文):1.內(nèi)容完整、層次清晰、敘述流暢、排版規(guī)范的畢業(yè)設(shè)計(jì)論文;2.包括畢業(yè)設(shè)計(jì)論文、源程序等內(nèi)容在內(nèi)的畢業(yè)設(shè)計(jì)電子文檔及其它相關(guān)材料。第3頁(yè)主要參考文獻(xiàn)(資料):1陳淑娟.Zigbee技術(shù)簡(jiǎn)介及其在無(wú)線(xiàn)傳感網(wǎng)絡(luò)中的應(yīng)用研究[C].大連海事大學(xué)信息工程學(xué)院,20042晁楠.基于ZigBee無(wú)線(xiàn)網(wǎng)絡(luò)的小車(chē)控制[D].西安科技大學(xué),20093戴琪.基于ZigBee的LED路燈智能控制系統(tǒng)[D].西安電子科技大學(xué),20124周怡頲,凌志浩,吳勤勤.ZigBee無(wú)線(xiàn)通信技術(shù)及其應(yīng)用探討[J].自動(dòng)化儀表,2005,(04)5王浩南,劉益成.基于嵌入式Linux系統(tǒng)下的Qt開(kāi)發(fā)[J].電腦開(kāi)發(fā)與應(yīng)用,2010,23(01)6劉艷青,蘇桂蓮.基于Qt4的圖形用戶(hù)界面程序的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代計(jì)算機(jī)(專(zhuān)業(yè)版),2009(03),170-1737張春艷.基于Qt的嵌入式圖形用戶(hù)界面研究與實(shí)現(xiàn)[D].大連海事大學(xué),20088BonhyunKoo,KyusukHan,JamesJ.(JongHyuk)Park,TaeshikShon.Designandimplementationofawirelesssensornetworkarchitectureusingsmartmobiledevices[J].TelecommunicationSystems,2013,Vol.52(4),pp.2311-23209BojanKulji?,JánosSimon,TiborSzakáll.PathfindingBasedonEdgeDetectionandInfraredDistanceMeasuringSensor[J].ActaPolytechnicaHungarica,2009,Vol.6(1),pp.10310Kaewnopparat,A.,Sooraksa,P.Trackingproblemandobstacleavoidanceofmobilerobotsusingsimplefuzzycontrol[J].SongklanakarinJournalofScienceandTechnology,2004,Vol.26(5),pp.671專(zhuān)業(yè)班級(jí)軟件1005班學(xué)生王澤彬要求設(shè)計(jì)(論文)工作起止日期2014年3月17日~2014年6月27日指導(dǎo)教師簽字日期2014年3月17日教研室主任審查簽字日期系主任批準(zhǔn)簽字日期武漢理工大學(xué)基于ZigBee技術(shù)的無(wú)線(xiàn)智能小車(chē)軟件設(shè)計(jì)摘要智能化,是現(xiàn)代社會(huì)發(fā)展到一定階段的新產(chǎn)物,是以后發(fā)展和研究的重點(diǎn)方向。它無(wú)需人為管理,可以在一個(gè)特點(diǎn)的環(huán)境里按照預(yù)先設(shè)計(jì)好的模式自動(dòng)運(yùn)行。隨著計(jì)算機(jī)、機(jī)械電子、自動(dòng)化、網(wǎng)絡(luò)、信息和人工智能等技術(shù)的高速發(fā)展,智能機(jī)器人的研究進(jìn)入了一個(gè)嶄新的階段。隨著研究的深入,對(duì)智能機(jī)器人、無(wú)人自主車(chē)等領(lǐng)域的各種技術(shù)也有了更高的要求。本次設(shè)計(jì)的無(wú)線(xiàn)智能小車(chē),采用ATmga16單片機(jī)作為小車(chē)的控制核心;采用ZigBee來(lái)實(shí)現(xiàn)上位機(jī)與智能小車(chē)之間的通訊。本論文重點(diǎn)介紹了QT以及ZigBee技術(shù)的相關(guān)概念以及應(yīng)用。同時(shí),主要介紹了完成無(wú)線(xiàn)智能小車(chē)上位機(jī)設(shè)計(jì)中QT的應(yīng)用,以及ZigBee串口通訊程序的編寫(xiě)。最終,通過(guò)ZigBee的無(wú)線(xiàn)通訊以實(shí)現(xiàn)無(wú)線(xiàn)智能小車(chē)的無(wú)線(xiàn)操控功能。本設(shè)計(jì)的智能小車(chē)技術(shù)發(fā)展成熟,結(jié)構(gòu)簡(jiǎn)單,易于實(shí)現(xiàn)。而且有很高的智能化和人性化特點(diǎn)。關(guān)鍵詞無(wú)線(xiàn)智能小車(chē);ZigBee;QT

BasedonthetechnologyofZigBeewirelesssmartcarsoftwaredesignAbstractIntelligent,isanewproductofthedevelopmentofmodernsocialdevelopment,isthefocusofthedevelopmentandresearchdirectioninthefuture.Withouthumanmanagement,itcanbeintheenvironmentofacharacteristicaccordingtothepreliminarydesigngoodmodelautomatically.Alongwiththecomputer,machineryandelectronics,automation,network,artificialintelligenceandinformationtechnology,therapiddevelopmentofintelligentrobotresearchhasenteredanewstage.Withthedeepeningoftheresearchofintelligentrobots,unmannedautonomousvehicleinareassuchasallkindsoftechnologyhavehigherrequirements.Thedesignofwirelesssmartcar,useATmga16singlechipmicrocomputerascontrolcoreofthecar;ZigBeeisusedtorealizecommunicationbetweenPCandthesmartcar.ThispapermainlyintroducestherelatedconceptsandapplicationsofQTandZigBeetechnology.Atthesametime,mainlyintroducedthecompleteQTinthedesignofwirelesssmartcarPCapplications,andZigBeewriteaserialportcommunicationprogram.Intheend,throughtheZigBeewirelesscommunicationsinordertorealizethewirelesssmartcarradiocontrolfunctions.Thedesignoftheintelligentcartechnologydevelopmentmature,simplestructure,easytoimplement.Andhasahighintelligenceandhumancharacteristics.Keywords:Wirelesssmartcar;ZigBee;QT

目錄TOC\o"1-3"\h\u12356摘要 I17596Abstract II312811緒論 19341.1課題研究背景及意義 188201.2國(guó)內(nèi)外研究現(xiàn)狀及發(fā)展趨勢(shì) 1108691.2.1國(guó)外研究現(xiàn)狀 1254451.2.2國(guó)內(nèi)研究現(xiàn)狀 228621.2.3研究方向 230011.3設(shè)計(jì)概要 349462技術(shù)簡(jiǎn)介 4199802.1QT簡(jiǎn)介 486432.1.1QT概念及其主要模塊 4290822.1.2QT的發(fā)展歷史 4238192.1.3QT主要優(yōu)勢(shì) 556402.1.4QT的主要模塊 552652.2ZigBee簡(jiǎn)介 726012.2.1ZigBee概念 7196452.2.2ZigBee技術(shù)特點(diǎn) 8302332.2.3ZigBee的應(yīng)用及前景 8218033CC2530解決方案 10233493.1描述 103283.2引腳描述 10165563.3電路描述 1279593.2.1CPU和內(nèi)存 13229763.2.2時(shí)鐘和電源管理、外設(shè) 13258453.2.3無(wú)線(xiàn)設(shè)備 1469004串口通訊程序的編寫(xiě) 1557734.1編程環(huán)境 1576034.2串口操作流程 15251814.2.1設(shè)置串口參數(shù) 15282204.2.2選擇串口 16175324.2.3讀或?qū)懘?16322094.2.4關(guān)閉串口 16247104.3串口參數(shù)的設(shè)置 168924.4串口通訊程序 1750705ZigBee模塊的電路 19102185.1ZigBee第一次使用(組網(wǎng))流程 19190225.2ZigBee接收器電路 193204262.4G點(diǎn)對(duì)點(diǎn)通訊模塊(無(wú)線(xiàn)串口) 21132936.1概述及功能特點(diǎn) 2123856.2基本概念 2194856.3使用說(shuō)明 2190427核心代碼詳解 2411587.1操作主界面代碼塊 2411587.2操作主界面代碼塊 2631350結(jié)論 2813801參考文獻(xiàn) 2928301致謝 3026969外文資料 316590外文資料翻譯 39武漢理工大學(xué)1緒論1.1課題研究背景及意義信息化時(shí)代的到來(lái),人們對(duì)網(wǎng)絡(luò)通信技術(shù)的要求越來(lái)越高。傳統(tǒng)的數(shù)字化設(shè)備的有線(xiàn)連接給人的生活帶來(lái)了諸多不便。發(fā)展無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù),將設(shè)備從有限連接的束縛中解脫出來(lái),方便人們的使用,已經(jīng)成為一種趨勢(shì),將無(wú)線(xiàn)技術(shù)運(yùn)用到智能車(chē)設(shè)計(jì)中,從而使汽車(chē)輕松實(shí)現(xiàn)無(wú)線(xiàn)數(shù)據(jù)傳輸、語(yǔ)言通訊、目標(biāo)跟蹤、自動(dòng)報(bào)警等功能已經(jīng)是必然趨勢(shì),但是傳統(tǒng)的無(wú)線(xiàn)技術(shù)大多成本高、結(jié)構(gòu)復(fù)雜、不利于無(wú)線(xiàn)技術(shù)的推廣。近些年來(lái),一些公司和標(biāo)準(zhǔn)化組織就開(kāi)始在探尋在不同領(lǐng)域的無(wú)線(xiàn)網(wǎng)絡(luò)連接技術(shù)。并且開(kāi)發(fā)出一系列技術(shù)標(biāo)準(zhǔn)。無(wú)線(xiàn)傳感網(wǎng)絡(luò)技術(shù)的研究熱潮掀起了一場(chǎng)后PC時(shí)代的革命。無(wú)線(xiàn)傳感器網(wǎng)絡(luò)是由大量無(wú)處不在的微小傳感器節(jié)點(diǎn),隨機(jī)布設(shè)在無(wú)人值守的監(jiān)控區(qū)域而構(gòu)成的,能夠根據(jù)環(huán)境自主完成指定任務(wù)的自治監(jiān)控網(wǎng)絡(luò)系統(tǒng)。它已經(jīng)引起了學(xué)術(shù)界和工業(yè)界的高度重視,是對(duì)21世紀(jì)產(chǎn)生巨大影響力的技術(shù)之一,在很多領(lǐng)域也具有廣闊的應(yīng)用前景。2004年,在IEEE802.15.4基礎(chǔ)上建立了ZigBee標(biāo)準(zhǔn),進(jìn)而推出符合該標(biāo)準(zhǔn)的芯片和開(kāi)發(fā)平臺(tái)。ZigBee標(biāo)準(zhǔn)包括IEEE802.15.4協(xié)議制定的物理層和介質(zhì)訪問(wèn)層,以及ZigBee聯(lián)盟制定的網(wǎng)絡(luò)層和部分應(yīng)用層。ZigBee協(xié)議標(biāo)準(zhǔn)作為一種全新的無(wú)線(xiàn)傳感網(wǎng)絡(luò)技術(shù)應(yīng)運(yùn)而生,并展示了迅猛發(fā)展的良好勢(shì)頭,引起了國(guó)內(nèi)外廣大科技工作者的極大興趣和關(guān)注。該技術(shù)以微消耗能量、強(qiáng)組網(wǎng)能力、低營(yíng)運(yùn)成本、高可靠性為特點(diǎn),可方便地組成一個(gè)功耗低、數(shù)據(jù)傳輸距離短且速率不高的低營(yíng)運(yùn)成本“無(wú)線(xiàn)局域網(wǎng)”,廣泛應(yīng)用到軍事無(wú)人值守和靈巧網(wǎng)絡(luò)通訊、工業(yè)自動(dòng)控制、大中城市空氣質(zhì)量監(jiān)控、醫(yī)院醫(yī)護(hù)監(jiān)視、高速公路自動(dòng)收繳費(fèi)、居民水電氣自動(dòng)收繳費(fèi)、消費(fèi)類(lèi)電子設(shè)備、PC外設(shè)的無(wú)線(xiàn)連接等領(lǐng)域。國(guó)內(nèi)已有很多高校和科研院所開(kāi)展了這一領(lǐng)域的研究工作,研究?jī)?nèi)容含蓋無(wú)線(xiàn)傳感器節(jié)點(diǎn)硬件設(shè)計(jì)、操作系統(tǒng)、網(wǎng)絡(luò)路由技術(shù)、節(jié)能技術(shù)、覆蓋控制技術(shù)等。1.2國(guó)內(nèi)外研究現(xiàn)狀及發(fā)展趨勢(shì)1.2.1國(guó)外研究現(xiàn)狀國(guó)外對(duì)于ZigBee技術(shù)的研究較早,技術(shù)也更加成熟。ZigBee聯(lián)盟成立于2002年8月份,為推動(dòng)ZigBee技術(shù)的發(fā)展,Ember、Freescale、Honeywell、Mistubishi/Mtotrola、Philips和Sansung等公司共同成立了ZigBee聯(lián)盟(ZigBeeAlliance)?,F(xiàn)如今已經(jīng)吸引了上百家芯片公司、無(wú)線(xiàn)設(shè)備公司和開(kāi)發(fā)商的加入,其中包括有去多IC設(shè)計(jì)、家電、通訊設(shè)備、IP服務(wù)提供、玩具等產(chǎn)商。目前,該聯(lián)盟已經(jīng)包括好過(guò)150多家會(huì)員。ZigBee的研究主要集中于硬件和軟件2個(gè)方面。硬件方面,目前在2.4GHz的I芯片,以國(guó)外的Chipcon市場(chǎng)占有率較高,其RF芯片CC2420搭配AtmelAVR8bits微處理器的平臺(tái),也是很多數(shù)人接觸道德ZigBee的第一個(gè)開(kāi)發(fā)平臺(tái)。Chipcon已在2005年第3季推出型號(hào)為CC2430的系統(tǒng)芯片(soc),包含RF與微處理器,大大減低了未來(lái)ZIgBee相關(guān)產(chǎn)品的成本,簡(jiǎn)化設(shè)計(jì)產(chǎn)品周期。2.4GHz的RF芯片廠商Freescale,也又漸漸迎頭趕上的趨勢(shì)。其IXII芯片公分三種型號(hào):MCI3191、MCI3192和MCI3193,搭配不同的協(xié)議軟件,提供給廠商進(jìn)行不同產(chǎn)品的開(kāi)發(fā)。軟件方面,國(guó)際上已經(jīng)有很多公司提供ZigBeeStack。例如,Ember、AirBee、Figure8Wireless等,其中以Figure8Wireless(F8W)所設(shè)計(jì)的Z.Stack最負(fù)盛名。Chipcon把F8W買(mǎi)下之后,是的Chipcon成為ZIgBee的完全解決方案的提供者。Fresscale也是搭配F8W的Z.Stack。這樣,ChipconCC24Z.Stack以及Freescalel3193+Z.Stack都成為ZigBee的開(kāi)發(fā)的黃金平臺(tái)。1.2.2國(guó)內(nèi)研究現(xiàn)狀國(guó)內(nèi)ZigBee的研究起步較晚,國(guó)內(nèi)市場(chǎng)主要由國(guó)外占領(lǐng)。現(xiàn)狀國(guó)內(nèi)還未見(jiàn)成熟的自主研制的ZigBee產(chǎn)品,只是有一些研究性和簡(jiǎn)單應(yīng)用的文章出現(xiàn)在期刊雜志。但是隨著技術(shù)的發(fā)展,很多高校和研究機(jī)構(gòu)已經(jīng)開(kāi)始無(wú)線(xiàn)組網(wǎng)技術(shù)的研究和應(yīng)用。像中科院計(jì)算所的寧波分所就在專(zhuān)業(yè)從事無(wú)線(xiàn)技術(shù)的研究,側(cè)重于無(wú)線(xiàn)網(wǎng)絡(luò)化的智能傳感器,計(jì)算所自主開(kāi)發(fā)出了低功耗的CPU、多點(diǎn)網(wǎng)絡(luò)動(dòng)態(tài)組網(wǎng)拓?fù)鋮f(xié)議、網(wǎng)絡(luò)節(jié)點(diǎn)管理軟件。國(guó)內(nèi)的一些個(gè)大學(xué),如山東大學(xué)、浙江大學(xué)也在進(jìn)行ZigBee組網(wǎng)和應(yīng)用的研究,利用國(guó)外廠商的開(kāi)發(fā)平臺(tái)和芯片創(chuàng)建ZigBee網(wǎng)絡(luò),并且應(yīng)用在智能家居、物流管理方面。相信隨著無(wú)線(xiàn)技術(shù)的研究的深入,將有更多的國(guó)產(chǎn)的ZigBee產(chǎn)品。1.2.3研究方向ZigBee路由協(xié)議是基于AODV專(zhuān)用網(wǎng)絡(luò)路南協(xié)議來(lái)實(shí)現(xiàn)的。ZigBee路由器主要的功能是:路徑的開(kāi)發(fā)和選擇、路徑保持維護(hù)、路徑期滿(mǎn)處理。Z-Stack提供了完善高效的路由算法,兵器路由對(duì)對(duì)于應(yīng)用層來(lái)說(shuō)是完全透明的。用戶(hù)在實(shí)現(xiàn)路由算法時(shí),主要通過(guò)路由記錄表的配置來(lái)實(shí)現(xiàn),這個(gè)重要的配置文件是fSwConfig.c用戶(hù)可以通過(guò)配置文件中的ROUTE_EXPIRY_TIME配置路徑滿(mǎn)期時(shí)間,通過(guò)MAX_RTG_ENTRIES配置路由表的大小,通過(guò)MAX_TEQ_ENTRIES配置并發(fā)查找路徑的大小。另基于ZigBee技術(shù)的傳感器網(wǎng)絡(luò)應(yīng)用非常廣泛,可以幫助人們更好地實(shí)現(xiàn)生活夢(mèng)想。ZigBee技術(shù)應(yīng)用在數(shù)字家庭中,可使人們隨時(shí)了解家里的電子設(shè)備狀況,并可用于對(duì)家中病人的監(jiān)控,觀察病人狀況是否正常以便作出反應(yīng)。ZigBee傳感器網(wǎng)絡(luò)用語(yǔ)樓宇自動(dòng)化可減低運(yùn)營(yíng)成本。如:檢點(diǎn)里遍布空調(diào)供暖(HVAC)設(shè)備,如果在每臺(tái)空調(diào)設(shè)備上加上ZigBee節(jié)點(diǎn),就能對(duì)這些空調(diào)系統(tǒng)進(jìn)行實(shí)時(shí)控制,節(jié)約能源消耗。此外,通過(guò)在手機(jī)上集成ZigBee芯片,可將手機(jī)作為ZigBee傳感器網(wǎng)絡(luò)的網(wǎng)關(guān),實(shí)現(xiàn)對(duì)智能家庭的自動(dòng)化控制、進(jìn)行移動(dòng)商務(wù)(利用手機(jī)購(gòu)物)等諸多功能。據(jù)BobHeile介紹,目前意大利TIM移動(dòng)公司已經(jīng)推出了基于ZigBee技術(shù)的Z-sim卡,用于移動(dòng)電話(huà)與電視機(jī)頂盒、計(jì)算機(jī)、家用電器之間的通信及停車(chē)場(chǎng)收費(fèi)等。

1.3設(shè)計(jì)概要該智能小車(chē)是一輛雙輪驅(qū)動(dòng)的小車(chē)。通過(guò)ATmega16主控芯片控制傳感器輸入輸出的信號(hào);使用L298N做為電機(jī)驅(qū)動(dòng);ZigBee作為無(wú)線(xiàn)通訊裝置;HJ-IR2紅外傳感器用于發(fā)射和接收紅外線(xiàn)。以實(shí)現(xiàn)無(wú)線(xiàn)智能小車(chē)的無(wú)線(xiàn)操控以及智能避障功能。本論文主要簡(jiǎn)述了無(wú)線(xiàn)智能小車(chē)中所使用的部分技術(shù),即:QT和ZigBee技術(shù)。并且詳細(xì)介紹了ZigBee串口通訊程序的編寫(xiě)流程。最后,介紹了ZigBee模塊電路的各個(gè)接口,以方便最終智能小車(chē)的組裝。

2技術(shù)簡(jiǎn)介2.1QT簡(jiǎn)介2.1.1QT概念及其主要模塊QT是一個(gè)1991年由奇趣科技開(kāi)發(fā)的多平臺(tái)的C++圖形用戶(hù)界面應(yīng)用程序框架。廣泛用于開(kāi)發(fā)GUI程序,這種情況下又被稱(chēng)為部件工具箱。也可用于開(kāi)發(fā)非GUI程序,比如控制臺(tái)工具和服務(wù)器。它是Digia公司的產(chǎn)品。QT使用標(biāo)準(zhǔn)的C++和特殊的代碼生成擴(kuò)展(稱(chēng)為元對(duì)象編譯器(MetaObjectCompiler,moc))以及一些宏。通過(guò)語(yǔ)言綁定,其他的編程語(yǔ)言也可以使用QT。QT是自由且開(kāi)放源代碼的軟件,在GNU較寬松公共許可證條款下發(fā)布。所有版本都支持廣泛的編譯器,包括GCC的C++編譯器和VisualStudio。它提供給應(yīng)用程序開(kāi)發(fā)者建立藝術(shù)級(jí)的圖形用戶(hù)界面所需的所用功能。Qt是完全面向?qū)ο蟮暮苋菀讛U(kuò)展,并且允許真正地組件編程。自從1996年早些時(shí)候,Qt進(jìn)入商業(yè)領(lǐng)域,它已經(jīng)成為全世界范圍內(nèi)數(shù)千種成功的應(yīng)用程序的基礎(chǔ)。經(jīng)過(guò)多年發(fā)展,Qt不但擁有了完善的C++圖形庫(kù),而且近年來(lái)的版本逐漸集成了數(shù)據(jù)庫(kù)、OpenGL庫(kù)、多媒體庫(kù)、網(wǎng)絡(luò)、腳本庫(kù)、XML庫(kù)、WebKit庫(kù)等等,其核心庫(kù)也加入了進(jìn)程間通信、多線(xiàn)程等模塊,極大的豐富了Qt開(kāi)發(fā)大規(guī)模復(fù)雜跨平臺(tái)應(yīng)用程序的能力。QT的主要模塊有圖形界面、信號(hào)與槽、布局管理、圖形工具、障礙環(huán)境、語(yǔ)言系統(tǒng)、線(xiàn)程支持、言語(yǔ)綁定等模塊。2.1.2QT的發(fā)展歷史1996OctKDE組織成立1998Apr05Trolltech的程序員在5天之內(nèi)將Netscape5.0從Motif移植到Qt上1998Apr08KDEFreeQt基金會(huì)成立1998Jul09Qt1.40發(fā)布1998Jul12KDE1.0發(fā)布1999Mar04QPL1.0發(fā)布1999Mar12Qt1.44發(fā)布1999Jun25Qt2.0發(fā)布1999Sep13KDE1.1.2發(fā)布2000Mar20嵌入式Qt發(fā)布2000Sep06Qt2.2發(fā)布2000Oct05Qt2.2.1發(fā)布2000Oct30Qt/Embedded開(kāi)始使用GPL宣言2000Sep04Qtfreeedition開(kāi)始使用GPL2008Nokia從Trolltech公司收購(gòu)Qt,并增加LGPL的授權(quán)模式2011Digia從Nokia收購(gòu)了Qt的商業(yè)版權(quán),從此Nokia負(fù)責(zé)QtonMobile,QtCommercial由Digia負(fù)責(zé),根據(jù)最新消息,NOKIA已經(jīng)停止Meltemi系統(tǒng)開(kāi)發(fā),QT部門(mén)被解散2012Aug09作為非核心資產(chǎn)剝離計(jì)劃的一部分,諾基亞宣布將Qt軟件業(yè)務(wù)出售給芬蘭IT服務(wù)公司Digia。2013年7月3日,Digia公司Qt開(kāi)發(fā)團(tuán)隊(duì)在其官方博客上宣布Qt5.1正式版發(fā)布。2013年12月11日,Digia公司Qt開(kāi)發(fā)團(tuán)隊(duì)宣布Qt5.2正式版發(fā)布。2014年4月,Digia公司Qt開(kāi)發(fā)團(tuán)隊(duì)宣布QtCreator3.1.0正式版發(fā)布。2.1.3QT主要優(yōu)勢(shì)QT的主要優(yōu)勢(shì)有:(1)優(yōu)良的跨平臺(tái)特性:Qt支持下列操作系統(tǒng):MicrosoftWindows95/98,MicrosoftWindowsNT,Linux,Solaris,SunOS,HP-UX,DigitalUNIX(OSF/1,Tru64),Irix,F(xiàn)reeBSD,BSD/OS,SCO,AIX,OS390,QNX等等。(2)面向?qū)ο螅篞t的良好封裝機(jī)制使得Qt的模塊化程度非常高,可重用性較好,對(duì)于用戶(hù)開(kāi)發(fā)來(lái)說(shuō)是非常方便的。Qt提供了一種稱(chēng)為signals/slots的安全類(lèi)型來(lái)替代callback,這使得各個(gè)元件之間的協(xié)同工作變得十分簡(jiǎn)單。(3)豐富的API:Qt包括多達(dá)250個(gè)以上的C++類(lèi),還提供基于模板的collections,serialization,file,I/Odevice,directorymanagement,date/time類(lèi)。甚至還包括正則表達(dá)式的處理功能。(4)支持2D/3D圖形渲染,支持OpenGL。(5)大量的開(kāi)發(fā)文檔。(6)XML支持。2.1.4QT的主要模塊經(jīng)過(guò)多年發(fā)展,Qt不但擁有了完善的C++圖形庫(kù),而且近年來(lái)的版本逐漸集成了數(shù)據(jù)庫(kù)、OpenGL庫(kù)、多媒體庫(kù)、網(wǎng)絡(luò)、腳本庫(kù)、XML庫(kù)、WebKit庫(kù)等等,其核心庫(kù)也加入了進(jìn)程間通信、多線(xiàn)程等模塊,極大的豐富了Qt開(kāi)發(fā)大規(guī)模復(fù)雜跨平臺(tái)應(yīng)用程序的能力,真正意義上實(shí)現(xiàn)了其研發(fā)宗旨“CodeLess;CreateMore;DeployAnywhere.”。由于各家編譯器良莠不齊。Qt本身為了跨平臺(tái)兼容性,只能以“最低兼容規(guī)格”來(lái)設(shè)計(jì)。因此Qt必須具備RTTI、動(dòng)態(tài)創(chuàng)建、Persistence/Serialization的基礎(chǔ)建設(shè),以及建構(gòu)出自己的容器組件。1.圖形界面Qt的圖形用戶(hù)界面的基礎(chǔ)是QWidget。Qt中所有類(lèi)型的GUI組件如按鈕、標(biāo)簽、工具欄等都派生自QWidget,而QWidget本身則為QObject的子類(lèi)。Widget負(fù)責(zé)接收鼠標(biāo),鍵盤(pán)和來(lái)自窗口系統(tǒng)的其他事件,并描繪了自身顯示在屏幕上。每一個(gè)GUI組件都是一個(gè)widget,widget還可以作為容器,在其內(nèi)包含其他Widget。QWidget不是一個(gè)抽象類(lèi)型。并且可以被放置在一個(gè)已存在的用戶(hù)界面中;若是Widget沒(méi)有指定父Widget,當(dāng)它顯示時(shí)就是一個(gè)獨(dú)立的視窗、或是一個(gè)頂層widget。QWidget顯示能力包含了透明化及Double-Buffering。Qt提供一種托管機(jī)制,當(dāng)Widget于創(chuàng)建時(shí)指定父對(duì)象,就可把自己的生命周期交給上層對(duì)象管理,當(dāng)上層對(duì)象被釋放時(shí),自己也被釋放。確保對(duì)象不再使用時(shí)都會(huì)被刪除。2.信號(hào)與槽Qt利用信號(hào)與槽(signals/slots)機(jī)制取代傳統(tǒng)的callback來(lái)進(jìn)行對(duì)象之間的溝通。當(dāng)操作事件發(fā)生的時(shí)候,對(duì)象會(huì)發(fā)提交一個(gè)信號(hào)(signal);而槽(slot)則是一個(gè)函數(shù)接受特定信號(hào)并且運(yùn)行槽本身設(shè)置的動(dòng)作。信號(hào)與槽之間,則通過(guò)QObject的靜態(tài)方法connect來(lái)鏈接。信號(hào)在任何運(yùn)行點(diǎn)上皆可發(fā)射,甚至可以在槽里再發(fā)射另一個(gè)信號(hào),信號(hào)與槽的鏈接不限定為一對(duì)一的鏈接,一個(gè)信號(hào)可以鏈接到多個(gè)槽或多個(gè)信號(hào)鏈接到同一個(gè)槽,甚至信號(hào)也可連接到信號(hào)。以往的callback缺乏類(lèi)型安全,在調(diào)用處理函數(shù)時(shí),無(wú)法確定是傳遞正確型態(tài)的參數(shù)。但信號(hào)和其接受的槽之間傳遞的數(shù)據(jù)型態(tài)必須要相符合,否則編譯器會(huì)提出警告。信號(hào)和槽可接受任何數(shù)量、任何型態(tài)的參數(shù),所以信號(hào)與槽機(jī)制是完全類(lèi)型安全。信號(hào)與槽機(jī)制也確保了低耦合性,發(fā)送信號(hào)的類(lèi)型并不知道是哪個(gè)槽會(huì)接受,也就是說(shuō)一個(gè)信號(hào)可以調(diào)用所有可用的槽。此機(jī)制會(huì)確保當(dāng)在"連接"信號(hào)和槽時(shí),槽會(huì)接受信號(hào)的參數(shù)并且正確運(yùn)行。3.布局管理布局管理類(lèi)型用于描述一個(gè)應(yīng)用程序的用戶(hù)界面中的Widget是如何放置。當(dāng)視窗縮放時(shí),布局管理器會(huì)自動(dòng)調(diào)整widget的大小、位置或是字號(hào),確保他們相對(duì)的排列和用戶(hù)界面整體仍然保有可用性。Qt內(nèi)置的布局管理類(lèi)型有:QHBoxLayout、QVBoxLayout、QGridLayout和QFormLayout。這些類(lèi)型繼承自QLayout,但QLayout非繼承自QWidget而是直接源于QObject。他們負(fù)責(zé)widget的幾何管理。想要?jiǎng)?chuàng)建更復(fù)雜的版面配置,可以繼承QLayout來(lái)自定義版面配置管理員。QHBoxLayout:配置widget成橫向一列。QVBoxLayout:配置widget成垂直一行。QGridLayout:配置widget在平面網(wǎng)格。QFormLayout:配置widget用于2欄標(biāo)簽-field。4.圖形工具(1)MainWindowQt提供了下列主視窗管理和相關(guān)的用戶(hù)界面組件的類(lèi)型:QMainWindow:提供一個(gè)標(biāo)準(zhǔn)的應(yīng)用程序主視窗。當(dāng)中可以包括菜單、工具欄、狀態(tài)欄、停駐組件等組件。QDockWidget:提供了一個(gè)可用于創(chuàng)建彈簧工具調(diào)色板或輔助窗口的widget。Dockwidgets可以移、關(guān)閉、浮動(dòng)為外部視窗。QToolBar:提供了一個(gè)通用的工具欄widget,可以放入一些不同的action有關(guān)的工具,如按鈕、下拉列表、comboboxes和spinboxes。GraphicsViewGraphicsView提供了用于管理和交互大量定制的2D圖形對(duì)象的平面以及可視化顯示對(duì)象的視圖widget,并支持縮放和旋轉(zhuǎn)功能。整個(gè)GraphicsView框架提供一個(gè)以Item為基礎(chǔ)的model-view設(shè)計(jì)。由3個(gè)主要的類(lèi)型組成,分別是QGrphicsItem、QGraphicsScene和QGraphicsView。若干View可以顯示一個(gè)Scene,Scene中則包含不同幾何形狀的Item。該框架包括一個(gè)事件傳播的架構(gòu),讓在Scene上的Item有雙精度的交互能力。Item可以處理鍵盤(pán)事件,鼠標(biāo)按下、移動(dòng)、釋放和雙擊事件,他們也可以跟蹤鼠標(biāo)移動(dòng)。GraphicsView使用BSP(二進(jìn)制空間劃分)樹(shù)可非??焖俚卣业絀tem,因此即使是包含百萬(wàn)個(gè)Item的大型Scene,也能實(shí)時(shí)圖形化顯示。KDE中的Plasma亦是基于GraphicsView實(shí)現(xiàn)的。5.障礙環(huán)境無(wú)障礙環(huán)境需要無(wú)障礙兼容的應(yīng)用程序、輔助技術(shù)、以及輔助工具之間的合作。應(yīng)用程序通常不會(huì)直接溝通輔助工具,而是通過(guò)一個(gè)輔助技術(shù),這是一個(gè)應(yīng)用程序和工具之間信息交流的橋梁。用戶(hù)界面元素相關(guān)信息,例如按鈕和滾動(dòng)條,使用輔助技術(shù)來(lái)顯示。Qt支持Windows上的MicrosoftActiveAccessibility(MSAA)和MacOSX上MacOSXAccessibility。無(wú)障礙兼容的應(yīng)用程序稱(chēng)為AT-Servers,而輔助工具被稱(chēng)為AT-Clients。Qt應(yīng)用程序通常會(huì)是一個(gè)AT-Server,但特別的程序也可能如同AT-Client方式工作。6.語(yǔ)言系統(tǒng)Qt的字體引擎能夠在同一時(shí)間正確的顯示各種不同的書(shū)寫(xiě)系統(tǒng)。并且Qt內(nèi)部使用Unicode編碼來(lái)存儲(chǔ)文字。Qt的多國(guó)語(yǔ)言支持技術(shù),可以讓?xiě)?yīng)用程序中的文字全部使用英文撰寫(xiě),能夠在完全不需修改程序的狀況下,改變整個(gè)應(yīng)用程序中的文字為另一個(gè)語(yǔ)系的文字,并能夠協(xié)助處理不同語(yǔ)言的單、復(fù)數(shù)問(wèn)題。獨(dú)立的翻譯文件使得新增支持語(yǔ)言相當(dāng)容易,同時(shí)翻譯文件(.ts)為XML格式可以直接編輯或使用QtLiguist進(jìn)行翻譯,可讓無(wú)程序開(kāi)發(fā)能力的翻譯者亦能獨(dú)自完成翻譯。Qt附帶的工具程序就能夠自動(dòng)抽取需要翻譯的文字產(chǎn)生翻譯文件。7.線(xiàn)程支持Qt的線(xiàn)程支持是獨(dú)立于平臺(tái)的線(xiàn)程類(lèi)型,采用信號(hào)與槽機(jī)制,實(shí)現(xiàn)類(lèi)型安全的線(xiàn)程間通訊。這使得它易于開(kāi)發(fā)具可移植性的多線(xiàn)程Qt應(yīng)用程序。并能充分利用多核架構(gòu),獲得最佳運(yùn)行性能,還能根據(jù)可用的處理器內(nèi)核數(shù)自動(dòng)調(diào)整使用的線(xiàn)程數(shù)。多線(xiàn)程程序設(shè)計(jì)也是一個(gè)執(zhí)行耗時(shí)操作而不會(huì)凍結(jié)用戶(hù)界面的有效典范。8.語(yǔ)言綁定除了C++外,Qt還為其它多種計(jì)算機(jī)語(yǔ)言提供了應(yīng)用程序接口,您也可以使用這些語(yǔ)言開(kāi)發(fā)Qt應(yīng)用程序。2.2ZigBee簡(jiǎn)介2.2.1ZigBee概念ZigBee是一種基于標(biāo)準(zhǔn)的遠(yuǎn)程監(jiān)控、控制和傳感器網(wǎng)絡(luò)應(yīng)用技術(shù)。為滿(mǎn)足人們對(duì)支持低數(shù)據(jù)速率、低功耗、安全性和可靠性,而且經(jīng)濟(jì)高效的標(biāo)準(zhǔn)型無(wú)線(xiàn)網(wǎng)絡(luò)解決方案的需求,ZigBee標(biāo)準(zhǔn)應(yīng)運(yùn)而生。Zigbee是部署無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的新技術(shù)。它是一種短距離、低速率無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù),是一種介于無(wú)線(xiàn)標(biāo)記技術(shù)和BlueTooth之間的技術(shù)提案。Zigbee一詞源自蜜蜂群在發(fā)現(xiàn)花粉位置時(shí),通過(guò)跳ZigZag形舞蹈來(lái)告知同伴,達(dá)到交換信息的目的。借此稱(chēng)呼一種專(zhuān)注于低功耗、低成本、低復(fù)雜度、低速率的近程無(wú)線(xiàn)網(wǎng)絡(luò)通信技術(shù)。ZigBee是一種低速短距離傳輸?shù)臒o(wú)線(xiàn)網(wǎng)絡(luò)協(xié)議。ZigBee協(xié)議從下到上分別為物理層(PHY)、媒體訪問(wèn)控制層(MAC)、傳輸層(TL)、網(wǎng)絡(luò)層(NWK)、應(yīng)用層(APL)等。其中物理層和媒體訪問(wèn)控制層遵循IEEE802.15.4標(biāo)準(zhǔn)的規(guī)定。2.2.2ZigBee技術(shù)特點(diǎn)(1)數(shù)據(jù)傳輸速率低:10Kb/s~250Kb/s,專(zhuān)注于低速率傳輸應(yīng)用。(2)功耗低:在低功耗待機(jī)模式下,兩節(jié)普通5號(hào)電池可使用6~24個(gè)月。(3)成本低:Zigbee數(shù)據(jù)傳輸速率低,協(xié)議簡(jiǎn)單,大大降低了成本。(4)網(wǎng)絡(luò)容量大:網(wǎng)絡(luò)可容納6萬(wàn)多個(gè)設(shè)備。(5)延時(shí)短:典型搜索設(shè)備時(shí)延為30ms,休眠激活時(shí)延為15ms,活動(dòng)設(shè)備信道接入時(shí)延為15ms。(6)網(wǎng)絡(luò)的自組織、自愈能力強(qiáng),通信可靠。(7)數(shù)據(jù)安全:Zigbee提供了數(shù)據(jù)完整性檢查和健全功能,采用AES-128加密算法(美國(guó)新加密算法,是目前最好的文本加密算法之一),各個(gè)應(yīng)用可靈活確定其安全屬性。(8)ZigBee技術(shù)在低功耗、低成本和組網(wǎng)能力具有無(wú)可比擬的應(yīng)用優(yōu)勢(shì)。2.2.3ZigBee的應(yīng)用及前景隨著國(guó)內(nèi)經(jīng)濟(jì)的高速發(fā)展,城市的規(guī)模在不斷擴(kuò)大,尤其是各種交通工具的增長(zhǎng)更迅速,從而使城市交通需求與供給的矛盾日益突出,而單靠擴(kuò)大道路交通基礎(chǔ)設(shè)施來(lái)緩解矛盾的做法已難以為繼。在這種情況下,智能公交系統(tǒng)(AdvancedPublicTransportationSystems,APTS)也就應(yīng)運(yùn)而生,并且成為國(guó)內(nèi)研究的熱點(diǎn)。在智能公交系統(tǒng)所涉及的各種技術(shù)中,無(wú)線(xiàn)通信技術(shù)尤為引人注目。而ZigBee作為一種新興的短距離、低速率的無(wú)線(xiàn)通信技術(shù),更是得到了越來(lái)越廣泛的關(guān)注和應(yīng)用。市場(chǎng)上也出現(xiàn)了大量與ZigBee相關(guān)的各種產(chǎn)品,根據(jù)中國(guó)物聯(lián)網(wǎng)校企聯(lián)盟的統(tǒng)計(jì)分析表明:ZigBee雖然廣受推崇,但是在數(shù)據(jù)中,推出ZigBee相關(guān)產(chǎn)品的中小型企業(yè)在2012年的發(fā)展并不可觀。其中,比較有競(jìng)爭(zhēng)力的ZigBee解決方案主要有下面幾種:(1)Freescale:MC1319X平臺(tái);(2)Chipcon:SoC解決方案CC2530;(3)Ember:EM250ZigBee系統(tǒng)晶片及EM260網(wǎng)絡(luò)處理器;(4)Jennic的JN5121芯片;經(jīng)過(guò)市場(chǎng)調(diào)研,發(fā)現(xiàn)Freescale的MC1319X平臺(tái)功耗低、價(jià)格低廉、硬件集成度高,方便二次開(kāi)發(fā),射頻通信系統(tǒng)的穩(wěn)定性高。所以,在本文的設(shè)計(jì)中選用了MaxStream公司與ZigBee兼容的以FreescaleMC1319x芯片組為核心的XBeeProRF模塊。下面主要介紹XbeePro的特性、接口應(yīng)用、操作模式以及在智能公交無(wú)線(xiàn)網(wǎng)絡(luò)中的應(yīng)用。1.XBeePro模塊的特性與接口XBee模塊的基本性能參數(shù)如下:(1)發(fā)送功率:100mW;(2)接收靈敏度:-92dBm;(3)室內(nèi)傳輸距離為100m,室外傳輸距離為1500m;(4)RF數(shù)據(jù)傳輸速率為250kbps;(5)在3.3V電源下,發(fā)送電流為215mA,接收電流為55mA:(6)在網(wǎng)絡(luò)性能方面,具有DSS(直接序列擴(kuò)頻)功能,可以組成對(duì)等網(wǎng)、點(diǎn)對(duì)點(diǎn)及點(diǎn)對(duì)多點(diǎn)網(wǎng)絡(luò),具有12個(gè)軟件可選的直接序列信道,每個(gè)信道有65000個(gè)可用網(wǎng)絡(luò)地址。XBeePro模塊體積小,功耗低,接口簡(jiǎn)單,容易使用,非常適用于低數(shù)據(jù)速率的短距離通信應(yīng)用,尤其是無(wú)線(xiàn)傳感網(wǎng)絡(luò)的設(shè)計(jì)應(yīng)用。XBeePro模塊還提供有免費(fèi)X-CTU測(cè)試軟件以便能夠輕松測(cè)試和配置網(wǎng)絡(luò)。該模塊還可以通過(guò)下載該公司最新的固件(Firmware),使用戶(hù)在使用原有硬件模塊的基礎(chǔ)上,獲得最新的功能,從而為設(shè)計(jì)提供了極大的靈活性。2.XBeePro模塊的操作模式XBeePro有空模式、接收模式、發(fā)送模式、睡眠模式和命令模式等5種操作模式,如圖3所示。每一種操作模式都有透明方式和應(yīng)用程序接口(API)方式兩種操作方式。當(dāng)工作在透明方式時(shí),模塊可起到替代串口線(xiàn)的作用,并以字節(jié)為單位來(lái)處理各種信息;當(dāng)工作在API方式下,所有進(jìn)出模塊的數(shù)據(jù)均被包含在定義模塊的操作和事件的幀結(jié)構(gòu)中。3.XBeePro模塊在智能公交系統(tǒng)中的應(yīng)用在站牌處通常會(huì)有多輛公交車(chē)同時(shí)到達(dá),一個(gè)站牌對(duì)應(yīng)多輛公交車(chē),適合使用星狀網(wǎng)布線(xiàn)網(wǎng)絡(luò)。但為了保證網(wǎng)絡(luò)的可靠性,當(dāng)公交車(chē)站牌外的通道阻塞時(shí),可以通過(guò)其它公交車(chē)路由節(jié)點(diǎn)轉(zhuǎn)發(fā)到站牌,本設(shè)計(jì)采用網(wǎng)狀(Mesh)網(wǎng)模型??蓪⒎植荚诠痪€(xiàn)路上的電子站牌配置為協(xié)調(diào)器,而將到達(dá)的公交車(chē)配置為路由器。當(dāng)站牌上ZigBee網(wǎng)絡(luò)協(xié)調(diào)器選擇一個(gè)信道和PANID并啟動(dòng)時(shí),便建立了一個(gè)ZigBee個(gè)人局網(wǎng)(PAN)。一旦協(xié)調(diào)器已啟動(dòng)PAN,便可允許路由器和終端設(shè)備結(jié)點(diǎn)加入PAN。路由器加入PAN時(shí),將收到一個(gè)16位的網(wǎng)絡(luò)地址,并且能夠發(fā)送和接收來(lái)自PAN內(nèi)其他設(shè)備的數(shù)據(jù)。PAN協(xié)調(diào)器的網(wǎng)絡(luò)地址總是0。由于站牌上ZigBee模塊的網(wǎng)絡(luò)物理地址是唯一的,可以通過(guò)物理地址向站牌發(fā)送信息。

3CC2530解決方案3.1描述CC2530是用于IEEE802.15.4、ZigBee和RF4CE應(yīng)用的一個(gè)真正的片上系統(tǒng)(SoC)解決方案。它能夠以非常低的總的材料成本建立強(qiáng)大的網(wǎng)絡(luò)節(jié)點(diǎn)。CC2530結(jié)合了領(lǐng)先的RF收發(fā)器的優(yōu)良性能,業(yè)界標(biāo)準(zhǔn)的增強(qiáng)型8051CPU,系統(tǒng)內(nèi)可編程閃存,8-KBRAM和許多其他強(qiáng)大的功能。CC2530有四種不同的閃存版本:CC2530F32/64/128/256,分別具有32/64/128/256的閃存。CC2530具有不同的運(yùn)行模式,使得它尤其適應(yīng)超低功耗要求的系統(tǒng)。運(yùn)行模式之間的轉(zhuǎn)換時(shí)間短進(jìn)一步確保了低能源消耗。CC2530F256結(jié)合了德州儀器的業(yè)界領(lǐng)先的黃金單元協(xié)議棧(Z-StackTM),提供了一個(gè)強(qiáng)大和完整的ZigBee解決方案。CC2530F256結(jié)合了德州儀器的黃金單元,更好地提供了一個(gè)強(qiáng)大和完整的遠(yuǎn)程控制解決方案。3.2引腳描述CC2530引腳如圖3-1所示,引腳的簡(jiǎn)短描述如表3-1所示。圖3-1引腳頂視圖注意:暴露的接地襯墊必須連接到一個(gè)堅(jiān)固的接地面,因?yàn)檫@是芯片的接地連接點(diǎn)。表3-1引腳描述引腳名稱(chēng)引腳引腳類(lèi)型描述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ù)字電源連接DVDD110電源(數(shù)字)2-V-3.6-V數(shù)字電源連接GND-接地接地襯墊必須連接到一個(gè)堅(jiān)固的接地面。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ū)動(dòng)能力P1_19數(shù)字I/O端口1.1-20-mA驅(qū)動(dòng)能力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_3/33數(shù)字I/O端口2.3/32.768kHzXOSCP2_4/32數(shù)字I/O端口2.4/32.768kHzXOSCRBIAS30模擬I/O參考電流的外部精密偏置電阻RESET_N20數(shù)字輸入復(fù)位,活動(dòng)到低電平RF_N26RFI/ORX期間負(fù)RF輸入信號(hào)到LNARF_P25RFI/ORX期間正RF輸入信號(hào)到LNAXOSC_Q122模擬I/O32-MHz晶振引腳1或外部時(shí)鐘輸入XOSC_Q223模擬I/O32-MHz晶振引腳23.3電路描述圖3-2CC2530方框圖圖3-2是的方框圖。這些模塊大致可以分為三類(lèi):CPU和內(nèi)存相關(guān)的模塊;外設(shè)、時(shí)鐘和電源管理相關(guān)的模塊,以及無(wú)線(xiàn)電相關(guān)的模塊。下面給出了圖中出現(xiàn)的各個(gè)模塊的簡(jiǎn)短描述。3.2.1CPU和內(nèi)存CC253x芯片系列中使用的8051CPU內(nèi)核是一個(gè)單周期的8051兼容內(nèi)核。它有三種不同的內(nèi)存訪問(wèn)總線(xiàn)(SFR,DATA和CODE/XDATA),單周期訪問(wèn)SFR,DATA和主SRAM。它還包括一個(gè)調(diào)試接口和一個(gè)18輸入擴(kuò)展中斷單元。中斷控制器總共提供了18個(gè)中斷源,分為六個(gè)中斷組,每個(gè)與四個(gè)中斷優(yōu)先級(jí)之一相關(guān)。當(dāng)設(shè)備從活動(dòng)模式回到空閑模式,任一中斷服務(wù)請(qǐng)求就被激發(fā)。一些中斷還可以從睡眠模式(供電模式1-3)喚醒設(shè)備。內(nèi)存仲裁器位于系統(tǒng)中心,因?yàn)樗ㄟ^(guò)SFR總線(xiàn)把CPU和DMA控制器和物理存儲(chǔ)器以及所有外設(shè)連接起來(lái)。內(nèi)存仲裁器有四個(gè)內(nèi)存訪問(wèn)點(diǎn),每次訪問(wèn)可以映射到三個(gè)物理存儲(chǔ)器之一:一個(gè)8-KB、閃存存儲(chǔ)器和XREG/SFR寄存器。它負(fù)責(zé)執(zhí)行仲裁,并確定同時(shí)訪問(wèn)同一個(gè)物理存儲(chǔ)器之間的順序。8-KBSRAM映射到DATA存儲(chǔ)空間和部分XDATA存儲(chǔ)空間。8-KBSRAM是一個(gè)超低功耗的SRAM,即使數(shù)字部分掉電(供電模式2和3)也能保留其內(nèi)容。這是對(duì)于低功耗應(yīng)用來(lái)說(shuō)很重要的一個(gè)功能。32/64/128/256KB閃存塊為設(shè)備提供了內(nèi)電路可編程的非易失性程序存儲(chǔ)器,映射到XDATA存儲(chǔ)空間。除了保存程序代碼和常量以外,非易失性存儲(chǔ)器允許應(yīng)用程序保存必須保留的數(shù)據(jù),這樣設(shè)備重啟之后可以使用這些數(shù)據(jù)。使用這個(gè)功能,例如可以利用已經(jīng)保存的網(wǎng)絡(luò)具體數(shù)據(jù),就不需要經(jīng)過(guò)完全啟動(dòng)、網(wǎng)絡(luò)尋找和加入過(guò)程。3.2.2時(shí)鐘和電源管理、外設(shè)數(shù)字內(nèi)核和外設(shè)由一個(gè)1.8-V低差穩(wěn)壓器供電。它提供了電源管理功能,可以實(shí)現(xiàn)使用不同供電模式的長(zhǎng)電池壽命的低功耗運(yùn)行。有五種不同的復(fù)位源來(lái)復(fù)位設(shè)備。CC2530包括許多不同的外設(shè),允許應(yīng)用程序設(shè)計(jì)者開(kāi)發(fā)先進(jìn)的應(yīng)用。調(diào)試接口執(zhí)行一個(gè)專(zhuān)有的兩線(xiàn)串行接口,用于內(nèi)電路調(diào)試。通過(guò)這個(gè)調(diào)試接口,可以執(zhí)行整個(gè)閃存存儲(chǔ)器的擦除、控制使能哪個(gè)振蕩器、停止和開(kāi)始執(zhí)行用戶(hù)程序、執(zhí)行8051內(nèi)核提供的指令、設(shè)置代碼斷點(diǎn),以及內(nèi)核中全部指令的單步調(diào)試。使用這些技術(shù),可以很好地執(zhí)行內(nèi)電路的調(diào)試和外部閃存的編程。設(shè)備含有閃存存儲(chǔ)器以存儲(chǔ)程序代碼。閃存存儲(chǔ)器可通過(guò)用戶(hù)軟件和調(diào)試接口編程。閃存控制器處理寫(xiě)入和擦除嵌入式閃存存儲(chǔ)器。閃存控制器允許頁(yè)面擦除和4字節(jié)編程。I/O控制器負(fù)責(zé)所有通用I/O引腳。CPU可以配置外設(shè)模塊是否控制某個(gè)引腳或它們是否受軟件控制,如果是的話(huà),每個(gè)引腳配置為一個(gè)輸入還是輸出,是否連接襯墊里的一個(gè)上拉或下拉電阻。CPU中斷可以分別在每個(gè)引腳上使能。每個(gè)連接到I/O引腳的外設(shè)可以在兩個(gè)不同的I/O引腳位置之間選擇,以確保在不同應(yīng)用程序中的靈活性。系統(tǒng)可以使用一個(gè)多功能的五通道DMA控制器,使用XDATA存儲(chǔ)空間訪問(wèn)存儲(chǔ)器,因此能夠訪問(wèn)所有物理存儲(chǔ)器。每個(gè)通道(觸發(fā)器、優(yōu)先級(jí)、傳輸模式、尋址模式、源和目標(biāo)指針和傳輸計(jì)數(shù))用DMA描述符在存儲(chǔ)器任何地方配置。許多硬件外設(shè)(AES內(nèi)核、閃存控制器、USART、定時(shí)器、ADC接口)通過(guò)使用DMA控制器在SFR或XREG地址和閃存/SRAM之間進(jìn)行數(shù)據(jù)傳輸,獲得高效率操作。定時(shí)器1是一個(gè)16位定時(shí)器,具有定時(shí)器/PWM功能。它有一個(gè)可編程的分頻器,一個(gè)16位周期值,和五個(gè)各自可編程的計(jì)數(shù)器/捕獲通道,每個(gè)都有一個(gè)16位比較值。每個(gè)計(jì)數(shù)器/捕獲通道可以用作一個(gè)PWM輸出或捕獲輸入信號(hào)邊沿的時(shí)序。它還可以配置在IR產(chǎn)生模式,計(jì)算定時(shí)器3周期,輸出是ANDed,定時(shí)器3的輸出是用最小的CPU互動(dòng)產(chǎn)生調(diào)制的消費(fèi)型IR信號(hào)。MAC定時(shí)器(定時(shí)器2)是專(zhuān)門(mén)為支持IEEE802.15.4MAC或軟件中其他時(shí)槽的協(xié)議設(shè)計(jì)。定時(shí)器有一個(gè)可配置的定時(shí)器周期和一個(gè)8位溢出計(jì)數(shù)器,可以用于保持跟蹤已經(jīng)經(jīng)過(guò)的周期數(shù)。一個(gè)16位捕獲寄存器也用于記錄收到/發(fā)送一個(gè)幀開(kāi)始界定符的精確時(shí)間,或傳輸結(jié)束的精確時(shí)間,還有一個(gè)16位輸出比較寄存器可以在具體時(shí)間產(chǎn)生不同的選通命令(開(kāi)始RX,開(kāi)始TX,等等)到無(wú)線(xiàn)模塊。定時(shí)器3和定時(shí)器4是8位定時(shí)器,具有定時(shí)器/計(jì)數(shù)器/PWM功能。它們有一個(gè)可編程的分頻器,一個(gè)8位的周期值,一個(gè)可編程的計(jì)數(shù)器通道,具有一個(gè)8位的比較值。每個(gè)計(jì)數(shù)器通道可以用作一個(gè)PWM輸出。睡眠定時(shí)器是一個(gè)超低功耗的定時(shí)器,計(jì)算32-kHz晶振或32-kHzRC振蕩器的周期。睡眠定時(shí)器在除了供電模式3的所有工作模式下不斷運(yùn)行。這一定時(shí)器的典型應(yīng)用是作為實(shí)時(shí)計(jì)數(shù)器,或作為一個(gè)喚醒定時(shí)器跳出供電模式1或2。ADC支持7到12位的分辨率,分別在30kHz或4kHz的帶寬。DC和音頻轉(zhuǎn)換可以使用高達(dá)八個(gè)輸入通道(端口0)。輸入可以選擇作為單端或差分。參考電壓可以是內(nèi)部電壓、AVDD或是一個(gè)單端或差分外部信號(hào)。ADC還有一個(gè)溫度傳感輸入通道。ADC可以自動(dòng)執(zhí)行定期抽樣或轉(zhuǎn)換通道序列的程序。隨機(jī)數(shù)發(fā)生器使用一個(gè)16位來(lái)LFSR產(chǎn)生偽隨機(jī)數(shù),這可以被CPU讀取或由選通命令處理器直接使用。例如隨機(jī)數(shù)可以用作產(chǎn)生隨機(jī)密鑰,用于安全。AES加密/解密內(nèi)核允許用戶(hù)使用帶有128位密鑰的AES算法加密和解密數(shù)據(jù)。這一內(nèi)核能夠支持IEEE802.15.4MAC安全、ZigBee網(wǎng)絡(luò)層和應(yīng)用層要求的AES操作。 一個(gè)內(nèi)置的看門(mén)狗允許CC2530在固件掛起的情況下復(fù)位自身。當(dāng)看門(mén)狗定時(shí)器由軟件使能,它必須定期清除;否則,當(dāng)它超時(shí)就復(fù)位它就復(fù)位設(shè)備?;蛘咚梢耘渲糜米饕粋€(gè)通用32-kHz定時(shí)器。USART0和USART1每個(gè)被配置為一個(gè)SPI主/從或一個(gè)UART。它們?yōu)镽X和TX提供了雙緩沖,以及硬件流控制,因此非常適合于高吞吐量的全雙工應(yīng)用。每個(gè)都有自己的高精度波特率發(fā)生器,因此可以使普通定時(shí)器空閑出來(lái)用作其他用途。3.2.3無(wú)線(xiàn)設(shè)備具有一個(gè)兼容無(wú)線(xiàn)收發(fā)器。內(nèi)核控制模擬無(wú)線(xiàn)模塊。另外,它提供了和無(wú)線(xiàn)設(shè)備之間的一個(gè)接口,這使得可以發(fā)出命令,讀取狀態(tài),自動(dòng)操作和確定無(wú)線(xiàn)設(shè)備事件的順序。無(wú)線(xiàn)設(shè)備還包括一個(gè)數(shù)據(jù)包過(guò)濾和地址識(shí)別模塊。

4串口通訊程序的編寫(xiě)4.1編程環(huán)境在windowsXP編程環(huán)境下,在QtCreator中進(jìn)行。如果在Linux下或直接用源碼編寫(xiě),程序稍有不同,需要改動(dòng)。在Qt中并沒(méi)有特定的串口控制類(lèi),大部分人使用的是第三方的qextserialport類(lèi)??梢栽谝幌戮W(wǎng)站下載。下載文件為qextserialport-1.2win-alpha.zip。/projects/qextserialport/files/在windows下只需要使用其中的6個(gè)文件:qextserialbase.cpp和qextserialbase.h,qextserialport.cpp和qextserialport.h,win_qextserialport.cpp和win_qextserialport.h。4.2串口操作流程4.2.1設(shè)置串口參數(shù)在win_qextserialport.cpp文件中,在最后一個(gè)構(gòu)造函數(shù)里,我們可以進(jìn)行串口的初始化。如:波特率,數(shù)據(jù)位,奇偶校驗(yàn),停止位,數(shù)據(jù)流控制等。Win_QextSerialPort::Win_QextSerialPort(constQString&name,constPortSettings&settings,QextSerialBase::QueryModemode){Win_Handle=INVALID_HANDLE_VALUE;setPortName(name);setBaudRate(settings.BaudRate);setDataBits(settings.DataBits);setStopBits(settings.StopBits);setParity(settings.Parity);setFlowControl(settings.FlowControl);setTimeout(settings.Timeout_Millisec);setQueryMode(mode); init();}它共有三個(gè)參數(shù)。第一個(gè)參數(shù)constQString&name,是串口的名字,QString類(lèi)型,我們可以用串口1即“com1”。第二個(gè)參數(shù)constPortSettings&settings,經(jīng)過(guò)查找可以看出PortSettings是一個(gè)結(jié)構(gòu)體,是多個(gè)枚舉變量,它定義了串口初始化的各個(gè)參數(shù),這個(gè)結(jié)構(gòu)體可以實(shí)現(xiàn)串口參數(shù)的設(shè)置。第三個(gè)參數(shù)QextSerialBase::QueryModemode,它也是枚舉變量,可以完成串口的選擇和串口的初始化。4.2.2選擇串口如windows下的串口1為“com1”,Linux下為“ttyS0”等,并打開(kāi)串口。4.2.3讀或?qū)懘诓榭磜in_qextserialport.h文件,我們會(huì)發(fā)現(xiàn)Win_QextSerialPort類(lèi)繼承自QextSerialBase類(lèi)。查看qextserialbase.h文件,我們會(huì)發(fā)現(xiàn)QextSerialBase類(lèi)繼承自QIODevice類(lèi)。在QIODevice類(lèi)中,有enumOpenModeFlag{NotOpen,ReadOnly,WriteOnly,ReadWrite,...,Unbuffered},virtualboolopen(OpenModemode)等內(nèi)容。所以,用這個(gè)類(lèi)里面的函數(shù)進(jìn)行串口操作。程序如下:myCom->open(QIODevice::ReadWrite);connect(myCom,SIGNAL(readyRead()),this,SLOT(readMyCom()));voidMainWindow::readMyCom()//自己寫(xiě)的讀串口函數(shù){QByteArraytemp=myCom->readAll();ui->textBrowser->insertPlainText(temp);}我們調(diào)用了其中的open函數(shù),用ReadWrite可讀寫(xiě)的方式進(jìn)行打開(kāi)串口,這個(gè)open函數(shù)在win_qextserialport.cpp中被重定義了。接下來(lái)關(guān)聯(lián)信號(hào)readyRead(),和自己寫(xiě)的槽函數(shù)readMyCom(),當(dāng)串口有數(shù)據(jù)傳來(lái)時(shí)進(jìn)行讀串口操作。我們調(diào)用readAll()函數(shù),讀取串口中所有數(shù)據(jù),在上面可以看到其返回值是QByteArray類(lèi)型。調(diào)用insertPlainText()函數(shù),是窗口上的文本瀏覽器中連續(xù)輸出數(shù)據(jù),而不是每次寫(xiě)數(shù)據(jù)前都清除以前的數(shù)據(jù)。4.2.4關(guān)閉串口myCom->close();關(guān)閉串口,該函數(shù)在win_qextserialport.cpp文件中定義。4.3串口參數(shù)的設(shè)置參數(shù)PortSettings的機(jī)構(gòu)體如下:structPortSettings{BaudRateTypeBaudRate;//波特率設(shè)置,設(shè)置為9600,即程序中用BAUD9600;DataBitsTypeDataBits;//數(shù)據(jù)位設(shè)置,我們?cè)O(shè)置為8位數(shù)據(jù)位,即DATA_8;ParityTypeParity;//奇偶校驗(yàn)設(shè)置,我們?cè)O(shè)置為無(wú)校驗(yàn),即PAR_NONE;StopBitsTypeStopBits;//停止位設(shè)置,我們?cè)O(shè)置為1位停止位,即STOP_1;FlowTypeFlowControl;//數(shù)據(jù)流控制設(shè)置,設(shè)置為無(wú)數(shù)據(jù)流控制,即FLOW_OFF;longTimeout_Millisec;//延時(shí)設(shè)置,我們?cè)O(shè)置為延時(shí)500ms,即500;};structPortSettingsmyComSetting={BAUD9600,DATA_8,PAR_NONE,STOP_1,FLOW_OFF,500};定義了一個(gè)結(jié)構(gòu)體變量myComSetting,并對(duì)其進(jìn)行了初始化。4.4串口通訊程序打開(kāi)QtCreator,新建Qt4GuiApplication,工程名設(shè)置為mycom。將上面所說(shuō)的6個(gè)文件復(fù)制到工程文件夾下,在QtCreator中左側(cè)的文件列表上,鼠標(biāo)右擊工程文件夾,在彈出的菜單中選擇AddExistingFiles,選擇工程文件夾里的那6個(gè)文件,進(jìn)行添加。點(diǎn)擊mainwindow.ui,在窗口上加入一個(gè)TextBrowser,用來(lái)顯示信息。在mainwindow.h的相應(yīng)位置添加頭文件#include"win_qextserialport.h",添加對(duì)象聲明Win_QextSerialPort*myCom;添加槽函數(shù)聲明voidreadMyCom()。在mainwindow.cpp的類(lèi)的構(gòu)造函數(shù)中添加如下語(yǔ)句:MainWindow::MainWindow(QWidget*parent):QMainWindow(parent),ui(newUi::MainWindow){ui->setupUi(this);structPortSettingsmyComSetting={BAUD9600,DATA_8,PAR_NONE,STOP_1,FLOW_OFF,500};myCom=newWin_QextSerialPort("com1",myComSetting,QextSerialBase::EventDriven);myCom->open(QIODevice::ReadWrite);connect(myCom,SIGNAL(readyRead()),this,SLOT(readMyCom()));}在下面添加readMyCom()函數(shù)的定義,代碼如下:voidMainWindow::readMyCom(){QByteArraytemp=myCom->readAll();ui->textBrowser->insertPlainText(temp);}簡(jiǎn)單的串口通信程序就完成了,下面繼續(xù)對(duì)程序進(jìn)行進(jìn)一步的完善。點(diǎn)擊mainwindow.ui,加入了“打開(kāi)串口”,“關(guān)閉串口”“傳送數(shù)據(jù)”三個(gè)按鈕,加入了一個(gè)行編輯框LineEdit。它們的命名如下:“打開(kāi)串口”按鈕命名為:openMyComBtn“關(guān)閉串口”按鈕命名為:closeMyComBtn“傳送數(shù)據(jù)”按鈕命名為:sendMsgBtn要傳送數(shù)據(jù)的行編輯框命名為:sendMsgLineEdit在“打開(kāi)串口”按鈕上右擊,選擇Gotoslot選項(xiàng),然后選擇clicked()選項(xiàng),進(jìn)入它的單擊事件槽函數(shù)中,將上面在構(gòu)造函數(shù)里寫(xiě)的語(yǔ)句全部剪切到這里。然后加入幾句按鈕的狀態(tài)設(shè)置語(yǔ)句。voidMainWindow::on_openMyComBtn_clicked(){structPortSettingsmyComSetting= {BAUD9600,DATA_8,PAR_NONE,STOP_1,FLOW_OFF,500};myCom=newWin_QextSerialPort("com1",myComSetting,QextSerialBase::EventDriven);myCom->open(QIODevice::ReadWrite);connect(myCom,SIGNAL(readyRead()),this,SLOT(readMyCom()));ui->openMyComBtn->setEnabled(false);//打開(kāi)串口后“打開(kāi)串口”按鈕不可用ui->closeMyComBtn->setEnabled(true);//打開(kāi)串口后“關(guān)閉串口”按鈕可用ui->sendMsgBtn->setEnabled(true);//打開(kāi)串口后“發(fā)送數(shù)據(jù)”按鈕可用}在構(gòu)造函數(shù)里也添加幾句按鈕初始狀態(tài)設(shè)置語(yǔ)句,如下:MainWindow::MainWindow(QWidget*parent):QMainWindow(parent),ui(newUi::MainWindow){ui->setupUi(this);ui->closeMyComBtn->setEnabled(false);//開(kāi)始“關(guān)閉串口”按鈕不可用ui->sendMsgBtn->setEnabled(false);//開(kāi)始“發(fā)送數(shù)據(jù)”按鈕不可用按上面的方法進(jìn)入“關(guān)閉串口”按鈕和“發(fā)送數(shù)據(jù)”按鈕的單擊事件的槽函數(shù),代碼如下:voidMainWindow::on_closeMyComBtn_clicked()//關(guān)閉串口槽函數(shù){myCom->close();//關(guān)閉串口,該函數(shù)在win_qextserialport.cpp文件中定義ui->openMyComBtn->setEnabled(true);//關(guān)閉串口后“打開(kāi)串口”按鈕可用ui->closeMyComBtn->setEnabled(false);//關(guān)閉串口后“關(guān)閉串口”按鈕不可用ui->sendMsgBtn->setEnabled(false);//關(guān)閉串口后“發(fā)送數(shù)據(jù)”按鈕不可用}voidMainWindow::on_sendMsgBtn_clicked()//發(fā)送數(shù)據(jù)槽函數(shù){myCom->write(ui->sendMsgLineEdit->text().toAscii());//以ASCII碼形式將行編輯框中的數(shù)據(jù)寫(xiě)入串口}這樣,串口通訊程序就完成了。5ZigBee模塊的電路5.1ZigBee第一次使用(組網(wǎng))流程模塊出廠時(shí)的默認(rèn)設(shè)置:節(jié)點(diǎn)類(lèi)型全部為Router(從節(jié)點(diǎn)),PINID=0x199B,頻道=22(2460MHz)。只保持當(dāng)前模塊上電,其他模塊斷電。設(shè)置如下:1.將某一模塊設(shè)置成Coordinator,波特率:3400,PADID:1234,頻道:20。將其他剩余模塊設(shè)置成Router,波特率:38400,PADID:1234,頻道:20。如圖5-1所示.圖5-1ZigBee模塊設(shè)置設(shè)置Router的PANID后,如果該Router還沒(méi)有加入網(wǎng)絡(luò),則PANID,短地址讀取的數(shù)據(jù)為FFFE。設(shè)置完成后,使Coordinator先上電,其他Router模塊依次上電,全部模塊可自動(dòng)組網(wǎng)。當(dāng)Coordinator:1長(zhǎng)亮,1閃爍;Router:2閃爍到2長(zhǎng)亮(或1長(zhǎng)亮,1閃爍),表示已經(jīng)加入網(wǎng)絡(luò)。本設(shè)計(jì)中主節(jié)點(diǎn)與pc機(jī)相連,作為信號(hào)的發(fā)送者。從節(jié)點(diǎn)與小車(chē)相連,作為信號(hào)的接受者。2個(gè)節(jié)點(diǎn)的相連起到一個(gè)串口的作用。5.2ZigBee接收器電路ZigBee接收器電路如圖5-2所示。其中,SW1以及LED燈都不是必須的,如果要加LED燈,必須要串聯(lián)1K歐電阻。RESET_N不是必須的,最好控制,低電平復(fù)位,高電平正常運(yùn)行。電源需要一個(gè)10U電容。如果MCU是5V,要加電平轉(zhuǎn)換,否則會(huì)燒壞模塊。ZigBee模塊應(yīng)用最小系統(tǒng)如圖5-3所示。ZigBee模塊各串口如圖5-4所示。圖5-2ZigBee電路圖圖5-3ZigBee模塊應(yīng)用最小系統(tǒng)圖5-4ZigBee串口圖62.4G點(diǎn)對(duì)點(diǎn)通訊模塊(無(wú)線(xiàn)串口)6.1概述及功能特點(diǎn)2.4G無(wú)線(xiàn)技術(shù),其頻段處于2.405GHz-2.485GHz(科學(xué)、醫(yī)藥、農(nóng)業(yè))之間。所以簡(jiǎn)稱(chēng)為2.4G無(wú)線(xiàn)技術(shù)。2.4GHz是工作在ISM頻段的一個(gè)頻段。ISM頻段是工業(yè)、科學(xué)和醫(yī)用頻段。一般來(lái)說(shuō)世界各國(guó)均保留了一些無(wú)線(xiàn)頻段,以用于工業(yè),科學(xué)研究,和微波醫(yī)療方面的應(yīng)用。應(yīng)用這些頻段無(wú)需許可證,只需要遵守一定的發(fā)射功率(一般低于1W),并且不要對(duì)其它頻段造成干擾即可。2.4GHz傳輸速率可媲美藍(lán)牙,功耗卻大大降低,采用完全開(kāi)放式的網(wǎng)絡(luò)協(xié)議2.4G點(diǎn)對(duì)通訊模塊使用簡(jiǎn)化的Zigbee協(xié)議,不需要組網(wǎng),沒(méi)有主從模塊之分,可以點(diǎn)對(duì)點(diǎn),一對(duì)多,多對(duì)一。適合于簡(jiǎn)單通訊使用。6.2基本概念多個(gè)點(diǎn)之間構(gòu)成一個(gè)對(duì)等通訊網(wǎng)絡(luò);(1)任何一個(gè)點(diǎn)可以廣播發(fā)送到所有點(diǎn);(2)任何兩點(diǎn)之間可以點(diǎn)對(duì)點(diǎn)傳輸;每個(gè)模塊有5個(gè)參數(shù),如表4-1所示。表4-1模塊參數(shù)配置參數(shù)說(shuō)明范圍PANID互相通訊的模塊必須具有相同的PANID0x0001-0xFF00無(wú)線(xiàn)電頻道互相通訊的模塊必須具有相同的的無(wú)線(xiàn)電頻道,不同的頻道區(qū)分不同的網(wǎng)絡(luò)Channel11-26自身地址0x0001-0xFF00目標(biāo)地址如果為0xFFFF,則廣播發(fā)送至所有模塊0x0001-0x0001-0xFF00串口波特率與模塊連接設(shè)備的波特率9600,19200,38400,57600,1152006.3使用說(shuō)明模塊第一次使用時(shí),必須配置參數(shù),使用指令1,該指令修改參數(shù)后,會(huì)寫(xiě)入模塊FLASH,掉電不丟失,重啟后生效;模塊使用過(guò)程中,可隨時(shí)修改的目標(biāo)地址指令2,

溫馨提示

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

評(píng)論

0/150

提交評(píng)論