《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 基于CC2430的Zigbee網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)

基于CC2430的Zigbee網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)

2008-11-11
作者:寧炳武, 劉軍民

  摘? 要: 采用集射頻與微控制器于一身的無(wú)線單片機(jī)CC2430作為網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)的核心器件。介紹了CC2430芯片性能及特點(diǎn),重點(diǎn)介紹了節(jié)點(diǎn)硬件設(shè)計(jì),基于MSSTATE_LRWPAN協(xié)議棧" title="協(xié)議棧">協(xié)議棧的節(jié)點(diǎn)應(yīng)用程序" title="應(yīng)用程序">應(yīng)用程序軟件設(shè)計(jì),設(shè)計(jì)并規(guī)定了PC機(jī)與協(xié)調(diào)器" title="協(xié)調(diào)器">協(xié)調(diào)器節(jié)點(diǎn)間的通信約定,給出了網(wǎng)絡(luò)節(jié)點(diǎn)性能測(cè)試結(jié)果。?

  關(guān)鍵詞: Zigbee; CC2430; 無(wú)線單片機(jī); MSSTATE_LRWPAN?

?

  目前,短距離無(wú)線通信技術(shù)已成為無(wú)線通信技術(shù)領(lǐng)域的一個(gè)重要分支。在諸多無(wú)線數(shù)據(jù)傳輸應(yīng)用中,其通信系統(tǒng)所傳輸?shù)臄?shù)據(jù)通常為小量的突發(fā)信號(hào),即數(shù)據(jù)特征為數(shù)據(jù)量小,要求進(jìn)行實(shí)時(shí)傳送。如采用傳統(tǒng)的無(wú)線技術(shù),雖然能滿足上述要求,但設(shè)備的成本高、體積大且能源消耗較大。針對(duì)這樣的應(yīng)用場(chǎng)合,人們希望利用具有成本低、體積小、能量消耗小和傳輸速率低的短距離無(wú)線通信技術(shù)。?

  Zigbee技術(shù)是一種新的短矩離無(wú)線通信技術(shù),由英國(guó)Invensys公司、日本三菱電氣公司、美國(guó)摩托羅位公司以及荷蘭飛利浦等公司在2002年10月共同提出,它具有成本低、體積小、能量消耗小和傳輸速率低的特性。該技術(shù)的提出旨在應(yīng)用到諸如工業(yè)控制、環(huán)境監(jiān)測(cè)、商業(yè)監(jiān)控、汽車電子、家庭自動(dòng)化等低速率網(wǎng)絡(luò)應(yīng)用場(chǎng)合,在這些場(chǎng)合中系統(tǒng)所需求的數(shù)據(jù)量小,傳輸速率要求不高,終端設(shè)備多采用電池供電的嵌入式設(shè)備。?

