您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>無線通信>

基于CC1101的分布式節(jié)能測控網(wǎng)絡的設計 - 全文

2011年09月27日 12:07 本站整理 作者:秩名 用戶評論(0

引言

  CC1101是TI公司生產(chǎn)的一種單片、低成本的UHF頻段無線收發(fā)器,基于IEEE 802.15.4標準開發(fā),主要應用領域為低功耗無線測控。芯片具有無線電喚醒(WOR)、數(shù)據(jù)包處理、數(shù)據(jù)緩沖、突發(fā)數(shù)據(jù)傳輸、清晰信道*估、鏈接質(zhì)量指示等功能,內(nèi)部的參數(shù)寄存器和數(shù)據(jù)傳輸FIFO可通過SPI接口控制,所需的周邊器件很少,使用簡單。受限于發(fā)射功率和天線結構,CC1101的視距傳輸距離一般在400~800 m范圍內(nèi),超出此距離范圍則必須由中繼設備對無線信號進行放大、轉(zhuǎn)發(fā)。本文設計的一種分布式無線測控系統(tǒng)通過局域網(wǎng)對中繼設備進行互連,大大降低了系統(tǒng)的無線通信協(xié)議復雜性,同時達到了使用無線通信時伴隨的低功耗設計要求,具備很強的實際工程應用價值。

  1 總體設計方案

  測控網(wǎng)絡采用3級結構,網(wǎng)絡拓撲結構如圖1所示。

?


  最底層的測控基站負責進行工作現(xiàn)場的數(shù)據(jù)采集和控制指令的執(zhí)行,測控基站上安裝有無線收發(fā)器芯片CC1101和天線,通過空中無線信道與中繼節(jié)點通信。測控基站采用電池供電

  中間層的中繼節(jié)點負責接收中心計算機發(fā)出的控制指令,向底層的測控基站轉(zhuǎn)發(fā),或者接收底層測控基站發(fā)出的測量數(shù)據(jù),向中心計算機轉(zhuǎn)發(fā)。中繼節(jié)點上安裝有無線收發(fā)器芯片CC1101和天線,通過空中無線信道與底層的測控基站通信;同時中繼節(jié)點也具備訪問局域網(wǎng)的功能,可以通過外部局域網(wǎng)與中心計算機通信。中繼節(jié)點采用市電經(jīng)ACDC模塊變換出的直流電壓供電。

  中心計算機負責采集所有測控基站的測量數(shù)據(jù),進行數(shù)據(jù)管理,也可以向測控基站發(fā)出控制指令。中心計算機通過網(wǎng)絡接口連接到外部局域網(wǎng),與中繼節(jié)點通信。中心計算機采用市電交流供電。

  2 通信協(xié)議總體設計

  中繼節(jié)點與中心計算機通過有線局域網(wǎng)通信,類似協(xié)議工程上有比較成熟的方案,本文不再詳述。

  中繼節(jié)點與測控基站的無線鏈路層協(xié)議涉及到防沖突、節(jié)能等問題,直接關系到系統(tǒng)可靠性、可用性指標最終實現(xiàn),是系統(tǒng)通信協(xié)議設計的重點。

  系統(tǒng)中依靠無線信道傳輸?shù)臄?shù)據(jù)歸結為4種,簡述如下:

 ?、倜顜.斨欣^節(jié)點向測控基站下傳控制指令時發(fā)出。

 ?、诨緫饚?。當測控基站收到中繼節(jié)點下傳的控制指令后,需要向中繼節(jié)點返回一個基站應答幀,告知指令執(zhí)行情況。

  ③中繼應答幀。當測控基站向中繼節(jié)點上傳狀態(tài)信息后,中繼節(jié)點需要向測控基站返回一個中繼應答幀,告知已經(jīng)收到狀態(tài)信息。

 ?、軠y量幀。當測控基站測量到的工作現(xiàn)場數(shù)據(jù)發(fā)生改變后,必須向中繼節(jié)點發(fā)出測量幀,通知中繼節(jié)點向中心計算機聲明更新對應測控基站的記錄信息。

  為了簡化處理流程,系統(tǒng)中傳輸?shù)乃械臄?shù)據(jù)的幀格式統(tǒng)一采用如下所示的固定長度12字節(jié)的格式。

