[테크월드뉴스=서유덕 기자] 배터리 구동 디바이스가 세상에 나온 지는 오래됐지만, 그 활용 범위는 제한적이었다. 배터리 탑재 디바이스가 널리 보급된 건 휴대폰이 시장에 등장한 뒤다. 최근 20년 동안 충전식 배터리로 구동되는 디바이스의 수가 기하급수적으로 증가했다. 2018년 기준, 리튬 기반 배터리를 사용하는 휴대폰, 태블릿, 노트북 등 디바이스의 모델 수는 수만 가지에 이른다. 이 기사에서는 배터리 구동 디바이스에서 에너지 모니터링의 필요성과 그 방법에 대해 알아본다.

전력 소비는 모든 휴대용 디바이스에서 매우 중요한 요건 중 하나다. 하드웨어 개발자는 기능을 늘리고 크기와 비용을 절감하는 동시에 저전력을 구현하고자 보다 더 집중하고 있다. 소프트웨어 개발자 역시 운영 체제 분야(예를 들면 에너지 인지형 스케줄링을 통해)와 머신 러닝 같은 새로운 주제에서 기존 알고리즘에 적용할 새로운 전력 인지형 접근 방식을 연구하고 개발함으로써 전력 소비를 절감하고자 한다. 전력은 순간적인 에너지 소비를 나타낸다. [등식 1]에 나와 있듯이 전자제품에서 전력은 순간 전압과 전류의 곱이다. 전력의 단위는 와트(Watt)로, 초당 1줄(Joule)에 해당하는 값이다.

[등식 1] 전력 등식
[등식 1] 전력 등식

에너지는 전력과 시간 사이의 산출물로서, 회로는 에너지를 소비하고 배터리는 에너지를 저장한다. 전력 관리는 일반적으로 전력 전송 역량과 부하 조건을 충족할 수 있도록 순간 전류와 전압을 관리하는 것을 의미한다. 일반적으로 에너지 모니터링은 에너지 소비 관련 정보를 제공함으로써 개발자의 배터리 관리와 전반적인 전력 벤치마킹을 돕는다. 특정 부하에 따라 조치를 취하도록 설계된 소프트웨어를 통해 에너지를 모니터링함으로써 ‘액티브 에너지 관리(active energy management)’를 실현할 수 있다.

액티브 에너지 관리는 사전 정의된 설정에 따라 자동으로 수행하거나 특정 권장 사항 또는 제안을 사용자에게 제공하기 위해 소프트웨어 구동 시점에 수동으로 수행할 수 있다. 예를 들어, 대부분의 랩톱은 AC 전력이 아닌 배터리로 구동되는 경우 프로세서 성능이 자동으로 저하되고 그래픽이 전용 그래픽 프로세서에서 저전력 통합 그래픽 프로세서로 전환될 수 있다. 배터리 수명을 늘리기 위해 일부 노트북 주변장치를 종료하거나 사용자에게 화면 밝기 또는 키보드 백라이트 조절을 권고할 수도 있다. 대부분의 스마트폰에는 배터리 전력이 일정 수준 아래로 내려가면 활성화된 인터넷 연결 중 일부를 종료하거나 화면 밝기를 조절하는 등 액티브 에너지 관리 소프트웨어가 제안하는 에너지 절약 옵션이 포함돼 있다.

이는 배터리 구동 디바이스에만 해당하는 이야기가 아니다. 서버 역시 전력 소비와 부하 수준을 세밀하게 모니터링해 특정 서비스의 중단 또는 일시 중지 여부를 결정한다. 전체 전류 사용량과 통계를 기반으로 한 사용량 예측을 바탕으로 애플리케이션 확장·축소가 가능한 가상 서버의 경우 하이퍼바이저(hypervisor)가 가상 머신 일부를 완전히 종료(shutdown)할 수 있다. 액티브 에너지 관리의 또 다른 용도는 디버깅이다. 에너지 모니터링을 통해 시스템 전체 또는 일부가 경계 내에서 작동하고 있는지에 대한 강력한 정보를 얻을 수 있다.

 

DC 전력 및 에너지 측정에 사용되는 전자 회로

