48
석사학위논문 저전력 소모를 위한 비콘 비가용 지그비 센서 네트워크의 성능 개선 및 구현 - Performance Enhancement of IEEE 802.15.4 non-beacon mode for Low power Sensor Networks - 지도교수 : 조진성 경희대학교 대학원 컴퓨터공학과 박 상 하 2008년 2월

경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

석사학위논문

저전력 소모를 위한 비콘 비가용 지그비 센서

네트워크의 성능 개선 및 구현

- Performance Enhancement of IEEE

802.15.4 non-beacon mode for Low power

Sensor Networks -

지도교수 : 조진성

경희대학교 대학원

컴퓨터공학과

박 상 하

2008년 2월

Page 2: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

저전력 소모를 위한 비콘 비가용 지그비 센서

네트워크의 성능 개선 및 구현

- Performance Enhancement of IEEE

802.15.4 non-beacon mode for Low power

Sensor Networks -

지도교수 : 조진성

이 논문을 석사 학위논문으로 제출함

경희대학교 대학원

컴퓨터공학과

박 상 하

2008년 2월

Page 3: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

박상하의 공학 석사학위 논문을 인준함

주심교수 : ㊞부심교수 : ㊞부심교수 : ㊞

경희대학교 대학원

2008년 2월

Page 4: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 1 -

국문요약

저전력 센서 네트워크를 위한 비콘 비가용 IEEE

802.15.4의 성능 개선

경희대학교 대학원

컴 퓨 터 공 학 과

박 상 하

본 논문에서는 지그비 표준의 MAC 계층에 해당하는 IEEE 802.15.4의 비콘 비

가용 네트워크에서의 저전력 소모를 위한 방법을 제안한다. IEEE 802.15.4 비콘

비가용 모드의 장점은 비콘 가용 모드에 비하여 단순하며 주기적으로 비콘 메세지

를 처리하기 위하여 노드들이 깨어나거나 동기화 될 필요가 없다는 것이다. 하지만

코디네이터와 라우터는 자식 노드로부터 주기적으로 발생하는 Polling 요청과 데이

터 송신에 대한 응답을 보장해주어야 하기 때문에 항상 Wake up 상태를 유지하여

야 하는 단점이 존재한다. 이런 점은 전력소비 측면에서 매우 비효율적이라고 할

수 있다. 따라서 본 논문에서는 테이블 기반의 비콘 비가용 모드를 제안한다. 제안

하는 방안은 자식노드가 네트워크에 참여시에 자신의 Polling interval 정보를 부모

노드에게 전송하며 부모노드는 자신의 자식노드들에 대한 Polling interval 정보를

Page 5: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 2 -

관리함으로써 에너지 절감효과를 얻을 수 있는 방법을 제안하였다. 제안하는 방안

을 통해서 부모노드는 항상 Wake up상태를 유지하는 것이 아니라 자식노드의 ID

와 각각의 Polling interval 정보를 간단한 테이블 형태로 관리하고, 이를 통해 얻

어진 다음 Polling time 값을 통해 Sleep과 Wake up을 반복하게 된다. 제안하는

방안은 자체적으로 개발한 센서노드용 운영체제인 KHIX OS와 Microchip사의 공

개 지그비 스택 (mpZBee)을 이용하여 구현되었다. 성능 측정은 DAQ (Data

Acquisition System) 장비를 통해 기존 방안과 제안하는 방안에서의 센서노드가

소비하는 전력량을 측정하였으며 수행결과, 평균 23% 정도의 전력소비 감소효과를

얻을 수 있었다.

키워드 : 지그비, IEEE 802.15.4, 전력관리, 비콘 비가용 모드, KHIX

Page 6: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 3 -

<목 차>

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

Page 7: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 4 -

<그 림 목 차>

그림 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

Page 8: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 5 -

<표 목 차>

표 1. ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 9

표 2. ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 17

표 3. ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 19

표 4. ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 20

표 5. ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 22

Page 9: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 1 -

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장비를 이용하여 기존 방안

Page 10: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 2 -

과의 전력소모 효율을 비교 분석하였으며, 제안하는 방법의 성능 측정결과 기존의

방법에 비해 평균적으로 23%의 전력소비 감소 효과를 얻을 수 있었다.

본 논문의 구성은 다음과 같다. 2장에서는 관련 연구에 대한 내용을 기술한다. 3

장에서는 본 논문에서 제안하는 테이블 기반 IEEE 802.15.4 비콘 비가용 모드를