?


  由于CC1101通信時以數(shù)據(jù)包為最小處理單位,可以也設置CC1101的包長度為12字節(jié),借助CC1101的處理能力屏蔽掉對鏈路層級別以下的通信協(xié)議處理過程。

  數(shù)據(jù)幀內(nèi)部各數(shù)據(jù)域定義簡述如下:

 ?、偻筋^。標記一幀數(shù)據(jù)的開始,CC1101必須在收到與內(nèi)部設定的同步頭值相等的數(shù)據(jù)后才啟動內(nèi)部電路接收一個數(shù)據(jù)包。數(shù)據(jù)幀類型不同,同步頭數(shù)值也不同。

  ②地址。每個測控基站都由系統(tǒng)分配一個唯一的2字節(jié)標識地址,測控基站只響應地址等于本地標識地址的命令幀或中繼應答幀。

 ?、蹘愋?。用以區(qū)分本幀數(shù)據(jù)屬于4種類型中的哪一種。

 ?、軘?shù)據(jù)。本幀需要傳輸?shù)挠行?shù)據(jù),可以是中繼節(jié)點下傳給測控基站的指令,也可以是測控基站上傳給中繼節(jié)點的狀態(tài)。

  ⑤CRC。對數(shù)據(jù)幀前10個字節(jié)計算出一個2字節(jié)的校驗數(shù)據(jù),當接收端發(fā)現(xiàn)CRC校驗錯誤時將丟棄本幀數(shù)據(jù)。

  3 測控基站設計

  測控基站采用電池供電,處于無人職守的環(huán)境下工作,在設計方案中必須最大限度的考慮節(jié)能要求,特別是對無線收發(fā)器芯片CC1101進行低功耗設計,這主要通過精心設計測控基站和中繼節(jié)點間的無線通信鏈路協(xié)議來實現(xiàn)。

  測控基站使用TI公司的CC1101射頻收發(fā)器模塊作為無線通信接口,該模塊已集成了CC1101、外圍射頻電路和天線等硬件,只需直接通過SPI向其送入指令和數(shù)據(jù)即可。模塊使用26 MHz時鐘工作,通信頻段為433MHz,調(diào)制方式為GFSK,通信速率為250 kbps。

  3.1 接收協(xié)議節(jié)能設計

  CC1101具備WOR功能,使用該功能可以讓CC1101在睡眠態(tài)和接收態(tài)間自動輪流切換,如圖2所示,其中Time0為WOR周期,Time1為接收時間。由于在睡眠態(tài)時,CC1101的接收功耗電流僅為9.8μA,而接收態(tài)時功耗電流達16.5 mA,從節(jié)能的角度考慮,在使用WOR功能時,應該使睡眠態(tài)的工作時間占空比盡可能的大。

?


  但當CC1101處于睡眠態(tài)時,無線接收電路不工作,在此時間間隔內(nèi)無法收到從無線信道傳輸?shù)臄?shù)據(jù),影響通信的正確性。因此為保證可靠地接收數(shù)據(jù),必須保證在一個WOR周期內(nèi),接收態(tài)期間CC1101能收到至少一幀完整的數(shù)據(jù)。

  測控基站從中繼節(jié)點接收的控制命令幀長度為12字節(jié),當CC1101通信速率為250 kbps時,一個完整命令幀傳輸所需要的時間為:12×8/250=0.384(ms)。

  選定WOR模式的接收態(tài)占空比為0.781%時,假定在接收態(tài)需要保留5個完整命令幀的接收時間窗口以確保穩(wěn)定、可靠的收到一個完整命令幀,那么可以計算出WOR周期為:5×0.384/0.781%≈246(ms)。

  從CC1101的應用手冊上可知,WOR周期與CC1101內(nèi)部相關寄存器的值具有如下關系:

?


  式(1)中fosc為CC1101的工作時鐘頻率,為26 MHz,EVENT0為事件0計數(shù)器值,WOR_RES為計數(shù)器分辨率,一般可設置為0。這樣可以計算得到當WOR周期為246 ms時,EVENT0值為0x2150。

  當WOR模式的接收占空比為0.781%時,可以根據(jù)接收態(tài)和睡眠態(tài)分別的功耗電流計算出CC1101總的功耗電流:9.8×10-3×99.219%+16.5×0.781%=0.13(mA)。

  若測控基站使用兩節(jié)容量為2000 mAh的普通5號干電池供電,可以計算出在只供CC1101工作的情況下設備可連續(xù)工作時間為:2×2000/0.13≈30 770(小時)=3.5(年)。

  3.2 接收協(xié)議處理流程

  CC1101接收數(shù)據(jù)時設定同步頭內(nèi)容為0xEB90,這樣可以保證它只響應同步頭為0xEB90的類型的數(shù)據(jù)幀,其他類型的數(shù)據(jù)幀不會誤觸發(fā)CC1101,簡化測控基站軟件的協(xié)議處理流程。

  當需要接收命令幀時測控基站工作流程如圖3所示。測控基站默認處于等待接收狀態(tài),此時CC1101工作于WOR模式;當收到一個完整命令幀后,CC1101退出WOR工作模式,進入發(fā)送工作模式,同時測控基站控制軟件必須通過幀地址域判斷命令幀是否是發(fā)給本設備,若命令幀是發(fā)給本設備,需要執(zhí)行該命令并返回應答給中繼節(jié)點,然后設置CC1101重新進入WOR工作模式,若命令幀不是發(fā)給本設備,則直接設置CC1101進入WOR工作模式即可。