앞서 말한 대로 전력은 전압과 전류의 곱이다. 정밀 전력 측정을 위해서는 전압과 전류를 매우 정확하게 측정해야 한다. 일정 기간 측정되고 축적된 전력은 에너지를 생성한다. 대부분의 경우 전력 소비량이 일정하지 않기 때문에 전압과 전력은 선정된 대역폭으로 측정해야 한다. 일반적인 DC 전압 측정 회로의 예로는 [그림 1] 좌측의 단순 전압 분배기와 우측의 버퍼링 된 전압 분배기가 있다. 두 회로 모두 적절한 보정을 통해 높은 정확도를 제공할 수 있다. 버퍼링 된 전압 분배기의 경우 버퍼링 되지 않은 전압 분배기보다 가격은 높지만, 일반적으로 전력 소비가 더 적으며 특히 매우 낮은 DC 신호를 측정할 때 사용된다.

[그림 1] 전압 분배기 회로
[그림 1] 전압 분배기 회로

전류(DC 포함)는 홀 효과(Hall effect)를 이용해 측정할 수도 있지만 션트 저항(shunt resistor)이 더 널리 사용되고 더 저렴하기 때문에 본 글에서는 션트 저항을 사용한 DC 측정에 집중하겠다. 션트 저항은 회로에 직렬로 연결된 낮은 값의 저항이다. 션트 저항에 전류가 흐르면 션트 전체에 작은 전압 강하가 발생한다. 전압 강하는 [등식 2]와 같이 전류에 비례하며 일반적으로 연산 증폭기(op-amp)로 증폭된다.

[등식 2] 션트 저항에 전압 강하 발생
[등식 2] 션트 저항에 전압 강하 발생

션트 저항은 나머지 회로와 직렬로 연결되기 때문에, 이는 션트 단자 중 하나가 버스 전압에 직접 연결되는 하이-사이드에 배치할 수 있으며 또는 그라운드와 연결된 로우-사이드에 배치할 수도 있다. 두 경우 모두 작은 션트 전압 강하가 발생하며 회로에 적용되는 전체 전압은 더 낮다. 그러나 션트의 위치에 따라 다음의 결과가 일어난다.

① 션트가 로우-사이드([그림 2] 우측)에 위치할 경우, 션트를 지나는 전압은 그라운드로 직접 이어진다. 대개 션트 저항이 작기 때문에 션트 저항의 전압 강하 역시 작고, 따라서 전류 측정 회로에 저렴한 저전압 연산 증폭기를 사용하여 전압 강하를 매우 쉽게 증폭할 수 있다. 이는 비용 측면에서 매우 큰 장점이다. 로우-사이드 션트의 가장 큰 단점은 전체 회로가 그라운드와 직접 연결되지 않고 더 높은 곳에 연결된다는 사실이다. 션트 전압 강하는 대체로 밀리볼트(㎷) 범위를 벗어나지 않는다.

② 반면에 션트가 하이-사이드([그림 2] 좌측)에 위치할 경우, 회로가 그라운드와 직접 연결될 때 발생하는 그라운드 바운스 효과를 방지할 수 있다. 이는 정밀 측정용 회로나 정확한 출력을 제공해야 하는 경우에 매우 큰 장점으로 작용한다. 이 방식의 유일한 단점은 고전압 차동 연산 증폭기 회로를 사용해야 해 연산 증폭기의 대역폭에 따라 가격이 올라갈 수 있다는 것이다.

[그림 2] 전류 측정 회로
[그림 2] 전류 측정 회로