기술하고 4장에서는 설계 및 구현, 5장에서는 전력소모의 측정을 통해서 성능을 평

가하고 분석한다. 마지막으로 6장에서는 결론을 내리고 향후 과제에 대해 기술한

다.

Page 11: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 3 -

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에 대해서 살펴본다.

Page 12: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 4 -

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에 의해 동기화 된 서로 다른 클러스터가 만나게 되었을 경우

서로간의 동기화를 위한 작업이 필요하게 된다. 이때는 새롭게 전체 네트워크를 동

기화 시켜 주거나 중첩되는 곳의 센서노드가 새로운 타이머를 사용하여 각각의 클

러스터에 맞는 동기화 정보를 제공하여야 한다. 이런 경우 중첩된 곳에 존재하는

센서노드는 상당한 에너지를 추가로 소모하게 되는 단점이 존재한다.

Page 13: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 5 -

그림 2 클러스터가 중첩된 지역에서 동기화를 제공해야하는 연결노드

Page 14: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 6 -

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에 소비되는 에너지를 줄일 수가 있다.

Page 15: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 7 -

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]와 같

다.

Page 16: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 8 -

그림 5 WiseMAC의 기본동작

WiseMAC은 송신측과 수신측에 모두 Overhead로 작용하는 Preamble 필드의 길

이를 줄이기 위해서 수신측의 ACK 패킷에 Wake up 시간 정보를 포함하였다. 이

를 이용하여 송신측은 수신측의 wake up 시간에 맞추어 패킷을 보내기 시작함으

로써 Preamble 필드의 길이를 줄여 Preamble sampling보다 효율적으로 동작할

수 있도록 하였다. WiseMAC은 위와 같이 효율적인 전력소모 방법을 제안하였지만

실제로 구현이 되거나 활용되지 못하였다. 본 논문에서는 WiseMAC의 이 같은 방

식에 착안하여 지그비의 MAC프로토콜로 사용되는 IEEE 802.15.4의 비콘 비가용

네트워크에서 센서 노드의 부모노드로 동작하는 코디네이터와 라우터의 전력소모를

줄이기 위한 방법을 제안한다.

Page 17: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 9 -

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는 우선순위

Page 18: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 10 -

기반의 스케줄링 기법을 사용함으로써 임베디드 운영체제의 핵심인 실시간성을 지

원한다. 또한 C 언어를 기반으로 작성이 되었으며, POSIX API를 제공하여 tinyOS

보다 쉽게 사용이 가능하다.

본 논문에서 사용된 센서 노드는 tmote기반의 플랫폼으로 msp430f1611 MCU를

사용한다. 따라서 KHIX 운영체제를 포팅하는 작업을 수행하였으며, KHIX OS의

전체적인 구조는 [그림7]과 같다.

그림 6 KHIX OS Architecture

Page 19: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 11 -

3. 테이블 기반 비콘 비가용 IEEE 802.15.4

3.1 비콘 비가용 IEEE 802.15.4 및 문제정의

저전력, 저속의 홈 네트워크 표준인 지그비[10][17]는 센서 네트워크 표준의 대

안으로 고려되고 있으며, 특히 앞으로 스마트 홈 네트워크 구축의 중심이 될 것으

로 전망된다. 지그비는 MAC 프로토콜로서 IEEE 802.15.4[18]를 사용하고 있으

며 이는 크게 비콘 가용 네트워크와 비콘 비가용 네트워크의 두 가지 모드로 동작

한다. 비콘 가용 네트워크는 주기적인 비콘 메시지를 통해 노드들이 동기화 되어

동작하며 비콘 비가용 네트워크는 주기적인 비콘 메시지를 사용하지 않는다. 따라

서 주기적인 비콘의 송신과 수신으로 슈퍼프레임을 구성할 필요가 없기 때문에 보

다 간단하게 구현이 될 수 있다.

그림 7 비콘 비가용 네트워크에서의 데이터 전송

[그림6]는 비콘 비가용 네트워크에서의 데이터 전송 절차를 그림으로 나타낸 것이

다. 자식노드는 주기적인 Polling 요청을 통해서 자신에게 오는 패킷을 수신하게 되

고, 데이터의 송신은 부모노드가 언제나 Wake up상태로 동작하므로 발생 즉시 송

Page 20: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 12 -

신을 하게 된다. 이러한 비콘 비가용 네트워크의 단점은 부모노드 측에서는 자식노