圖3 工作流程

  需要注意的是由于無線信道易受干擾,測控基站在收到中繼節(jié)點的命令幀后必須給中繼節(jié)點回送一個應答幀,確認命令幀執(zhí)行情況。為了防止應答幀引起其它測控基站的錯誤觸發(fā),應答幀同步頭與命令幀同步頭不同,為0x146F。

  3.3 發(fā)送協(xié)議處理流程

  當測控基站需要反饋控制命令執(zhí)行情況或主動上傳測量數(shù)據(jù)時,必須通過CC1101向外發(fā)送數(shù)據(jù)。為減少測控基站對無線信道的占用,只有在設備狀態(tài)產(chǎn)生變化時,測控基站才主動向中繼節(jié)點發(fā)出數(shù)據(jù)幀通知本設備產(chǎn)生了狀態(tài)變化,需要中繼節(jié)點向中心計算機登記該次變化。

  為了防止多個測控基站同時共用無線信道時發(fā)生沖突,必須對發(fā)送協(xié)議進行防沖突設計,這通過CC1101的載波偵聽功能實現(xiàn)。在每次需要發(fā)送數(shù)據(jù)前,CC1101檢測無線信道中載波功率電平值,并將電平值反映到RSSI寄存中,當測控基站發(fā)現(xiàn)RSSI電平高于某一閾值時,認為無線信道已被占用,將一直等待直到RSSI值低于閾值時才使用無線信道發(fā)送數(shù)據(jù)。

  使用載波偵聽功能,測控基站向中繼節(jié)點上傳測量數(shù)據(jù)時處理流程如圖4所示。由于需要上傳測量數(shù)據(jù)的時間占總工作時間的比例很小,CC1101不需工作在WOR模式以節(jié)約電能。為防止測量幀觸發(fā)其他處于接收命令狀態(tài)的測控基站,測量幀同步頭設置為0x1ACF。


圖4 發(fā)送協(xié)議處理流程

  4 中繼節(jié)點設計

  中繼節(jié)點使用Microchip公司PIC18FF66J60單片機進行局域網(wǎng)協(xié)議的處理和上級中心計算機協(xié)議的轉(zhuǎn)發(fā)控制,同時使用CC1101與下級的測控基站通信。

  PIC18F66J60芯片具有嵌入式以太網(wǎng)控制器模塊,是一個完整的以太網(wǎng)連接解決方案,要完全實現(xiàn)介質(zhì)訪問控制和物理層收發(fā)器模塊功能,只需使用2個脈沖變壓器和一些無源器件即可將單片機直接與以太網(wǎng)相連。該單片機內(nèi)部已經(jīng)嵌入了TCP/IP協(xié)議棧,上電后協(xié)議棧自動運行,單片機軟件只需調(diào)用相應的TCP/IP處理函數(shù)即可。

  中繼節(jié)點的硬件電路如圖5所示,在與局域網(wǎng)通信端,PIC18F66J60單片機的4個以太網(wǎng)專用引腳TPOUT+、TPOUT-、TPIN+、TPIN-與網(wǎng)絡變壓器直接相連;在與無線信道通信端,單片機通過SPI引腳與CC1101直接相連。

?


  中繼節(jié)點采用220 V市電經(jīng).AC—DC轉(zhuǎn)換后供電,沒有節(jié)能處理的要求,CC1101不需使用WOR工作模式,處于常開狀態(tài),最大限度的保證通信鏈路的可用性。默認狀態(tài)下中繼節(jié)點在與測控基站通信的過程中處于被動地位,隨時準備接收測控基站上傳的測量數(shù)據(jù)幀。

  中繼節(jié)點時工作流程如圖6所示,它不斷監(jiān)視本區(qū)域內(nèi)的無線基站狀態(tài),只有當發(fā)現(xiàn)測控基站測量數(shù)據(jù)有改變時才向中心計算機轉(zhuǎn)發(fā)數(shù)據(jù);同時響應中心計算機發(fā)送的控制指令,向本區(qū)域內(nèi)的無線基站轉(zhuǎn)發(fā)。

