마이크로컨트롤러(MCU)를 선택한 후, 배터리 런타임을 최적화할 수 있는 몇 가지 간단한 단계들이 있습니다. 하드웨어와 펌웨어를 올바르게 구성하고 테스트함으로써 최적의 IoT 기기 구성을 개발할 수 있습니다.
마이크로컨트롤러(MCU)를 선택한 후, 배터리 런타임을 최적화할 수 있는 몇 가지 간단한 단계들이 있습니다. 또한 하드웨어와 펌웨어를 올바르게 구성하고 테스트함으로써 최적의 IoT 기기 구성을 개발할 수 있는 방법을 논의하고자 합니다.
글: 브래드 졸리(Brad Jolly) / Keysight
전력 예산
우선, 기기를 위한 이론적인 전력 예산을 산출합니다. MCU의 데이터시트와 매뉴얼을 참조하여 기기 절전모드 해제, 데이터 수집, 데이터 처리, 무선 기능 켜기, 데이터 전송, 무선 기능 끄기 및 절전 모드로의 복귀와 같은 이벤트의 전체 사이클을 검토합니다. 각 단계의 시간만큼 전류를 곱하고 그 값들을 더하여 일반적인 운영 사이클에 대한 추정 총계를 산출합니다.
기기가 오랜 절전 모드 중에 소모하는 전력도 포함시켜야 하는데, 이는 비록 나노암페어(nA) 정도의 전류마저도 장시간에 걸쳐 적잖은 수치가 되기 때문입니다. MCU 제조업체가 다양한 운영상의 변수와 관련된 전류 드레인을 측정할 수 있는 소프트웨어를 제공할 수도 있으며, DC 전력 분석기와 디지털 멀티미터(DMM) 또는 디바이스 전류 파형 분석기를 사용하여 예상 값의 정확성을 기할 수 있을 것입니다.
하드웨어 구성
MCU가 구동되는 클럭 속도 최적화로 먼저 시작합니다. 많은 MCU의 전류 소비는 µA / MHz 단위로 표시하고 있으며, 이를 보면 클럭 속도가 낮은 프로세서가 빠른 클럭 속도의 프로세서보다 전류를 적게 소모함을 알 수 있습니다. 하지만 100% 성능으로 작동하는 프로세서라면 10 MHz에서도 20 MHz의 경우와 동일한 에너지를 소비하는데, 이것은 20 MHz 프로세서의 경우 그 절반의 시간동안 2배의 전류를 소비하기 때문입니다. 결론적으로 프로세서가 주로 유휴 상태인 코드 세그먼트(code segment) 동안에 MCU가 보다 천천히 작동되도록 함으로써 전류를 절약할 수 있습니다.
그 다음 단계로, 데이터 샘플링과 관련된 설정을 최적화합니다. 이러한 설정에는 센서가 깨어나 데이터를 수집하는 주기와 선택 샘플의 수, 그리고 ADC 샘플링 속도가 포함됩니다. 측정의 정확성과 이러한 샘플링 변수 간에는 상충 관계가 있는 경우가 많기 때문에 전류 드레인을 최소화하도록 샘플링 변수를 설정하면서 정확성을 기해야 합니다. 마찬가지로 MCU가 기기의 디스플레이를 업데이트하고 센서로부터 데이터를 요청하며 LED 또는 무선 기능을 켜는 주기도 변경할 수 있습니다.
끝으로 MCU에서 지원되는 다양한 유휴 상태, 스누즈 및 절전 모드들을 상세하게 검토합니다. 예를 들어 일부 MCU는 리얼타임 클럭(RTC)을 비활성화하는 기능이 있으며, RTC의 비활성화를 통해 절전 모드에서의 전류 소비는 1/6 이하로 줄어들 수 있습니다. 물론 이렇게 할 경우 이를테면 기지국 등을 통하여 날짜와 시간을 복원하기 위한 일부 설정이 필요할 수 있습니다.
펌웨어 옵션
각 단계를 신속하게 마무리하여 MCU가 절전 모드로 복귀하도록 프로그램을 설계합니다. 센서 및 기타 주변 장치들에 필요 시에만 전력이 공급되도록 설정합니다. 센서에 전원을 인가할 경우 파워-온 안정화 시간을 기억하여 측정의 정확성에 영향이 미치지 않도록 합니다. 초저전력 모드의 경우, 특히 여러 전압 레벨로 MCU에 전력을 공급하게 될 경우 정교한 SMU(Source Measure Unit)를 사용하여 매우 정확한 전류 측정을 수행하는 것이 좋습니다.
비교적 저전력의 집적화된 주변 장치 모듈을 사용하여 MCU가 수행할 소프트웨어 기능들을 대체하기 위한 검토를 합니다. 예를 들면 타이머 주변 장치는 자동적으로 펄스 폭 변조(PWM)를 생성하고 외부 타이밍 시그널을 수신할 수 있습니다.
아울러 적절한 프로그래밍 설정, 이를테면 루프 밖으로의 상수 설정, 불필요한 변수의 선언 배제, 작은 루프의 언롤링, 비트의 시프트를 통한 일부 정수 연산의 대체와 같은 설정들을 수행합니다.
테스트 및 학습
끝으로 MCU 코드를 작성하는 동안 계측기의 소프트웨어 툴을 사용하여 자주 실제 전류 소모량을 분석합니다. 이러한 툴에는 보완적 누적 분포 함수(CCDF) 또는 자동 전류 프로파일 등이 있으며, 이들은 보다 정확한 전력 예산을 산출하기 위한 정보를 제공합니다. 코딩 의사 결정이 전력 소모에 미치는 영향을 관찰 및 기록하여 현재의 프로그램을 최적화하고 향후 프로젝트를 유리하게 시작하십시오.
IoT 테스트 과제를 위한 키사이트 솔루션 – 어플리케이션 노트 다운로드 받기