드가 언제 데이터 패킷을 전송할지 알 수 없기 때문에 항상 Wake up 상태로 수신

을 대기하여야 한다는 점이다. 따라서 전력관리 측면에서 가장 큰 오버헤드의 원인

이 되는 Idle listening에 의한 비용이 상당히 크다. 따라서 부모노드는 [그림7]와

같이 비효율적인 전력소모를 할 수 밖에 없으며, 이런 부모노드와 자식노드의 비대

칭적인 에너지 소모는 네트워크의 연결성을 불안정하게 하는 요인으로 작용될 수

있다.

그림 8 비콘 비가용 네트워크의 비효율적인 전력관리

이런 문제는 근본적으로 주기적인 비콘에 의해서 노드들이 동기화 되지 않기 때문

에 자식노드가 랜덤하게 발생하는 데이터 전송을 수신하지 못하기 때문에 발생한

다. 따라서 본 논문에서는 위와 같은 비효율적인 동작에 의한 에너지 낭비를 막고

비대칭적인 에서지 소모를 완화하기 위하여 [그림8]과 같이 부모노드를 Wake up

/ Sleep시키기 위한 방안을 제안한다.

Page 21: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 13 -

그림 9 제안하는 비콘 비가용 네트워크의 개요

제안하는 방안을 위해서는 부모노드가 자식노드들의 Polling 요청주기를 파악하고

있어야하며 이를 이용하여 다가올 가장 최근의 Polling 요청 시간까지 Sleep상태를

유지하다가 Wake up할 수 있어야 한다.

Page 22: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 14 -

3.2 제안사항

제안하는 테이블 기반 비콘 비가용 네트워크는 자식노드들의 Polling 요청 주기를

바탕으로 Wake up과 Sleep를 반복한다. 이를 위해서 자식노드는 네트워크에 참여

하는 시점에서 자신의 Polling 요청 주기를 부모노드에게 전달한다. 부모노드는 이

를 바탕으로 다가올 가장 가까운 Polling 요청 시점에 Wake up을 하게 된다.

[그림9]는 자식노드가 네트워크에 참여하기 위한 절차를 요약한 것이다. 이 때,

자식노드의 MAC 상위계층에서는 기존 네트워크에 참여하기 위해

MLME-ASSOCIATE.request Primitive를 발행하고 이 과정에서 부모노드에게

네트워크 참여 요청 메시지가 전달된다. 이때 자식노드에서는 자신의 Polling 요청

주기를 포함하여 전달하게 되고, 부모노드는 [그림10]에서

MLME-ASSOCIATE.indication Primitive를 처리하는 과정에서 참여를 요청하는

자식노드의 Polling요청 주기를 알 수 있게 된다.

Page 23: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 15 -

그림 10 디바이스에서의 결합 메시지 전달 과정

Page 24: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 16 -

그림 11 Coordinator 에서의 결합 메시지 전달 과정

Page 25: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 17 -

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 timemin

기본적으로 제안하는 방법은 위와 같이 부모노드를 Wake up / Sleep 시킴으로써

동작이 되는데, 이렇게 되면 Polling 요청 이외에 자식노드가 전송하는 데이터 패킷

Page 26: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 18 -

을 수신하지 못하게 되므로, 자식노드의 데이터 전송과정은 [그림11]과 같이 동작

하도록 수정하였다. 즉, 자식노드는 데이터 송신 요청과 Polling 요청을 한 번에 전

송함으로써 부모노드에서는 이를 수신 가능하게 된다.

그림 12 테이블 기반 비콘 비가용 네트워크에서의 데이터 전송

Page 27: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 19 -

4. 설계 및 구현

4.1 구현 환경

제안하는 방안을 구현한 시스템 사양은 아래 [표3]와 같다. 센서노드는 msp430

MCU[11]와 CC2420 RF[12] 모듈로 구성된 I-ware사의 제품을 사용하였으며,

지그비 스택은 Microchip사의 공개 지그비 스택인 mpZBee[13]를 사용하였다. 사

용된 운영체제는 고사양에서 저사양까지 다양한 플랫폼에 이식가능한 임베디드 운

영체제인 KHIX OS를 사용하여 구현하였으며 완성된 코디네이터, 라우터, RFD 이

미지 크기는 각각 46KB, 37KB, 26KB 이다.

표 3 구현 환경

MCU msp430f1611 (Texas Instrument)RF module CC2420 (Texas Instrument)

OS KHIXZigBee stack mpZBee (Microchip)

Compiler mspgccDownload msp430-bsl

