본문 바로가기
임베디드 관련/Raspberry Pi Pico

라즈베리파이 피코(Raspberry Pi Pico)에서의 딥슬립

by minhyeok.lee 2024. 11. 9.
반응형

라즈베리파이 피코(Raspberry Pi Pico)에서의 딥슬립

라즈베리파이 피코(Raspberry Pi Pico)는 RP2040 마이크로컨트롤러 칩을 사용

전력 절감을 위한 다양한 기능을 지원하지만 딥슬립 모드는 없음

RP2040은 라이트슬립이나 아이들 상태와 같이 전력을 줄이는 저전력 모드를 제공함


1. 라즈베리파이 피코에서는 다음과 같은 전력 절감 기능을 주로 사용함

 

1. 라이트슬립 (lightsleep)

CPU와 주변 장치 일부가 중지되며, 타이머나 인터럽트를 통해 깨어날 수 있음

저전력 상태에서 빠르게 깨어나야 할 때 주로 사용

 

2. 아이들 모드 (idle)

CPU가 유휴 상태로 진입해 전력 소모를 줄임

프로세서가 필요할 때 즉시 다시 활성화됨

반복 대기나 짧은 대기 시간에 적합

 

3. 클럭 및 주변 장치 제어

필요하지 않은 클럭이나 주변 장치를 비활성화해 전력을 줄일 수 있음

예를 들어, 사용하지 않는 SPI, I2C 등의 주변 장치를 비활성화하는 것

 


 

2. 라즈베리파이 피코에서는 딥슬립이 존재하지 않음

라즈베리파이 피코의 MicroPython 라이브러리에는 machine.deepsleep() 함수가 있고 다른 여타 라이브러리에도 deepsleep()이라는 이름의 함수가 있음

 

1. 이 함수는 이름 때문에 딥슬립 기능을 지원한다고 오해할 수 있지만, 실제로는 Pico가 사용하는 RP2040 칩 자체가 진정한 의미의 딥슬립 기능을 지원하지 않음

2. RP2040 칩의 전력 절감 모드는 주로 라이트슬립 상태에서 CPU와 주변 장치 일부를 비활성화하고 타이머나 인터럽트로 빠르게 깨어날 수 있는 저전력 모드로 제공됨

3. machine.deepsleep() 함수는 일반적으로 다른 마이크로컨트롤러에서의 진정한 딥슬립 기능과는 다르게 작동함

4. 이 함수는 RP2040 칩을 사용하는 다른 보드에서 딥슬립을 흉내 내는 기능 정도로 이해하면 좋음

5. 기본적으로 타이머 기반으로 시스템을 멈춰 전력을 줄이지만 외부 회로를 통한 완전한 전력 차단을 지원하는 것은 아님

6. 결론적으로 machine.deepsleep()은 라이트슬립과 비슷하게 동작하며, Pico에서 실제로 완전한 딥슬립 기능을 기대하는 것은 어렵다고 보면 됨

 


 

3. 결론

 

1. 라즈베리 파이 피코의 공식 C SDK에서는 파워 매니지먼트를 위한 몇 가지 저전력 함수들이 제공됨

2. RP2040 칩 자체는 마이크로컨트롤러에서 흔히 사용되는 깊은 절전 모드(딥슬립) 기능을 완벽히 지원하지 않지만, 최대한 전력 소비를 줄이기 위해 특정 핀이나 타이머에 의해 활성화될 수 있는 다양한 슬립 모드를 제공함

반응형

댓글