저전력 임베디드 설계를 위한 실무 팁 대방출
글/마이클 파크스(Michael Parks, P.E.)
제공/마우저 일렉트로닉스(Mouser Electronics)
[출처: CrazyCloud - stock.adobe.com]
새로운 전자기기 설계 작업은 종종 절충점(tradeoff)을 찾아내는 작업이 되곤 한다. 비용과 성능은 상충하는 경우가 많다. 소비 가전 제품과 같이 가격에 민감한 시장에서는 임베디드 시스템의 핵심인 마이크로컨트롤러(MCU) 또는 마이크로프로세서(MPU) 선택이 아마도 성능에 가장 결정적인 영향을 미치는 요소일 것이다. 임베디드 시스템 설계에서는 전반적인 성능에 영향을 줄 수 있는 핵심적인 특성들이 있다. 예컨대 다음과 같은 것들이다.
• 배터리 수명
• 응답성
• 열 성능
• 무선 신호의 도달 범위와 속도
• 외부 주변기기들이 제공하는 기능
에너지 하베스팅 기술을 이용하는 배터리 구동 장치나 디바이스들은 저전력 설계가 매우 중요하다. 이들 제품을 설계할 때에는 초기 단계부터 다음과 같은 요소들을 고려해야 한다.
• 유지관리 작업 과정에서 현장에 설치된 장치에 대한 접근성은 어떠한가? 배터리 교체는 가능한가?
• 작동 환경(온도 및 습도, 직사광선이나 화학 물질에 대한 노출 등)은 어떠한가?
• 크기와 중량에 제한은 없나?
• 어떤 통신 기술이 필요한가? 원격 측정 데이터 전송은 얼마나 자주 필요한가?
• 얼마나 많은 외부 장치(센서, 액추에이터)와 상호 작용이 필요한가? 이 때 사용되는 인터페이스는 무엇인가?
이처럼 ‘굵직한’ 요구 사항들을 확인한 다음에는 대략적인 전력 소비를 계산해야 한다. 먼저, 외부 장치들의 총 전류 소모량을 파악해야 한다. 다음으로, 기능적 요구 사항을 충족하는 후보 MCU/MPU 제품들을 살펴보고 해당 제품의 전력 효율이 어느 정도인지 확인해야 한다. 전력 효율은 명세서에 클럭 속도(Hz단위)당 µA로 표시하는 것이 일반적이다. 기능과 성능 측면에서 적절한 MCU/MPU를 미리 조사해 두면 설계의 저전력 요구 사항을 충족하는 데 큰 도움이 된다.
예상되는 동작 전력 및 유휴 전력 소비가 합격선에 들어오면, 배터리 충전이 얼마나 오래갈지 여러 배터리 옵션들을 ‘간단한 계산을 통해’ 대략적으로 예측해 수 있다. 이때, 적합한 배터리 화합물 소재를 선택하는 것이 핵심이다. 예를 들어 니켈-카드뮴(NiCd)과 니켈-수소(NiMH) 배터리는 추운 환경에서는 충전이 원활하게 이루어지지 않는다.
여기까지 검토를 마쳤으면 이제부터는 임베디드 시스템 전력 소비 최적화 수준의 설계 고려 사항에 집중해야 한다. 경험상, 하드웨어와 펌웨어 설계 양쪽 모두에 대해 다음과 같은 사항들을 고려할 필요가 있다.
• 동작 전압은 가능한 가장 낮은 것을 선택한다. 5V는 가장 오랫동안 표준 전압으로 사용돼 왔고, 그 다음에는 3.3V였다. 요즘에는 코어 및 메모리 동작 전압으로 2.7V와 1.8V도 많이 볼 수 있다. 일부 임베디드 부품은 0.9V를 채택한 것도 있다.
• 동작 전압이 가장 낮은 제품을 선택하는 것 말고도, 동작 전압이 동일한 부품들을 선택하면 설계에 DC-DC 컨버터의 필요성을 줄일 수 있고 여러 전원 레일을 라우팅할 수도 있다.
• 코어 클럭 속도는 성능에 영향을 미치지 않는 선에서 가능한 가장 느린 것을 선택한다.
• LED와 LCD 사용은 신중해야 한다. 미적인 요소와 유용한 기능을 추가할 수 있지만, 유용성에 비해 전력 소모가 커질 수 있다. 따라서 LED 사용은 현명하게 판단해야 한다. LCD가 꼭 필요한 경우에는 사용자가 밝기를 조정할 수 있는 기능이 있는 제품을 선택하는 것이 좋다.
• 회로 레이아웃과 부품 선택은 전력 예산에 상당한 영향을 미칠 수 있다. 전압 분배기, 풀업 및 풀다운 저항은 필요한 경우 전류를 소모할 수 있다. 꼭 필요한 부품인지 확인하고, 효과와 효율 두 가지 모두를 고려하여 크기를 조정한다.
• 주변 기기들은 항상 활성화 상태에 있도록 배선하지 않는다. 필요에 따라 펌웨어를 통해 주변 기기를 켜고 끌 수 있도록 MCU의 GPIO 핀을 설계한다.
• 코드에서 지연 또는 지속적인 센서 폴링(sensor polling)을 사용하지 않는다. 별다른 역할도 하지 않으면서 쓸데없이 에너지를 소비하는 클럭을 발생하기 때문이다. 대신 작업 스케줄러와 인터럽트를 사용한다.
• 요구되는 도달 범위를 충족하는 통신 프로토콜을 선택한다. 필요 이상 넓은 커버리지를 지원하는 프로토콜을 선택할 필요가 없다. 일례로 지그비(Zigbee®)가 블루투스(BLUETOOTH®) 보다 더 효율적일 수 있다. 필요하지 않을 때는 무선을 끈다. 무선 전원을 켜는 데 걸리는 시간을 고려한다. 저전력, 저속 데이터 전송 애플리케이션에서 이는 큰 문제가 되지 않는다.
• GPIO 핀을 부동 상태로 두지 않는다.
• 내부 풀업이 있는 GPIO 핀의 경우, 불필요하게 풀업을 활성화하지 않는다.
• I2C나 SPI 같은 클럭 레이트 통신 버스 사용은 줄인다.
• 아날로그-디지털 변환에 사용되는 저항과 커패시터는 상당한 양의 에너지를 소모할 수 있으므로 ADC의 판독 빈도를 줄이고, 판독하는 동안은 R-C 네트워크를 끈다. 그러나 판독을 수행하기 전에는 커패시터가 다시 충전할 수 있게 충분한 시간을 주어야 한다.
전력 소모에 최적화한 설계는 배터리 수명을 절약하는 것 이상의 의미가 있다. 전력 소모가 적다는 것은 발열이 적다는 뜻이므로, 그만큼 신뢰성이 높아질 뿐 아니라 열로 인한 고장의 위험도 낮아진다.
마지막으로, 설계 검증은 반드시 필요하다. 저가의 USB 전력계, 멀티미터, 줄스코프(joulescope) 또는 에너지 분석기를 사용하여 실험실이나 실제 환경에서 기기의 전력 소모를 측정해 본다. 전류 및 전압 측정을 위한 테스트 지점을 보드에 배치해 놓으면 이 작업을 보다 쉽게 할 수 있을 것이다.
문답으로 살펴보는 전자산업과 오픈 소스의 관계
조회수 84회 / Mark Patrick
자율주행차 시대를 맞이하기 위한 준비 사항들
조회수 117회 / Matt Campbell
로봇에게 능숙한 손 조작 능력을 학습시키는 TRI의 혁신적인 접근법
조회수 340회 / Carolyn Mathas
운전자의 주행 경험을 향상하는 차량용 UX 기술
조회수 261회 / Brandon Lewis
스마트 캐빈이 가져오는 자동차의 변화
조회수 455회 / Adam Kimmel
세대 교체 예고하는 차세대 표준 ‘와이파이 7’
조회수 693회 / JJ Delisle
점점 더 진화하는 와이드 밴드갭 반도체 기술
조회수 732회 / JJ Delisle
IoT 기기의 보안을 강화하는 인증 기술
조회수 613회 / Jon Gabay
저전력 임베디드 설계를 위한 실무 팁 대방출
조회수 715회 / Michael Parks
PDF 다운로드
회원 정보 수정