IDE Dev C++

Page 28: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 20 -

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 모듈은 기본적으로

Page 29: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 21 -

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 정보를 부모노드에게 알려주게 된

다.

Page 30: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 22 -

표 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 정

Page 31: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 23 -

보를 [표2]와 같이 구성된 테이블을 구성하고 자식노드들로부터

MLME-POLL-request packet이 도착할 때마다 이를 업데이트 한다. 테이블이

업데이트 되면 식 min 에 의해 다음번에 발생할 Poll request의 예상

시간을 계산할 수 있게 되며 부모노드는 이 시간동안 Sleep 상태를 유지하게 된다.

Page 32: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 24 -

5. 실험 및 결과분석

실험은 노드의 소비전력을 측정하기 위하여 수행을 하였으며, 네트워크는 각각 1기의

코디네이터와 센서로 구성을 하였다. 기본적으로 네트워크는 비콘 비가용 네트워크로

동작을 하며, 기존의 방법과 제안하는 방안의 소비전력을 DAQ (Data Acquisition

System) 장비를 통하여 측정하고 비교 분석 한다.

5.1 소비전력 측정

센서 노드들이 소비하는 전력을 측정하기 위해서 [그림 12]과 같은 DAQ 장비를 사

용하였다. DAQ 장비는 아날로그 데이터를 고속으로 측정할 수 있는 데이터 수집 하드

웨어 장비이다. 본 논문에서는 Host PC와 USB 형식으로 연결되는 National

Instrument사의 DAQPad-6015을 사용하였다.

그림 13 NI DAQ-6015

실험에 사용된 센서노드가 사용하는 소비전력은 [식 5.1]에 의하여 계산될 수 있

Page 33: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 25 -

다.

× - (식5.1)

하지만 전류를 직접 측정할 수 없기 때문에 전압강하를 이용하여 사용된 전류를

계산하였다.[19][20] 전압강하란 저항에 의해서 양단의 전압차가 생기는 것을 의

미하며, 이를 위해서 전지와 노드사이에 0.1의 저항을 직렬로 연결하였다. DAQ

장비에서는 저항 양단의 전압차를 측정하게 되고, 측정된 전압과 저항을 바탕으로

센서노드로 흐르는 전류와 소비하는 전력을 측정할 수 있다.

전압은 DAQ장비에 의해 초당 100Hz단위로 측정이 되며, [그림12]와 같이

LabView를 사용하여 작성된 프로그램을 이용하여 데이터를 파일에 저장한다.

그림 14 전압의 측정을 위한 LabView로 작성된 응용프로그램

이렇게 측정된 전압은 결과적으로 다음의 식들을 통하여 시간의 흐름에 따른 소비

Page 34: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 26 -

전력을 측정하는데 이용이 된다.

_sec×

- (식 5.2)

( 측정전압, , )

DAQ장비를 통해 의 전압값이 측정되면 전류값을 계산할 수 있다. 초당 100

번의 전압값이 측정이 되므로 1초에 노드로 흘러들어 가는 평균전류량은 [식5.2]과

같다. 계산된 _sec값과 [식5.1]을 이용하면 노드가 초당 소비하는 전력량을 계산

할 수 있게 되며 [식5.3]에 의해 일정한 시간 동안 노드가 소비하는 평균 전력량

을 구할 수 있게 된다.

_sec×

_sec

_sec× - (식 5.3)

(공급전압 )

Page 35: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 27 -

5.2 실험결과 및 분석

실험은 크게 일반적인 비콘 비가용 지그비 네트워크와 제안하는 방법을 사용한 네

트워크에서의 소비전력으로 나누어 측정하였다.

또한 각각의 방법에서 세부적으로 전체 네트워크(코디네이터와 자식노드)의 소비

전력, 코디네이터의 소비전력, 자식노드의 소비전력을 시간의 흐름에 따라 측정하였

다.

5.2.1 코디네이터의 전력소모 측정

먼저 [그림13]은 제안하는 방법과 기존 방법에서의 코디네이터가 시간에 따라 소

비하는 전력량을 측정한 그래프이다.

그림 15 시간에 따른 코디네이터의 소비전력

자식노드는 8초마다 Polling 요청을 시도하게 되며, 5초 간격에 의해서 데이터

Page 36: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 28 -

패킷을 생성하여 전송하도록 구성을 하였다. 소비전력은 앞서 설명한 식에 의해서

계산하였고, 30분 간격으로 누적된 전력 소비량을 측정하였다.

