티스토리 뷰
임베디드 시스템을 구축할 때, 특히 배터리를 가지고 동작하는 경우 빠지지 않는 중요한 요소로 전력관리입니다. 디바이스가 어떻게 전력을 최소화할 수 있고 어떻게 Idle 상태로 돌아와 정상적인 동작을 수행할 수 있는지, 그 안에서도 다양한 주변장치를 이용하고, 블루투스와 와이파이 같은 통신 방식을 이용할 때에도 연결 하기위한 동작을 수행할 때 어떻게 하면 전력을 줄일 수 있는지 다양한 관점과 요소에서 전력 소모를 줄일 수 있는지 또 전력을 관리할 수 있는 칩 자체의 기능이나 SDK 자체의 지원익 가능한지를 확인해봐야 합니다. 오늘 이야기할 전력 소비를 줄일 수 있는 방법으로 회로쪽과 조금 관련된 이야기를 하도록 하겠습니다.
DCDC vs LDO
두 방식의 차이에 대해서 정리해보면 다음과 같습니다.
DCDC : 코일과 캐페시터를 이용하여 충방전을 반복하며 전압을 출력(이 과정에서 역기전력-리플-발생) 리플이 발생할 수 있으며, 이것을 잔는 것이 노하우. 만약 DCDC를 LDO처럼 Linear 하게 출력하게 되면 열이 현저하게 발생하지 않음
LDO : Low Drop Out으로 일반적으로 정전압 IC들은 입력 전압이 출력 전압보다 2V이상 높아야 하며 입력과 출력의 전압차가 적게 Drop시키기 위해 만든 것으로 Linear 하게 전압을 출력합니다.
장단점
- DCDC
- 장점 : 효율이 높다. 발열이 적다.
- 단점 : 값이 비싸다. 회로가 복잡. 리플이 있어 고주파나 RF회로에 사용시 노이즈 대책이 필요
- LDO
- 장점 : 값이 싸다. 회로가 간단, 리플이 적어 노이즈에 민감한 회로에 적합.
- 단점 : 발열, 효율이 낮다.
결론을 정리해보면 DCDC 레귤레이터를 사용하면 LDO 레귤레이터를 사용하는 것보다 전류 소비가 낮지만 DCDC 레귤레이터에는 외부 LC 필터가 필요합니다. 또한 보고된 바에 의하면 Advertise Mode에서 약 42%이상 소모 전류를 줄일 수 있기에 이를 사용하기 위해서 칩의 스펙을 찾아보니 아래와 같습니다.
Flexible power management 쪽 내용을 보니, Fully automatic LDO and DC/DC regulator system 이라고 나와 있습니다. 먼가 칩 자체이 LDO 또는 DCDC를 회로가 구성되어 있고 쉽게 스위칭이 가능한것으로 볼 수 잇는데요 어떻게 하는지 SDK 문서를 좀더 확인해보도록 하겠습니다.
DCDCEN을 enable 해주냐에 따라서 LDO 또는 DC/DC 레지스터가 세팅되어 파워쪽 회로가 설정되어 구동하게 되어 있습니다. DCDCEN 을 떻게 enable 을 해줄 수 있는지 찾아보도록 하겠습니다.
SDK 문서에 정의되어 있는 대로 코드에서 찾아보면 우선 sdk_config.h 에 관련된 디파인을 설정합니다.
그리고 나서 SoftDevice에서 제공하는 API를 ble stack init을 한 뒤에 바로 호출 해줍니다.
sd_power_dcdc_mode_set(NRF_POWER_DCDC_ENABLE);
사실, 평상시에 idle 상태에서 연결되어 있지 않다면 Advertising을 지속적으로 또는 주기적으로 하기 때문에 이때 전력소모 자체를 조금이라도 졸일 수 있어야 하고 또한 ble 기본 stack이 init 되고 advertising을 하기전에 호출되어야 제대로 동작할 수 있습니다. 전력관리에 관련된것은 여러가지가 더 있기 때문에 하나씩 더 다뤄보면서 적용해보도록 하겠습니다.
'Technology > Bluetooth' 카테고리의 다른 글
nRF 칩에서 Low Lever I2C driver 만들어 사용하기 (0) | 2022.06.26 |
---|---|
nRF칩에서 I2C 연동하기 twi (0) | 2022.05.29 |
nrfconnect 사용해서 nrf 칩에 올리기 준비 (0) | 2022.05.22 |
nRF에서 Database 활용하기 - fstorage 편 (0) | 2022.05.16 |
NRF Sleep 후 Wakeup 과 Reset 구별하기 (0) | 2022.05.15 |