當(dāng)前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]基于無線傳感器網(wǎng)絡(luò)的特點,以CC2430芯片為核心設(shè)計了一種微型傳感器節(jié)點。詳細闡述了傳感器節(jié)點的溫濕度數(shù)據(jù)采集模塊、電池能量檢測模塊以及節(jié)點之間“點對點”無線通信的軟件流程。   關(guān)鍵詞: 無線傳

基于無線傳感器網(wǎng)絡(luò)的特點,以CC2430芯片為核心設(shè)計了一種微型傳感器節(jié)點。詳細闡述了傳感器節(jié)點的溫濕度數(shù)據(jù)采集模塊、電池能量檢測模塊以及節(jié)點之間“點對點”無線通信的軟件流程。
  關(guān)鍵詞: 無線傳感器網(wǎng)絡(luò)  傳感器節(jié)點  CC2430

 

  無線傳感器網(wǎng)絡(luò)是由部署在監(jiān)測區(qū)域內(nèi)的大量微型傳感器節(jié)點組成的,通過無線通信方式形成一個多跳的自組織的網(wǎng)絡(luò)系統(tǒng),其目的是協(xié)作地感知、采集和處理網(wǎng)絡(luò)覆蓋區(qū)域中感知對象的信息,并發(fā)送給觀察者。無線傳感器網(wǎng)絡(luò)技術(shù)在美國商業(yè)周刊和MIT技術(shù)評論的預(yù)測未來技術(shù)發(fā)展報告中,分別被列為21世紀最有影響的21項技術(shù)和改變世界的10大技術(shù)之一。
  傳感器節(jié)點是無線傳感器網(wǎng)絡(luò)的基本組成單位。它由傳感器模塊、處理器模塊、無線通信模塊和能量供應(yīng)模塊四個部分組成。由于傳感器節(jié)點通常是一個微型的嵌入式系統(tǒng),它的處理能力、存儲能力和通信能力相對較弱,并通過攜帶能量有限的電池供電。本文依據(jù)傳感器節(jié)點的這些特點,設(shè)計了一種用于環(huán)境中溫濕度監(jiān)測的以芯片CC2430為核心的無線傳感器網(wǎng)絡(luò)節(jié)點。
1 CC2430簡介
  CC2430芯片是Chipcon公司提供的全球首款支持ZigBee協(xié)議的SoC解決方案。它延用了CC2420芯片的架構(gòu),在單個芯片上整合了ZigBee 射頻(RF)前端、內(nèi)存和微控制器。CC2430擁有1個8位8051MCU,8KB的RAM,32KB、64KB或128KB的Flash,還包含模擬數(shù)字轉(zhuǎn)換器、幾個定時器、AES128協(xié)處理器、看門狗定時器、32kHz晶振的休眠模式定時器、上電復(fù)位電路、掉電檢測電路,以及21個可編程I/O引腳。
  CC2430芯片采用0.18μm CMOS工藝生產(chǎn),工作時的電流損耗為27mA;在接收和發(fā)射模式下,電流損耗分別低于27mA或25mA。CC2430的休眠模式和轉(zhuǎn)換到主動模式的超短時間的特性,特別適合那些要求電池壽命非常長的應(yīng)用。
  CC2430芯片的主要特點有:32MHz單指令周期低功耗的8051微控制器核;集成兼容IEEE802.15.4標(biāo)準2.4GHz頻段的RF無線電收發(fā)機;8KB的SRAM,其中4KB可在所有功耗模式下保持數(shù)據(jù);兼容RoHS的7×7mmQLP封裝;4種可編程功耗模式;可編程的看門狗定時器;上電復(fù)位功能;支持硬件調(diào)試功能;優(yōu)良的無線接收靈敏度和強大的抗干擾性;在休眠模式時僅0.9μA的流耗,外部中斷或RTC能喚醒系統(tǒng);在待機模式時少于0.6μA的流耗,外部中斷能喚醒系統(tǒng);硬件支持CSMA/CA功能;較寬的電壓范圍(2.0~3.6V);數(shù)字化的RSSI/LQI支持和強大的DMA功能;具有電池監(jiān)測和溫度感測功能;集成了14位模數(shù)轉(zhuǎn)換的ADC;集成AES安全協(xié)處理器;帶有2個強大的、支持幾組協(xié)議的USART,以及1個符合IEEE 802.15.4規(guī)范的MAC計時器,1個常規(guī)的16位計時器和2個8位計時器。