기존의 방법과 제안하는 방법 모두 시간에 따라 일정하게 소비전력이 증가하였고,

제안하는 방법은 기존의 방법에 비해 평균적으로 27%의 에너지를 절감하고 있음을

알 수 있다. 이는 제안하는 방법에 의해 코디네이터가 자식노드의 폴링 주기에 따

라 RF 트랜시버를 On / Off함으로써 소모되는 전력량이 감소시켰기 때문이다. 또

한 제안하는 방법은 자식노드에서 데이터 패킷의 송신 요청이 발생하였을 경우

Polling 요청 시까지 기다렸다가 함께 송신하게 되므로, 자식노드와 부모노드(코디

네이터) 모두 전력소모를 감소시키는 방법을 택했기 때문이다.

[그림14]는 코디네이터의 자식노드의 수를 1기에서 3기로 늘려가면서 동일한 시

간 동안의 전력 소모량을 측정한 그래프이다.

그림 16 자식노드의 수에 따른 코디네이터의 소비전력

부모노드는 자식노드의 수가 증가함에 따라서 Wake up 상태로 존재하는 시간이

길어지게 된다. 따라서 많은 수의 자식노드가 존재할수록 전력소모량은 기존의 방

Page 37: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 29 -

법과 유사해 지는 것을 볼 수 있다.

Page 38: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 30 -

5.2.2 자식노드의 전력소모 측정

[그림 15]는 자식노드의 전력소모를 시간에 따라 측정한 그래프이다. 자식노드는

8초마다 Polling 요청을 시도하게 되며, 5초 간격에 의해서 데이터 패킷을 생성하

여 전송하도록 구성을 하였다. 제안하는 방법에서의 자식노드는 데이터 전송이 발

생하더라도 Polling 요청 시까지 기다렸다가 함께 전송하는 방법으로 구현이 되었

다. 따라서 데이터 전송에 의해 발생하는 에너지 소모를 줄일 수가 있기 때문에 평

균적으로 15%의 에너지 절감의 효과를 얻음을 확인하였다.

그림 17 시간에 따른 자식노드의 소비전력

[그림15]에서 볼 수 있듯이 제안하는 방안에서는 자식노드의 데이터 전송에 의해

발생하는 에너지 소모가 생략될 수 있음을 알 수 있었다. 이에 따라 자식노드에서

는 발생하는 데이터 전송 횟수가 빈번해 질수록 더욱 큰 전력소모 효과를 볼 수 있

다. 따라서 Polling 요청은 32초 간격, 데이터 전송 간격은 5초에서 25초 간격으로

Page 39: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 31 -

변화시켜 가며 일정시간 동안 자식노드의 소비전력량을 측정해 보았다. 예상대로

데이터 전송이 빈번해 질수록 기존의 방법과의 소비전력량이 큰 폭으로 차이가 나

는 것을 [그림16]를 통해 확인할 수 있었다.

그림 18 데이터 전송 주기에 따른 자식노드의 소비전력

[그림17]은 자식노드의 Polling 요청 주기에 따른 전력소모를 측정한 그래프이다.

Polling 요청 주기가 길어짐에 따라 기존의 방법과 제안하는 방법 모두 소비전력은

줄어드는 것을 알 수 있었다. 하지만 기존의 방법이 더 높은 전력을 소모하는 것은

데이터 전송을 Polling 요청과 별개로 수행하기 때문이며, 일정 시간동안 같은 수의

데이터전송 횟수를 가지기 때문에 Polling 요청 주기과 상관없이 제안하는 방법이

일정하게 낮은 전력을 소모하게 된다.

Page 40: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 32 -

그림 19 Polling 요청 주기에 따른 자식노드의 소비전력

Page 41: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 33 -

5.2.3 네트워크의 전력소모 측정

그림 20 전체 네트워크의 소비전력

[그림18]은 Polling 요청주기를 8초로 설정하고, 5초마다 데이터 전송을 시도하도

록 구성한 네트워크에서의 에너지 소모를 측정하였다. 네트워크는 1기의 코디네이

터와 1기의 센서 노드로 구성을 하였으며, 제안하는 방법을 사용했을 때의 전력소

모는 기존의 방법에 비해 평균적으로 23%의 전력소모 감소 효과를 얻을 수 있었

다.

Page 42: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 34 -

6. 결론 및 향후 연구과제

한번 배치된 센서 노드들은 수거가 어렵고 그 수가 상당히 많은 경우가 많다. 또