1 CC2430芯片性能及特點(diǎn)?

  CC2430芯片沿用了CC2420芯片的架構(gòu),在單個(gè)芯片上集成了Zigbee 射頻(RF)前端、內(nèi)存和微控制器。使用1個(gè)8位MCU(8051內(nèi)核),具有32KB、64KB、128KB三種可編程閃存和8KB的RAM,包含模擬數(shù)字轉(zhuǎn)換器(ADC)、4個(gè)定時(shí)器(Timer)、AES128協(xié)處理器、看門(mén)狗定時(shí)器(Watch dog timer)、32.768kHz 晶振的休眠模式定時(shí)器、上電復(fù)位電路(Power On Reset)、掉電檢測(cè)電路(Brown out detection),以及21個(gè)可編程I/O引腳。?

  CC2430芯片采用0.18μm CMOS生產(chǎn)工藝,工作時(shí)的電流損耗為27mA;在接收和發(fā)射模式下,電流損耗分別低于27mA和25mA。CC2430的休眠模式和轉(zhuǎn)換到主動(dòng)模式的超短時(shí)間的特性,特別適合那些要求電池壽命非常長(zhǎng)的應(yīng)用。?

  CC2430芯片的主要特點(diǎn)[1]如下:?

  (1)高性能和低功耗的8051微控制器核。?

  (2)集成符合IEEE802.15.4標(biāo)準(zhǔn)的2.4GHz的RF無(wú)線電收發(fā)器。?

  (3)優(yōu)良的無(wú)線接收靈敏度和強(qiáng)大的抗干擾性。?

  (4)在休眠模式時(shí)僅0.9μA的流耗,此時(shí)通過(guò)外部中斷或RTC來(lái)喚醒系統(tǒng)。?

  (5)在待機(jī)模式時(shí)少于0.6μA的流耗,此時(shí)通過(guò)外部中斷來(lái)喚醒系統(tǒng)。?

  (6)硬件支持CSMA/CA功能。?

  (7)較寬的電壓范圍(2.0~3.6V)。?

  (8)數(shù)字化的RSSI/LQI支持和強(qiáng)大的DMA功能。?

  (9)具有電池監(jiān)測(cè)和溫度感測(cè)功能。?

  (10)集成了8路8~14位模數(shù)轉(zhuǎn)換ADC。?

  (11)集成AES128安全協(xié)處理器。?

  (12)帶有2個(gè)強(qiáng)大的支持多種串行協(xié)議的USART口,以及1個(gè)符合IEEE 802.15.4規(guī)范的MAC計(jì)時(shí)器,1個(gè)常規(guī)的16位計(jì)時(shí)器和2個(gè)8位計(jì)時(shí)器。?

  (13)強(qiáng)大和靈活的開(kāi)發(fā)工具。?

  (14)兼容RoHS的7mm×7mm QLP48封裝。?

2 Zigbee網(wǎng)絡(luò)節(jié)點(diǎn)硬件設(shè)計(jì)?

  節(jié)點(diǎn)硬件設(shè)計(jì)框圖如圖1所示。為了實(shí)現(xiàn)網(wǎng)絡(luò)的硬件基礎(chǔ)架構(gòu),將硬件設(shè)計(jì)分為兩大部分:無(wú)線收發(fā)模塊及無(wú)線測(cè)試模塊。無(wú)線收發(fā)模塊作為節(jié)點(diǎn)間的數(shù)據(jù)接口,無(wú)線測(cè)試模塊用于網(wǎng)絡(luò)功能及性能測(cè)試。無(wú)線測(cè)試模塊中采用RS232串口" title="串口">串口轉(zhuǎn)換電路實(shí)現(xiàn)PC機(jī)與協(xié)調(diào)器節(jié)點(diǎn)間的數(shù)據(jù)傳輸。

?

?

  無(wú)線收發(fā)模塊電路包括CC2430芯片及其相關(guān)外圍電路,由于CC2430將8051內(nèi)核與無(wú)線收發(fā)模塊集成到一個(gè)芯片當(dāng)中,因而簡(jiǎn)化了電路的設(shè)計(jì)過(guò)程,省去了對(duì)單片機(jī)與無(wú)線收發(fā)芯片之間接口電路的設(shè)計(jì),縮短了研發(fā)周期。該電路設(shè)計(jì)原理圖如圖2所示。該原理圖主要包括接口電路、3.3V和1.8V電源濾波電路、芯片晶振電路、巴倫電路[2]、入網(wǎng)指示電路及復(fù)位電路六部分。接口電路采用兩個(gè)12腳排針,將CC2430所有的21個(gè)IO引腳以及電源引腳、復(fù)位引腳全部引出,以供用戶在應(yīng)用中根據(jù)實(shí)際情況進(jìn)行相應(yīng)的IO功能定義,增加無(wú)線模塊的通用性;電源濾波電路根據(jù)不同的供電電源選用不同的濾波電容,該部分電路參考Chipcon公司濾波電容組設(shè)計(jì);入網(wǎng)指示電路采用LED直連IO口P1.0。?