2 節(jié)點的硬件設(shè)計
  無線傳感器網(wǎng)絡(luò)的節(jié)點通常由傳感器模塊、處理器模塊、無線通信模塊和電源模塊構(gòu)成。處理器模塊和無線通信模塊采用CC2430芯片,大大簡化了射頻電路的設(shè)計。傳感器模塊采用集成溫濕度傳感器SHT10。電源模塊采用3V紐扣電池。節(jié)點的硬件原理框圖如圖1。


  SHT10用于采集周圍環(huán)境中的溫度和濕度,其工作電壓為2.4~5.5V,測濕精度為±4.5%RH,25℃時測溫精度為±0.5℃。采用SMD貼片封裝,與處理器的通信電路如圖2所示。SHT10采用兩條串行線與處理器進行數(shù)據(jù)通信。SCK數(shù)據(jù)線負責(zé)處理器和SHT10的通訊同步;DATA三態(tài)門用于數(shù)據(jù)的讀取。DATA在SCK時鐘下降沿之后改變狀態(tài),并僅在SCK時鐘上升沿有效。數(shù)據(jù)傳輸期間,在SCK時鐘高電平時,DATA必須保持穩(wěn)定。為避免信號沖突,微處理器應(yīng)驅(qū)動DATA在低電平。需要一個10kΩ的外部上拉電阻將信號提拉至高電平。本設(shè)計中CC2430的引腳P1.0用于SCK,P1.1用于DATA。


3 節(jié)點的軟件設(shè)計
  節(jié)點的軟件分為數(shù)據(jù)采集、電池能量檢測和無線通信這三個分別設(shè)計的模塊。以下給出了各個模塊的流程圖和詳細說明。


3.1 溫濕度數(shù)據(jù)采集模塊
  溫濕度傳感器SHT10采用類似但不兼容I2C總線的方式和處理器通信。數(shù)據(jù)通過DATA線直接讀取,控制流程如圖3所示。首先用一組啟動傳輸時序進行數(shù)據(jù)傳輸?shù)某跏蓟缓蟀l(fā)送一組測量命令(‘00000101’表示相對濕度,‘00000011’表示攝氏溫度),釋放DATA線,等SHT10下拉DATA至低電平,表示測量結(jié)束,同時接收數(shù)據(jù)。
  其中產(chǎn)生啟動傳輸時序的程序片段如下:
  ……
  P1_1=1;
  P1_0=1;
  wait(1);//等待1ms
  P1_1=0;
  wait(1);
  P1_0=0;
  wait(1);
  P1_0=1;
  wait(1);
  P1_1=1;
  wait(1);
  P1_0=0;
  ……
  測量溫度后,通過T=d1+d2×SOT計算出溫度。
  測量濕度后,再根據(jù)當(dāng)前的溫度,通過RH=(T℃-25)×(t1+t2×SORH)+c1+c2×SORH+c3×SORH2,計算出相對濕度。其中常量d1、d2、t1、t2、c1、c2和c3由SHT1x數(shù)據(jù)手冊提供。
3.2 電源能量檢測模塊
  無線傳感器網(wǎng)絡(luò)節(jié)點通常采用電池供電,電池的能量檢測是重要環(huán)節(jié)。CC2430的ADC模塊不僅可以采樣P0端口引腳上的輸入電壓,還可以采樣AVDD_SoC引腳上的1/3電壓。這個功能通常用于實現(xiàn)電池的能量檢測,即檢測當(dāng)前的電源電壓是否在CC2430所能工作電壓范圍2.0~3.6V內(nèi)。完成一次AD轉(zhuǎn)換的控制流程是:首先設(shè)置AVDD_SoC引腳上電壓的1/3為采樣輸入,然后啟動AD轉(zhuǎn)換,等待AD轉(zhuǎn)換結(jié)束,寄存器ADCH:ADCL中的數(shù)據(jù)即為參考電壓的相對數(shù)值。
  由于是對電池能量的檢測,可以采用CC2430內(nèi)部提供的1.25V電壓作為參考電壓。用這個參考電壓采樣AVDD_SoC引腳上的1/3電壓,從而得出當(dāng)前的電源電壓值。選用8位的采樣精度,則寄存器ADCCON3應(yīng)配置為0x0F。設(shè)置完寄存器后,ADC立即啟動一次AD轉(zhuǎn)化,寄存器ADCCON1的EOC位用于指示當(dāng)前的轉(zhuǎn)化是否結(jié)束。當(dāng)EOC位變?yōu)?時,證明當(dāng)前的轉(zhuǎn)換完成,轉(zhuǎn)換后的數(shù)值被存放在寄存器ADCH中。ADCH中的數(shù)值被讀取后,EOC位自動恢復(fù)為0。根據(jù)取出的數(shù)值計算得到當(dāng)前AVDD_SoC上引腳的電壓。通過連續(xù)采樣10次進行均值濾波,用這個平均值與用戶設(shè)定的最低有效工作電壓2.4V相比,可判斷出當(dāng)前電壓是否正常。該模塊的程序流程圖如圖4。
  其中由DATA[0...9]的均值A(chǔ)verage計算實際電壓的代碼如下:
  ……
  Voltage=( (Average*15)>>9);//Voltage為實際電壓的10倍
  ……
