版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、無(wú)線控制演示系統(tǒng)畢業(yè)論文目錄第1章緒論11.1選題的背景和意義11.1.1選題的背景11.1.2國(guó)內(nèi)外研究現(xiàn)狀和發(fā)展趨勢(shì)21.2研究?jī)?nèi)容和研究方法2121設(shè)計(jì)要求21.2.2設(shè)計(jì)方法及思路3第2章系統(tǒng)的總體結(jié)構(gòu)研究42.1方案可行性分析42.1.1芯片制定方案42.1.2系統(tǒng)總體結(jié)構(gòu)4第3章系統(tǒng)關(guān)鍵技術(shù)63.1 simplici ti63.1.1 simpliciti 簡(jiǎn)介63.1.2設(shè)備類型73.1.3網(wǎng)絡(luò)結(jié)構(gòu)73.2 simpliciti的工作模式93.3 simpliciti的數(shù)據(jù)結(jié)構(gòu)93.3.1 mcu相關(guān)的數(shù)據(jù)結(jié)構(gòu)93.3.2 simpliciti數(shù)據(jù)幀相關(guān)的數(shù)據(jù)結(jié)構(gòu)93.3.3 s
2、impliciti接收數(shù)據(jù)處理機(jī)制103.3.4 simpliciti的缺點(diǎn)113.4體系結(jié)構(gòu)概述113.4.1協(xié)議層113.4.2 nwk應(yīng)用程序123.4.3對(duì)等層特性123.4.4信息確認(rèn)133.5協(xié)議概覽133.5.1 拓?fù)?33.5.2終端設(shè)備133.5.3 ap 點(diǎn)143.5.4范圍擴(kuò)展器143.5.5地址空間143.6網(wǎng)絡(luò)準(zhǔn)則153.6.1 鏈接153.6.2 joining153.6.3休眠的終端設(shè)備和輪詢?cè)O(shè)備163.6.4接收/輸出163.6.5輸出/發(fā)送173.7 simpliciti 的缺點(diǎn)17第4章系統(tǒng)的開發(fā)環(huán)境和程序流程184開發(fā)環(huán)境184.1.1 iar 簡(jiǎn)介184
3、.2 iar 編程184.2.1新建iar工程184.2.2 iar 項(xiàng) 0204.2.3 iar下載程序214.3應(yīng)用程序流程224.3.1 ap程序流程224.3.2 ed程序流程23第5章電路制作和模塊圖255電路板的制作255.2無(wú)線控制系統(tǒng)模塊26結(jié)論錯(cuò)誤!未定義書簽。附錄29附錄a電路原理圖29附錄b實(shí)物版圖30附錄c軟件程序31致謝45圖目錄圖2.1主要架構(gòu)5圖3.1星型網(wǎng)絡(luò)8圖3.2煙霧報(bào)警器8圖4iar工程截圖一19圖4.2 iar工程截圖二19圖4.3 iar工程截圖三19圖4.4 iart程截圖四20圖4.5iar項(xiàng)目截圖一20圖4.6 iar項(xiàng)目截圖二21圖4.7 ia
4、r下載程序截圖一21圖4.8 iar下載程序截圖二22圖4.9ap程序流程圖23圖4.10 ed程序流程圖24圖5.1電路設(shè)計(jì)的原理圖25圖5.2 ed和ap的實(shí)物圖26表目錄表3smplstatus_t各項(xiàng)意義10第1章緒論1.1選題的背景和意義1.1.1選題的背景近年以來(lái),通信技術(shù)快速發(fā)展,短距離無(wú)線通信技術(shù)已經(jīng)成為通信技術(shù)中的 一大熱點(diǎn)。各種網(wǎng)絡(luò)終端的岀現(xiàn)、工業(yè)控制的自動(dòng)化和家庭的智能化等迫切需要 一種具備低成本、低距離、低功耗和組網(wǎng)能力強(qiáng)等優(yōu)點(diǎn)的無(wú)線互連標(biāo)準(zhǔn)。其中隨著各種便攜式個(gè)人通信設(shè)備與家用電器設(shè)備的增加,人們享受蜂窩移 動(dòng)通信系統(tǒng)帶來(lái)的便利的同時(shí),對(duì)短距離的無(wú)線與移動(dòng)通信乂提岀了
5、新的需求, 使得短距離無(wú)線通信異軍突起,包括無(wú)線局域網(wǎng)(wlan)、藍(lán)牙(blue. tooth)技術(shù)、 無(wú)線保真(wifi)、超寬帶(uwb)以及zigbee技術(shù)等各種熱點(diǎn)技術(shù)相繼出現(xiàn),均展現(xiàn) 出各自巨大的應(yīng)用潛力1。日前,德州儀器(ti)宣布推岀在國(guó)際電子展上首次演示的全新cc430技術(shù)平 臺(tái),該平臺(tái)不僅有助于推動(dòng)無(wú)線網(wǎng)絡(luò)技術(shù)在消費(fèi)類電子產(chǎn)品市場(chǎng)及工業(yè)市場(chǎng)的犬 規(guī)模應(yīng)用,還可為基于微處理器(mcu)的應(yīng)用提供業(yè)界最低功耗的單芯片射頻(rf) 解決方案。cc430平臺(tái)既可降低系統(tǒng)復(fù)雜性、將封裝與印刷電路板尺寸縮小50%, 又可簡(jiǎn)化rf設(shè)計(jì),從而將包括rf網(wǎng)絡(luò)、能量采集、工業(yè)監(jiān)控與篡改檢測(cè)、個(gè)
6、人 無(wú)線網(wǎng)絡(luò)以及自動(dòng)抄表基礎(chǔ)設(shè)施(ami)等在內(nèi)的應(yīng)用推向前所未有的水平。而隨著我國(guó)經(jīng)濟(jì)水平的快速發(fā)展,人們的生活水平不斷提高,擁有的貴重物 品也口益增多,經(jīng)常會(huì)出現(xiàn)貴重物品的遺忘、遺失或被盜竊現(xiàn)彖等,從而給人們 帶來(lái)較大的經(jīng)濟(jì)損失和一些不必要的麻煩,在某些情況下還會(huì)造成嚴(yán)重的后果。 人們希里能夠擁有一種便攜式的防盜設(shè)備,從而對(duì)貴重物品進(jìn)行有效的管理2。1.1.2國(guó)內(nèi)外研究現(xiàn)狀和發(fā)展趨勢(shì)已經(jīng)問(wèn)世的不同原理的電子防盜系統(tǒng)包括聲磁防盜系統(tǒng)、無(wú)線電/射頻系統(tǒng)、 電磁波系統(tǒng)、微波系統(tǒng)、分頻系統(tǒng)、智慧型系統(tǒng)。音叉只有在振蕩頻率相同情況下才引起共振。聲磁系統(tǒng)(acousto magnetic)正 是應(yīng)用了
7、這種物理原理,實(shí)現(xiàn)幾乎零誤報(bào)的操作。無(wú)線電射頻系統(tǒng)(radio frequency,rf)問(wèn)世已有30多年歷史,是較早應(yīng)用的電子防盜系統(tǒng)乙一。它采用 無(wú)線電射頻作為系統(tǒng)發(fā)射接收檢測(cè)信號(hào),檢測(cè)頻率范圍一般為7.x8.x兆赫茲。它 有多種品牌的產(chǎn)品可供選擇,成本低廉。電磁波系統(tǒng)(electromagnetic system)采用 電磁波作為檢測(cè)信號(hào)。微波系統(tǒng)(microwavesystem)采用微波作為檢測(cè)信號(hào),不易 受周圍環(huán)境的干擾,它能夠靈活地隱蔽式安裝(如隱藏于地毯下或吊置于天花板), 具有適合店內(nèi)裝飾及美觀的優(yōu)點(diǎn)。分頻系統(tǒng)(split frequency)是采用高科技分頻技 術(shù)和超低頻無(wú)線
8、電信號(hào)的防盜系統(tǒng)。智慧型系統(tǒng)應(yīng)用獨(dú)有的技術(shù),是一個(gè)內(nèi)部由 集成電路控制、電池驅(qū)動(dòng)、集硬標(biāo)簽與報(bào)警器組為一體的系統(tǒng)3。目前,國(guó)內(nèi)市場(chǎng)上有電子防盜產(chǎn)品,如無(wú)線錢包等。無(wú)線錢包采用了光控電 子技術(shù),把物品隨無(wú)線錢包一同放入口袋,通過(guò)光感原理,當(dāng)防盜錢包掉落或被 盜,設(shè)備發(fā)出報(bào)警信號(hào)。這類設(shè)備一般工作在一對(duì)一的模式下,一般不具備一對(duì) 多的功能,功耗也較大。隨著技術(shù)的不斷更新,國(guó)內(nèi)外也開始采用實(shí)用新的無(wú)線技術(shù)搭設(shè)無(wú)線防盜設(shè) 備,如博物館文物防盜設(shè)備。當(dāng)然這些防盜設(shè)備具有一對(duì)多或多對(duì)多的控制功能。 但這類設(shè)備一般運(yùn)用在高檔場(chǎng)合,價(jià)格較高不適合普通人的實(shí)用,而且一般不考 慮功耗的問(wèn)題4。1.2研究?jī)?nèi)容和研究
9、方法1.2.1設(shè)計(jì)要求本項(xiàng)目開發(fā)的電子防盜器可分為兩個(gè)模塊:無(wú)線接收器(access point, ap) 和無(wú)線防盜卡(end device, ed)。ap是信號(hào)接收和ed管理的中心,用戶可以掛件的形式或者手腕等裝飾品形 式隨身攜帶。在ap上集成了無(wú)線收發(fā)裝置、led和喇叭,當(dāng)ap接通電源時(shí),led 會(huì)閃爍從而標(biāo)示ed設(shè)備的連接情況。當(dāng)ed設(shè)備離開ap 定距離后,ap將通 過(guò)喇叭進(jìn)行報(bào)警。當(dāng)ap電池電量變?nèi)鯐r(shí),相應(yīng)的led將亮起,當(dāng)ed設(shè)備的電 量不足時(shí),對(duì)應(yīng)的led將點(diǎn)亮。1.2.2設(shè)計(jì)方法及思路本防盜器運(yùn)用了 ti公司提供的simpliciti協(xié)議,具備一對(duì)多的通信功能,即 以一個(gè)ap為
10、中心,與多個(gè)接收器ed同時(shí)工作,從而形成多物品同時(shí)監(jiān)控的功能。 通過(guò)這個(gè)功能,用戶只要攜帶一個(gè)中央處理器,就可同時(shí)管理多達(dá)255個(gè)貴重物 品。任何一個(gè)ed失效,均不會(huì)影響整個(gè)網(wǎng)絡(luò)的工作,相應(yīng)的設(shè)備會(huì)給出報(bào)警或顯 zj o此外,本防盜器采用cc430低功耗特性,ed設(shè)備以心跳方式工作在低功耗模 式,每次心跳的周期大約在2s3s,心跳工作時(shí)間在納秒級(jí)別,工作時(shí)的電流約為 幾毫安,因此具備單電池長(zhǎng)期工作的能力。同時(shí),本防盜器還采用了 cc430低電 壓檢測(cè)功能,當(dāng)電池電量過(guò)低時(shí)能夠及時(shí)給出報(bào)警,提醒用戶替換電池。第2章系統(tǒng)的總體結(jié)構(gòu)研究2.1方案可行性分析2.1.1芯片制定方案方案一:運(yùn)用ti公司的
11、芯片cc2430或者cc2431芯片能夠提高性能并滿足以zigbee為基礎(chǔ)的2.4ghz ism波段應(yīng)用,及對(duì)低 成本,低功耗的要求。它結(jié)合一個(gè)高性能2.4ghz dsss(直接序列擴(kuò)頻)射頻收發(fā)器 核心和一顆工業(yè)級(jí)小巧高效的8051控制器。cc2430的設(shè)計(jì)結(jié)合了 8kbyte的ram 及強(qiáng)大的外圍模塊,并且有3種不同的版本,他們是根據(jù)不同的閃存空間32, 64 和128kbyte來(lái)優(yōu)化復(fù)雜度與成本的組合。但是在運(yùn)用芯片cc系列的芯片必須詳 細(xì)了解芯片中的底層協(xié)議,這對(duì)于初涉此類設(shè)計(jì)的本科畢業(yè)生增加了很大的難度 。方案二:運(yùn)用cel公司的芯片zic2410芯片zic2410內(nèi)已經(jīng)封裝了協(xié)議s
12、nap,只要在語(yǔ)言python的調(diào)用下能快速 簡(jiǎn)單的進(jìn)行調(diào)試和實(shí)驗(yàn)。python是一種面向?qū)ο蟆⒚ぷg式計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言, 也是一種功能強(qiáng)大而完善的通用型語(yǔ)言,己經(jīng)具有十多年的發(fā)展歷史,成熟且穩(wěn) 定。這種語(yǔ)言具有非常簡(jiǎn)捷而清晰的語(yǔ)法特點(diǎn),適合完成各種高層任務(wù),幾乎可 以在所有的操作系統(tǒng)中運(yùn)行6。綜上所述,方案二更適合本人進(jìn)行操作和實(shí)驗(yàn)。2.1.2系統(tǒng)總體結(jié)構(gòu)在本格項(xiàng)目中包含了三種類型的設(shè)備,它們是:access point-相當(dāng)于一個(gè)hub,負(fù)責(zé)網(wǎng)絡(luò)的建立和數(shù)據(jù)轉(zhuǎn)發(fā)等;range extender-中繼器,負(fù)責(zé)數(shù)據(jù)轉(zhuǎn)發(fā)以提高通信距離;end device-終端設(shè)備,負(fù)責(zé)數(shù)據(jù)接收和發(fā)送,和傳感器
13、綁向access point提供 采集數(shù)據(jù)。如圖2顯示了這三個(gè)設(shè)備之間的關(guān)系和整個(gè)項(xiàng)目的主要結(jié)構(gòu)。ap:信號(hào)接收;ed:管理的屮心,屮繼器,便是無(wú)線主控器負(fù)責(zé)數(shù)據(jù)轉(zhuǎn)發(fā)以 提高通信距離。無(wú)線主控器ap圖2.1主要架構(gòu)第3章系統(tǒng)關(guān)鍵技術(shù)3.1 simplici tisimpliciti是ti開發(fā)的一份專門針對(duì)其ccxxxx系列無(wú)線通信芯片的網(wǎng)絡(luò)協(xié) 議。按照其官方說(shuō)法simpliciti是一個(gè)基于連接的點(diǎn)對(duì)點(diǎn)通訊協(xié)議。simpliciti是-種基于點(diǎn)對(duì)點(diǎn)通信的協(xié)議。它有兩個(gè)基本拓?fù)洌簢?yán)格的映射; 另一種是一對(duì)多的星型拓?fù)洹p主要用于網(wǎng)絡(luò)管理。它支持的特性和功能,如存 儲(chǔ)和轉(zhuǎn)發(fā)給睡眠終端的數(shù)據(jù),管理
14、網(wǎng)絡(luò)設(shè)備的成員權(quán)限、連接權(quán)限等。ap也有中 斷設(shè)備的功能,譬如,它可以自己在網(wǎng)絡(luò)屮實(shí)例化傳感器或激勵(lì)。在星型拓?fù)溴? ap作為網(wǎng)絡(luò)中的集成器。該協(xié)議能實(shí)現(xiàn)少量的api調(diào)用。這些api支持客戶應(yīng)用點(diǎn)對(duì)點(diǎn)的信息傳遞。 兩個(gè)應(yīng)用z間的關(guān)聯(lián)叫做連接(linking)o連接進(jìn)程是通過(guò)基于可以相互發(fā)送信息 的應(yīng)用鏈接起來(lái)的。當(dāng)一個(gè)鏈接建立的時(shí)候,它是雙向的|7。3.1.1 simpliciti 簡(jiǎn)介simpliciti支持兩種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu):肓接的點(diǎn)對(duì)點(diǎn)通信結(jié)構(gòu)和基于星型連接的 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。在星型連接中hub點(diǎn)在simpliciti中被稱為access point,簡(jiǎn)寫為 apo ap負(fù)責(zé)網(wǎng)絡(luò)的構(gòu)建和維護(hù)
15、,它具備存儲(chǔ)轉(zhuǎn)發(fā)機(jī)制,因此可以對(duì)長(zhǎng)期工作在休 眠模式的低功耗設(shè)備提供較好的支持。同時(shí)simpliciti還支持泛洪方式進(jìn)行廣播數(shù) 據(jù)傳輸,這種數(shù)據(jù)通訊方式在各種報(bào)警器網(wǎng)絡(luò)中使用尤為廣泛,同時(shí)也顯得菲常 必要。simpliciti將其網(wǎng)絡(luò)功能封裝為幾個(gè)api函數(shù)型式,應(yīng)用程序可以通過(guò)直接調(diào) 用其api函數(shù)實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的通信。simpliciti對(duì)硬件資源要求非常低,除了程序空 間所需要的flash和運(yùn)行時(shí)隨機(jī)變量所占用的ram外,simpliciti不需耍任何其他 資源,它其至不需要定時(shí)器,內(nèi)部需要的定吋器都是用軟件模擬實(shí)現(xiàn)了。它在運(yùn)行 過(guò)程中不會(huì)進(jìn)行動(dòng)態(tài)內(nèi)存分配因此根木不會(huì)占用程序的堆空間。如果
16、mcu資源富 裕我們可以配給simpliciti 一個(gè)定時(shí)器以提供更好的服務(wù)??傮w來(lái)講simpliciti的 特色是:低功耗通訊支持,存儲(chǔ)轉(zhuǎn)發(fā)機(jī)制,支持休眠設(shè)備;低成本,最大使用8k byte flash以及l(fā)k byte ra;網(wǎng)絡(luò)結(jié)構(gòu)靈活,支持p2p的連接方式和星型網(wǎng)絡(luò);使用方便,協(xié)議僅僅通過(guò)8個(gè)api借口和應(yīng)用程序進(jìn)行交互。3.1.2設(shè)備類型simpliciti協(xié)議中規(guī)定了三種類型的設(shè)備,它們是:access point-相當(dāng)于一個(gè)hub,負(fù)責(zé)網(wǎng)絡(luò)的建立和數(shù)據(jù)轉(zhuǎn)發(fā)等;range extender-中繼器,負(fù)責(zé)數(shù)據(jù)轉(zhuǎn)發(fā)以提高通信距離;end device-終端設(shè)備,負(fù)責(zé)數(shù)據(jù)接收和發(fā)送,和傳
17、感器綁向access point提供 采集數(shù)據(jù)。3.1.3網(wǎng)絡(luò)結(jié)構(gòu)simpliciti支持多種網(wǎng)絡(luò)拓?fù)?,圖3是其典型的無(wú)線傳感器網(wǎng)絡(luò)中使用的星 型網(wǎng)絡(luò)拓?fù)涫疽鈭D。圖3.2是煙霧報(bào)警器網(wǎng)絡(luò)應(yīng)用的一種情況,在這種情況下當(dāng)一 個(gè)設(shè)備感知發(fā)生煙霧警報(bào),為了保證信息能夠可靠的傳輸就采用泛洪的方式發(fā)送, 這樣的數(shù)據(jù)傳輸不是面向連接的9。co sensorglassbreaksmokesensoralarm flooded alarm messageoptional access pointsensor / extenderalarm triggered deviceexamples message flo
18、ws圖3星型網(wǎng)絡(luò) access pointexamples message flows peer2peer message range extenderend devicemessage to access pointmessage repeated through range extenders.zsmokealarmrepeater jdoor locksensorglassbreaksensorco sensorrepeatergatewayoccupancysensor圖3.2煙霧報(bào)警器3.2 simpliciti的工作模式終端設(shè)備上電以后,首先完成系統(tǒng)初始化并向底層注冊(cè)數(shù)據(jù)接收處理函
19、數(shù), 然后啟動(dòng)一次加入中心節(jié)點(diǎn)的請(qǐng)求,該請(qǐng)求由廣播方式發(fā)出,當(dāng)?shù)玫街行墓?jié)點(diǎn)響 應(yīng)后可以獲取中心節(jié)點(diǎn)地址以及由中心節(jié)點(diǎn)構(gòu)建起來(lái)的網(wǎng)絡(luò)的信標(biāo)(加入中心節(jié)點(diǎn) 的過(guò)程不會(huì)導(dǎo)致可用連接數(shù)減少)。然后應(yīng)用層程序一般會(huì)調(diào)用simpliciti啟動(dòng)link 過(guò)程,建立一個(gè)到鄰近節(jié)點(diǎn)的連接,連接建立成功simpliciti會(huì)反饋給應(yīng)用程序一 個(gè)句柄,之后應(yīng)用程序就是用這個(gè)句柄進(jìn)行通信。在任何一次通信過(guò)程中都可能 通過(guò)range extender進(jìn)行中轉(zhuǎn)。設(shè)備之間通過(guò)調(diào)用link和linklisten建立起連接后就可以通過(guò)smpl_send和 smpl_receive進(jìn)行端口到端口的數(shù)據(jù)收發(fā)了。同時(shí)為了檢測(cè)信道好
20、壞,simpliciti 還提供一個(gè)ping指令用于測(cè)試通信效果。3.3 simpliciti的數(shù)據(jù)結(jié)構(gòu)3.3.1 mcu相關(guān)的數(shù)據(jù)結(jié)構(gòu)typedef signed char int8_t;typedef signed short intl6_t;typedef signed long int32_t;typedef unsigned char uint8_t;typedef unsigned short uintl6_t;typedef unsigned long uint32_t;3.3.2 simpliciti數(shù)據(jù)幀相關(guān)的數(shù)據(jù)結(jié)構(gòu)typedef unsigned char linkid_
21、t;linkid_t定義了的數(shù)據(jù)結(jié)構(gòu)類似于tcp/ip中的端口,這些端口是邏輯意義的 面向于應(yīng)用程序而存在的。應(yīng)用程序z間建立的連接時(shí)基于端口的鏈接,而后的 通信也是面向端口的通信。在linkid_t定義的所有端口中simpliciti保留了一個(gè)端 口,這個(gè)端口由宏smpl_linkid_user_uud定義,該端口命名為無(wú)連接的用戶數(shù)據(jù)端口,該端口數(shù)據(jù)可以被所用用戶程序偵測(cè)。typedef enum smplstatus smplstatus_t;smplstatus_t是一個(gè)枚舉類型,它定義的是simpliciti運(yùn)行過(guò)程中的所有可能 狀態(tài)返冋,具體項(xiàng)參見(jiàn)表3.1。表3smplstatus
22、_t各項(xiàng)意義狀態(tài)描述smpl_success操作成功smpl_timeout操作超時(shí)退出smpl_bad_param函數(shù)調(diào)用參數(shù)錯(cuò)誤smpl_nomem沒(méi)有空間可以用來(lái)分配給rx port, connection table, output frame queuesmpl_no_frame接收數(shù)據(jù)緩沖區(qū)無(wú)有效數(shù)據(jù)幀smpl_no_link連接請(qǐng)求發(fā)出后沒(méi)有收到回復(fù)smpl_n ooin加入網(wǎng)絡(luò)請(qǐng)求發(fā)出后沒(méi)有收到回復(fù)smpl_no_channel頻段掃描未找到有效頻道smpl_no_peer_unlink刪除連接請(qǐng)求失敗smpl_tx_cca_fail因?yàn)閏ca失敗導(dǎo)致數(shù)據(jù)發(fā)送失敗smpl_no
23、_payload接收到數(shù)據(jù)幀但無(wú)有效載荷smpl_no_ap_address未設(shè)置access point的地址3.3.3 simpliciti接收數(shù)據(jù)處理機(jī)制simpliciti接收數(shù)據(jù)的最小單位為數(shù)據(jù)幀,因?yàn)槠渫饨拥纳漕l收發(fā)芯片是按幀 為單位進(jìn)行數(shù)據(jù)收發(fā)的。在適當(dāng)?shù)呐渲脄下,射頻芯片接收到數(shù)據(jù)幀后將發(fā)生一 個(gè)中斷告之mcu, mcu對(duì)響應(yīng)這個(gè)中斷并處理接收數(shù)據(jù)。simpliciti中斷調(diào)用并 處理這個(gè)數(shù)據(jù)幀結(jié)構(gòu)非常復(fù)雜,界常龐大,它兒乎將除了用戶應(yīng)用程序外的所有 simpliciti內(nèi)部協(xié)議的接收處理都放在了屮斷函數(shù)中。mrfi_syncpinrxisr:該函數(shù)由中斷觸發(fā)并調(diào)用,模擬物理層
24、對(duì)數(shù)據(jù)進(jìn)行接收。 主要完成的工作是對(duì)幀完整性進(jìn)行驗(yàn)證;對(duì)數(shù)據(jù)幀的校驗(yàn)和進(jìn)行驗(yàn)證;根據(jù)自身 地址和功能開關(guān)對(duì)地址進(jìn)行過(guò)濾(地址過(guò)濾操作將允許廣播地址通過(guò));轉(zhuǎn)換幀信號(hào) 標(biāo)識(shí)(rssi,lqi轉(zhuǎn)換為db位計(jì)量單位的量)。該函數(shù)涉及到的一個(gè)全局變量:mrfilncomingpacketo這個(gè)變量專門用于對(duì)存 放接收到的單幀數(shù)據(jù)。nwk.qfindslot:尋找一個(gè)空余數(shù)據(jù)幀空隙,將接收到的數(shù)據(jù)放入該數(shù)據(jù)幀。 如果所有數(shù)據(jù)幀都滿了,那么將最老的那個(gè)數(shù)據(jù)幀去掉。該過(guò)程涉及到的全局變量是:sinframeq,這個(gè)變量時(shí)由結(jié)構(gòu)體framelnfo_t 定義的。mrfi_receive:該函數(shù)實(shí)現(xiàn)將接收到的數(shù)
25、據(jù)填充到剛剛找到的空隙中。這里 有一個(gè)技巧,原代碼設(shè)計(jì)時(shí)使用了結(jié)構(gòu)體變量之間,直接賦值。dispatchframe:檢測(cè)信息類型,并更具信息類型進(jìn)行投遞到相應(yīng)的應(yīng)用層處理 函數(shù)。主要完成工作是:檢測(cè)信息是否是自身的回聲(這種情況一般來(lái)至extender 的轉(zhuǎn)發(fā));根據(jù)獲取到的端口判斷是否調(diào)用內(nèi)部網(wǎng)絡(luò)層固有處理函數(shù);根據(jù)網(wǎng)絡(luò)層 內(nèi)部處理函數(shù)結(jié)果判斷是否轉(zhuǎn)發(fā);根據(jù)端口判斷是否存在相應(yīng)的服務(wù)程序10。3.3.4 simpliciti 的缺點(diǎn)(1)能夠構(gòu)建的網(wǎng)絡(luò)相對(duì)較簡(jiǎn)單,網(wǎng)絡(luò)容量?。唬?)不具備路由管理功能,每一次通訊都依靠re進(jìn)行偵聽轉(zhuǎn)發(fā),比較浪費(fèi) 時(shí)間。這應(yīng)該算是simpliciti最大的一個(gè)缺
26、點(diǎn)了;(3)轉(zhuǎn)發(fā)跳數(shù)限制在4跳,極大地限制了通信距離;(4)每一個(gè)網(wǎng)絡(luò)里邊最大允許出現(xiàn)四個(gè)re,這雖然可以減少數(shù)據(jù)發(fā)送過(guò)程 帶來(lái)的沖突,但是也使網(wǎng)絡(luò)規(guī)模受到限制,傳輸距離受到限制;(5)設(shè)備分了三種類型,為安裝帶來(lái)麻煩。3.4體系結(jié)構(gòu)概述3.4.1協(xié)議層該協(xié)議用于應(yīng)用層,其重點(diǎn)是點(diǎn)對(duì)點(diǎn)通信。這些點(diǎn)通常都是傳感器控制器和 執(zhí)行控制器目標(biāo)。直接的傳感器執(zhí)行器也可以使用。該協(xié)議在這里并沒(méi)有作區(qū)別。從執(zhí)行的角度來(lái)看,該協(xié)議的目標(biāo)是使各種任意的對(duì)等的應(yīng)用簡(jiǎn)單地連接起一個(gè)分層原理圖如下圖所示:沒(méi)有正式的物理層或者數(shù)據(jù)鏈路層(mac/llc),數(shù)據(jù)直接由無(wú)線電的幀接收。 mrfi (小型rf接口)層包含了所
27、有的與無(wú)線電交互所需要的支持。還有一個(gè)實(shí)體(未顯示)叫做板級(jí)支持包(bsp),調(diào)用與無(wú)線電交互時(shí),將 spi接口從nwk層抽象出來(lái)。它不是為應(yīng)用服務(wù)吋提供一個(gè)通用的硬件抽象,只 有這些如spi接口之類的服務(wù),在直接支持nwk-無(wú)線電接口時(shí)才提供。為了方便, 它同樣支持led和按鈕/開關(guān)等一類依附于gpio引腳的外圍設(shè)備。但是沒(méi)有其他 的服務(wù)提供諸如uart驅(qū)動(dòng)、lcd驅(qū)動(dòng)和計(jì)時(shí)器服務(wù)11。nwk層管理接收和輸出隊(duì)列和發(fā)往目標(biāo)的命令幀。目標(biāo)一般是由端口號(hào)指定 的應(yīng)用。nwk層沒(méi)有代表應(yīng)用的幀操作。這些端口類似于tcp/ip的概念。它是地址在概念上的擴(kuò)展。網(wǎng)絡(luò)幀的開銷被 剝落,剩余的載荷用于處理指
28、定端口的應(yīng)用。nwk層的應(yīng)用程序是“眾所周知”的端口,它們的值都woxlf。它們都用于 nwk層本身管理網(wǎng)絡(luò)。這些端口并不是用于直接訪問(wèn)用戶應(yīng)用。nwk層的應(yīng)用 不是基于連接的。用戶應(yīng)用端口由nwk在鏈接過(guò)程中指定。一個(gè)成功的鏈接處理的結(jié)果是得到 一個(gè)叫做鏈接id的句柄。鏈接id到地址的映射由nwk完成。這個(gè)類似于套接 字的方法應(yīng)用程序沒(méi)有責(zé)任去指定或維護(hù)端口對(duì)象|12。3.4.2 nwk應(yīng)用程序nwk應(yīng)用程序支持網(wǎng)絡(luò)管理。除了 ping,這些應(yīng)用程序不是用戶開發(fā)環(huán)境的 一部分。simpliciti協(xié)議是怎么樣提供通信環(huán)境的,這里的描述提供了一個(gè)更全面 的理解。3.4.3對(duì)等層特性在這個(gè)結(jié)構(gòu)屮
29、,有兩種必須的sw對(duì)等層:nwk和應(yīng)用程序。應(yīng)用層被劃分 為兩個(gè)部分:nwk應(yīng)用程序和用戶應(yīng)用程序。以開發(fā)為目的,很重要的一點(diǎn)是,simpliciti不支持確認(rèn)。主要的后果是,這 種應(yīng)用程序需要為自己提供以下的支持內(nèi)容:信息的分割和重組大于最大有效載荷應(yīng)用;丟失數(shù)據(jù)(不需要nwk保證傳輸層的形式);冗余數(shù)據(jù)(不需要nwk識(shí)別重復(fù)的幀)。3.4.4信息確認(rèn)在simpliciti 1.1.0版屮提供了一些供確認(rèn)的支持。當(dāng)一個(gè)應(yīng)用程序發(fā)送一個(gè) 需要確認(rèn)的信息時(shí),成功(譬如:確認(rèn)接收)只意味著,對(duì)等nwk層接收到該幀。 并不意味著該對(duì)等應(yīng)用程序自己接收到該幀。這不是映射確認(rèn),不需要唯一的口標(biāo)用于確定傳
30、輸成功。3.5協(xié)議概覽該協(xié)議提供的功能僅僅是提供了基于連接的對(duì)等通信。這樣做的0的是在開 發(fā)過(guò)程中,掩飾無(wú)線電的基本部分、移除用戶關(guān)注的部分。該協(xié)議的功能是實(shí)現(xiàn)一組簡(jiǎn)單的api調(diào)用以能夠完成用戶的應(yīng)用程序。簡(jiǎn)單 性與價(jià)格的靈活性結(jié)合在一起。該版本是使用這個(gè)簡(jiǎn)單、小巧的腳本協(xié)議來(lái)實(shí)現(xiàn)。下面的討論中總結(jié)的機(jī)制在該協(xié)議的支持下實(shí)現(xiàn)。3.5.1拓?fù)鋝impliciti對(duì)象是sw對(duì)象。simpliciti提供的三個(gè)對(duì)象是:終端設(shè)備、ap和 范圍擴(kuò)展器。每個(gè)都是一個(gè)邏輯結(jié)構(gòu),這樣多個(gè)目標(biāo)就可以在一個(gè)簡(jiǎn)單的碩件平 臺(tái)上實(shí)現(xiàn)了。例如:一個(gè)平臺(tái)包括:一個(gè)ap也可以支持一個(gè)終端設(shè)備。但是犬多 數(shù)終端設(shè)備可能獨(dú)立地
31、活著和其他終端設(shè)備一起占據(jù)了一個(gè)硬件設(shè)備。3.5.2終端設(shè)備這些是最簡(jiǎn)單的設(shè)備。它們是網(wǎng)絡(luò)中大多數(shù)傳感器/執(zhí)行器的軌跡。終端設(shè)備 控制著應(yīng)用映射,一個(gè)集合終端設(shè)備的硬件平臺(tái)可能是由電池供電的。3.5.3 ap 點(diǎn)ap存在的時(shí)候,可以作為網(wǎng)絡(luò)中的星型中心。它們是一直工作的設(shè)備。只有 一個(gè)ap的映射網(wǎng)絡(luò)是可以存在的。這個(gè)可以由以下結(jié)構(gòu)來(lái)實(shí)施。ap可以和終端設(shè)備在同一個(gè)硬件平臺(tái)上共存。它們可以集合映射應(yīng)用程序, 以在網(wǎng)絡(luò)完成傳感器或執(zhí)行器的功能,或者同時(shí)完成兩者。ap在混在模式下工作 的時(shí)候,可以接收到所有的packetso除了基本支持,ap可以自己重新執(zhí)行幀,而 不需要擴(kuò)展終端設(shè)備的范圍。3.5.
32、4范圍擴(kuò)展器范圍擴(kuò)展器是為了在一個(gè)網(wǎng)絡(luò)中擴(kuò)展無(wú)線電的范圍。它們是一肓工作的設(shè)備。 其主要功能是重復(fù)幀以有效地?cái)U(kuò)展幀發(fā)射器的球面范圍。目前,網(wǎng)絡(luò)可以有4個(gè) 擴(kuò)展器。雖然沒(méi)有被視為可共同使用,但是范圍擴(kuò)展器可以在同一個(gè)硬件平臺(tái)上與終 端設(shè)備共存。它們可以集合對(duì)等的應(yīng)用程序,以在網(wǎng)絡(luò)中實(shí)現(xiàn)傳感器或者執(zhí)行器, 或者兩者共存。在混雜模式下,范圍擴(kuò)展器可以接收到所有的packetso3.5.5地址空間一個(gè)網(wǎng)絡(luò)地址有兩部分組成:硬件平臺(tái)地址和應(yīng)用程序(端口)地址。每個(gè)設(shè)備的硬件地址在建立時(shí)就己經(jīng)指定了。在運(yùn)行時(shí),有一種性能用來(lái)指 定地址。在網(wǎng)絡(luò)中,每個(gè)設(shè)備的地址必須是獨(dú)一無(wú)二的。硬件的地址空間管理由 用戶來(lái)
33、決定。沒(méi)有地址解析協(xié)議。目前,硬件地址空間由無(wú)符號(hào)數(shù)組成的4字節(jié)的數(shù)組來(lái)組成。在設(shè)備鏈接程序屮,應(yīng)用程序的(端口)地址或是知名的或是固定的。不由 用戶sw控制。3.6網(wǎng)絡(luò)準(zhǔn)則3.6.1鏈接simpliciti api所支持的鏈接,是指一個(gè)應(yīng)用程序的映射連接建立。鏈接是一 對(duì)對(duì)地建立的。一對(duì)屮的某個(gè)應(yīng)用程序只能偵聽到配對(duì)的連接信息。偵聽到的和 發(fā)送的連接信息都是任意的,因此,連接信息是雙向的。一個(gè)典型的連接應(yīng)用被 終端設(shè)備的行為激勵(lì),比如,按下按鈕或者物理干擾。連接信息包括一個(gè)連接標(biāo)記(現(xiàn)在以4字節(jié)對(duì)彖為例),用作偵聽的一方確認(rèn) 收到信息。在用戶建立吋,生成一個(gè)默認(rèn)連接標(biāo)記。如果網(wǎng)絡(luò)中存在ap,
34、可以加 入附加的約束條件。連接是邏輯實(shí)體。一個(gè)單一平臺(tái)可以支持多種點(diǎn)對(duì)點(diǎn)的連接。 這些連接包括兩種同樣應(yīng)用之間的連接、多種應(yīng)用之間的簡(jiǎn)單連接或者任意組合。 這些連接對(duì)可能在任意不同的平臺(tái)上。simpliciti不支持在同一平臺(tái)上的兩個(gè)應(yīng)用 之間的連接。設(shè)備的連接數(shù)冃只受到ram和端口地址的限制。362 joining只有網(wǎng)絡(luò)屮只存在一個(gè)ap時(shí),join才能實(shí)現(xiàn)。join不是特定的api,而是初 始化調(diào)用的副作用。這個(gè)過(guò)程出現(xiàn)在一個(gè)平臺(tái)從一個(gè)ap接入網(wǎng)絡(luò)。join是一個(gè)設(shè) 備在初始化之后其他動(dòng)作之前的第一個(gè)動(dòng)作。一個(gè)平臺(tái)在想加入一個(gè)網(wǎng)絡(luò)時(shí),需要發(fā)送一個(gè)包含join信息的simpliciti初 始
35、化信息。該信息包括一個(gè)由用戶在建立時(shí)生成的join標(biāo)識(shí)(4字節(jié)對(duì)象為例)。 join標(biāo)識(shí)可以用來(lái)確定兩個(gè)ap不是都用來(lái)響應(yīng)一個(gè)新設(shè)備嘗試加入一個(gè)網(wǎng)絡(luò)。如 果join標(biāo)識(shí)與預(yù)期的ap相匹配,那么該ap將回復(fù)一個(gè)網(wǎng)絡(luò)信息,使得平臺(tái)可以 正確地與網(wǎng)絡(luò)交互。目前,這些信息包括給網(wǎng)絡(luò)的連接標(biāo)識(shí)。如果售后設(shè)備加入網(wǎng)絡(luò),將使唯一的join標(biāo)識(shí)使用起來(lái)比較難處理。它需要 新設(shè)備在初裝點(diǎn)以某種方式知道網(wǎng)絡(luò)的join標(biāo)識(shí)。為了解決這種情況,ap有一個(gè) 額外的能力去設(shè)置join環(huán)境,不管它是否處于活躍狀態(tài)。在ap,環(huán)境的激活方式 與連接環(huán)境設(shè)置方式相同(按按鈕等),默認(rèn)的join標(biāo)識(shí)可以使用。在默認(rèn)情況下, joi
36、n環(huán)境一直處于活躍狀態(tài)。join-個(gè)網(wǎng)絡(luò)的行為不提供任何除基本信息以外的東西,譬如:join設(shè)備的連 接標(biāo)識(shí)。ap不能尋找join設(shè)備的軌跡,除了查詢?cè)O(shè)備,ap必須提供存儲(chǔ)和轉(zhuǎn)發(fā) 支持。363休眠的終端設(shè)備和輪詢?cè)O(shè)備休眠的終端設(shè)備可以利用兩種路徑去得到信息。一種是查詢ap,看是否有信 息在等待;一種是偵聽活躍設(shè)備,如果一直有活躍設(shè)備醒著,那么需找?guī)繕?biāo)。休眠設(shè)備的類型在建立時(shí)就已經(jīng)配置。如果一個(gè)休眠設(shè)備設(shè)置為輪詢?cè)O(shè)備,當(dāng)該設(shè)備加入網(wǎng)絡(luò)的時(shí)候被認(rèn)為是apo 在這個(gè)時(shí)候,ap存儲(chǔ)支持該設(shè)備所需資源。網(wǎng)絡(luò)端口所有給休眠設(shè)備的信息地址 都由ap接入,廣播信息不支持。當(dāng)喚醒休眠設(shè)備時(shí),接收一個(gè)調(diào)用查詢,
37、該調(diào)用是查詢ap信息的結(jié)果。這些 輪詢信息指定的端口受到質(zhì)疑時(shí),發(fā)送到管理端口。ap發(fā)送受到質(zhì)疑端口最老的 幀給查詢?cè)O(shè)備。如果沒(méi)有,ap發(fā)送一個(gè)沒(méi)有載荷的幀給查詢端口。在當(dāng)前的實(shí)現(xiàn)中,每個(gè)端口都必須分別查詢,每個(gè)端口都必須查詢到?jīng)]有多 余的信息在該端口上。3.6.4接收脇出在設(shè)備沒(méi)有休眠的時(shí)候,電臺(tái)接收到的幀觸發(fā)了一個(gè)mcu的中斷。該幀被讀 到radio的rx fifo,以一個(gè)接收幀隊(duì)列的形式存儲(chǔ)進(jìn)mcu用戶空間。如果輸入 隊(duì)列滿幀時(shí),當(dāng)一個(gè)幀被接收,那么接收隊(duì)列中最老的幀被刪掉。中斷線程被釋 放,這是一個(gè)比較有效的過(guò)程。當(dāng)在連接id指定的輸入幀序列進(jìn)行應(yīng)用程序級(jí)別的讀操作時(shí),檢查任何等待 幀
38、的連接ido如果等待幀的有效載荷返回給調(diào)用者,否者,調(diào)用者接收到的跡象 會(huì)表明沒(méi)有數(shù)據(jù)。在本質(zhì)上,一個(gè)讀操作是輸入幀序列對(duì)任何等待指定連接id幀 的輪詢操作。有效載荷按fifo的順序返回。如果設(shè)備是休眠或者輪詢?cè)O(shè)備,應(yīng)用層繞開輪詢序列訪問(wèn)ap。這是不可見(jiàn)的 調(diào)用。該線程等待ap的答復(fù)。如果ap轉(zhuǎn)發(fā)一個(gè)幀,則傳遞回調(diào)用者。如果ap 發(fā)送一個(gè)沒(méi)有返冋載荷的幀,它被解釋為一個(gè)簡(jiǎn)單的確認(rèn),返回給調(diào)用者的像一 個(gè)輪詢沒(méi)有返回載荷。因?yàn)樵谶@種情況下保存線程直到接收到ap的返回,比非休 眠狀態(tài)下只檢查輸入序列的數(shù)據(jù)效率低13o3.6.5輸出/發(fā)送發(fā)送方案是用一個(gè)同步的、直到幀由電臺(tái)轉(zhuǎn)發(fā)才返回的調(diào)用實(shí)現(xiàn)的。這
39、種設(shè) 計(jì)通過(guò)在幀發(fā)送之前關(guān)掉無(wú)線電電源,來(lái)避免意外終止一個(gè)發(fā)送序列。如果tx線程不能訪問(wèn)廣播頻段以傳送幀,那么調(diào)用者將收到相應(yīng)的返回代碼, 稍后可以重試。在網(wǎng)絡(luò)層有一些魯棒性,因?yàn)?,如果要訪問(wèn)的頻段不能立即達(dá)到, 那么將有一定的恢復(fù)程度。但是,很小。這是留給用戶程序來(lái)決定如何處理這種 情況,因?yàn)閟impliciti nwk并不支持傳遞確定。只用應(yīng)用程序直到傳送的幀有多 重要。能耗和通信的可靠性的權(quán)衡是留給用戶應(yīng)用程序的。3.7 simpliciti 的缺點(diǎn)(1)能夠構(gòu)建的網(wǎng)絡(luò)相對(duì)較簡(jiǎn)單,網(wǎng)絡(luò)容量??;(2)不具備路由管理功能,每一次通訊都依靠re進(jìn)行偵聽轉(zhuǎn)發(fā),比較浪費(fèi) 時(shí)間。這應(yīng)該算是simpl
40、iciti最大的一個(gè)缺點(diǎn)了;(3)轉(zhuǎn)發(fā)跳數(shù)限制在4跳,極大地限制了通信距離;(4)每一個(gè)網(wǎng)絡(luò)里邊最大允許出現(xiàn)四個(gè)re,這雖然可以減少數(shù)據(jù)發(fā)送過(guò)程 帶來(lái)的沖突,但是也使網(wǎng)絡(luò)規(guī)模受到限制,傳輸距離受到限制;(5)設(shè)備分了三種類型,為安裝帶來(lái)麻煩。第4章系統(tǒng)的開發(fā)環(huán)境和程序流程4.1開發(fā)環(huán)境!='simpliciti有兩個(gè)開發(fā)環(huán)境:方案一:一個(gè)是iar embedded workbench這種環(huán)境可以同時(shí)用t 8051內(nèi)核 soc的目標(biāo)和雙芯片(msp430+無(wú)線)目標(biāo)板解決方案。方案二:ti 的 code composer essentials v.3.1 (cce) ide 也支持雙芯片
41、(msp4 30+無(wú)線)目標(biāo)板的simplicitio本實(shí)驗(yàn)將以方案一為確定方案,進(jìn)行開發(fā)。4.1.1 iar 簡(jiǎn)介lai是全球領(lǐng)先的嵌入式系統(tǒng)開發(fā)工具和服務(wù)的供應(yīng)商。公司成立于1983年, 迄今已有27年,提供的產(chǎn)品和服務(wù)涉及到嵌入式系統(tǒng)的設(shè)計(jì)、開發(fā)和測(cè)試的每一 個(gè)階段,包括:帶有c/c+編譯器和調(diào)試器的集成開發(fā)環(huán)境(ide)、實(shí)時(shí)操作系統(tǒng) 和中間件、開發(fā)套件、硬件仿真器以及狀態(tài)機(jī)建模工具14o4.2 iar編程4.2.1新建iar工程用iar首先要新建的是工作區(qū),而不是工程。新建iar工作空間,首先是菜單file里選擇open再選擇workspace,為方便說(shuō)明改成file-open-wo
42、rkspaceo圖4iar工程截圖一酒iar eabedded torkbench ideedi t vi ew project simulator tools window heltimbohbnew*h 1 g c 1 qpen卜file.ctrl+0fcloseworkspace|save workspace廠 rin i曠於丄丄nclose norkspace殛f圖4.2 iar工程截圖二然后會(huì)出現(xiàn)以下框圖可以進(jìn)行程序編程。菜單project-create new project,點(diǎn)了之后出現(xiàn)下面這個(gè)對(duì)話框。圖4.3 iar工程截圖三選擇編譯語(yǔ)言4.2.2 iar 項(xiàng)目project
43、templates:圖4.4 iar工程截圖四打開設(shè)置界面,菜單里的位置是project-optionso打開的設(shè)置界面如是:圖4.5 iar項(xiàng)目截圖一 :vine kiinim ut 0u> rmi amiiyw4 clutfq:<41 flj 心“x x«42 fxjw<4 delay(ui»c):wt4 tniti«liwi4li:/» /anwt« mtyluiat nlh 接著的工作就是寫代碼,1 丿 i1a eab«4d«d v«rkbe»ch imp7& irlti
44、k* |4«< ?y»ha«« !»o ao tmr <loeeiho.k>tttszccz"仙"o;tckn;u>*>o:ct<n;ttw);umr1comquretca no1 - o«kk»)2w)m0mmeinctotal wnbolrort 0total anbef olwmrwtg* 0quaff| /ua .bffw”p l»x 1 xa1gy& " 1圖4.6iar項(xiàng)目截圖二423 iar下載程序在編譯正確以后,就需要將程序下
45、載到mcu運(yùn)行,下載程序一板需要的工具 有下載器,目標(biāo)板。寫一個(gè)編譯通過(guò)的程序,然后在工程選項(xiàng)(project->option.)m 作如下設(shè)置:圖4.7 iar下載程序截圖一左列選 debugger,在右邊 setup->driver 區(qū)域選擇 t exas instruments,單擊”ok” 確定,完成iar embedded workbench ide的設(shè)置。接著要進(jìn)行仿真器的連接,用 usb線將pc和仿真器相邊,再用lopin排線將仿真器與cc430連,在仿真器上按一次復(fù)位鍵,然后在菜單project里點(diǎn)debug,也可以使用工具欄里的菜單,同 見(jiàn)下圖:圖4.8 iar下
46、載程序截圖二圖中右上角紅框中的按鈕就是debug按鈕,單擊可將程序下載到cc430接著 可以看到下載成功的界面15。4.3應(yīng)用程序流程4.3.1 ap程序流程整個(gè)ap進(jìn)行一個(gè)bsp初始化,之后進(jìn)行無(wú)線網(wǎng)絡(luò)的初始化,發(fā)送一個(gè)監(jiān)聽 消息,并進(jìn)行消息的判斷,是否已經(jīng)建立連接,若沒(méi)有建立連接并且建立一個(gè)新 的linkid消息,在進(jìn)行消息的監(jiān)聽肓到有消息收到,建立連接。之后進(jìn)入非打 擾模式,及在一段時(shí)間內(nèi)對(duì)目標(biāo)進(jìn)行一次信息的發(fā)送,對(duì)標(biāo)志位進(jìn)行判斷。若沒(méi) 有連接收到回發(fā)信息,判定linkid隊(duì)列中存在長(zhǎng)時(shí)間無(wú)消息狀態(tài),促發(fā)報(bào)警器, 直到連接為止。但是木項(xiàng)目中,將報(bào)警器開啟后以復(fù)位鍵結(jié)朿,具體如圖4.9所示
47、。圖4.9 ap程序流程圖4.3.2 ed程序流程整個(gè)ed進(jìn)行一個(gè)bsp初始化,之后進(jìn)行無(wú)線網(wǎng)絡(luò)的初始化。對(duì)ap進(jìn)行無(wú)線 網(wǎng)絡(luò)的申請(qǐng)連接,led1進(jìn)行閃爍。若申請(qǐng)成功,則將led 1點(diǎn)亮。ed發(fā)送信息, 并且等待發(fā)回的信息,發(fā)送信息是每段時(shí)間發(fā)送一個(gè)信息。若回發(fā)信息無(wú)法接收 到,到達(dá)一定值是會(huì)促發(fā)報(bào)警器。若收到會(huì)發(fā)信息則將回發(fā)信息計(jì)數(shù)器清零,進(jìn) 入低功耗階段,具體如圖4.10所示16oz、系統(tǒng)死鎖圖4.10 ed程序流程圖第5章電路制作和模塊圖5.1電路板的制作設(shè)計(jì)好電路圖后,用protel軟件畫好電路圖,再制作成pcb版圖。仔細(xì)檢查 電路板的布線是否正確,因?yàn)閜cb板的線路是做在板子上的,改
48、動(dòng)起來(lái)十分不便。 確定pcb版圖完好之后按照版圖制成成品的板子。還完成制板后,就可以根據(jù)板 子焊接各個(gè)器件了。由于pcb板不需要考慮布線和器件位置的選擇,焊接過(guò)程相 對(duì)比較簡(jiǎn)單,但確實(shí)花了一部分心血。述有要注意以下幾個(gè)問(wèn)題:(1)為了焊接方便,要先焊小器件,后焊大器件;先焊矮器件,后焊高器件。(2)焊接過(guò)程中要小心謹(jǐn)慎,確保每個(gè)器件焊接無(wú)誤,避免虛焊、漏焊。(3)焊接完成之后,用萬(wàn)用表仔細(xì)檢查各器件有無(wú)虛焊的情況。若上述過(guò)程都無(wú)誤,則屯路板就算是完成了。以下為設(shè)計(jì)電路,如圖5所示:lto?lto0 巳,3兀uh uudlh> 比utt f3)1w. uil圖5.1電路設(shè)計(jì)的原理圖5.2無(wú)
49、線控制系統(tǒng)模塊整個(gè)系統(tǒng)模塊可以分為兩部分:ap和ed。圖5.2為本次項(xiàng)目的最后作品,包括兩個(gè)ed和一個(gè)apo為了設(shè)計(jì)的美觀和實(shí)用性,我們采用了 pcb版進(jìn)行試驗(yàn),這樣,最后的作品 具有一定的實(shí)用性和美觀性。防盜系統(tǒng)也能在防盜和隱藏性的功能上得到體現(xiàn)。圖5.2 ed和ap的實(shí)物圖結(jié)論我所設(shè)計(jì)的無(wú)線控制系統(tǒng)其各項(xiàng)參數(shù)指標(biāo)基本符合設(shè)計(jì)要求。根據(jù)市場(chǎng)的需求實(shí) 現(xiàn)相應(yīng)防盜功能,并能成功運(yùn)行。在設(shè)計(jì)中,我在學(xué)習(xí)了一些c語(yǔ)言的基礎(chǔ)上,通過(guò) 多次的分析,設(shè)計(jì)出了切實(shí)可行的設(shè)計(jì)方案。并h初步了解通訊協(xié)議simpliciti這 一關(guān)鍵技術(shù)點(diǎn),通過(guò)開發(fā)軟件iar編譯實(shí)現(xiàn)本設(shè)計(jì)中的要求。在這次畢業(yè)設(shè)計(jì)中,掌握軟件編譯
50、語(yǔ)句是關(guān)鍵,倘若各部分程序間無(wú)法協(xié)調(diào)工作, 那么系統(tǒng)的設(shè)計(jì)八成出現(xiàn)問(wèn)題,實(shí)現(xiàn)不了所需的功能。雖然走過(guò)了許多的彎路,但是 這同吋使我從中積累了許多的經(jīng)驗(yàn)教訓(xùn)。正是這些的經(jīng)驗(yàn)教訓(xùn)使我對(duì)軟件等的開發(fā)研 發(fā)有了更進(jìn)一步的理解。在實(shí)際操作的過(guò)程中還是遇到了許多需要本人去思考并解決的問(wèn)題??偨Y(jié)以下兒 點(diǎn)關(guān)于程序需求、程序分析的步驟和技巧。在程序遇到問(wèn)題或者實(shí)際現(xiàn)象與理論設(shè)計(jì) 不符合的情況下,首先應(yīng)該進(jìn)行理論分析,所以基礎(chǔ)的理論和概念是很重要的。理論 分析可以分為正向和反向。正向是從設(shè)計(jì)的原理處出發(fā)檢查,重點(diǎn)是檢查之前的設(shè)計(jì) 是否可行和是否存在未考慮到的情況或者有紐:漏;反向是從開發(fā)遇到的實(shí)際現(xiàn)象出發(fā), 分
51、析造成這種現(xiàn)象可能的原因。隨后,根據(jù)理論分析得岀的結(jié)果檢查程序語(yǔ)句。不過(guò) 也有必須說(shuō)明的一點(diǎn),積累的經(jīng)驗(yàn)對(duì)于系統(tǒng)程序的開發(fā)是很重要的。本次設(shè)計(jì)的制作總共花了兩個(gè)多月時(shí)間,只有親身經(jīng)歷過(guò)后,才知道其中的滋味。 通過(guò)這個(gè)畢業(yè)設(shè)計(jì)的工作,我收獲了很多也體會(huì)很多。首先,通過(guò)對(duì)程序的設(shè)計(jì)和開 發(fā)有了更多的了解及接觸,更好的提高了我的實(shí)際動(dòng)手能力,有利于以前所學(xué)的知識(shí) 的鞏固和相關(guān)知識(shí)得進(jìn)一步學(xué)習(xí),對(duì)課題的整體研發(fā)流程和方向有了更好的把握。其 次,對(duì)開題報(bào)告和論文的編寫時(shí)有了很深的了解,為今后的研究墊定了扎實(shí)的基礎(chǔ)。參考文獻(xiàn)(含開題報(bào)告和文獻(xiàn)綜述)1 金純,羅鳳,陳峰,許光辰.zigbee車倆自動(dòng)識(shí)別系統(tǒng)
52、的設(shè)計(jì)j .20072 施榮華,崔奕芳,江玲.ad hoe網(wǎng)絡(luò)中qos的路由協(xié)議算法研究j 計(jì)算機(jī)科 學(xué),2008(7).3 儈杰,周仁龍,吳伶錫.基于zigbee的公交自動(dòng)報(bào)站系統(tǒng)的設(shè)計(jì)|j).2007.4 康躍明,吳燕清.基于zigbee的井下長(zhǎng)距離無(wú)線通訊系統(tǒng)j.2oo7.5 劉媛,李純,趙巖,姚遠(yuǎn).基于zigbee技術(shù)的醫(yī)院患者監(jiān)控系統(tǒng)研究jj.2007.6 周武斌.zigbee無(wú)線組網(wǎng)技術(shù)的研究jj.2009.7 張令意,昂志敏,金海紅.新型無(wú)線通信技術(shù)一 zigbee j.現(xiàn)代通信.2007.|8 andreas andersson,mattias thoren- a suitab
53、le base for embedded wireless developmentj sweden: chalmers university of technology,2004.9 張周,周劍揚(yáng),門沫.zigbee在智能家居系統(tǒng)中的應(yīng)用研究j工業(yè)控制計(jì)算 機(jī),2006.10 羅超,楊衛(wèi),朱兵雙核無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)通信接口設(shè)計(jì)j.儀表技術(shù)與傳感 器,2008(3).11 jo woon chong, ho young hwang, chang yong jung analysis ofthroughput and energy consumption in a zigbee network u
54、nder the presence ofbluetooth interfercencej. global telecommunications conference. ieee. 2007.12 于斌,孫斌,溫暖等.ns2與網(wǎng)絡(luò)模擬j北京人民郵電出版社,2008.13 王達(dá).網(wǎng)絡(luò)工程基礎(chǔ)m北京電子工業(yè)出版社,2006.14 瞿雷,劉盛德湖成斌zigbee技術(shù)及應(yīng)用j.北京航空航天大學(xué)出版社,2007.15 張宏亮.zigbee軟件開發(fā)人員指南(基于jennie mslx)j.北京博訊科技,2007.16 蔡雨楠,王福豹嚴(yán)國(guó)強(qiáng)基于數(shù)據(jù)服務(wù)和能量控制的zigbee路由策略的研究 j.微型電腦應(yīng)用,2008.附錄a電路原理圖附錄19p:7p2.4?0lto1npnp" ltoot-ft):puphled
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 購(gòu)房借款合同書樣式
- 寄售合同模板示例
- 計(jì)算機(jī)軟件技術(shù)外包合同詳解
- 內(nèi)控管理咨詢合同案例
- 版物業(yè)服務(wù)合同協(xié)議書全文示例
- 私人金融顧問(wèn)服務(wù)協(xié)議
- 寶雞市房屋買賣合同稅費(fèi)計(jì)算器
- 電子版的分包勞動(dòng)合同
- 簡(jiǎn)單借款協(xié)議書解讀
- 小型構(gòu)件的勞務(wù)分包合同
- LSS-250B 純水冷卻器說(shuō)明書
- 中藥分類大全
- 防止返貧監(jiān)測(cè)工作開展情況總結(jié)范文
- 精文減會(huì)經(jīng)驗(yàn)交流材料
- 2015年度設(shè)備預(yù)防性維護(hù)計(jì)劃表
- 淺談離子交換樹脂在精制糖行業(yè)中的應(yīng)用
- 設(shè)備研發(fā)項(xiàng)目進(jìn)度表
- 管道定額價(jià)目表
- 新時(shí)期如何做好檔案管理課件
- 復(fù)興號(hào)動(dòng)車組空調(diào)系統(tǒng)設(shè)計(jì)優(yōu)化及應(yīng)用
- 礦山壓力與巖層控制課程設(shè)計(jì).doc
評(píng)論
0/150
提交評(píng)論