?

?

  無(wú)線測(cè)試模塊電路主要有綁定" title="綁定">綁定測(cè)試電路、JTAG電路、供電電路及串口轉(zhuǎn)換電路四部分,原理圖如圖3所示。綁定測(cè)試電路包括一個(gè)LED指示燈及一個(gè)按鍵,LED直連IO口P1.1,按鍵直連IO口P0.0。主要為實(shí)現(xiàn)節(jié)點(diǎn)程序的下載及在線調(diào)試、開(kāi)關(guān)與燈光控制綁定模擬測(cè)試、節(jié)點(diǎn)信息數(shù)據(jù)以及網(wǎng)絡(luò)數(shù)據(jù)傳輸提供硬件接口。供電電路采用低功耗電源芯片LP2985,該芯片通常用于電池供電的場(chǎng)合(例如膝上型/掌上型電腦、PDA、便攜式數(shù)碼照相機(jī)/數(shù)碼攝像機(jī)),能夠確保150mA的輸出電流,極低的漏電電壓,輸出電壓精確度為0.01V。輸入電壓范圍為4V~10V,輸出電壓范圍2.5V~5V。實(shí)際應(yīng)用中選用LP2985-3.3V穩(wěn)壓模塊。在電源供電部分也可以采用2節(jié)AA電池供電,當(dāng)采用該供電方式時(shí),需將P5跳線拔去。串口轉(zhuǎn)換電路采用MAX3223雙通道轉(zhuǎn)換芯片(2-driver/2-receiver),工作電壓范圍為3V~5.5V。該電路主要作為協(xié)調(diào)器節(jié)點(diǎn)與PC之間的接口。?

?

?

  對(duì)于射頻電路來(lái)說(shuō),器件的相互干擾變得尤為敏感。建議在無(wú)線模塊部分采用雙層PCB板,頂層主要用于信號(hào)布線,底層主要用于電源和地布線,在無(wú)布線的開(kāi)放區(qū)域采用少量過(guò)孔相連到地。另外CC2430芯片底部必須可靠接地,因而其底部必須采用少量過(guò)孔與地相連。芯片的需接地管腳如果需通過(guò)過(guò)孔接地則過(guò)孔應(yīng)盡可能與該芯片管腳接近,與電源管腳相連的去耦電容(濾波電容)也應(yīng)盡可能地與電源管腳接近并且電容接地端盡可能地通過(guò)過(guò)孔可靠接地。外圍器件的體積應(yīng)盡可能的小,建議使用0402規(guī)格的阻容器件。如果采用PCB天線,則為了減少板材對(duì)PCB天線的影響以及方便PCB天線的制作,使得天線獲得最佳性能,建議采用FR4普通板材,其介電常數(shù)要求為4.5,板材厚度為1mm,敷銅厚度為0.35μm。?

3 Zigbee網(wǎng)絡(luò)節(jié)點(diǎn)軟件設(shè)計(jì)?

  節(jié)點(diǎn)應(yīng)用程序設(shè)計(jì)流程如圖4所示,應(yīng)用程序底層運(yùn)行的是MSSTATE_LRWPAN協(xié)議棧[3]。應(yīng)用程序首先進(jìn)行硬件及協(xié)議棧初始化。硬件初始化包括串口初始化、IO口初始化及狀態(tài)指示LED初始化;協(xié)議棧初始化主要設(shè)置協(xié)議棧各層初始狀態(tài)。由于射頻數(shù)據(jù)接收及串口數(shù)據(jù)接收均采用中斷形式,還需進(jìn)行中斷初始化,并開(kāi)全局中斷。端點(diǎn)注冊(cè)目的是告知PC端應(yīng)用程序每個(gè)節(jié)點(diǎn)定義的端點(diǎn)信息(含端點(diǎn)號(hào)及端點(diǎn)數(shù)量)。PC綁定狀態(tài)初始化為空閑狀態(tài),即進(jìn)行串口狀態(tài)監(jiān)測(cè)與串口命令解析。應(yīng)用程序狀態(tài)初始化為建(入)網(wǎng)狀態(tài)。完成以上初始化過(guò)程后進(jìn)入一個(gè)無(wú)限循環(huán)執(zhí)行應(yīng)用支持子層狀態(tài)或PC綁定狀態(tài)機(jī)及應(yīng)用程序狀態(tài)機(jī)。?