전압, 전류, 심지어 전력 자체도 아날로그 회로를 사용해 적은 비용으로 매우 쉽게 측정할 수 있지만, 에너지 측정에는 좀 더 복잡한 회로가 필요하다. 고전적인 에너지 측정 방식은 아날로그 회로로 전압과 전류를 측정한 다음 데이터를 마이크로컨트롤러(MCU)로 출력하는 아날로그-디지털 컨버터(ADC)를 사용해 신호를 디지털로 변환하는 것이다. MCU의 역할은 시간에 따른 신호의 누적 전력을 샘플링하는 것으로, 이를 통해 에너지 측정값을 얻을 수 있다. [그림 3]에 일반적으로 많이 사용되는 에너지 측정 회로가 나와 있다. 측정 회로에 MCU를 추가하는 방식에는 장단점이 있다. 여러가지 행동을 모니터링하고 시간·날짜별로 보다 상세한 보고를 함으로써 연산 알고리즘에 유연성을 제공할 수 있다. 또한, 에너지 측정 외에도 MCU가 할 수 있는 작업은 많다. 이벤트 트리거, 사용자 지정 상태(custom state) 머신 구동, 그 외 엔지니어가 필요로 하는 거의 모든 작업을 수행할 수 있다. 어차피 시스템에 MCU가 필요한 상황이라면 비용 및 BOM(자재명세서) 증가가 문제가 되지는 않는다. 반면 MCU를 사용한 에너지 모니터링의 단점은 측정 시스템의 전체 전력 소비 증가, 불필요한 코드 개발, 오버헤드, 정확도에 따라 ADC가 별도로 필요한 때도 있다는 점 등이다.

[그림 3] 대표적인 에너지 측정 회로
[그림 3] 대표적인 에너지 측정 회로

수년 동안 DC 에너지 모니터링 기능에 대한 수요가 증가하면서 에너지 모니터링 애플리케이션을 위한 여러 집적회로(IC)가 개발됐다. 그중 하나가 마이크로칩의 ‘PAC1934’다. PAC1934는 최대 4개 채널까지 동시 샘플링이 가능한 IC로, 필요한 외부 구성 요소는 션트 저항뿐이다. [그림 4]에 기본 회로도가 나와 있다. 이 회로는 시스템 연결을 위해 연산 증폭기, ADC, 산술 계산 로직, 메모리, 표준 인터페이스(주로 I2C 또는 SPI)를 통합한다. 고전적 접근 방식 대비 IC 방식의 이점은 비용에서 즉각적으로 나타난다. IC 방식에서는 에너지 측정에 필요한 모든 것이 하나의 IC에 집적돼 있기 때문에 PCB 크기와 BOM이 대폭 절감된다.

 [그림 4] 4개 채널 동시 측정이 가능한 PAC1934의 블록 다이어그램
[그림 4] 4개 채널 동시 측정이 가능한 PAC1934의 블록 다이어그램

 

액티브 에너지 모니터링의 효과

대부분의 사용 사례에 맞게 유연하게 설정할 수 있는 특수 IC는 매우 적은 전력 소비로 장시간 전력을 축적할 수 있다. 일반적으로 전력 샘플링 속도는 8SPS에서 최대 1KSPS 이상까지 다양하다. 예를 들어 PAC1934가 8SPS로 동작하는 경우, 4개 채널이 모두 완전히 활성화돼 16비트 분해능으로 동작하는 상태에서 소프트웨어의 개입 없이 16㎂ 미만의 전류로 36시간 이상 전력을 축적할 수 있다. 실시간 샘플링 속도 변경을 허용하면 사용 사례가 확장된다. 일반 노트북에서 전력 레일 모니터링 용도로 IC를 사용하는 경우를 예로 들 수 있다. 노트북이 실행 중인 상태에서는 1024SPS 속도로 모니터링할 수 있고, 노트북이 정지 상태라면 전력 사용량 변동이 심하지 않기 때문에 모니터링 속도가 8SPS까지 떨어질 수 있다. 또한 샘플링 속도를 낮추면 성능 저하 없이 에너지 모니터링 전력 소비를 절감할 수 있다.

액티브 에너지 모니터링의 가장 인기 있는 사용 사례는 배터리 연료 게이지다. 특수 IC는 배터리 전압과 전류를 모니터링하며 현재 배터리의 에너지양을 항상 파악하고 있다. 고급 연료 게이지는 배터리에 문제가 생기면 이를 감지할 수 있다. 예를 들어 배터리 전압과 에너지를 추적할 수 있으며, 두 수치가 일치하지 않는다면 노후화와 기타 요인으로 인해 배터리의 전체 용량이 줄어들고 있음을 의미한다. 액티브 에너지 모니터링은 표준 배터리 관리 시스템(BMS)의 핵심이기도 하다. BMS는 멀티 셀 배터리 팩에 사용되는 회로로, 안전한 배터리 팩 충전·방전을 담당하며 각 배터리 셀의 매개 변수가 동일한 지 확인하기 위해 능동적으로 전압과 전류를 측정한다. BMS은 셀 결함을 감지하거나 전압이 지나치게 높거나 낮을 경우 팩 연결을 해제하는 기능을 포함한다.

