석사학위논문 저전력소모를위한비콘비가용지그비센서 네트워크의성능개선및구현 - Performance Enhancement of IEEE 802.15.4 non-beacon mode for Low power Sensor Networks - 지도교수 : 조진성 경희대학교대학원 컴퓨터공학과 박상하 2008 년 2 월
저전력소모를위한비콘비가용지그비센서네트워크의성능개선및구현 - Performance Enhancement of IEEE 802.15.4 non-beacon mode for Low power Sensor Networks - 지도교수 : 조진성 이논문을석사학위논문으로제출함 경희대학교대학원 컴퓨터공학과 박상하 2008 년 2 월
박상하의공학석사학위논문을인준함 주심교수 : 부심교수 : 부심교수 : 印 印 印 경희대학교대학원 2008 년 2 월
국문요약 저전력센서네트워크를위한비콘비가용 IEEE 802.15.4의성능개선 경희대학교대학원 컴퓨터공학과 박상하 본논문에서는지그비표준의 MAC 계층에해당하는 IEEE 802.15.4의비콘비가용네트워크에서의저전력소모를위한방법을제안한다. IEEE 802.15.4 비콘비가용모드의장점은비콘가용모드에비하여단순하며주기적으로비콘메세지를처리하기위하여노드들이깨어나거나동기화될필요가없다는것이다. 하지만코디네이터와라우터는자식노드로부터주기적으로발생하는 Polling 요청과데이터송신에대한응답을보장해주어야하기때문에항상 Wake up 상태를유지하여야하는단점이존재한다. 이런점은전력소비측면에서매우비효율적이라고할수있다. 따라서본논문에서는테이블기반의비콘비가용모드를제안한다. 제안하는방안은자식노드가네트워크에참여시에자신의 Polling interval 정보를부모노드에게전송하며부모노드는자신의자식노드들에대한 Polling interval 정보를 - 1 -
관리함으로써에너지절감효과를얻을수있는방법을제안하였다. 제안하는방안을통해서부모노드는항상 Wake up상태를유지하는것이아니라자식노드의 ID 와각각의 Polling interval 정보를간단한테이블형태로관리하고, 이를통해얻어진다음 Polling time 값을통해 Sleep과 Wake up을반복하게된다. 제안하는방안은자체적으로개발한센서노드용운영체제인 KHIX OS와 Microchip사의공개지그비스택 (mpzbee) 을이용하여구현되었다. 성능측정은 DAQ (Data Acquisition System) 장비를통해기존방안과제안하는방안에서의센서노드가소비하는전력량을측정하였으며수행결과, 평균 23% 정도의전력소비감소효과를얻을수있었다. 키워드 : 지그비, IEEE 802.15.4, 전력관리, 비콘비가용모드, KHIX - 2 -
< 목차 > 1. 서론 1 2. 관련연구 3 2.1 Sensor MAC Protocol 3 2.1.1 S-MAC 4 2.1.2 T-MAC 6 2.1.3 WiseMAC 7 2.2 Sensor Operating System 9 3. 테이블기반비콘비가용 IEEE 802.15.4 11 3.1 비콘비가용 IEEE 802.15.4 및문제정의 12 3.2 제안사항 14 4. 설계및구현 19 4.1 구현환경 19 4.2 구현사항 20 5. 실험및결과분석 24 5.1 소비전력측정 24 5.2 실험결과및분석 27 6. 결론및향후연구과제 34 7. 참고문헌 35 8. Abstract 38-3 -
< 그림목차 > 그림 1. 4 그림 2 5 그림 3. 6 그림 4. 7 그림 5. 8 그림 6. 10 그림 7. 11 그림 8. 12 그림 9. 13 그림 10. 15 그림 11. 16 그림 12. 18 그림 13. 24 그림 14. 25 그림 15. 27 그림 16. 28 그림 17. 30 그림 18. 31 그림 19. 32 그림 20. 33-4 -
< 표목차 > 표 1. 9 표 2. 17 표 3. 19 표 4. 20 표 5. 22-5 -
1. 서론 최근유비쿼터스사회및환경의구축이주목을받기시작하면서다양한연구소및기업들의센서네트워크에대한연구가활발해지고있다. 한편, 저전력, 저속의홈네트워크표준인지그비는센서네트워크표준의대안으로제시되고있으며, 사무자동화, 공장자동화, 홈네트워크구축의중심이될것으로예상된다. 이런센서네트워크솔루션은가정및실내에서만이용되는것이아니라산불의감지, 환경변화, 재해감지등의사람이직접측정하기힘든지역에설치되어유용하게활용될수있다. 위와같은다양한응용에서대부분의센서노드들은배터리기반으로동작할것이며, 이런지그비네트워크에있어가장중요하게고려되어야할부분은바로저전력소모가될것이다. 본논문에서는지그비표준의 MAC 계층에해당하는 IEEE 802.15.4의비콘비가용네트워크에서의저전력소모를위한방법을제안한다. 802.15.4 비콘비가용모드의장점은비콘가용모드에비하여단순하며주기적으로비콘메세지를처리하기위하여노드들이깨어나거나동기화될필요가없다는것이다. 하지만코디네이터와라우터는센서노드로부터주기적으로발생하는 Polling 요청과데이터송신에대한응답을보장해주어야하기때문에항상 Wake up 상태를유지하여야하는단점이존재한다. 이런점은전력소비측면에서매우비효율적이기때문에본논문에서는테이블기반의비콘비가용모드를제안하여센서노드의전력소모량을감소시키고자한다. 제안하는방안의구현을위해서자체적으로개발한 KHIX sensor OS를 tmote(msp430 MCU + CC2420) 기반의센서노드플랫폼에포팅하고, Microchip사에서제공하는 PICDEM Z(PIC MCU + CC2420) 플랫폼용공개지그비스택을 KHIX OS에포팅하는작업을수행하였다. 또한제안하는방안의전력소모를측정하기위해 National Instrument 사의 DAQ장비를이용하여기존방안 - 1 -
과의전력소모효율을비교분석하였으며, 제안하는방법의성능측정결과기존의방법에비해평균적으로 23% 의전력소비감소효과를얻을수있었다. 본논문의구성은다음과같다. 2장에서는관련연구에대한내용을기술한다. 3 장에서는본논문에서제안하는테이블기반 IEEE 802.15.4 비콘비가용모드를기술하고 4장에서는설계및구현, 5장에서는전력소모의측정을통해서성능을평가하고분석한다. 마지막으로 6장에서는결론을내리고향후과제에대해기술한다. - 2 -
2. 관련연구 2.1 Sensor MAC Protocols 학교나기업, 연구소등에서는센서네트워크에서의에너지소모량을줄이기위해다양한연구들이진행되어왔다. 센서노드의에너지소모량을줄이기위한접근방법으로는하드웨어의효율적인디자인, 효율적인 MAC 프로토콜, 네트워크라우팅프로토콜의연구등다양한방법이있다.[1][2] 그중에서본논문에서는 ZigBee 의 802.15.4 MAC 프로토콜을개선하여센서노드의소비전력량줄이고자한다. 센서 MAC 프로토콜의관점에서센서노드가에너지를낭비하는요인으로는 Idle listening, Overhearing, Collisions, Traffic fluctuations, Protocol overhead와같이 5가지로정의할수있다.[3] 일반적으로센서 MAC 프로토콜들은센서노드의에너지소모를감소시키기위해서 Radio module을주기적으로 Wake up / Sleep 시키는방법을사용한다. 하지만센서노드는자신에게언제 Packet이도착할지알수없기때문에실제로통신을하는시간이외에도깨어있는상태로채널을관찰하게된다. 이런이유로에너지가낭비되는것을 Idle listening이라하며이는센서노드가낭비하는에너지의대부분을차지한다. 다음으로 Overhearing은채널상의 Packet의흐름을감지하였을때, 그 Packet이자신에게오는 Packet이아님에도불구하고 Packet을수신해야하기때문에발생하는에너지낭비를말한다. 위두가지요인에의한낭비가에너지소모의주원인이되며, 다양한센서 MAC 프로토콜들에서이러한요인들을고려하여저전력소모를위한방법들을제안하였다. 다음절에서는대표적인센서 MAC 프로토콜인 S-MAC, B-MAC, WiseMAC에대해서살펴본다. - 3 -
2.1.1 Sensor MAC (S-MAC) 앞서설명하였듯이센서네트워크에서의 MAC 프로토콜들은전력소모를줄이기위해서 Radio module을주기적으로 Wake up / Sleep 시킨다. S-MAC[4] 은 SYNC packet의브로드캐스트를통해서각각의노드들을슬롯 (Slot) 이라는일정한시간의구간으로동기화를시킨다. 동기화된각각의센서노드들은 [ 그림1] 과같이슬롯범위안에서고정된시간을 Wake up 상태로채널을관찰하고나머지시간을 Sleep 함으로써 Idle listening으로인해낭비되는에너지를감소시켰다. 그림 1 S-MAC 프로토콜의기본동작 S-MAC은간단하고구현이쉽기때문에보편적으로많이사용되는프로토콜이다. 하지만고정된 Duty cycle를가지기때문에개발자들은응용에가장효율적인적절한수면주기를사전에선택해주어야하며자신에게전달될 Packet이없음에도불구하고주기적으로 Wake up 해야하는단점이있다. 또한 [ 그림2] 와같이각각의 SYNC packet에의해동기화된서로다른클러스터가만나게되었을경우서로간의동기화를위한작업이필요하게된다. 이때는새롭게전체네트워크를동기화시켜주거나중첩되는곳의센서노드가새로운타이머를사용하여각각의클러스터에맞는동기화정보를제공하여야한다. 이런경우중첩된곳에존재하는센서노드는상당한에너지를추가로소모하게되는단점이존재한다. - 4 -
그림 2 클러스터가중첩된지역에서동기화를제공해야하는연결노드 - 5 -
2.1.2 Timeout MAC (T-MAC) T-MAC[5] 은고정적인 Duty cycle로인한 S-MAC의단점을보완하기위해제안되었다. S-MAC은주기적인 Wake up과 Sleep을통해 Idle listening으로인해발생하는전력소모의낭비를줄였지만여전히 Packet의전송이없는 Active time 동안 Wake Up상태로동작해야하는단점이존재한다. T-MAC에서는 timeout을통해이런문제를보완하였다. [ 그림 3] 은 T-MAC의기본적인동작을보여준다. 그림 3 T-MAC 의프로토콜의기본동작 T-MAC은기본적으로 S-MAC과같은방식으로동작한다. 하지만 S-MAC은주어진 Active 시간동안항상 Wake up 상태로동작하는반면 T-MAC은자신이보낼 Packet이없거나 TA라는일정시간동안채널에 Packet의흐름이감지되지않으면바로 Sleep 상태로들어간다. 따라서 S-MAC의 Active 시간동안의 Idle listening에소비되는에너지를줄일수가있다. - 6 -
2.1.3 WiseMAC 앞서설명한두 MAC 프로토콜들은 SYNC packet에의해시간을일정한구간으로나누고이에따라동기화되는 Slotted 방식인반면 WiseMAC[6] 은 Random access 방식으로동작한다. WiseMAC의기본적으로 Preamble Sampling[7] 방식에기초하여동작한다. Preamble Sampling은 packet의시작을알리고동기화를제공하기위한 PHY 헤더의 preamble 필드를이용하여전력소모를줄이는기법이다. 이는 [ 그림4] 와같이송신측에서 preamble 필드를길게늘여 packet을전송하고수신측은주기적인채널 access와 sleep을통해소비전력을줄이는방법이다. 그림 4 Preamble sampling 의기본동작 [ 그림4] 에서볼수있는것처럼수신측은채널 access를위해주기적으로깨어나기만하므로 Idle listening으로인한전력소모를줄일수있다. 하지만 Preamble 필드가늘어남으로인해서송신측의송신비용이커지고, 수신측의 Overhearing으로비용도증가하게되는단점이있다. WiseMAC은 Preamble 필드가늘어남으로인해서발생하는단점을개선하기위해서이를줄이기위한방법을제안하였다. WiseMAC의기본동작은 [ 그림5] 와같다. - 7 -
그림 5 WiseMAC 의기본동작 WiseMAC은송신측과수신측에모두 Overhead로작용하는 Preamble 필드의길이를줄이기위해서수신측의 ACK 패킷에 Wake up 시간정보를포함하였다. 이를이용하여송신측은수신측의 wake up 시간에맞추어패킷을보내기시작함으로써 Preamble 필드의길이를줄여 Preamble sampling보다효율적으로동작할수있도록하였다. WiseMAC은위와같이효율적인전력소모방법을제안하였지만실제로구현이되거나활용되지못하였다. 본논문에서는 WiseMAC의이같은방식에착안하여지그비의 MAC프로토콜로사용되는 IEEE 802.15.4의비콘비가용네트워크에서센서노드의부모노드로동작하는코디네이터와라우터의전력소모를줄이기위한방법을제안한다. - 8 -
2.2 Sensor Operating System tinyos[8][9] 는버클리대학에서 Smart dust 프로젝트를통해처음개발된센서노드용운영체제로써, 현재오픈소스방식으로운영이되기때문에학계및다양한기업과연구소에서사용되고있다. tinyos는 nesc라는 C와유사한언어를통해구현이되며, 기본적으로 Single process기반으로동작한다. 따라서 multi-thread 를지원하지않으며 nesc는 C와유사하지만그사용에있어어려움이있는것이사실이다. 또한네트워킹에있어 B-MAC, S-MAC, 802.15.4등다양한프로토콜들을지원하고있으나지그비스택을지원하지는못하고있다. 따라서본논문에서는 PXA255, Atmega128 등고사양에서저사양플랫폼까지 Scalable하게이식가능한 KHIX[16] 운영체제상에서제안하는바를구현하였다. 표 1 tinyos 와 KHIX OS 의특징비교 [ 표 1] 은 tinyos 와 KHIX OS 를간단하게비교한표이다. KHIX OS 는우선순위 - 9 -
기반의스케줄링기법을사용함으로써임베디드운영체제의핵심인실시간성을지원한다. 또한 C 언어를기반으로작성이되었으며, POSIX API를제공하여 tinyos 보다쉽게사용이가능하다. 본논문에서사용된센서노드는 tmote기반의플랫폼으로 msp430f1611 MCU를사용한다. 따라서 KHIX 운영체제를포팅하는작업을수행하였으며, KHIX OS의전체적인구조는 [ 그림7] 과같다. 그림 6 KHIX OS Architecture - 10 -
3. 테이블기반비콘비가용 IEEE 802.15.4 3.1 비콘비가용 IEEE 802.15.4 및문제정의 저전력, 저속의홈네트워크표준인지그비 [10][17] 는센서네트워크표준의대안으로고려되고있으며, 특히앞으로스마트홈네트워크구축의중심이될것으로전망된다. 지그비는 MAC 프로토콜로서 IEEE 802.15.4[18] 를사용하고있으며이는크게비콘가용네트워크와비콘비가용네트워크의두가지모드로동작한다. 비콘가용네트워크는주기적인비콘메시지를통해노드들이동기화되어동작하며비콘비가용네트워크는주기적인비콘메시지를사용하지않는다. 따라서주기적인비콘의송신과수신으로슈퍼프레임을구성할필요가없기때문에보다간단하게구현이될수있다. 그림 7 비콘비가용네트워크에서의데이터전송 [ 그림 6] 는비콘비가용네트워크에서의데이터전송절차를그림으로나타낸것이 다. 자식노드는주기적인 Polling 요청을통해서자신에게오는패킷을수신하게되 고, 데이터의송신은부모노드가언제나 Wake up 상태로동작하므로발생즉시송 - 11 -
신을하게된다. 이러한비콘비가용네트워크의단점은부모노드측에서는자식노드가언제데이터패킷을전송할지알수없기때문에항상 Wake up 상태로수신을대기하여야한다는점이다. 따라서전력관리측면에서가장큰오버헤드의원인이되는 Idle listening에의한비용이상당히크다. 따라서부모노드는 [ 그림7] 와같이비효율적인전력소모를할수밖에없으며, 이런부모노드와자식노드의비대칭적인에너지소모는네트워크의연결성을불안정하게하는요인으로작용될수있다. 그림 8 비콘비가용네트워크의비효율적인전력관리 이런문제는근본적으로주기적인비콘에의해서노드들이동기화되지않기때문에자식노드가랜덤하게발생하는데이터전송을수신하지못하기때문에발생한다. 따라서본논문에서는위와같은비효율적인동작에의한에너지낭비를막고비대칭적인에서지소모를완화하기위하여 [ 그림8] 과같이부모노드를 Wake up / Sleep시키기위한방안을제안한다. - 12 -
그림 9 제안하는비콘비가용네트워크의개요 제안하는방안을위해서는부모노드가자식노드들의 Polling 요청주기를파악하고 있어야하며이를이용하여다가올가장최근의 Polling 요청시간까지 Sleep 상태를 유지하다가 Wake up 할수있어야한다. - 13 -
3.2 제안사항 제안하는테이블기반비콘비가용네트워크는자식노드들의 Polling 요청주기를바탕으로 Wake up과 Sleep를반복한다. 이를위해서자식노드는네트워크에참여하는시점에서자신의 Polling 요청주기를부모노드에게전달한다. 부모노드는이를바탕으로다가올가장가까운 Polling 요청시점에 Wake up을하게된다. [ 그림9] 는자식노드가네트워크에참여하기위한절차를요약한것이다. 이때, 자식노드의 MAC 상위계층에서는기존네트워크에참여하기위해 MLME-ASSOCIATE.request Primitive를발행하고이과정에서부모노드에게네트워크참여요청메시지가전달된다. 이때자식노드에서는자신의 Polling 요청주기를포함하여전달하게되고, 부모노드는 [ 그림10] 에서 MLME-ASSOCIATE.indication Primitive를처리하는과정에서참여를요청하는자식노드의 Polling요청주기를알수있게된다. - 14 -
그림 10 디바이스에서의결합메시지전달과정 - 15 -
그림 11 Coordinator 에서의결합메시지전달과정 - 16 -
MLME-ASSOCIATE을통해서전달된자식노드의 Polling 요청주기는부모노드에서다음 [ 표2] 와같이유지가된다. 이때 은각각의자식노드의 Polling 요청주기가되고 은 n번째자식노드로부터가장최근에발생한 Polling 요청이후현재의 Wake up 시간까지흐른시간정보가저장된다. 따라서 값은 n번째자식노드가 Polling 요청을하기까지의남은시간을의미하고, 이값들중가장작은값을바탕으로부모노드는 Wake up하게된다. 사용된값들은 Wake up이될때마다타이머를이용하여계산된후테이블에저장되고, 부모노드는다시결정된 (MAC enable time) 값에따라 Wake up 시간을결정하고 sleep상태로복귀한다. 표 2 테이블기반비콘비가용네트워크에서부모노드의테이블정보 poll interval Passed time after wake up Predicted node's poll time child node 1 child node 2............ child node n Parent's MAC enable time min 기본적으로제안하는방법은위와같이부모노드를 Wake up / Sleep 시킴으로써 동작이되는데, 이렇게되면 Polling 요청이외에자식노드가전송하는데이터패킷 - 17 -
을수신하지못하게되므로, 자식노드의데이터전송과정은 [ 그림 11] 과같이동작 하도록수정하였다. 즉, 자식노드는데이터송신요청과 Polling 요청을한번에전 송함으로써부모노드에서는이를수신가능하게된다. 그림 12 테이블기반비콘비가용네트워크에서의데이터전송 - 18 -
4. 설계및구현 4.1 구현환경 제안하는방안을구현한시스템사양은아래 [ 표3] 와같다. 센서노드는 msp430 MCU[11] 와 CC2420 RF[12] 모듈로구성된 I-ware사의제품을사용하였으며, 지그비스택은 Microchip사의공개지그비스택인 mpzbee[13] 를사용하였다. 사용된운영체제는고사양에서저사양까지다양한플랫폼에이식가능한임베디드운영체제인 KHIX OS를사용하여구현하였으며완성된코디네이터, 라우터, RFD 이미지크기는각각 46KB, 37KB, 26KB 이다. 표 3 구현환경 MCU RF module OS ZigBee stack Compiler Download IDE msp430f1611 (Texas Instrument) CC2420 (Texas Instrument) KHIX mpzbee (Microchip) mspgcc msp430-bsl Dev C++ - 19 -
4.2 구현사항 KHIX OS는 PXA255와 Atmega128 기반에서수행가능하도록이식된상태에있었다. 본논문에서는 msp430 MCU를사용하는 tmote기반의센서노드를사용하였기때문에운영체제를그에맞게포팅하는작업이필요하게되었다. KHIX OS는하드웨어의존적인코드들을 HAL (Hardware Abstraction Layer) 를통해서쉽게수정이가능하도록설계되어있다. 따라서 HAL부분을 msp430 MCU상에서동작가능하도록수정하는작업을수행하였으며구체적으로 [ 표4] 와같은부분들을수정함으로써쉽게이식이가능하였다. 표 4 KHIX OS의포팅을위한작업 MCU - msp430f1611 Context switching Task stack init Main clock & Timer - Clock tick, time information USART - UART control - SPI control 지그비스택은 Microchip사의공개소스인 mpzbee를사용하였다. 따라서공개된지그비스택은 Microchip사의제품인 PICDEM Z에맞도록구현이되어있다. PICDEM Z[14] 는 PIC MCU[15] 와 CC2420 RF 모듈을사용하는플랫폼으로이를본논문에서이용한 tmote 플랫폼에서사용하기위해서는 MCU와 RF 모듈의 PORT 초기화과정을수정해주어야한다. 또한 MCU와 RF 모듈은기본적으로 - 20 -
SPI (Serial Peripheral Interface ) 방식으로제어및통신을수행하는데이부분또한하드웨어의존적인부분으로수정을해주어야한다. 그외에도 mpzbee 스택에서는시간정보의계산을위해서 PIC MCU의 Timer를사용하는부분또한수정이필요하다. 위와같은부분들을 msp430 MCU에맞게수정되어야할하드웨어의존적인부분들이며 KHIX OS 상에서 msp430 MCU 용으로구현이되었다. 마지막으로하드웨어의존적이지않은부분의수정이필요하다. 이는 KHIX OS에서사용되는데이터타입과 mpzbee에서정의한데이터타입을일치시켜줌으로써해결이가능하다. 이런과정을거쳐 tmote기반의센서노드에서 KHIX OS 가수행가능하게끔만들었으며, KHIX OS에 Microchip사의 mpzbee 스택을추가할수있었다. 코디네이터와라우터그리고 RFD는 [ 표5] 와같이각각의디바이스에관한정보들을설정할수있다. RFD의 Polling interval 또한아래와같이설정이가능하며네트워크참여시아래에설정된 Polling interval 정보를부모노드에게알려주게된다. - 21 -
표 5 각각의디바이스에관한정보설정 #ifdef RFD // MCU Information... // Non-volatile Storage Information... // Device MAC Address... // ZigBee Device Information #define I_AM_END_DEVICE #define I_AM_RFD #define INCLUDE_ED_SCAN #define INCLUDE_ACTIVE_SCAN #define MY_CAPABILITY_INFO 0x80 #define RFD_POLL_RATE (ONE_SECOND * 10.0) // ZDO Configuration... // APS Configuration... // NWK Configuration... // MAC Configuration... // Transceiver Information... // Profile and Endpoint Configuration... #endif // RFD 부모노드는네트워크에참여한자식노드의 Short address 와 Polling interval 정 - 22 -
보를 [ 표2] 와같이구성된테이블을구성하고자식노드들로부터 MLME-POLL-request packet이도착할때마다이를업데이트한다. 테이블이업데이트되면식 min 에의해다음번에발생할 Poll request의예상시간을계산할수있게되며부모노드는이시간동안 Sleep 상태를유지하게된다. - 23 -
5. 실험및결과분석 실험은노드의소비전력을측정하기위하여수행을하였으며, 네트워크는각각 1기의코디네이터와센서로구성을하였다. 기본적으로네트워크는비콘비가용네트워크로동작을하며, 기존의방법과제안하는방안의소비전력을 DAQ (Data Acquisition System) 장비를통하여측정하고비교분석한다. 5.1 소비전력측정 센서노드들이소비하는전력을측정하기위해서 [ 그림 12] 과같은 DAQ 장비를사용하였다. DAQ 장비는아날로그데이터를고속으로측정할수있는데이터수집하드웨어장비이다. 본논문에서는 Host PC와 USB 형식으로연결되는 National Instrument사의 DAQPad-6015을사용하였다. 그림 13 NI DAQ-6015 실험에사용된센서노드가사용하는소비전력은 [ 식 5.1] 에의하여계산될수있 - 24 -
다. - ( 식 5.1) 하지만전류를직접측정할수없기때문에전압강하를이용하여사용된전류를계산하였다.[19][20] 전압강하란저항에의해서양단의전압차가생기는것을의미하며, 이를위해서전지와노드사이에 0.1 의저항을직렬로연결하였다. DAQ 장비에서는저항양단의전압차를측정하게되고, 측정된전압과저항을바탕으로센서노드로흐르는전류와소비하는전력을측정할수있다. 전압은 DAQ장비에의해초당 100Hz단위로측정이되며, [ 그림12] 와같이 LabView를사용하여작성된프로그램을이용하여데이터를파일에저장한다. 그림 14 전압의측정을위한 LabView로작성된응용프로그램이렇게측정된전압은결과적으로다음의식들을통하여시간의흐름에따른소비 - 25 -
전력을측정하는데이용이된다. _sec - ( 식 5.2) ( 측정전압,, ) DAQ장비를통해 의전압값이측정되면전류값을계산할수있다. 초당 100 번의전압값이측정이되므로 1초에노드로흘러들어가는평균전류량은 [ 식5.2] 과같다. 계산된 _sec 값과 [ 식5.1] 을이용하면노드가초당소비하는전력량을계산할수있게되며 [ 식5.3] 에의해일정한시간 동안노드가소비하는평균전력량을구할수있게된다. _sec _sec _sec - ( 식 5.3) ( 공급전압 ) - 26 -
5.2 실험결과및분석 실험은크게일반적인비콘비가용지그비네트워크와제안하는방법을사용한네트워크에서의소비전력으로나누어측정하였다. 또한각각의방법에서세부적으로전체네트워크 ( 코디네이터와자식노드 ) 의소비전력, 코디네이터의소비전력, 자식노드의소비전력을시간의흐름에따라측정하였다. 5.2.1 코디네이터의전력소모측정 먼저 [ 그림 13] 은제안하는방법과기존방법에서의코디네이터가시간에따라소 비하는전력량을측정한그래프이다. 그림 15 시간에따른코디네이터의소비전력 자식노드는 8 초마다 Polling 요청을시도하게되며, 5 초간격에의해서데이터 - 27 -
패킷을생성하여전송하도록구성을하였다. 소비전력은앞서설명한식에의해서계산하였고, 30분간격으로누적된전력소비량을측정하였다. 기존의방법과제안하는방법모두시간에따라일정하게소비전력이증가하였고, 제안하는방법은기존의방법에비해평균적으로 27% 의에너지를절감하고있음을알수있다. 이는제안하는방법에의해코디네이터가자식노드의폴링주기에따라 RF 트랜시버를 On / Off함으로써소모되는전력량이감소시켰기때문이다. 또한제안하는방법은자식노드에서데이터패킷의송신요청이발생하였을경우 Polling 요청시까지기다렸다가함께송신하게되므로, 자식노드와부모노드 ( 코디네이터 ) 모두전력소모를감소시키는방법을택했기때문이다. [ 그림14] 는코디네이터의자식노드의수를 1기에서 3기로늘려가면서동일한시간동안의전력소모량을측정한그래프이다. 그림 16 자식노드의수에따른코디네이터의소비전력부모노드는자식노드의수가증가함에따라서 Wake up 상태로존재하는시간이 길어지게된다. 따라서많은수의자식노드가존재할수록전력소모량은기존의방 - 28 -
법과유사해지는것을볼수있다. - 29 -
5.2.2 자식노드의전력소모측정 [ 그림 15] 는자식노드의전력소모를시간에따라측정한그래프이다. 자식노드는 8초마다 Polling 요청을시도하게되며, 5초간격에의해서데이터패킷을생성하여전송하도록구성을하였다. 제안하는방법에서의자식노드는데이터전송이발생하더라도 Polling 요청시까지기다렸다가함께전송하는방법으로구현이되었다. 따라서데이터전송에의해발생하는에너지소모를줄일수가있기때문에평균적으로 15% 의에너지절감의효과를얻음을확인하였다. 그림 17 시간에따른자식노드의소비전력 [ 그림15] 에서볼수있듯이제안하는방안에서는자식노드의데이터전송에의해발생하는에너지소모가생략될수있음을알수있었다. 이에따라자식노드에서는발생하는데이터전송횟수가빈번해질수록더욱큰전력소모효과를볼수있다. 따라서 Polling 요청은 32초간격, 데이터전송간격은 5초에서 25초간격으로 - 30 -
변화시켜가며일정시간동안자식노드의소비전력량을측정해보았다. 예상대로 데이터전송이빈번해질수록기존의방법과의소비전력량이큰폭으로차이가나 는것을 [ 그림 16] 를통해확인할수있었다. 그림 18 데이터전송주기에따른자식노드의소비전력 [ 그림17] 은자식노드의 Polling 요청주기에따른전력소모를측정한그래프이다. Polling 요청주기가길어짐에따라기존의방법과제안하는방법모두소비전력은줄어드는것을알수있었다. 하지만기존의방법이더높은전력을소모하는것은데이터전송을 Polling 요청과별개로수행하기때문이며, 일정시간동안같은수의데이터전송횟수를가지기때문에 Polling 요청주기과상관없이제안하는방법이일정하게낮은전력을소모하게된다. - 31 -
그림 19 Polling 요청주기에따른자식노드의소비전력 - 32 -
5.2.3 네트워크의전력소모측정 그림 20 전체네트워크의소비전력 [ 그림18] 은 Polling 요청주기를 8초로설정하고, 5초마다데이터전송을시도하도록구성한네트워크에서의에너지소모를측정하였다. 네트워크는 1기의코디네이터와 1기의센서노드로구성을하였으며, 제안하는방법을사용했을때의전력소모는기존의방법에비해평균적으로 23% 의전력소모감소효과를얻을수있었다. - 33 -
6. 결론및향후연구과제 한번배치된센서노드들은수거가어렵고그수가상당히많은경우가많다. 또한대부분의센서노드들은배터리기반으로동작하기때문에저전력소모를위한기법들이절실히필요하다. 이런요구사항을만족시키기위한방법으로센서운영체제레벨에서의저전력소모를위한스케줄링방법이나센서네트워크의 MAC 프로토콜, 또는 Network 프로토콜에서의다양한접근방법이존재할수있다. 본논문에서는지그비의 MAC 프로토콜인 IEEE 802.15.4 비콘비가용모드에서부모노드가자식노드의 Polling 주기를이용하여 Wake up돠 Sleep상태를반복함으로써전련소모를줄일수있는방법을제안하고구현하였다. 제안하는방법은기존의방법에자식노드의 Polling 주기추가함으로써 wake up 시간을결정하는간단한방법을통해서쉽게구현될수있었다. 실제전력소모량측정결과를통해서제안하는방법이기존의방법에비해평균적으로 23% 의전력소비감소효과를가져옴을알수있었다. 본논문의향후과제로는사용될센서노드의수가부족한물리적인제약사항때문에많은수의센서노드를가지는네트워크에서실험할수없었던점을검증하는작업이필요할것이다. 또한기존의네트워크와정상적으로연동되어동작될수있도록 IEEE 802.15.4 Compliant한방법으로수정하는작업을수행할것이다. - 34 -
7. 참고문헌 [1] Ilker Demirkol, Cem Ersoy, and Fatih Alagoz, "MAC Protocols for Wireless Sensor Networks: A Survey", IEEE Communications Magazine, April 2006 [2] Kurtis Kredo, Prasant Mohapatra, "Medium access control in wireless sensor networks", Computer Networks: The International Journal of Computer and Telecommunications Networking, 2007 [3] K. Langendoen, Medium Access Control in Wireless Sensor Networks, chapter in "Medium Access Control in Wireless Networks, Volume II: Practice and Standards", edited by H. Wu and Y. Pan, to be published by Nova Science Publishers in 2007 [4] W. Ye, J. Heidemann and D. Estrin, Medium Access Control with Coordinated, Adaptive Sleeping for Wireless Sensor Networks, IEEE/ACM Trans. on Networking, 2004 [5] T. van Dam and K. Langendoen, An Adaptive Energy-Efficient MAC Protocol for Wireless Sensor Networks, SenSys03, 2003 [6] A. El-Hoiydi and J.-D. Decotignie, "WiseMAC: An Ultra Low Power - 35 -
MAC Protocol for Multi-hop Wireless Sensor Networks", ALGOSENSORS 2004 [7] El-Hoiydi, Aloha with Preamble Sampling for Sporadic Traffic in Ad Hoc Wireless Sensor Networks, IEEE International Conference on Communications, 2002 [8] Philip Levis, Sam Madden, Joseph Polastre, Robert Szewczyk, Kamin Whitehouse, Alec Woo, David Gay, Jason Hill, Matt Welsh, Eric Brewer and David Culler, "TinyOS: An Operating System for Sensor Networks", Ambient Intelligence pp.115-148, 2005 [9] http://www.tinyos.net [10] ZigBee Standards Organization, ZIGBEE SPECIFICATION [11] Texas Instruments, MSP430x1xx Family User s guide, 2006 [12] Texas Instruments, CC2420-2.4 GHz IEEE 802.15.4 / ZigBee-ready RF Transceiver, 2006 [13] Microchip, "Microchip Stack for the ZigBee Protocol", 2007 [14] Microchip, "PICDEM Z Demonstration Kit User's Guide", 2007-36 -
[15] Microchip, PIC18F2525/2620/4525/4620 Data Sheet, 2007 [16] 백용규, 조진성, KHIX: 확장및재구성가능한임베디드시스템운영체 제, 한국정보과학회하계종합학술대회, 2007.6. [17] 최동훈, 배성수, 최규태, 지그비기술과활용, 세화, 2007 [18] 이원준, 이춘화, 저속 WPAN : IEEE 802.15.4 센서네트워크, 홍릉과학 출판사, 2005 [19] 박경환, " 동영상재생기를위한윈도우기반동적전압조절알고리즘," 석사학 위논문, 경희대학교, 2007 [20] 권도근, " 지그비에서의저전력동적수면프로토콜 ", 석사학위논문, 아주대학 교, 2006-37 -
Abstract Performance Enhancement of IEEE 802.15.4 non-beacon mode for Low power Sensor Networks Sang-Ha, Park Dept. of Computer Engineering Graduate School of Kyung Hee University This paper suggests a method to reduce the power consumption in the IEEE 802.15.4 MAC layer of Zigbee sensor network with non-beacon mode. The advantage in the non-beacon mode is that compared to the beacon-enabled mode it is relatively simpler, and nodes do not need to be periodically awaken or synchronized in order to handle the beacon messages. However, there is also a disadvantage in the non-beacon mode as well. Since the coordinator and the router must respond to the periodical polling request and data transmission, they must be awaken at all times. Such - 38 -
disadvantage consumes a great amount of power, hence causing the inefficiency in the power consumption. In order to resolve this, this paper suggests the table-driven non-beacon mode. While joining to the network, the child nodes will send their polling interval information to the parent node. After receiving the data, parent node will manage the polling interval information as table-based data structure, hence reducing the power consumption. In the proposed scheme, the parent node does not have to stay in the wake-up mode at all times. Instead, it will manage the ID of child nodes and their individual polling intervals in the form of a table. After that, it will repeat the wake-up and sleep status according to calculated next polling time. This proposed scheme was implemented with the open source Zigbee stack (mpzbee) of Microchip corporation and KHIX OS, a sensor operating system developed by mobile and embedded system lab. The efficiency was measured with the DAQ (Data Acquisition System) device, and experimental result shows the proposed scheme reduces energy consumption by 23% compared to the existing method. Key words: Zigbee, IEEE 802.15.4, Power management, non-beacon mode, KHIX - 39 -
감사의글 연구실에서공부를시작한지 3년이흘러어느덧졸업을하게되었습니다. 그동안부족한저를지금까지지도해주신조진성교수님께진심으로감사를드립니다. 학업외적인부분까지항상신경써주신교수님의은혜를평생잊지못할것같습니다. 더불어바쁘신와중에도논문의부족한부분을정성껏심사해주신한치근교수님, 유인태교수님, 홍충선교수님, 허의남교수님께도감사드립니다. 연구실생활을통해많은추억을담아가는것같습니다. 지금은졸업을하고없지만대학원생활의시작을도와준건백이형, 두경이형, 준하형, 그리고저에게많은것을가르쳐주고항상따뜻했던경환이형, 자상한충용이형, 웃음과충고를함께주는형관이형, 그의반쪽천환이형, 아직도아쉬운창현이형, 명콤비요한이형과헌준이형, 어린이김정현학생, 이제끝이보이는세만이모두가있어즐거운연구실생활을할수있었던것같습니다. 연구실을이끄느라고생하는대영이형, 시작과끝을함께하는권택이형, 항상고생하는용규, 술식이형, 윤성이, 승민이에게도감사하며, 앞으로메슬을이끌어갈경원이, 귀로형, 준성이, 영선이, 의연이형, 학수형에게감사와함께아쉬움을전합니다. 대학생활의시작부터함께했고긴시간을항상챙겨주기만한나의동거인재호, 철없는지노, 듬직한영바이, 닥템주네, 아이돌태희, 멋진앙마, 우리동기들모두변함없이웃으며항상함께하길바랍니다. 그리고학창시절부터함께했고, 앞으로도평생을같이할수호, 영호, 종환, 선태에게고마움을전하며, ARMS가영원하기를바랍니다. 마지막으로어떤말로도표현할수없는사랑으로지금까지키워주신아버지, 어머니, 그리고내동생규하, 우리가족에게한없는감사를드리며부족하지만이논문을바칩니다. 2008 년겨울박상하드림