?

?

  在用戶應(yīng)用程序中,首先需要指定節(jié)點(diǎn)上端點(diǎn)間基本的通信模式。一種簡(jiǎn)單的模式就是所有RFD節(jié)點(diǎn)均周期性地向協(xié)調(diào)器節(jié)點(diǎn)發(fā)送數(shù)據(jù)包。該模式相對(duì)來(lái)說(shuō)比較簡(jiǎn)單,因?yàn)閰f(xié)調(diào)器節(jié)點(diǎn)地址始終為0。?

  因?yàn)槭孪炔⒉恢繰FD節(jié)點(diǎn)的短地址,所以RFD節(jié)點(diǎn)間不太可能采用直接消息傳輸模式進(jìn)行彼此間的通信,這主要是由于在簇樹(shù)網(wǎng)絡(luò)中各RFD節(jié)點(diǎn)的短地址的分配還與其入網(wǎng)的順序以及各自所在的路徑深度有關(guān)。當(dāng)然可以通過(guò)在協(xié)調(diào)器節(jié)點(diǎn)的應(yīng)用程序中寫(xiě)一段代碼告知各RFD節(jié)點(diǎn)彼此的網(wǎng)絡(luò)地址,但這種做法將使得用戶程序變得非常復(fù)雜和冗長(zhǎng),而且占用了不必要的代碼空間。RFD節(jié)點(diǎn)間通信可以采用一種更簡(jiǎn)便的方法,即采用間接消息傳輸模式。在該傳輸模式中,各RFD節(jié)點(diǎn)間并不需要知道間接消息的目的地址而僅僅需要將消息發(fā)送給協(xié)調(diào)器節(jié)點(diǎn)。此時(shí)協(xié)調(diào)器節(jié)點(diǎn)通過(guò)查詢綁定表負(fù)責(zé)將消息轉(zhuǎn)發(fā)到其正確的目的地。?

  RFD節(jié)點(diǎn)應(yīng)用程序還要考慮一個(gè)問(wèn)題:當(dāng)RFD節(jié)點(diǎn)與其父節(jié)點(diǎn)之間的鏈路中斷時(shí)(也即與其父節(jié)點(diǎn)的關(guān)聯(lián)被解除)如何處理(這種情況的發(fā)生可能是由于其父節(jié)點(diǎn)電源供電不足或者是其父節(jié)點(diǎn)與其父節(jié)點(diǎn)的父節(jié)點(diǎn)關(guān)聯(lián)被解除等)。此時(shí)RFD節(jié)點(diǎn)應(yīng)該能夠檢測(cè)到該斷鏈情況并且恢復(fù)該連接,這就要求應(yīng)用程序執(zhí)行ping父節(jié)點(diǎn)過(guò)程及重入網(wǎng)過(guò)程。ping父節(jié)點(diǎn)過(guò)程用于檢測(cè)中斷情況,而重入網(wǎng)過(guò)程用于通信鏈路恢復(fù)。?

  節(jié)點(diǎn)應(yīng)用程序也采用有限狀態(tài)機(jī)(FSM)[4, 5]風(fēng)格,其狀態(tài)轉(zhuǎn)換如圖5所示。可分為四部分:?

?