액티브 에너지 모니터링의 또 다른 인기 있는 사용 사례는 스마트폰과 태블릿의 운영 체제와 함께 사용하거나 노트북, 컴퓨터, 서버의 리눅스(Linux), 윈도우(Windows)와 함께 사용하는 것이다. 스마트폰과 태블릿의 운영 체제는 다양한 방법으로 서비스와 애플리케이션의 에너지 사용을 모니터링한다. 초기에는 에너지를 직접 측정하지 않고 여러 동작 지점에서 전력 소비 테이블 데이터를 활용해 CPU, GPU, 화면 사용 등을 토대로 추정했다. 예상 전력 사용량 데이터는 사용자가 어떻게 디바이스를 계속 동작시킬 지 결정할 수 있도록 통계 수치 형식으로 보고됐다. 노트북과 개인용 컴퓨터에서는 마이크로소프트(MS)가 윈도우 8부터 E3 엔진(Energy Estimation Engine)을 도입했다. E3는 초기 단계에서 스마트폰의 추정 알고리즘과 유사하게 동작했고, 다양한 리소스 사용량(프로세서, 그래픽, 디스크, 메모리, 네트워크, 디스플레이 등)을 기반으로 모든 작업의 전력 소비를 추정해 추적할 수 있었다. 또한 E3는 시스템 제조업체가 시스템에 물리적으로 사용 가능한 에너지 측정 센서를 추가하고 선언할 수 있는 EMI(Energy Metering Interface)를 도입했다. E3는 이들 센서를 이용해 전력량을 ‘추정’하는 데 그치지 않고 정확하게 ‘측정’할 수 있게 됐다. 일부 노트북 제조업체는 이미 이런 기능을 자사 노트북에 구현하고 있다. 과거에도 다른 이니셔티브는 많았지만(예를 들어 소니의 바이오(Vaio) 노트북 전력 모니터링) 운영 체제 지원이 없어 독점 애플리케이션만이 데이터에 접근할 수 있었다. 리눅스에는 MS의 E3에 해당하는 기능이 없지만 현재 개발 중인 것으로 알려졌다. 산업용 I/O 서브시스템은 운영 체제에 다양한 센서를 추가할 수 있도록 지원해 사용자 공간 애플리케이션에 매우 단순하면서도 강력한 인터페이스를 제공한다(파일 기반 인터페이스). 그러나 이 글이 작성된 시점에서 산업용 I/O 서브시스템은 커널(Kernel)을 확장한 것으로, 기본 리눅스 빌드의 일부로 구성돼 있지 않다. 리눅스는 또한 임베디드 리눅스 영역에서 더 많이 사용하도록 설계된 알고리즘인 지능형 전력 할당(intelligent power allocation)과 에너지 인식 스케줄링(energy aware scheduling)을 지원해 시스템이 각 작업의 스케줄링 방식을 결정하고 열 관련 고려 사항도 반영할 수 있게 한다(전력 소비는 CPU/GPU 과열로 이어질 수 있다).

주목할 만한 또 다른 에너지 측정 IC 사용 사례는 서버 애플리케이션에서 다양한 이유로 USB 전력·에너지를 모니터링하는 것이다. 서버는 중단 없이 계속해서 동작하도록 설계됐기 때문에, 전력 소비 모니터링은 능동 서비스 제어를 통해 전체 전력 효율성을 높이고 점점 더 높아지는 전력 효율 표준을 충족하며 서버의 특정 부분이 전력 소비 측면에서 다른 행동 양상을 보일 경우(고장을 나타내는 징후일 수 있음) 시스템 관리자가 예측 정비를 수행할 수 있도록 하는 등 매우 다양한 이점을 제공한다.

글: 아드리안 리타(Adrian Lita) 수석 소프트웨어 엔지니어
자료제공: 마이크로칩테크놀로지(www.microchip.com)

회원가입 후 이용바랍니다.
키워드
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지
이 기사와 관련된 기사