2009년 5월 1일 금요일

Issue

* Low Power Listening *


Arch Rock에서 CC2420 기반의 Low Power Listening을 성공적으로 구현, 2007년 초부터 TinyOS-2.x에 LPL 코드가 공개되었다.
저 전력 통신을 위해서는 주기적으로 CC2420을 sleep/wake 동작이 가능하도록 해야 한다.
MAC 계층 에서 Telosb의 저 전력은 현재 많이 사용하는 SurgeTelos등과 같은 공개된 코드에서는 active 상태로 동작한다. CC2420은 active 상태에서는 20mA 이상의 전류가 항상 소모되고 있다. CC2420은 보통 17mA ~ 20mA 정도의 전력을 소비하므로 항상 wake 되어 있는 일반적인 SurgeTelos 등과 같은 어플리케이션의 경우 저 전력으로 동작시킬 수 없다.
저 전력을 구현하기 위해서는 TinyOS-2.x 의 LPL을 이용해야 한다. (tutorial 참조)
결론은 TinyOS-1.x 에서는 CC2420의 저 전력이 불가능하고, TinyOS-2.x 에서는 LPL이 지원되므로 저 전력으로 구현이 가능하다. 이 LPL은 Deluge를 구현한 Jonathan Hui가 만들었다. 현재 6LowPAN에서 왕성한 활동을 하고 있다.
CC1000 계열에서는 소프트웨어에서 Preamble을 제어 할 수 있다. CC2420은 보내고자하는 데이터를 버퍼로 입력해주면, 하드웨어가 알아서 전송한다. 즉, CC1000과 같이 세밀한 제어가 불가능 하다. CC2420은 대부분의 기능을 하드웨어가 하기 때문에, 새로운 알고리즘을 적용한 프로토콜을 만들어내기가 거의 불가능하다. 따라서 대부분의 학계 연구결과들은 CC1000을 기반으로 발표된 내용이며, S-MAC, PRIME, Funelling MAC 등 CC2420은 제약이 많다. 저 전력으로 구현하기에는 CC1000이 성능이 좋다. 그 이유는 Preamble을 가변적으로 조절해서 LPL을 구현할 수 있기 때문이다. CC2420은 데이터 전송률이 높으며, MCU와 연결하여 통신을 하기에 매우 편리하다. CC1000과 다르게 대부분의 기능을 하드웨어가 담당한다. 또한, CC2420은 IEEE 표준 기반이지만 CC1000은 아니다. 현재 비즈니스를 하는 대부분의 회사들은 표준을 따라 가고 있다. Vertical market은 한계를 가지고 있기 때문이다.
B-MAC은 ZigBee용 MAC이 아니다. 기본적으로 B-MAC은 CC1000 칩을 위한 MAC 프로토콜로 Preamble 을 동적으로 줄이고 늘이고 해야하기 때문에, CC2420에서는 불가능 하다. 보통 Telos 에 사용된 MAC을 LPL(Low Power Listening)이 없는 MAC이라고 부른다. 그동안의 Sensys 컨퍼런스 논문들을 보면, 센서 네트워크에서의 MAC이 어떻게 발전 되어 왔는지를 볼 수 있다. 그중 저전력을 목표로 구현한 것들이 많다. CC2420 칩이 20mA 정도를 항상 소비한다고 보면, 얼마나 잘 Sleep 시켰다가, wake up 시키느냐가 중요하다고 볼 수 있다.

- tinyos korea -

댓글 없음:

댓글 쓰기