?

  (1)節(jié)點(diǎn)建(入)網(wǎng)狀態(tài)(APP_STATE_START_JOIN),協(xié)調(diào)器節(jié)點(diǎn)在該狀態(tài)下執(zhí)行網(wǎng)絡(luò)建立過(guò)程,路由器節(jié)點(diǎn)及終端節(jié)點(diǎn)在該狀態(tài)下則執(zhí)行入網(wǎng)過(guò)程,并同時(shí)點(diǎn)亮建(入)網(wǎng)成功狀態(tài)指示LED;?

  (2)節(jié)點(diǎn)信息發(fā)布狀態(tài)(APP_STATE_SEND_INFO&APP_STATE_SEND_ANNOUNCE),協(xié)調(diào)器節(jié)點(diǎn)執(zhí)行發(fā)送節(jié)點(diǎn)信息過(guò)程,向PC機(jī)發(fā)送自身節(jié)點(diǎn)信息以及向PC機(jī)轉(zhuǎn)發(fā)其子孫節(jié)點(diǎn)信息,路由器節(jié)點(diǎn)和終端節(jié)點(diǎn)執(zhí)行節(jié)點(diǎn)信息通告過(guò)程,向協(xié)調(diào)器節(jié)點(diǎn)發(fā)送入網(wǎng)節(jié)點(diǎn)信息;?

  (3)用戶應(yīng)用程序狀態(tài)(APP_STATE_RUN_APPx),在這里實(shí)現(xiàn)用戶消息數(shù)據(jù)的發(fā)送以及用戶其他的指定功能。在執(zhí)行應(yīng)用程序FSM之前,協(xié)調(diào)器節(jié)點(diǎn)需執(zhí)行PC綁定FSM,以檢測(cè)和解析來(lái)自PC機(jī)的各種命令。當(dāng)來(lái)自PC機(jī)的命令為用戶發(fā)送數(shù)據(jù)命令時(shí),則在PC綁定FSM中立即調(diào)用回調(diào)函數(shù)接收來(lái)自PC機(jī)的用戶數(shù)據(jù),然后將該數(shù)據(jù)拷貝到發(fā)射緩沖區(qū)中等待用戶應(yīng)用程序讀取,并將RCVDataFlag發(fā)射標(biāo)志置為T(mén)RUE。在應(yīng)用程序狀態(tài)中,協(xié)調(diào)器節(jié)點(diǎn)只檢測(cè)數(shù)據(jù)發(fā)射標(biāo)志RCVDataFlag是否為T(mén)RUE。若RCVDataFlag為T(mén)RUE,說(shuō)明發(fā)射緩沖區(qū)中有待發(fā)射數(shù)據(jù),則調(diào)用消息數(shù)據(jù)發(fā)送過(guò)程來(lái)完成一次消息數(shù)據(jù)的發(fā)送;在該狀態(tài)中,終端節(jié)點(diǎn)執(zhí)行readPCdata()過(guò)程直接從串口讀取數(shù)據(jù),并以“<”、“>”為數(shù)據(jù)字符起止標(biāo)記,將RCVDataFlag發(fā)射標(biāo)志置為T(mén)RUE以執(zhí)行消息數(shù)據(jù)發(fā)送過(guò)程來(lái)完成一次消息數(shù)據(jù)的發(fā)送。若RCVDataFlag為FALSE則立即轉(zhuǎn)入網(wǎng)絡(luò)維護(hù)狀態(tài)進(jìn)而發(fā)送ping數(shù)據(jù)包。?

  (4)網(wǎng)絡(luò)維護(hù)狀態(tài)(APP_STATE_SEND_PING&APP_STATE_START_REJOIN),包括執(zhí)行鏈路狀態(tài)檢測(cè)及重入網(wǎng)過(guò)程。鏈路狀態(tài)檢測(cè)中,周期性向父節(jié)點(diǎn)發(fā)送0負(fù)載數(shù)據(jù)包,周期為1s。一旦節(jié)點(diǎn)ping失敗,則立即執(zhí)行重入網(wǎng)過(guò)程并關(guān)閉入網(wǎng)指示LED,重入網(wǎng)成功點(diǎn)亮入網(wǎng)指示LED并立即轉(zhuǎn)入用戶應(yīng)用程序狀態(tài)。?