한 대부분의 센서 노드들은 배터리 기반으로 동작하기 때문에 저전력 소모를 위한

기법들이 절실히 필요하다. 이런 요구사항을 만족시키기 위한 방법으로 센서 운영

체제 레벨에서의 저전력 소모를 위한 스케줄링 방법이나 센서 네트워크의 MAC 프

로토콜, 또는 Network 프로토콜 에서의 다양한 접근 방법이 존재할 수 있다. 본

논문에서는 지그비의 MAC 프로토콜인 IEEE 802.15.4 비콘 비가용 모드에서 부

모노드가 자식노드의 Polling 주기를 이용하여 Wake up돠 Sleep상태를 반복함으

로써 전련소모를 줄일 수 있는 방법을 제안하고 구현하였다.

제안하는 방법은 기존의 방법에 자식노드의 Polling 주기 추가함으로써 wake up

시간을 결정하는 간단한 방법을 통해서 쉽게 구현될 수 있었다. 실제 전력소모량

측정 결과를 통해서 제안하는 방법이 기존의 방법에 비해 평균적으로 23%의 전력

소비 감소효과를 가져옴을 알 수 있었다.

본 논문의 향후 과제로는 사용될 센서노드의 수가 부족한 물리적인 제약사항 때문

에 많은 수의 센서 노드를 가지는 네트워크에서 실험할 수 없었던 점을 검증하는

작업이 필요할 것이다. 또한 기존의 네트워크와 정상적으로 연동되어 동작될 수 있

도록 IEEE 802.15.4 Compliant한 방법으로 수정하는 작업을 수행할 것이다.

Page 43: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 35 -

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

Page 44: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 36 -

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

Page 45: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 37 -

[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

Page 46: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 38 -

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

Page 47: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

- 39 -

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

Page 48: 경희대학교 대학원 컴퓨터공학과 박 상 하mesl.khu.ac.kr/research/paper/ms08parksangha.pdf · 2016-09-10 · tinyOS[8][9]는 버클리 대학에서 Smart dust 프로젝트를

감사의 글

연구실에서 공부를 시작한지 3년이 흘러 어느덧 졸업을 하게 되었습니다. 그동안

부족한 저를 지금까지 지도해 주신 조진성 교수님께 진심으로 감사를 드립니다. 학

업 외적인 부분까지 항상 신경 써주신 교수님의 은혜를 평생 잊지 못할 것 같습니

다. 더불어 바쁘신 와중에도 논문의 부족한 부분을 정성껏 심사해주신 한치근 교수

님, 유인태 교수님, 홍충선 교수님, 허의남 교수님께도 감사드립니다.

연구실 생활을 통해 많은 추억을 담아 가는 것 같습니다. 지금은 졸업을 하고 없

지만 대학원 생활의 시작을 도와준 건백이형, 두경이형, 준하형, 그리고 저에게 많

은 것을 가르쳐주고 항상 따뜻했던 경환이형, 자상한 충용이형, 웃음과 충고를 함께

주는 형관이형, 그의 반쪽 천환이형, 아직도 아쉬운 창현이형, 명콤비 요한이형과

헌준이형, 어린이 김정현 학생, 이제 끝이 보이는 세만이 모두가 있어 즐거운 연구

실 생활을 할 수 있었던 것 같습니다. 연구실을 이끄느라 고생하는 대영이형, 시작

과 끝을 함께하는 권택이형, 항상 고생하는 용규, 술식이형, 윤성이, 승민이에게도

감사하며, 앞으로 메슬을 이끌어갈 경원이, 귀로형, 준성이, 영선이, 의연이형, 학수

형에게 감사와 함께 아쉬움을 전합니다. 대학생활의 시작부터 함께 했고 긴 시간을

항상 챙겨 주기만한 나의 동거인 재호, 철없는 지노, 듬직한 영바이, 닥템 주네, 아

이돌 태희, 멋진 앙마, 우리 동기들 모두 변함없이 웃으며 항상 함께 하길 바랍니

다.

그리고 학창 시절부터 함께했고, 앞으로도 평생을 같이할 수호, 영호, 종환, 선태에

게 고마움을 전하며, ARMS가 영원하기를 바랍니다.

마지막으로 어떤 말로도 표현할 수 없는 사랑으로 지금까지 키워주신 아버지, 어

머니, 그리고 내 동생 규하, 우리 가족에게 한없는 감사를 드리며 부족하지만 이 논

문을 바칩니다.

2008년 겨울 박상하 드림