系統(tǒng)關(guān)鍵技術(shù)分析 在路燈控制系統(tǒng)所使用的關(guān)鍵技術(shù),主要包括ZigBee技術(shù)、嵌入式操作系統(tǒng)FreeRTOS和微波多普勒原理。
1.1 ZigBee技術(shù)Zigbee是基于IEEE802.15.4標準的低功耗個域網(wǎng)協(xié)議。IEEE802.15.4 是針對低速的無線個人區(qū)域網(wǎng)絡(luò)(low-rate wireless personal area network, LR-WPAN)而制定的標準[4]。該標準把能量消耗低、傳輸速率低、成本低作為目標,旨在為個人或者家庭范圍內(nèi)的設(shè)備的低速互連提供統(tǒng)一標準。 IEEE 802.15.4標準定義的LR-WPAN網(wǎng)絡(luò)具有如下特點: - 提供20kbps、40kbps和250kbps三種不同的傳輸速率;
- 兩種網(wǎng)絡(luò)拓撲結(jié)構(gòu):星型、點對點;
- 兩種地址格式:16位、64位,64位地址是全球惟一的擴展地址;
- 采用載波多路偵聽技術(shù)(carrier sense multiple access with collision avoidance, CSMA-CA)避免沖突;
- 采用確認(ACK)機制以保證可靠傳輸。
而ZigBee協(xié)議規(guī)定的技術(shù)是一種短距離、低功耗的無線通信技術(shù)。其特點是距離短、復(fù)雜度低、自動組織、功耗低、數(shù)據(jù)速率低、成本低[6]。適合用于自動控制和遠程控制領(lǐng)域,可以嵌入各種設(shè)備。 ZigBee協(xié)議棧是在IEEE 802.15.4標準基礎(chǔ)上建立的,定義了協(xié)議的MAC和PHY層。ZigBee設(shè)備應(yīng)該包括IEEE802.15.4(定義了RF射頻以及與相鄰設(shè)備之間通信)的PHY和MAC層,以及ZigBee堆棧層:網(wǎng)絡(luò)層(NWK)、應(yīng)用層和安全服務(wù)提供層。 圖2.1 ZigBee協(xié)議棧結(jié)構(gòu)[4] 1.1.1 物理層規(guī)范[4]ZigBee的物理層是基于IEEE 802.15.4標準的。IEEE802.15.4標準定義了兩個物理層:2.4GHz和868/915MHz的物理層。物理層主要任務(wù)如下: - 開啟和關(guān)閉無線收發(fā)信機;
- 能量檢測(ED);
- 鏈路質(zhì)量指示(LQI);
- 空閑信道評估(CCA);
- 信道選擇;
- 數(shù)據(jù)發(fā)送和接收。
物理層提供了兩種服務(wù):通過物理層數(shù)據(jù)服務(wù)接入點(PHY Data Server Acess Point,PD-SAP)提供物理層的數(shù)據(jù)服務(wù);通過PLME的服務(wù)接入點(PLME Service Acess Point,PLME-SAP)提供物理層的管理服務(wù)[1]。如下圖: 圖2.2 物理層參考模型 IEEE802.15.4 物理層協(xié)議數(shù)據(jù)單元(PPDU)格式如下: 表2.1物理層協(xié)議數(shù)據(jù)單元[1] 引導序列由32位全0字段組成,用于收發(fā)器進行碼片或者符號的同步。SFD域由8位組成,表示引導序列結(jié)束,數(shù)據(jù)包開始傳輸,是8位二進制序列11100101。SFD與前導碼構(gòu)成同步頭(SHR)。幀長度由7位組成,表示物理層的有效載荷PSDU的字節(jié)數(shù),范圍是0到aMaxPHYPacketSize。幀長度域和1位的保留位構(gòu)成了物理頭。PSDU域是變長的,是物理層要發(fā)送的數(shù)據(jù)包,是物理層的載荷。 1.1.2 MAC層規(guī)范ZigBee的MAC層同樣是基于IEEE 802.15.4標準的。MAC層為特定服務(wù)匯聚子層(SSCS)和PHY提供了接口[1]。IEEE802.15.4的MAC層使用PD-SAP和PLME-SAP接口。MAC層通過MAC公共部分子層(MCPS)的數(shù)據(jù)SAP(MCPS-SAP)提供MAC層數(shù)據(jù)服務(wù);通過MLME-SAP提供管理服務(wù)[7]。MAC層內(nèi)部MLME和MCPS之間存在一個隱藏接口,MLME可以通過它調(diào)用MAC數(shù)據(jù)服務(wù)。MLME還負責維護屬于MAC層的管理對象數(shù)據(jù)庫,該數(shù)據(jù)庫被稱為“MAC層的個域網(wǎng)信息庫”(PAN Information Base,PIB)。如下圖所示: 圖2.3 MAC層組件接口模型 MAC層的數(shù)據(jù)服務(wù)通過兩類服務(wù)原語MCPS-DATA和MCPS-PURGE實現(xiàn)的。而其管理功能通過使用15條服務(wù)原語來實現(xiàn)。 MAC層主要有四種類型的幀:信標幀、數(shù)據(jù)幀、確認幀以及MAC命令幀。幀的基本組成部分有:MAC頭、MAC有效載荷、MAC尾。MAC頭由幀的控制字段、序號字段和地址信息域組成;MAC有效載荷部分的長度與幀類型相關(guān),確認幀的有效載荷長度為0;MAC尾是幀校驗序列(FCS)。 表2.2通用MAC幀結(jié)構(gòu)[1] 1.1.3 網(wǎng)絡(luò)層規(guī)范[4]網(wǎng)絡(luò)層提供保證MAC層正確工作的能力并為應(yīng)用層提供合適的服務(wù)接口。主要功能有: - 網(wǎng)絡(luò)和設(shè)備維護;
- 發(fā)送和接收;
- 路由功能;
- 信標發(fā)送時序;
- 廣播通信;
- MAC信標中的網(wǎng)絡(luò)層信息;
網(wǎng)絡(luò)層提供兩個服務(wù)實體:數(shù)據(jù)實體和管理實體。數(shù)據(jù)實體提供的服務(wù)允許同一網(wǎng)絡(luò)中兩個或多個節(jié)點之間傳輸數(shù)據(jù);管理實體允許應(yīng)用與協(xié)議棧之間交互,包括配置新節(jié)點、創(chuàng)建網(wǎng)絡(luò)、節(jié)點請求加入/離開網(wǎng)絡(luò)、尋址、近鄰發(fā)現(xiàn)、路由發(fā)現(xiàn)、接收控制等服務(wù)。 圖2.4 網(wǎng)絡(luò)層參考模型 1.1.4 應(yīng)用層規(guī)范[4]ZigBee應(yīng)用層包括應(yīng)用支持子層(APS)ZigBee設(shè)備對象(ZDO)和廠商定義的應(yīng)用對象。 應(yīng)用支持子層(APS)提供了網(wǎng)絡(luò)層(NWK)和應(yīng)用層 (APL)之間的接口,功能是通過ZDO和廠商定義的應(yīng)用對象都可以使用的一組服務(wù)來實現(xiàn)。數(shù)據(jù)和管理實體分別由APSDE-SAP和APSME-SAP 提供。APSDE提供的數(shù)據(jù)傳輸服務(wù)在同一網(wǎng)絡(luò)的兩個或多個設(shè)備之間傳輸應(yīng)用層PDU;APSME提供設(shè)備發(fā)現(xiàn)和綁定服務(wù),并維護管理對象數(shù)據(jù)庫——APS信息庫(AIB)。 ZDO描述了一個基本的功能函數(shù),這個功能在應(yīng)用對象、設(shè)備配置文件和APS之間的提供了一個接口。它滿足所有在ZigBee協(xié)議棧中應(yīng)用操作的一般需要。ZDO還有以下功能: - 初始化APS、網(wǎng)絡(luò)層和安全服務(wù)規(guī)范;
- 集合節(jié)點配置信息來確定和執(zhí)行發(fā)現(xiàn)、安全管理、網(wǎng)絡(luò)管理和綁定管理;
1.2 嵌入式實時操作系統(tǒng)FreeRTOS在嵌入式領(lǐng)域中,嵌入式實時操作系統(tǒng)正得到越來越廣泛的應(yīng)用。采用嵌入式實時操作系統(tǒng)(RTOS)可以更合理、更有效地利用CPU的資源,簡化應(yīng)用軟件的設(shè)計,縮短系統(tǒng)開發(fā)時間,更好地保證系統(tǒng)的實時性和可靠性。FreeRTOS操作系統(tǒng)是一個完全免費的嵌入式操作系統(tǒng),具有公開源碼、可移植、可裁減、多種調(diào)度策略等特點。包括的功能有:任務(wù)管理、信號量、消息隊列、時間管理、內(nèi)存管理、記錄功能等。 FreeRTOS內(nèi)核支持優(yōu)先級調(diào)度算法,即根據(jù)重要程度,給每個任務(wù)賦予一個優(yōu)先級,而處于就緒態(tài)的、優(yōu)先級最高的任務(wù)總是先得到運行。同時,F(xiàn)reeRT0S允許在同一優(yōu)先級中存在多個不同的系統(tǒng)任務(wù)。在優(yōu)先級相同的情況下,同一優(yōu)先級的任務(wù)采用輪換調(diào)度的方法共享CPU的使用時間。 用戶可根據(jù)需要設(shè)置FreeRTOS的內(nèi)核為可剝奪型的內(nèi)核或不可剝奪型的內(nèi)核。為滿足系統(tǒng)實時性的要求,可設(shè)置FreeRTOS為可剝奪型的內(nèi)核,這樣當高優(yōu)先級任務(wù)就緒時系統(tǒng)就會強制低優(yōu)先級任務(wù)讓出對CPU的使用權(quán),而使就緒的高優(yōu)先級任務(wù)運行;設(shè)置FreeRTOS為不可剝奪型的內(nèi)核時,系統(tǒng)不能剝奪當前任務(wù)對CPU的使用權(quán),就緒的高優(yōu)先級任務(wù)只有任務(wù)主動讓出CPU之后才能運行,這樣提高了CPU的運行效率。 1.2.1 任務(wù)調(diào)度在嵌入式實時操作系統(tǒng)中,任務(wù)調(diào)度機制是一個重要的概念,也是核心的技術(shù)。在可剝奪型的內(nèi)核中,高優(yōu)先級任務(wù)一旦就緒就會在下一個時鐘節(jié)拍時迫使低優(yōu)先級較任務(wù)讓出CPU的使用權(quán),運行高優(yōu)先級任務(wù)。FreeRTOS的系統(tǒng)任務(wù)的數(shù)量是無限制,同時支持優(yōu)先級調(diào)度算法和輪換調(diào)度算法,它采用雙向的鏈表結(jié)構(gòu)而不是采用輪詢?nèi)蝿?wù)就緒表的方法來進行任務(wù)調(diào)度。FreeRTOS任務(wù)鏈表結(jié)構(gòu)如下: 圖2.5 任務(wù)調(diào)度 1.2.2 任務(wù)管理[3]多任務(wù)管理是操作系統(tǒng)的主要功能。FreeRTOS中的任務(wù)管理功能有創(chuàng)建任務(wù)、刪除任務(wù)、掛起任務(wù)、恢復(fù)任務(wù)、設(shè)定任務(wù)優(yōu)先級、獲得任務(wù)相關(guān)信息等。FreeRTOS系統(tǒng)任務(wù)的創(chuàng)建使用xTaskCreate()函數(shù)。調(diào)用xTaskCreate()時,F(xiàn)reeRTOS會分配內(nèi)存給任務(wù)。內(nèi)存成功分配之后,系統(tǒng)會初始化任務(wù)控制塊中的任務(wù)名稱、堆棧深度和任務(wù)優(yōu)先級,然后根據(jù)CPU堆棧的增長方向初始化任務(wù)控制塊的堆棧。接著,F(xiàn)reeRTOS把當前創(chuàng)建的任務(wù)加入到就緒任務(wù)鏈表,等待系統(tǒng)調(diào)度。 FreeRTOS系統(tǒng)任務(wù)的刪除分兩步完成。調(diào)用vTaskDelete()函數(shù)后,開始任務(wù)刪除的第一步:先從就緒任務(wù)鏈表和事件等待鏈表中刪除任務(wù)信息,然后把任務(wù)移動到任務(wù)刪除鏈表,當正在執(zhí)行刪除的任務(wù)時,系統(tǒng)會進行一次任務(wù)調(diào)度,以切換任務(wù)。在系統(tǒng)空閑任務(wù)運行時,如果任務(wù)刪除鏈表中有需要刪除的任務(wù)存在,則開始刪除任務(wù)的第二步:釋放任務(wù)所使用的內(nèi)存,并從任務(wù)刪除鏈表中移除任務(wù),這樣任務(wù)就被徹底刪除了。 1.2.3 時間管理FreeRTOS中典型的時間管理函數(shù)是vTaskDelay()。此函數(shù)可以將任務(wù)延時一段特定的時間。系統(tǒng)存在一個時鐘記錄系統(tǒng)已運行時間。延時任務(wù)時,將延時時間與系統(tǒng)時鐘相加并存入任務(wù)信息中,然后根據(jù)延時將任務(wù)加入等待列表中。每過一個系統(tǒng)時鐘,系統(tǒng)查找等待列表,比較任務(wù)信息中的時鐘和系統(tǒng)時鐘,若相等則將任務(wù)移出等待列表,加入任務(wù)就緒列表,等待調(diào)度運行。 1.2.4 內(nèi)存分配策略當任務(wù)、隊列和信號量創(chuàng)建的時候,會向系統(tǒng)申請一定的內(nèi)存。FreeRTOS提供了兩種內(nèi)存分配的策略,用戶可以根據(jù)實際需要選擇不同的內(nèi)存分配策略。 第1種方法是,系統(tǒng)將內(nèi)存簡單的按照任務(wù)所申請的大小分成若干塊,這樣就可以滿足任務(wù)的需求。這種做法簡單方便,執(zhí)行時間可以確定,但是這樣做會使內(nèi)存釋放后再分配很困難,內(nèi)存不能得到有效的釋放,不能實現(xiàn)任務(wù)或隊列的刪除。 第2種方法是,使用鏈表來分配內(nèi)存。系統(tǒng)為空閑的內(nèi)存塊建立鏈表,并根據(jù)塊的大小進行排序。當任務(wù)申請內(nèi)存時,系統(tǒng)查找鏈表,選出最小的能滿足任務(wù)需求的內(nèi)存塊。若內(nèi)存塊較大,則將內(nèi)存塊一分為二,一個分配給任務(wù),另一個作為新的內(nèi)存塊插入到鏈表中。 1.3 微波多普勒原理微波是指頻率在300MHz~300GHz 范圍內(nèi),是無線電波中一個有限頻帶的簡稱,即波長在100cm~1mm范圍內(nèi)的電磁波,是分米波、厘米波、毫米波和亞毫米波的統(tǒng)稱。其中包括甚高頻(VHF)、特高頻 (UHF)、超高頻(SHF)、極高頻(EHF)4個波段。微波具有直線(視距)傳播,抗干擾性強,頻帶寬等特點,廣泛用于各種無線通訊和目標探測的場合。微波波段中,波長在1~25cm的波段專門用于雷達(RADAR,Radio Detection And Ranging),其余部分用于電訊傳輸。 多普勒雷達是利用多普勒效應(yīng)進行定位、測速、測距等工作的雷達。多普勒效應(yīng)是當聲音、光和無線電波等振動源與觀測者以相對速度V相對運動時,觀測者所收到的振動頻率與振動源所發(fā)出的頻率有所不同[13]。多普勒效應(yīng)的示意圖如下: 圖2.6多普勒效應(yīng) 多普勒雷達測速的原理,是檢測發(fā)射出去的無線電波與遇到運動物體反射回來的無線電波之間的頻率變化和相位變化,根據(jù)頻率的變化計算出物體的速度,由發(fā)射波和回波信號的相位關(guān)系,判斷運動物體是朝著無線電波的發(fā)射方向還是其反方向移動的。設(shè)聲波或電磁波的波長為λ,頻率為f0,速度為c,運動物體的徑向速度為v,回波多普勒頻移為fd,則: 1.4 本章小結(jié)本章介紹了項目中所使用到的關(guān)鍵技術(shù),講述了IEEE 802.15.4標準、ZigBee技術(shù)、嵌入式操作系統(tǒng)FreeRTOS的移植和微波多普勒原理。在項目中將使用無線通信技術(shù)實現(xiàn)各個路燈節(jié)點的通信,而在主控節(jié)點將使用FreeRTOS嵌入式操作系統(tǒng)對各節(jié)點的信息進行處理,并對各節(jié)點進行控制,各節(jié)點對車輛人流的檢測將使用微波多普勒原理來實現(xiàn)。
1
第三章 Zigbee智能路燈控制系統(tǒng)方案設(shè)計 Zigbee智能路燈控制系統(tǒng)方案設(shè)計本章主要根據(jù)路燈系統(tǒng)的功能需求,對系統(tǒng)進行的整體設(shè)計,介紹了整體設(shè)計方案以及所使用的關(guān)鍵器件的型號。 2.1 系統(tǒng)整體方案設(shè)計本節(jié)將介紹系統(tǒng)整體設(shè)計方案。系統(tǒng)包括一個主控節(jié)點和多個路燈節(jié)點,其中主控節(jié)點用于接收和處理路燈節(jié)點發(fā)送過來的信息以及向路燈節(jié)點發(fā)送控制信息,系統(tǒng)框圖如下: 圖3.1 系統(tǒng)結(jié)構(gòu)框圖 2.1.1 主控節(jié)點功能主控節(jié)點的功能主要是對路燈節(jié)點的監(jiān)控以及和上位機的通信。因此需要無線通信模塊和路燈節(jié)點進行通信,需要單片機來處理路燈節(jié)點發(fā)送過來的信息,同時單片機還需要具備和上位機通信的能力。主控節(jié)點系統(tǒng)框圖如下: 圖3.2 主控節(jié)點模塊圖 2.1.2 路燈節(jié)點功能路燈節(jié)點具有檢測當前交通狀況及光線強度的功能,同時還控制路燈的點亮和熄滅,還可以將當前檢測到的信息顯示出來。因此,路燈節(jié)點需要車輛人流的檢測模塊以及光感應(yīng)模塊,一個主控芯片對采集的數(shù)據(jù)進行處理以及控制路燈的亮滅和信息的顯示,同時,主控芯片還具備無線通信的能力。路燈節(jié)點設(shè)計如下圖所示: 圖3.3 路燈節(jié)點模塊圖 2.2 系統(tǒng)關(guān)鍵器件選型本節(jié)介紹系統(tǒng)所示用的關(guān)鍵器件的型號,其中主控節(jié)點所使用的器件有英飛凌單片機XC167CI和無線收發(fā)器CC2420,路燈節(jié)點使用的器件主要是無線SOC芯片CC2430和微波模塊HB100。 2.2.1 英飛凌單片機XC167CIXC167CI英飛凌公司開發(fā)的基于C166SV2內(nèi)核的16位單片機,也是目前廣泛使用的C166微控制器系列的全新衍生產(chǎn)品。它是英飛凌16位單片機CMOS微控制器系列的增強型產(chǎn)品,具有如下特性[15]: - 5級流水線高性能16位CPU和MAC單元;
- 高效的控制指令集;
- 智能的片上外設(shè)子系統(tǒng);
- 16級優(yōu)先級中斷系統(tǒng);
- 片上調(diào)試支持;
- 多達103個具有獨立位尋址功能的I/O引腳;
XC167功能框圖如下: 圖3.4 XC167功能框圖[15] 本系統(tǒng)主要使用XC167的通用I/O功能用于模擬SPI總線與CC2420通信以及串口功能用于和PC通信。 2.2.2 無線收發(fā)器CC2420[4]CC2420是Chipcon As公司推出的首款符合2.4GHz IEEE802.15.4標準的射頻收發(fā)器。該器件包括眾多額外功能,是第一款適用于ZigBee產(chǎn)品的RF器件。使用此芯片組成的網(wǎng)線通信網(wǎng)絡(luò),數(shù)據(jù)傳輸率高達250kbps,可以實現(xiàn)多對多的通信。芯片開發(fā)的短距離射頻傳輸系統(tǒng)成本低、功耗小,適于電池長期供電。具有硬件加密、安全可靠、組網(wǎng)靈活、抗毀性強等特點。 CC2420使用SPI總線與微控制器通信。微控制器向CC2420發(fā)送命令,然后可以向CC2420寫入數(shù)據(jù)或從其中讀出數(shù)據(jù),實現(xiàn)無線收發(fā)信息的功能。 圖3.5 CC2420簡化功能圖[8] 2.2.3 無線SOC芯片CC2430CC2430由德洲儀器(Texax Instruments,TI)旗下的Chipcon公司設(shè)計生產(chǎn),它是一款真正為IEEE 802.15.4和ZigBee而設(shè)計的SOC系統(tǒng)芯片。CC2430集成了高性能的無線收發(fā)器CC2420和增強型的工業(yè)級8051微處理器內(nèi)核,提供32/64/128KB的Flash程序存儲器,8K的SRAM以及其它功能強大的特性。其主要特性有[4]: - 高性能低功耗的增強型8051內(nèi)核;
- 適應(yīng)2.4GHz符合IEEE 802.15.4標準的無線收發(fā)器;
- 電流消耗。ㄎ⑻幚砥鬟\行于32MHz時鐘,RX:27mA,TX:25mA);
- 掉電模式下僅0.9uA的電流消耗,可由外部中斷或?qū)崟r時鐘(RTC)喚醒;
- 掛起模式下耗電低于0.6uA,可由外部中斷喚醒;
- 有8個8—14位AD轉(zhuǎn)換器;
- AES加密協(xié)處理器;
- 1個符合IEEE 802.15.4 MAC定時器;
- 支持硬件調(diào)試;
CC2430結(jié)構(gòu)框圖如下: 圖3.6 CC2430結(jié)構(gòu)框圖[9] 本項目中主要用到的模塊有I/O模塊,中斷模塊,ADC模塊,RF模塊。各模塊介紹如下: I/O:CC2430有21個數(shù)字輸入/輸出引腳,可以配置為通用的數(shù)字I/O或者是復(fù)用為外圍設(shè)備管腳與ADC、定時器或USART等相連。這些I/O口的使用可以通過一組配置寄存器完全由用戶軟件來設(shè)置。 中斷:CC2430的CPU有18個中斷源,每個中斷源有它自己的、位于一系列SFR中的中斷請求。 ADC:CC2430支持14位的ADC,包括1個參考電壓發(fā)生器、8個獨立可配置通道、電壓發(fā)生器和通過DMA模式把轉(zhuǎn)換結(jié)果寫入內(nèi)存的控制器。 RF:CC2430無線通信的核心部分是CC2420射頻收發(fā)器。 2.2.4 微波模塊HB100[13]HB100多普勒微波傳感器是Agilis通信技術(shù)公司開發(fā)成功的多譜勒移動傳感模塊,內(nèi)部由GAS FET介質(zhì)諧振振動器(DRO)微波振蕩源(10.525GHz)、功率分配器、發(fā)射天線、接收天線、混頻器、檢波器等電路組成。 在HB100的輸出端(IF)會有三種類型的信號輸出: 當有物體在微波檢測信號的覆蓋范圍內(nèi)移動時,在IF端有多普勒信號輸出,該信號為低頻信號,強度很弱,一般在毫伏級。由多普勒頻移公式 Fd = 2v/λ= 2vf/c 可知,當f=10.525GHz時,回波信號的多普勒頻率為 Fd=19.49v,其中v的單位為km/h。實際測試,HB100的輸出頻率為70Hz/m.s。低頻信號經(jīng)過低通放大器選頻放大,即可得到目標物體移動信號。 傳感器模塊的內(nèi)部電路以及周圍環(huán)境會產(chǎn)生一些噪聲。可能的噪聲來源有電源及熱電噪聲、振蕩器諧波混頻干擾、微帶雷達的固有干擾等。 IF輸出端會產(chǎn)生電壓為0.1V左右的直流信號,該信號的極性可以是正的也可以是負的。因此在IF信號輸出和低頻放大器之間采用交流耦合的方式進行連接,以濾除直流的干擾信號。 IF信號的輸出幅度與運動物體的大小、距離有關(guān),輸出幅度與距離的平方近似成反比例關(guān)系。物體相對于傳感器模塊的徑向運動速度越快,IF的輸出信號頻率越高,而且基本滿足多普勒頻移公式。 利用多普勒原理,通過對回波信號進行混頻,檢波等信號處理得到多普勒頻移。由多普勒傳感器輸出的IF信號,其中的多普勒頻移信號需要做進一步的處理,才能夠?qū)崿F(xiàn)對目標速度的估計。現(xiàn)在已有的多普勒信號的處理技術(shù)主要有頻率跟蹤法、計數(shù)法、快速傅里葉變換法、濾波器組法、頻譜分析法等方法[7]。本項目主要是檢測公路上車輛的有無和速度的范圍,對速度測量的精度以及噪聲的要求相對較低,要測量的頻率也比較低;而且裝置要求簡單、低成本,因此系統(tǒng)選用比較經(jīng)濟實用的計數(shù)法進行運動目標速度的測量。 IF輸出的脈動信號是電壓值非常低且連續(xù)變化的模擬信號,該信號需要經(jīng)過放大才能做進一步的處理。而且在放大的同時,必須對信號進行濾波,去掉高頻和甚低頻的干擾信號。經(jīng)過放大和濾波后的經(jīng)過放大處理后的信號與比較器的門限電平相比較,將幅值連續(xù)的模擬信號轉(zhuǎn)化成“0” 、“1” 信號,然后才能送到單片機進行計數(shù)處理。 2.3 本章小結(jié)本章中主要介紹了項目的整體設(shè)計方案,包括對主控節(jié)點和路燈節(jié)點的設(shè)計,給出了系統(tǒng)、主控節(jié)點以及路燈節(jié)點框架圖,同時還介紹了系統(tǒng)所使用的主要器件,包括主控節(jié)點的XC167CI和CC2420以及路燈節(jié)點的CC2430和HB100模塊,說明了各個器件的主要功能。
第三章 Zigbee智能路燈控制系統(tǒng)方案設(shè)計
第四章 路燈控制系統(tǒng)軟硬件設(shè)計 路燈控制系統(tǒng)軟硬件設(shè)計本章主要講述路燈系統(tǒng)的軟硬件系統(tǒng)的設(shè)計實現(xiàn),包括主控節(jié)點和路燈節(jié)點的硬件電路以及軟件系統(tǒng)設(shè)計。 3.1 主控節(jié)點硬件電路設(shè)計根據(jù)上一章中設(shè)計的主控節(jié)點的功能框圖和器件的選型,主控節(jié)點使用CC2420和路燈節(jié)點通信,使用XC167CI從CC2420中讀取接收到的信息并進行處理然后發(fā)送給上位機,同時XC167CI可以接收上位機的命令并寫入到CC2420中發(fā)送給路燈節(jié)點。主控節(jié)點的電路設(shè)計如下: 圖4.1 XC167與CC2420連接圖 XC167CI和CC2420之間的通信是使用SPI總線進行的,此外,CC2420還有一些狀態(tài)引腳需要連接到XC167CI引腳上,供XC167CI查詢CC2420當前的狀態(tài)。XC167CI和PC的通信是使用串口進行的,串口是XC167CI內(nèi)部集成的異步/同步串行接口ASC模塊。 3.2 路燈節(jié)點硬件電路設(shè)計根據(jù)路燈節(jié)點的功能框圖,路燈節(jié)點用到的器件有CC2430、HB100、光敏電阻等,其中CC2430是節(jié)點的主控芯片,HB100用于車輛人流的檢測,光敏電阻用于光線強度的檢測。 3.2.1 CC2430模塊電路CC2430模塊用于控制整個路燈節(jié)點系統(tǒng),負責對外界數(shù)據(jù)的采集、和其他節(jié)點進行通信以及控制路燈的點亮和熄滅。與外設(shè)的連接的引腳主要有:電源引腳,復(fù)位引腳,在線調(diào)試支持引腳,用于接收微波模塊數(shù)據(jù)的P0_5引腳,用于模擬SPI與LCD通信的P1_0、P0_0、P0_2、P0_4和P0_6引腳,以及用于光感應(yīng)模塊ADC的P0_7引腳。CC2430模塊實際應(yīng)用電路圖如下: 圖4.2 CC2430應(yīng)用電路 3.2.2 微波檢測電路由于HB100的輸出信號過于微弱,需要對信號進行放大,系統(tǒng)對HB100輸出的信號進行了三級放大,并對高頻和低頻進行濾波,只留下頻率合適的中頻信號,而且由于單片機只能處理數(shù)字信號,因此在放大信號之后添加了電壓比較電路,進行電壓比較,使最終輸入到單片機上數(shù)據(jù)成為數(shù)字信號。詳細電路設(shè)計如下圖所示: 圖4.3 微波模塊電路 3.2.3 光感應(yīng)模塊光敏電阻器是利用半導體的光電效應(yīng)制成的一種電阻值隨照射光的強弱而改變的電阻器;照射光強,其電阻值減小,照射光弱,則電阻值增大。系統(tǒng)使用CC2430的ADC模塊對光敏電阻的輸入值進行采樣,然后進行數(shù)據(jù)處理。模塊電路如下圖: 圖4.4 光感應(yīng)電路 3.2.4 路燈控制路燈的控制使用CC2430的一個通用I/O引腳控制一個三極管的基級,從而實現(xiàn)控制路燈點亮和熄滅的控制。其電路圖如下: 圖4.5 路燈控制電路 3.2.5 信息顯示模塊信息顯示使用Nokia5110LCD,通過SPI總線與CC2430模塊相連,主要用于顯示節(jié)點當前信息,包括節(jié)點編號、光線強弱等。詳細電路如下: 圖4.6 LCD連接圖 3.2.6 其他電路設(shè)計除了以上各模塊電路,路燈節(jié)點還需其他電路支持,有電源模塊,SoCDebuger。 電源模塊如下圖,圖中采用LM1117-3.3和LM1117-5分別實現(xiàn)從外輸入電壓到3.3V和5V的板上電壓輸出。同時有兩個LED燈顯示電源狀態(tài)。 圖4.7 電源模塊電路 SoCDebuger模塊如下圖,此模塊用于CC2430模塊的在線仿真和程序下載。 圖4.8 SoCDebuger模塊 3.3 主控節(jié)點軟件系統(tǒng)設(shè)計主控節(jié)點主要用于和上位機通信、接收節(jié)點發(fā)送過來的信息以及發(fā)送對路燈的控制信息。主控節(jié)點使用XC167CI微控制器和CC2420無線收發(fā)器,在XC167CI上運行嵌入式操作系統(tǒng)FreeRTOS對系統(tǒng)進行任務(wù)、時間和內(nèi)存的管理。 3.3.1 軟件系統(tǒng)整體流程主控節(jié)點的軟件系統(tǒng)采用FreeRTOS嵌入式操作系統(tǒng)。在操作系統(tǒng)開始運行之前,需要對硬件和軟件進行初始化,流程如下: 圖4.9 主控節(jié)點軟件系統(tǒng)整體流程圖 FreeRTOS操作系統(tǒng)開始運行前,首先初始化單片機,完成對各引腳的定義,然后對CC2420進行初始化配置,創(chuàng)建系統(tǒng)任務(wù)CC2420_Send、CC2420_Receive、UART_Send,分別用于發(fā)送無線信息、接收無線信息、向PC發(fā)送信息。系統(tǒng)開始運行后,由操作系統(tǒng)進行多任務(wù)管理,根據(jù)各個任務(wù)的優(yōu)先級進行任務(wù)切換。此外,系統(tǒng)中存在串口中斷用于接收PC的控制信息。 3.3.2 FreeRTOS內(nèi)核運行過程[14]在嵌入式操作系統(tǒng)中,必須依賴硬件定時器產(chǎn)生固定時間間隔的時鐘中斷以產(chǎn)生系統(tǒng)時鐘節(jié)拍,時鐘節(jié)拍是系統(tǒng)心臟的脈動。系統(tǒng)時鐘節(jié)拍使得內(nèi)核可以以時鐘節(jié)拍為單位延時任務(wù),以及當任務(wù)等待某個事件時,提供等待超時的依據(jù)。 在系統(tǒng)開始運行前需要對硬件進行初始化,之后使用xTaskCreate函數(shù)建立系統(tǒng)任務(wù)。創(chuàng)建任務(wù)時系統(tǒng)為任務(wù)分配一塊內(nèi)存,用來保存CPU寄存器和任務(wù)程序的地址,然后將堆棧的地址存入任務(wù)控制塊,這樣任務(wù)程序代碼、任務(wù)堆棧和任務(wù)控制塊就聯(lián)系成一個整體了。操作系統(tǒng)內(nèi)核可以通過任務(wù)控制塊找到任務(wù)堆棧,從任務(wù)堆棧中取得任務(wù)代碼地址。其基本的結(jié)構(gòu)如下圖所示: 圖4.10 任務(wù)的內(nèi)存結(jié)構(gòu)[2] 任務(wù)建立完成之后調(diào)用vTaskStartScheduler函數(shù)開始系統(tǒng)的運行。vTaskStartScheduler函數(shù)會首先建立空閑任務(wù),然后對系統(tǒng)一些變量進行初始化。之后調(diào)用xPortStartScheduler函數(shù),開始系統(tǒng)任務(wù)的調(diào)度,系統(tǒng)開始運行。 系統(tǒng)運行過程中,任務(wù)的切換有兩種情況:一種是任務(wù)級切換,另一種是中斷級切換。任務(wù)級切換是指當前任務(wù)運行完畢,即切換到下一個準備就緒的最高優(yōu)先級任務(wù)。任務(wù)級切換的大致流程如下: - 當前任務(wù)完成,調(diào)用vTaskDelay函數(shù)進行延時;
- vTaskDelay函數(shù)將當前任務(wù)移出就緒隊列,并修改當前任務(wù)的參數(shù);
- 最終調(diào)用vPortYield函數(shù)將任務(wù)的各種參數(shù)和寄存器壓入堆棧,函數(shù)中再調(diào)用vTaskSwitchContext函數(shù)進行任務(wù)調(diào)度, 選出高優(yōu)先級就緒任務(wù),vPortYield函數(shù)從新任務(wù)的堆棧中恢復(fù)寄存器;
- 運行高優(yōu)先級任務(wù)。
任務(wù)級切換過程如下圖所示: 圖4.11 任務(wù)級切換過程 中斷級切換是指在中斷處理程序運行過程中,有一些任務(wù)進入就緒狀態(tài),因而需要重新進行任務(wù)調(diào)度,找到最高優(yōu)先級任務(wù)并進行切換。中斷處理函數(shù)的結(jié)構(gòu)如下: - 調(diào)用函數(shù)vTaskSuspendAll, 掛起所有任務(wù);
- 用戶中斷處理代碼;
- 調(diào)用函數(shù)xTaskResumeAll退出中斷處理。
函數(shù)xTaskResumeAll過程如下圖所示: 圖4.12 函數(shù)xTaskResumeAll過程 3.3.3 FreeTRTOS移植[14]操作系統(tǒng)的移植,就是使一個操作系統(tǒng)內(nèi)核能在某個微處理器或微控制器上運行。操作系統(tǒng)的移植需要滿足以下條件: - 目標平臺支持堆棧操作,有CPU內(nèi)部寄存器入棧、出棧指令;
- 使用的C編譯器支持內(nèi)嵌匯編或者C語言可擴展連接匯編模塊,使得開關(guān)系統(tǒng)中斷能在C語言中實現(xiàn),從而可以通過使用C調(diào)用進入和退出臨界區(qū)代碼;
- 目標平臺的C編譯器可以產(chǎn)生可重入代碼;
- 目標平臺必須支持硬件定時中斷。
移植需要使用C和匯編語言寫一些與處理器相關(guān)代碼,這是因為嵌入式操作系統(tǒng)在處理CPU內(nèi)部寄存器時只能通過匯編語言來實現(xiàn)。FreeRTOS在XC167上的移植大致由3個文件實現(xiàn):一個.h文件定義編譯器相關(guān)的數(shù)據(jù)類型和中斷處理的宏定義;一個.c文件實現(xiàn)任務(wù)的堆棧初始化的請求;一個.asm匯編文件實現(xiàn)具體的任務(wù)切換、系統(tǒng)心跳的管理。 PORTMACRO.H文件包括數(shù)據(jù)類型的定義,堆棧單位定義,堆棧增長方向定義,臨界段代碼的聲明,開關(guān)中斷的宏定義以及進行任務(wù)切換的宏定義等。 PORT.C文件主要包含任務(wù)堆棧初始化函數(shù)pxPortInitialiseStack、進入臨界段的函數(shù)portEXIT_CRITICAL和退出臨界段的函數(shù)portENTER_CRITICAL。 PORTEXT.ASM文件是對處理器的寄存器進行操作,所以必須使用匯編語言來編寫,主要包含3個子函數(shù): - 系統(tǒng)啟動函數(shù)xPortStartScheduler
vTaskStartScheduler函數(shù)通過調(diào)用xPortStartScheduler函數(shù)來使系統(tǒng)開始運行。其功能是:對系統(tǒng)節(jié)拍定時器、臨界段計數(shù)器usCriticalNesting進行初始化;從就緒表中選出優(yōu)先級最高的任務(wù),將任務(wù)的堆棧指針裝載到SP中,并強制中斷返回。這樣就緒的最高優(yōu)先級任務(wù)就如同從中斷中返回到運行態(tài)一樣,系統(tǒng)開始運行。 - 任務(wù)級切換函數(shù)vPortYield
- 時鐘節(jié)拍服務(wù)函數(shù)vTickISR,程序流程如下:
圖4.13 函數(shù)vTickISR的流程圖 - 保存當前CPU寄存器的值到當前最高優(yōu)先級的任務(wù)堆棧中;
- 先調(diào)用函數(shù)vTaskIncrementTick進行任務(wù)時間管理,使延時的任務(wù)進入就緒或者任務(wù)的等待時間-1;
- 再調(diào)用函數(shù)vTaskSwitchContext選出已就緒的最高優(yōu)先級任務(wù);
- 從最高優(yōu)先級的堆棧中恢復(fù)CPU寄存器,完成任務(wù)切換;
- 運行高優(yōu)先級任務(wù)。
操作系統(tǒng)核心功能就是完成任務(wù)的切換,而任務(wù)的切換需要用到堆棧。堆棧分為兩種:系統(tǒng)堆棧和用戶堆棧。在XC167CI32F微控制器中,發(fā)生函數(shù)調(diào)用時,使用系統(tǒng)堆棧來保存調(diào)用函數(shù)的PSW(程序狀態(tài)字),CSP(堆棧段指針)和IP(指令指針)。指針SP用于指示當前系統(tǒng)堆棧的棧頂。用戶堆棧用于保存任務(wù)被打斷時的微控制器狀態(tài),這些狀態(tài)包含系統(tǒng)堆棧的信息以及R1~R15、CP、DPP3、DPP2、DPP0、MDC、MDH、MDL、PSW.MULIP等寄存器的值。用戶堆棧由(DPP1:R0)來指示。 任務(wù)切換是將當前任務(wù)的運行狀態(tài)保存到任務(wù)堆棧,而從當前就緒的最高優(yōu)先級任務(wù)的任務(wù)堆棧中恢復(fù)系統(tǒng)堆棧以及對應(yīng)的寄存器,然后進行中斷返回。當前任務(wù)的狀態(tài)存在于寄存器R1~R15,CP,DPP3,DPP2,DPP0,MDC,MDH,MDL,PSW.MULIP,PSW,CSP,IP寄存器中;其中用戶堆棧的頁指針保存在DPP1中,而頁偏移指針保存在R0中。任務(wù)切換時XC167CI的堆棧操作[2]示意圖如下圖所示: 圖4.14 任務(wù)切換時的堆棧操作示意圖 在進行任務(wù)切換時,首先將當前運行的任務(wù)的各個狀態(tài)寄存器以及系統(tǒng)堆棧的內(nèi)容壓入到用戶堆棧中,然后改變用戶堆棧指針,使其指向?qū)⒁\行的任務(wù)的用戶堆棧,再從用戶堆棧中恢復(fù)各個寄存器的狀態(tài)以及系統(tǒng)堆棧中PSW、CSP、IP的內(nèi)容,之后進行中斷返回,這樣就完成了任務(wù)的切換。 3.4 Zigbee路燈節(jié)點無線通信設(shè)計根據(jù)路燈節(jié)點的功能,路燈節(jié)點的軟件系統(tǒng)劃分為以下幾個模塊:無線通信模塊、信息顯示模塊、光感應(yīng)模塊、車輛人流檢測模塊,如下圖所示: 圖4.15路燈節(jié)點簡化模塊圖 在路燈節(jié)點軟件系統(tǒng)中,接收無線信息使用中斷方式,而其他模塊的使用輪詢的方式,詳細邏輯設(shè)計如下圖所示。 圖4.16路燈節(jié)點軟件系統(tǒng)邏輯 在系統(tǒng)開始上電之后,開始硬件的初始化,之后開始循環(huán)檢測各個模塊采集到的數(shù)據(jù),并對數(shù)據(jù)進行處理,設(shè)置相應(yīng)的標志位。在系統(tǒng)的最后,檢測系統(tǒng)當前模式,處于自主控制模式時,系統(tǒng)根據(jù)當前系統(tǒng)的信息點亮或熄滅路燈;處于PC控制模式時,若需要點亮路燈則向PC控制端發(fā)送請求信息,否則結(jié)束循環(huán),進入下一次輪詢。 對于無線信息的接收,系統(tǒng)采用中斷的方式,并在中斷中做信息處理,中斷過程如下圖: 圖4.17中斷接收信息 系統(tǒng)發(fā)送或接收信息之后都會觸發(fā)中斷。對于發(fā)送中斷,將閃爍LED燈提醒用戶。而發(fā)生接收中斷時,首先將信息讀出,然后如果CRC正確,則進行地址識別,若正確則根據(jù)接收到的信息修改系統(tǒng)信息,否則中斷結(jié)束。 3.5 本章小結(jié)本章詳細介紹了主控節(jié)點和路燈節(jié)點的軟硬件系統(tǒng)的設(shè)計,給出了具體的硬件電路設(shè)計,同時對軟件系統(tǒng)的程序流程進行了詳細的分析。在主控節(jié)點,使用微控制器XC167CI和無線收發(fā)器CC2420組成了硬件系統(tǒng),使用FreeRTOS對系統(tǒng)的多任務(wù)進行管理,完成了軟件系統(tǒng)的設(shè)計。在路燈節(jié)點,使用CC2430和HB100等器件設(shè)計了硬件電路,同時分析完成了軟件系統(tǒng)的程序流程.
第四章 路燈控制系統(tǒng)軟硬件設(shè)計
第五章 系統(tǒng)軟硬件綜合調(diào)試 系統(tǒng)軟硬件綜合調(diào)試在完成了軟件和硬件系統(tǒng)的設(shè)計之后,本章主要講述軟硬件系統(tǒng)的綜合調(diào)試過程及結(jié)果。 4.1 軟件開發(fā)環(huán)境介紹主控節(jié)點的單片機XC167CI的開發(fā)環(huán)境是Keil uVision3以及DAvE。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。DAvE包含基于DAVE™Apps的自動代碼生成器、免費GNU編譯器、免費調(diào)試器以及Flash加載器等。DAvE主要用于自動生成XC167CI的配置代碼,方便工程的創(chuàng)建。DAvE軟件視圖如下: 圖5.1 DAvE軟件 我們只需要完成各個模塊參數(shù)的設(shè)置,單片機XC167CI的初始化配置代碼就可由DAvE自動生成。在配置代碼生成之后,使用Keil uVision3開始應(yīng)用開發(fā)。 安裝DAS后,可以使用Keil uVision3對XC167CI進行在線調(diào)試,支持斷點設(shè)置和變量寄存器的讀取。 路燈節(jié)點的芯片CC2430的集成開發(fā)環(huán)境為IAR Embedded Wordbench for MCS-51。IAR Embedded Workbench是一個高效的C/C++編譯器,也是多種8位、16位、32位的微控制器的調(diào)試工具。 圖5.2 IAR軟件 IAR Embedded Workbench為CC2430提供了在線調(diào)試的功能,同樣允許在程序的運行過程中設(shè)置斷點,并且可以在斷點處讀取芯片中各個變量及寄存器的值。 4.2 Zigbee路燈節(jié)點調(diào)試路燈節(jié)點的主要功能有無線通信、車輛人流檢測、光感應(yīng)、信息顯示。 無線通信功能的測試使用兩個節(jié)點,節(jié)點間相互發(fā)送信息,在IAR Embedded Workbench中設(shè)置斷點并讀取數(shù)據(jù),對數(shù)據(jù)加以驗證。經(jīng)驗證,路燈節(jié)點無線通信功能正常,通信距離達到50m,能滿足系統(tǒng)對無線通信功能的需求。 車輛人流的檢測使用HB100模塊,主要檢查多普勒模塊能否正確接收回波信號并輸出多普勒信號,經(jīng)放大調(diào)整能否得到正確的數(shù)字信號。通過測試模塊輸出引腳的波形圖,可以知道模塊是否正常工作。經(jīng)測試,模塊輸出的波形圖和輸入到CC2430引腳的波形圖均正確無誤,對車輛人流的檢測距離達到15m,可以滿足系統(tǒng)的需求。 光感應(yīng)模塊是根據(jù)光敏電阻的工作原理設(shè)計的,然后使用CC2430芯片的ADC功能讀出電壓。光敏電阻和一個普通電阻串聯(lián)組成了電路,通過測試光敏電阻兩端的電壓即可知道模塊是否正常工作。經(jīng)測試,當光照強度小于100Lux時,通過CC2430的ADC轉(zhuǎn)換之后可以判斷當前光照不足,此模塊正常工作。 信息顯示模塊使用Nokia5110LCD,通過SPI總線和CC2430通信。CC2430控制LCD的顯示信息。經(jīng)測試,模塊可以顯示路燈節(jié)點編號和當前光照強度,正常工作,能滿足節(jié)點信息顯示功能。 各模塊組合實物圖如下所示,將根據(jù)功能編寫的程序經(jīng)過IAR Embedded Workbench編譯下載到CC2430中之后,經(jīng)過調(diào)試,路燈節(jié)點正常工作。至此,路燈節(jié)點的設(shè)計完成。 圖5.3 路燈節(jié)點模塊組合圖 圖5.4 路燈節(jié)點整體實物圖 4.3 主控節(jié)點功能調(diào)試主控節(jié)點的功能包括無線通信、串口通信。無線通信部分是使用CC2420芯片。芯片使用SPI總線和單片機XC167CI通信,XC167CI可以從CC2420中讀取FIFO和配置寄存器的內(nèi)容。在初始化配置CC2420時,可以通過XC167CI的在線調(diào)試功能讀出寫入CC2420的數(shù)據(jù),以驗證XC167CI和CC2420的通信是否正確。驗證CC2420的通信功能時,使用一個路燈節(jié)點不斷發(fā)送信息,用XC167CI的在線調(diào)試功能讀取CC2420的接收FIFO,驗證模塊信息接收是否正確;用XC168CI控制CC2420不斷發(fā)送信息,使用路燈節(jié)點接收信息,在路燈節(jié)點中對接收到的信息進行驗證,可以判斷模塊信息發(fā)送是否正常。經(jīng)過一系列的調(diào)試驗證,模塊工作正常,能滿足系統(tǒng)接收發(fā)送信息的功能要求。 串口通信功能使用單片機XC167CI的片上異步/同步串行接口模塊ASC0。模塊支持全雙工異步通信和半雙工同步通信,系統(tǒng)使用全雙工異步通信方式和PC進行通信。模塊的測試使用PC通過串口向XC167CI發(fā)送信息,XC167CI接收到信息后經(jīng)處理后在回發(fā)給PC。經(jīng)驗證,模塊工作正常,PC接受的數(shù)據(jù)如下所示,可以使用。 圖5.5 主控節(jié)點收到的數(shù)據(jù) 系統(tǒng)的整體組合如下圖,使用Keil uVision3將編寫的程序編譯下載到XC167CI中之后,再經(jīng)過調(diào)試,系統(tǒng)正常工作,滿足設(shè)計時的功能需求。 圖5.6 主控節(jié)點整體實物圖 4.4 系統(tǒng)聯(lián)合調(diào)試一個完整的路燈控制系統(tǒng)模型由3個路燈節(jié)點和1個PC控制端組成。系統(tǒng)網(wǎng)絡(luò)通信圖如下所示,PC控制端用于接收路燈節(jié)點發(fā)送的路燈信息和發(fā)送對路燈的控制信息。路燈節(jié)點對路燈周圍的環(huán)境數(shù)據(jù)進行采樣之后根據(jù)需要點亮或熄滅路燈,并將信息發(fā)送給相鄰路燈節(jié)點和主控節(jié)點。 圖5.7 系統(tǒng)調(diào)試通信圖 針對系統(tǒng)的功能,設(shè)計調(diào)試方案流程,如下圖所示。首先當系統(tǒng)開始運行時,路燈節(jié)點不斷向PC控制端發(fā)送路燈信息,PC控制端負責將信息顯示在PC上,以供監(jiān)測路燈的狀況。由于路燈同時也在向相鄰節(jié)點發(fā)送信息,可以驗證路燈節(jié)點之間的通信是否正確。最后使用PC控制端向各個節(jié)點發(fā)送信息,通過觀察各個節(jié)點的狀態(tài)可以驗證PC控制端的功能是否正常。 圖5.8 系統(tǒng)整體調(diào)試流程圖 將系統(tǒng)整體組合,經(jīng)過以上流程的測試驗證,各個節(jié)點的功能模塊正常工作,節(jié)點間的通信距離達到50m,每個節(jié)點對車輛人流的檢測達到15m,對光線的檢測是100Lux,各項功能滿足系統(tǒng)對路燈節(jié)點的要求;主控節(jié)點工作正常,能夠與各個節(jié)點進行通信,可以通過串口接收路燈節(jié)點的信息以及設(shè)置路燈節(jié)點的狀態(tài),各項功能滿足系統(tǒng)的設(shè)計要求。至此,智能路燈控制系統(tǒng)設(shè)計完成。 4.5 本章小結(jié)本章主要講述了軟硬件系統(tǒng)的調(diào)試以及系統(tǒng)的整體調(diào)試。經(jīng)過對各個系統(tǒng)模塊的調(diào)試驗證,以及對系統(tǒng)的整體調(diào)試測試,同時給出了測試結(jié)果,驗證了系統(tǒng)各個功能模塊正常工作,滿足系統(tǒng)的設(shè)計要求.
第五章 系統(tǒng)軟硬件綜合調(diào)試
第六章 結(jié)束語 結(jié)束語本次論文工作主要完成了智能路燈控制系統(tǒng)的設(shè)計。在系統(tǒng)的設(shè)計過程中,學習使用了無線通信、ADC、SPI總線、信號放大等技術(shù),并且完成了嵌入式操作系統(tǒng)FreeRTOS在XC167上的移植。 在本次論文工作中,設(shè)計了路燈系統(tǒng)的主控節(jié)點和路燈節(jié)點的電路圖。主控節(jié)點使用XC167CI和CC2420等器件,設(shè)計實現(xiàn)了CC2420和XC167CI的通信電路,軟件方面移植了FreeRTOS到XC167CI上對系統(tǒng)的多任務(wù)進行管理。路燈節(jié)點主要使用了CC2430、HB100和LCD等器件,完成了CC2430與外設(shè)的連接電路以及HB100、LCD、光敏電阻等器件的驅(qū)動電路,軟件方面實現(xiàn)了各個模塊的數(shù)據(jù)采集和處理。 論文工作基本完成了路燈智能控制功能,但是仍有一些問題需要解決,如節(jié)點之間的組網(wǎng)問題,節(jié)點之間的地址識別使用軟件方式,缺乏上位機操作軟件等。在接下來的工作中,將努力完善系統(tǒng),對系統(tǒng)不合理不完善之處進行修改。 在系統(tǒng)的實現(xiàn)過程中,遇到了很多問題,主要是自己對模擬電路知識學習的不夠,例如信號的放大電路,對于一些原理只是限于書本理論,不能很好的應(yīng)用于實踐中,需要多學習在實踐中使用理論知識。
完整的Word格式文檔51黑下載地址:
基于zigbee的智能路燈控制系統(tǒng).doc
(2.96 MB, 下載次數(shù): 112)
2018-5-9 21:47 上傳
點擊文件名下載附件
|