4 PC機(jī)與協(xié)調(diào)器節(jié)點(diǎn)通信約定?

  PC機(jī)與協(xié)調(diào)器節(jié)點(diǎn)通過(guò)二進(jìn)制編碼的方式進(jìn)行通信。其數(shù)據(jù)包格式如圖6所示。排列順序?yàn)閿?shù)據(jù)包包頭(HEADER)占2字節(jié),其值設(shè)置為0x01、0x02,用于區(qū)分是正常的ASCII碼輸出還是數(shù)據(jù)包輸出;數(shù)據(jù)包負(fù)載長(zhǎng)度字節(jié);數(shù)據(jù)包負(fù)載(PAYLOAD),長(zhǎng)度由LENGTH指定;數(shù)據(jù)包CRC校驗(yàn),占1字節(jié)。數(shù)據(jù)包負(fù)載的第1個(gè)字節(jié)為命令類型字節(jié),指定了數(shù)據(jù)包類型。?

?

?

  在本約定中,命令類型(CMD TYPE)字節(jié)作為數(shù)據(jù)負(fù)載的一部分,因而數(shù)據(jù)包命令類型字節(jié)長(zhǎng)度包含在LENGTH長(zhǎng)度中,如果為純命令數(shù)據(jù)包,則數(shù)據(jù)負(fù)載長(zhǎng)度只為命令類型字節(jié)長(zhǎng)度也即為1。如果數(shù)據(jù)負(fù)載為純用戶數(shù)據(jù)則命令字節(jié)值為0xFF。當(dāng)節(jié)點(diǎn)報(bào)告入網(wǎng)狀態(tài)或ping數(shù)據(jù)到達(dá)或協(xié)調(diào)器節(jié)點(diǎn)發(fā)送綁定請(qǐng)求等事件發(fā)生時(shí),協(xié)調(diào)器節(jié)點(diǎn)向PC客戶端發(fā)送相應(yīng)的命令數(shù)據(jù)包,其數(shù)據(jù)負(fù)載為0。?

  當(dāng)協(xié)調(diào)器節(jié)點(diǎn)收到命令類型為0xFF的數(shù)據(jù)包時(shí),協(xié)調(diào)器節(jié)點(diǎn)立即調(diào)用PC綁定回調(diào)函數(shù)用于處理接收到的PC數(shù)據(jù)包,同時(shí)將發(fā)射標(biāo)志RCVDataFlag設(shè)置為T(mén)URE。?

??? 命令類型包括用戶數(shù)據(jù)命令、0端點(diǎn)命令、綁定初始化請(qǐng)求命令、綁定初始化響應(yīng)命令、獲取綁定信息請(qǐng)求命令、警報(bào)請(qǐng)求命令等。具體定義如表1所示。?

?

?

  在協(xié)調(diào)器節(jié)點(diǎn)中,命令的解析與執(zhí)行通過(guò)PC綁定有限狀態(tài)機(jī)pbdFSM()完成,其狀態(tài)轉(zhuǎn)換圖如圖7所示。目前僅定義了3種狀態(tài):空閑狀態(tài),在該狀態(tài)中進(jìn)行串口數(shù)據(jù)的讀取以及來(lái)自PC命令的解析,根據(jù)不同的命令實(shí)現(xiàn)不同的功能;發(fā)送警報(bào)狀態(tài),在該狀態(tài)中根據(jù)在空閑狀態(tài)解析出來(lái)的命令類型,執(zhí)行節(jié)點(diǎn)警報(bào)發(fā)送過(guò)程;發(fā)送警報(bào)等待狀態(tài),在該狀態(tài)中執(zhí)行警報(bào)應(yīng)答過(guò)程,即對(duì)每個(gè)收到的警報(bào)命令協(xié)調(diào)節(jié)點(diǎn)均向PC回復(fù)應(yīng)答。?

