마이크로컨트롤러(MCU) 제조업체들은 다양한 전자 “스위치”를 통해 전력 소비를 제어하는 새로운 방식을 추가했다. 칩 부품에서 전원을 제거해 전력을 현저하게 절감할 수 있다. 그리고 지속적으로 사용되는 전압 슈퍼바이저 회로는 배터리 전력의 소량만을 소비하는 방식으로 발전했다. 이 글에서는 새로운 기술에 대해 설명하고, 언제 그리고 어떻게 새 기술이 사용되어야 하는지 소개한다.
글 | 제이슨 톨레프슨 (Jason Tollefson) 제품 마케팅 관리자 |
단순한 절전 모드로 충분치 않다
기존에는 MCU 기반 애플리케이션에서 MCU를 절전(Sleep) 모드로 놓아 전력 소비를 감소시켰다. 지금까지 수년 동안 이 방법이 효과적이었다. 그러나 최근 이 솔루션이 더 이상 적합하지 않게 됐다. 프로세스 노드가 초미세화 됨에 따라 누설 전류가 급증하고 MCU는 더 복잡하게 됐다. 시장이 유틸리티 미터, 화재경보기, 녹색 운동과 관련된 제품 같은 10~20년의 배터리 전원 애플리케이션 쪽으로 이동함에 따라 기존의 절전 모드는 더 이상 적합하지 않게 됐다. 이제는 초저전력 소비가 필요한 시대이다.
트렌드 대응
최근 제조업체는 복잡도 증가와 더 미세(소규모의) 프로세스 구조의 부작용을 상쇄하기 위해 그들의 MCU에 새로운 모드를 추가했다. 이 모드에 LPM5, 스탠드바이(standby), STOP2 또는 딥슬립(Deep Sleep) 등의 이름을 붙일 수 있다. 쉽게 설명하기 위해 이들을 “딥슬립”이라고 하자.
최고 수준의 다양한 딥슬립은 동일한 방식으로 동작한다. 이것의 전제는 임베디드 소프트웨어 제어 스위치를 사용해 칩의 주요 부분에서 전원을 차단하는 것이다. 칩의 영역에서 트랜지스터의 전원을 꺼서 트랜지스터의 누설을 없애고 배터리 수명을 연장할 수 있다. 그림 2는 딥슬립 모드에 있는 동안 회로 사용 여부를 보여준다. 이 때 회색으로 된 모든 회로의 전원은 제거된다.
딥슬립 모드의 개선 정도는 제조업체마다 다르지만 일반적으로 절전 모드에서 80%의 전류가 절감된다. 사실 일부 MCU는 절전 모드에서 20 nA의 낮은 전력을 사용한다. 낮은 전류와 낮은 자체 방전율을 결합하면 딥슬립 모드로 애플리케이션의 수명을 몇 년 더 연장할 수 있다.
최대 절전과 일반 절전의 균형
현저하게 낮아진 소비 전류의 이점은 전통적인 트레이드오프에 기인한다. 딥슬립 모드의 경우 스타트업 시간은 더 길다. 제조업체에 따라, 표준 절전 모드에서 웨이크업 하는 데 1~10 μs, 그리고 딥슬립 모드에서 웨이크업 하는 데에는 300 μs~3 ms 걸릴 수 있다. 웨이크업 시간이 증가하는 이유는 절전 모드를 종료하기 위해 전원을 켜는 과정과 온 칩 레귤레이터의 안정화 시간 때문이다. 칩의 부분에서 전원을 제거하므로 기존의 딥슬립 모드는 파워-온 리셋 상태와 매우 비슷하게 동작한다.
또한 전원을 켜는 시간 이외에 대부분의 최대 절전 구현은 RAM, 주변 레지스터 및 I/O로부터 전원을 제거한다. 이는 시스템이 멈춰야만 정확히 실행되는 표준 절전 모드와는 매우 다르다. 딥슬립 모드의 경우 프로그램 콘텍스트는 플래시나 EEPROM 같은 비휘발성 메모리 소스에서 복원돼야 한다. 일부 제조업체는 딥슬립 모드에서도 꺼지지 않는 소형 “백업” RAM 영역을 제공한다. 이 복원 단계에서는 코드를 실행시켜야 하므로 딥슬립 모드를 사용하기 위해 지불해야 하는 전원 패널티는 없다.
따라서 딥슬립 모드를 사용해 균형을 맞추면 웨이크업 시간이 더 길어지고 실행 전 상태로 복원하기 위해 사용되는 전류는 중단된다.
하지만, 이 같은 균형에도 많은 애플리케이션이 딥슬립 모드를 활용해 이점을 얻는다. 다음과 같은 간단한 계산으로 딥슬립 모드를 사용할 때와 사용하지 않을 때를 이해하는 방식을 알아낼 수 있다(방정식 1참조).
방정식 1:
Tbe = ((Tinit ×Idd)+(Tpor×Ipor))/(Ipdslp-Ipdds)
Tbe = 절전 모드의 충전과 딥슬립 모드의 충전이 같을 때 손익 평형
Tinit = 전체 전원 작동을 다시 시작하기 위한 초기화 시간
Idd = 실행 모드 동안 소비된 전류
Tpor = 전원 리셋에 필요한 시간
Ipor = 전원 리셋 전류 (레귤레이터 안전화 커패시터 전류가 포함됨(존재할 경우))
Ipdslp = 절전 모드의 정전류
Ipdds = 딥슬립 모드의 정전류
(마이크로칩 제공: Application Note AN1267)
이 방정식은 절전 모드와 딥슬립 모드에서의 충전을 모델링한다. 손익 평형 시간, Tbe는 각 모델의 충전이 동일한 지점을 나타낸다. Tbe 이상일 경우 딥슬립 모드는 최대 이점을 제공한다. 예 1은 이와 관련된 방법을 설명한다.
예 1: 딥슬립 모드 기능이 있는 MCU가 다음 특징을 가진다고 가정하자.
초기 실행 시간 = Tinit = 200 μs
실행 동안의 전류 = Idd = 400 μA
전원 리셋 타임 = Tpor = 600 μs
POR의 전류 = Ipor = 30 mA*
절전 모드의 전류 = Ipdslp = 3.5 μA
딥슬립 모드의 전류 = Ipdds = 28 nA
* 30 mA에는 레귤레이터 안정 커패시터의 전류가 포함돼 있다.
Tbe = Tpd = ((Tinit × Idd) + (Tpor ×I por)) / (Ipdslp - Ipdds)
= ((200 μs ×400 μA)+(600 μs × 30 mA))/(3.5 μA -28 nA)
= 5.2초
따라서 Tbe가 5.2초 일 경우 5.2초보다 긴 딥슬립 모드에 남아 있는 애플리케이션이 장점을 갖는다.
딥슬립 모드에서 웨이크업 모드로
위에서 전력 소비를 20 nA 수준까지 극단적으로 낮춤으로써 딥슬립 모드로 배터리 수명을 연장시키는 방법을 설명했다. 하지만 “대부분의 칩에서 전원을 제거했을 경우 어떻게 다시 시스템을 웨이크업 하는가?”라는 질문은 여전히 남는다.
기존의 절전 모드의 경우 다양한 방식으로 웨이크업 할 수 있다. 이 방식들은 인터럽트, 타이머, 통신 수신, ADC 변환의 완료, 공급 전압 변경 등이 있다. 이들 웨이크업 소스는 매우 유용하다. 다행히 MCU 공급자는 딥슬립 모드에 많은 동일한 기능을 포함시켰다.
딥슬립 모드에서 사용 가능한 웨이크업 소스로는 인터럽트, 리셋 핀, 전원 리셋, 실시간 클록 알람, 워치독(watchdog) 타이머 및 브라운아웃(brownout) 감지가 있다. 통신 데이터의 수신과 ADC 변환 완료로 인한 웨이크업은 빠져 있음을 기억해야 한다. 디바이스의 이 부분에는 전력이 없으므로 딥슬립 모드에서 이 웨이크업 기능은 지원되지 않는다. 다른 여러 제조업체는 다양한 웨이크업 소스 구현 영역을 가지고 있다. 따라서 특정 디바이스 제품군에 어떤 기능이 포함돼 있는가를 검토하는 것은 매우 중요하다.
예를 들어 일부 공급자는 RESET 핀 입력을 통해서만 딥슬립에서 빠져 나온다. 이는 “ON” 버튼이 있고 추가 전류를 소비하지 않는 애플리케이션에 매우 적합하다. 이 버튼을 누르면 애플리케이션은 딥슬립 모드에서 웨이크업 되어 원 상태로 복원된 후 실행 준비를 한다. 이는 온도계나 휴대용 기기에 적합하다. 그리고 딥슬립 모드 상태로 제품을 배송하여 배터리로 가동되는 제품의 유통 기한을 늘리는 데 사용된다.
더욱 완벽한 시스템 구현을 위해 일부 공급자는 실시간 클록과 캘린더 기능을 추가해 유연성을 확보했다. 이 같은 추가는 딥슬립의 전류에 500 nA만을 더 사용해 구현할 수 있으며, 이를 통해 제품은 더 자율적인 기능을 가질 수 있게 된다. 버튼을 누르기 기다리는 것이 아니라 클록의 알람이 기기를 가동시킨다. 이는 공기의 질을 샘플링 하기 위해 분당 2~3번 웨이크업 해야 하는 화재경보기나 데이터를 전송하기 위해 매일 몇 번만 웨이크업 하는 배터리로 작동되는 센서 같은 애플리케이션에서 매우 중요하다.
애플리케이션이 필요로 하는 사항과 딥슬립의 웨이크업 기능을 부합시키면 현저하게 긴 배터리 수명을 얻을 수 있다.
애플리케이션의 안전
최대 절전을 사용하는 목적은 배터리 전력을 사용하는 동안 애플리케이션의 수명을 연장시키는 것이다. 딥슬립 모드를 갖춘 MCU를 사용해 이 목적을 달성한다. 하지만 배터리 전력이 소비되고 배터리의 사용 가능한 수명이 다해 가면 애플리케이션이 적절히 동작하지 않을 가능성이 높다.
이 문제는 전통적으로 브라운아웃 리셋(Brownout Reset, BOR) 회로와 워치독 타이머(WDT) 같은 슈퍼바이저 회로를 사용해서 해결한다. 브라운아웃 회로는 안전한 동작을 위한 배터리 출력이 너무 낮지는 않은지, 그리고 애플리케이션을 안전한 상태로 유지하는지 감지할 수 있다. WDT는 MCU가 안전하지 않은 전압/주파수 영역에서 동작할 경우 발생할 수 있는 잘못된 코드(errant code)의 실행으로부터 보호한다. 이 회로의 단점은 5~50 μA의 전류를 소비한다는 것이다. 따라서 이 기존의 솔루션은 새로운 딥슬립 모드와 더 이상 양립할 수 없다.
최근에 MCU는 특히 딥슬립 모드용으로 고안된 다양한 새로운 저전류 BOR 및 WDT 회로를 제공한다.
종종 DSBOR(Deep Sleep BOR) 또는 제로 파워(Zero-Power) BOR이라는 이 브라운아웃 회로의 경우 45 nA로 전력 소비가 현저히 낮아지지만 정확도는 감소한다. 이 기능은 배터리 수명이 다할 때 시스템 보호뿐 아니라 배터리로 동작하는 시스템에서 발생하는 일반적인 문제인 배터리 홀더 플렉스(holder flex)로 인해 순간적으로 전력이 손실될 경우에 중요하다. 저전류 BOR의 구현은 공급사마다 달라 일부는 전원이 꺼지기도 하고 일부는 영구적으로 켜져 있다. 딥슬립 모드 기능이 있는 MCU의 모든 제조업체에서 BOR을 제공하는 것은 아니다. 따라서 애플리케이션과의 호환성을 위해 MCU를 세심하게 검토해야 한다.
BOR과 마찬가지로 워치독 타이머 전류는 딥슬립 모드 기능이 있는 MCU에서 감소한다. 몇몇 공급사만 딥슬립 모드 기능이 있는 WDT를 포함하고 있지만, 이 회로의 전류 성능은 400 nA 정도로 낮았다.
이 같은 발전으로 두 개의 슈퍼바이저 회로가 딥슬립 모드에 있는 동안 전력이 공급되고, 복합 전류 소비는 이전 MCU 세대보다 445 nA-99% 낮아졌다. 지금 방정식 1을 사용한 슈퍼바이저 회로의 손익 평형 시간(Tbe)은 5.9초에 지나지 않는다. 따라서 이 새로운 슈퍼바이저 회로의 전류 소비로 6초 이상 절전 모드를 유지하는 전체 애플리케이션에 비해 애플리케이션을 더 안전하게 만들 수 있다.
새로운 저전류 슈퍼바이저 회로와 결합된 딥슬립 모드는 MCU 기반 애플리케이션에서 배터리 수명을 현저히 증가시킬 수 있는 현실적인 방법으로 떠올랐다. 웨이크업 회로를 정밀하게 설계하고 MCU에서 사용하지 않는 부분의 전력을 차단함으로써 공급자는 프로세서 구조의 미세화에서 오는 높은 전류의 손실을 방지하여 이전 보다 80% 낮은 슬립 전류를 제공한다. 딥슬립 모드는 전력 손익 평형 지점을 이해하면 매우 낮은 전력이 필요한 다양한 애플리케이션에 성공적으로 적용할 수 있다. 이는 다음 포터블 가젯을 만들고 있는 수많은 개발자에게 희소식이다. 배터리로 동작하는 제품의 전력 낭비를 줄여주고 강력한 안전성을 포함한 많은 기능을 제공하기 때문이다. ES
마이크로칩, PIC32 GUI 개발보드 마이크로칩 테크놀로지는 투영 정전용량 방식 터치 PIC32 GUI 개발보드(부품번호 DM320015)를 출시했다. 이번 신제품 출시로 개발자들은 모든 애플리케이션에서 투영 정전용량 방식 인터페이스 멀티터치와 고품질 16비트 컬러 그래픽이 적용된 WQVGA 디스플레이의 조합을 추가할 수 있다. 또한 신제품을 통해 마이크로칩의 32비트 PIC32 마이크로컨트롤러의 LCD를 직접 제어할 수 있어, 외부 그래픽 컨트롤러로 인한 비용 부담과 복잡성을 제거했다. |
<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>