?


  中繼節(jié)點使用PIC18F66J60單片機TCP/IP協(xié)議棧與中心計算機通信的軟件處理步驟簡介如下。

  ①PIC18F66J60單片機根據(jù)中心計算機IP地址向局域網(wǎng)廣播發(fā)出地址解析(ARP)包。中心計算機工作在TCPSERVER的模式下,應答中繼節(jié)點發(fā)送的ARP解析請求,向中繼節(jié)點回送MAC地址。相關函數(shù)調(diào)用為:voidARPResolve(IP ADDR*IPAddr),發(fā)出地址解析包,IPAddr為模塊的IP地址。BOOL ARPIsResolved(IP_ADDR*IPAddr,MAC ADDR*MACAddr);IPAddr,MACAddr為中心計算機的IP地址與MAC地址。

  ②建立中繼節(jié)點與中心計算機的連接,查看連接是否建立與斷開連接。相關函數(shù)調(diào)用為:TCP_SOCKETTCPConnect(NODE_INFO*remote,TCP_port port),建立連接。BOOL TCPIsConnected(TCP_sockethTCP),查看是否建立連接。void TCPDisconnect(TCP_SOCKET hTCP),斷開連接。

 ?、跴IC18F66J60單片機檢查網(wǎng)口緩沖區(qū)中是否有數(shù)據(jù)收到,如果有數(shù)據(jù),將數(shù)據(jù)組合成命令幀。函數(shù)調(diào)用為:BOOL TCPIsGetReady(TCP SOCKET socket),檢測網(wǎng)口是否收到數(shù)據(jù)。BOOL TCPGet(TCP_SOCKET、socket,BYTE*byte),從網(wǎng)口緩沖區(qū)中讀出一個字節(jié)數(shù)據(jù)。

 ?、墚擯IC18F66J60單片機需要向中心計算機發(fā)送數(shù)據(jù)時,檢查網(wǎng)口是否做好準備發(fā)送數(shù)據(jù),如已準備好,直接向網(wǎng)口緩沖區(qū)中寫入數(shù)據(jù)。函數(shù)調(diào)用為:BOOL TCPIsPutReady(TCP SOCKET socket),檢查網(wǎng)口是否準備好發(fā)送數(shù)據(jù)。BOOL TCPPut(TCP_SOCKET hTCP,BYTEbyte),向緩沖區(qū)寫入一個字節(jié)的注塑機參數(shù)。voidTCPFIush(TCP SOCKET hTCP),將網(wǎng)口緩沖區(qū)的全部數(shù)據(jù)發(fā)送出去。

  5 中心計算機設計

  中心計算機由應用軟件、數(shù)據(jù)庫組成,負責管理整個測控網(wǎng)絡系統(tǒng)的測控信息管理。該數(shù)據(jù)中心主要有以下功能:

 ?、倬W(wǎng)絡拓撲結構的修改,可以在網(wǎng)絡中增加或刪除中繼節(jié)點或測控基站;

 ?、谂c中繼節(jié)點或測控基站進行通信,查詢運行狀態(tài),發(fā)出動作指令,完成運行維護管理;

 ?、叟c中繼節(jié)點或測控基站進行通信,讀取測控基站測量數(shù)據(jù),進行測量信息的管理;

 ?、芨鞣N統(tǒng)計和查詢;

 ?、輸?shù)據(jù)維護。

  結語

  按上述設計方案研制成的分布式測控網(wǎng)絡系統(tǒng),在智能樓宇項目中得到成功應用。測控網(wǎng)絡系統(tǒng)利用樓宇中廣泛存在的網(wǎng)絡接口,在總控室設置一臺中心主控計算機,在每一層設置一個中繼節(jié)點,它們之間通過網(wǎng)線互連,不需重新布線,大大節(jié)約了工程成本。另外,在每一樓層各個房間安裝一個測控基站,每層的測控基站只與同層的中繼節(jié)點聯(lián)系,實現(xiàn)了對每個房間的智能化管理。測控終端與中繼節(jié)點間通信速率為250 kbps,傳輸帶寬滿足大部分的日常測量、控制信息的通信要求;測控終端使用2節(jié)普通5號干電池供電,電量足夠一年使用,維護成本極低。

  對測控網(wǎng)絡系統(tǒng)的技術方案稍加修改,如中繼節(jié)點與中心計算機間使用GPRS無線通信,該測控網(wǎng)絡系統(tǒng)即可應用于野外無人值守測控系統(tǒng),或者是電力計費、管理系統(tǒng)。無線測控網(wǎng)絡系統(tǒng)具有構建成本低、易維護、通信性能高等優(yōu)點,在分布式測控領域具備良好的應用前景。

?

上一頁123全文

非常好我支持^.^

(3) 100%

不好我反對

(0) 0%

( 發(fā)表人:大本 )

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關規(guī)定!

      ?