?

?

5 網(wǎng)絡(luò)節(jié)點(diǎn)性能測(cè)試?

  在節(jié)點(diǎn)參數(shù)測(cè)試中,使用Chipcon公司的SmartRF? Studio測(cè)試軟件來(lái)測(cè)試節(jié)點(diǎn)參數(shù),測(cè)試中兩節(jié)點(diǎn)連續(xù)互發(fā)固定大小(30B)的數(shù)據(jù)包;通信信道固定(0x0B信道),節(jié)點(diǎn)發(fā)射功率為0dBm,測(cè)試節(jié)點(diǎn)采用3V電池供電。?

5.1 節(jié)點(diǎn)接收靈敏度(RSSI)測(cè)試?

  在接收靈敏度測(cè)試中采用兩節(jié)點(diǎn)互發(fā)數(shù)據(jù)的方式進(jìn)行,兩節(jié)點(diǎn)間無(wú)任何障礙物。測(cè)試結(jié)果如表2所示。?

?

?

5.2 通信時(shí)延測(cè)試?

  通信時(shí)延包括協(xié)議棧時(shí)延以及空中傳播時(shí)延,空中傳播時(shí)延可以忽略不計(jì),因而協(xié)議棧時(shí)延即可記為節(jié)點(diǎn)通信時(shí)延。協(xié)議棧時(shí)延從執(zhí)行aplSendMSG()發(fā)送消息函數(shù)開(kāi)始到無(wú)線目標(biāo)實(shí)際開(kāi)始物理發(fā)射為止。在aplSendMSG()開(kāi)始發(fā)送消息時(shí),記錄MAC計(jì)時(shí)器的值,使用函數(shù)aplGetLastTxTime()返回?zé)o線發(fā)射起始時(shí)間,兩者之差即為協(xié)議棧發(fā)射時(shí)延。使用aplMacTicksToUs()函數(shù)將以tick為單位的時(shí)差值轉(zhuǎn)為μs值。實(shí)際測(cè)量中,協(xié)議棧發(fā)射延時(shí)約為550μs,接收延時(shí)約為600μs;

??? 本文詳細(xì)介紹了Zigbee網(wǎng)絡(luò)節(jié)點(diǎn)的軟硬件設(shè)計(jì),提出了針對(duì)CC2430的射頻設(shè)計(jì)要點(diǎn)。節(jié)點(diǎn)硬件設(shè)計(jì)上采用微型化結(jié)構(gòu),節(jié)點(diǎn)應(yīng)用程序設(shè)計(jì)上采用了高效的程序設(shè)計(jì)方式——有限狀態(tài)機(jī)(FSM)機(jī)制,提高了程序的運(yùn)行效率。從測(cè)試結(jié)果可以看出,節(jié)點(diǎn)具有較高的接收靈敏度、較遠(yuǎn)的通信距離以及非常短的通信延遲,完全可以應(yīng)用于一般的工業(yè)控制、樓宇控制、家庭自動(dòng)化等實(shí)時(shí)性要求比較高的場(chǎng)合。?

參考文獻(xiàn)?

[1] CHIPCON. CC2430 PRELIMINARY data sheet(rev.1.03) SWRS036A[M]:CHIPCON,2005.?

[2] ANDERSEN A. Implementation of microstrip balun for CC2420 and CC243x[R]. 2006.?

[3] REESE R. A ZigbeeTM-subset/IEEE 802.15.4TM multiplatform Protocol Stack. In:Electrical/Computer Engr MSU,editor.2006.?

[4] GRIESKAMP W, GUREVICH Y, SCHULTE W,et al.Generating finite state machines from abstract state machines[J]. Software Engineering Notes. 2002, 27(4):112-122.?

[5] HABIBI A, MOINUDEEN H, TAHAR S. Generating finite state machines from systemC[J]. International Workshop on Abstract State Machines.2005.?

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。