3.3 無線通信模塊
  無線傳感器網(wǎng)絡(luò)通信的基礎(chǔ)是節(jié)點之間的點對點通信。本小節(jié)以兩個節(jié)點之間的通信為例,介紹了點對點通信的過程和實現(xiàn)方法。首先,定義一種比IEEE802.15.4規(guī)范所定義的MAC協(xié)議層數(shù)據(jù)幀簡單的MAC層數(shù)據(jù)幀的格式:


  其中目標(biāo)地址和源地址分別用1個字節(jié)表示。本例中只有兩個節(jié)點互相通信,分別將兩個節(jié)點的地址設(shè)為0和1。標(biāo)志位Flags占1個字節(jié),用于表示當(dāng)前數(shù)據(jù)幀的類型。當(dāng)數(shù)據(jù)幀中Flags字節(jié)的最高位為1時,表示該幀是數(shù)據(jù)序列中的一幀;第3位為1時,表示該幀是超時重傳的數(shù)據(jù)幀;第2位為1時表示該幀是接收到數(shù)據(jù)幀后的答復(fù)幀;第1位為1時,表示目標(biāo)節(jié)點在收到該數(shù)據(jù)幀后要答復(fù)。幀校驗FCS由2個字節(jié)表示,是MAC層協(xié)議數(shù)據(jù)單元MPDU的校驗。如果CC2430的RF寄存器MDMCTRL0L.AUTOCRC控制位設(shè)為1,F(xiàn)CS將由硬件自動實現(xiàn),負責(zé)必須由軟件用多項式x16+x12+x5+1進行CRC的生成和校驗。
  由于IEEE802.15.4規(guī)范中定義了物理服務(wù)數(shù)據(jù)單元(PSDU)的最大長度為127字節(jié),而其中的5字節(jié)已經(jīng)被使用,因此有效負載payload的字節(jié)長度在1~122之間。如果需要傳送的數(shù)據(jù)長度超過122字節(jié),則發(fā)送時這個數(shù)據(jù)應(yīng)該被拆分成若干數(shù)據(jù)幀,以滿足最大長度的限制。目標(biāo)節(jié)點則必須能夠?qū)⒔邮盏降臄?shù)據(jù)幀整合成完整的數(shù)據(jù)。
  IEEE802.15.4規(guī)定了RF物理層的工作頻段為2.4GHz,共有16個頻道。每個頻道的實際工作頻率和頻道序號的關(guān)系式為:Fc=2405+5×(k-11)MHz,k=11,12,…26。兩個節(jié)點的RF必須工作在相同的頻道上,才能夠互相收發(fā)數(shù)據(jù)。完成一次數(shù)據(jù)發(fā)送的程序流程圖如圖5。


  系統(tǒng)初始化主要是將系統(tǒng)的工作頻率設(shè)為32MHz的晶振頻率,這樣RF才能正常工作。RF初始化時,先設(shè)置通信頻率,再通過設(shè)置RFPWR.RREG_RADIO_PD位為1給RF供電。RF初始化的過程還包括執(zhí)行下面的代碼來開啟Rx,清空Rx、Tx的FiFo緩沖區(qū)以及校準Radio。
  SRXON;
  SFLUSHTX;
  SFLUSHRX;
  SFLUSHRX;
  STXCALN;
  ISSTART;
  DMA的初始化階段要為Tx分配1個空閑的DMA通道。首先要為通道0和通道1~4分別設(shè)置好通道描述數(shù)據(jù)結(jié)構(gòu)的存放地址,并將首地址分別寫入DMA0CFGH:DMA0CFGL和DMA1CFGH:DMA1CFGL。再為這個分配好的DMA通道設(shè)置其描述數(shù)據(jù)結(jié)構(gòu)。該數(shù)據(jù)結(jié)構(gòu)如下:
  typedef struct {
   BYTE SRCADDRH;//源地址
   BYTE SRCADDRL;
   BYTE DESTADDRH;//目的地址
   BYTE DESTADDRL;
   BYTE VLEN  :3;
   BYTE LENH  :5;
   BYTE LENL   :8;
   BYTE WORDSIZE :1;
   BYTE TMODE  :2;
   BYTE TRIG   :5;
   BYTE SRCINC  :2;
   BYTE DESTINC  :2;
   BYTE IRQMASK  :1;
   BYTE M8   :1;
   BYTE PRIORITY  :2;
  } DMA_DESC;
  當(dāng)設(shè)置為Tx準備的DMA通道時,需將數(shù)據(jù)的源地址SRCADDRH: SRCADDRL設(shè)為所要發(fā)送數(shù)據(jù)的起始地址,目標(biāo)地址DESTADDRH: DESTADDRL設(shè)為寄存器RFD的地址0xDFD9。然后,在LENH:LENL中設(shè)置所要發(fā)送數(shù)據(jù)的長度,并將VLEN設(shè)為0。將WORDSIZE位設(shè)為0,表示DMA數(shù)據(jù)按字節(jié)進行傳輸(設(shè)為1表示按字傳輸)。DMA的數(shù)據(jù)傳送模式按照一次觸發(fā)傳輸?shù)臄?shù)據(jù)量可分成四種,由TMODE設(shè)置選擇。本例中采用Block模式,即一次DMA觸發(fā)可進行一個完整數(shù)據(jù)塊的傳輸。CC2430定義的DMA觸發(fā)信號有31種之多,由TRIG位設(shè)置。將TRIG設(shè)置為0,表示采用無觸發(fā)模式,這樣DMA在每次接收到DMAREQ信號后才啟動一次數(shù)據(jù)傳輸。SRCINC和DESTINC分別用于設(shè)置數(shù)據(jù)源地址和目標(biāo)地址的變化方式,可設(shè)為不變、增1、增2或減1。由于采用按字節(jié)的Block模式向Radio發(fā)送數(shù)據(jù),因此數(shù)據(jù)源地址選擇增1變化,而數(shù)據(jù)目標(biāo)地址則一直為寄存器RFD的地址0xDFD9,故設(shè)為不變。IRQMASK位用于設(shè)置是否在DMA數(shù)據(jù)傳輸完后發(fā)中斷信號。本例中設(shè)為0,即禁止DMA中斷。M8是按字節(jié)傳輸時的數(shù)據(jù)寬度,設(shè)為0表示8位傳輸,為1時表示只傳輸字節(jié)的低7位。本例中設(shè)為0。PRIORITY用于優(yōu)先級設(shè)置,本例中設(shè)為2,即中等優(yōu)先級。
  DMA描述設(shè)置好后,通過設(shè)置寄存器DMAARM和RMREQ的位來準備相應(yīng)的DMA通道以及啟動這個通道上數(shù)據(jù)塊的傳輸。在啟動DMA數(shù)據(jù)傳輸之前,將當(dāng)前數(shù)據(jù)幀的長度、目標(biāo)節(jié)點地址、源節(jié)點地址、標(biāo)志字節(jié)通過直接寫寄存器RFD的方式寫入TXFIFO。這樣在啟動DMA傳輸后,完整的數(shù)據(jù)幀將被傳輸至TXFIFO。通過給CSP發(fā)送指令I(lǐng)STXONCCA啟動TX傳輸。這就完成了一幀數(shù)據(jù)的發(fā)送。
  數(shù)據(jù)接收的過程同樣需要設(shè)置系統(tǒng)工作頻率為32MHz,且應(yīng)確保Rx工作在Tx相同的頻道上,并設(shè)置DMA通道。其中DMA的數(shù)據(jù)源為寄存器RFD,并將DMA觸發(fā)信號設(shè)為RADIO,即Radio接收到數(shù)據(jù)時觸發(fā)DMA。數(shù)據(jù)接收的程序流程如圖6所示。


  本文在總結(jié)歸納對芯片CC2430已有研究成果的基礎(chǔ)上,闡述了基于CC2430無線傳感器網(wǎng)絡(luò)節(jié)點的設(shè)計和實現(xiàn),并詳細介紹了兩個節(jié)點之間點對點通信的實現(xiàn)。在實驗中,節(jié)點能夠采集環(huán)境的溫、濕度和節(jié)點的電池電壓,并將采集的數(shù)據(jù)在節(jié)點中傳播。本文的研究為進一步的上層通信協(xié)議設(shè)計提供了基礎(chǔ),具有一定的研究意義。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