본문 바로가기
C++ 200제/코딩 IT 정보

MCU 설계, 임베디드 시스템 저전력/저소모 에너지 기법

by vicddory 2018. 1. 15.

MCU 설계, 임베디드 시스템 저전력/저소모 에너지 기법


울트라급 저소모 에너지 기법

울트라급의 적은 에너지를 소모하는 MCU 기반 애플리케이션을 개발(MCU 설계)하기 위해서는 다음 사항에 더욱 주목해야 한다.


- 코어 활성 상태에서 가능한 한 효율적이며 신속한 동작 유지

- 애플리케이션 기능을 유지하면서 가능한 한 오래 그리고 자주 완전 휴면 모드 유지


이와 같은 요구 사항은 에너지 소비 관점에서 '거의 항상 차단 상태'를 의미하지만, 기능성 관점에서는 여전히 '상시 접속'을 의미한다. 이와 같은 방식을 구현하기 위해, 이와 같은 경우를 지원하는 기능을 제공하는 MCU를 선택하는 것이 중요하다.


MCU 판매업체는 활성 전력과 효율성을 향상하기 위해 다양한 기술을 구현할 수 있다. 예를 들면, 로컬 명령 캐시를 구현해서 CPU 코어의 플래시 메모리 접속을 최소화할 수 있으며, 이에 따라 MCU 설계 에너지와 시간을 절감하게 된다. 리튬 폴리머 배터리 등 고전압 공급원을 사용해서 더욱 효율적인 동작을 가능하게 하려고 온칩 dc-dc 변환기를 사용할 수 있다.

그러나 더욱 효율적인 방법의 하나는 MCU 제작을 위해 사용하는 프로세스 기술이다.


예를 들면, 90nm 프로세스로 구축된 MCU는 유효 전력을 180nm 프로세스의 1/3 이하로 감소시킬 수 있는 경우가 많다.


프로세스 노드 감소는 누설을 증가시켜서 에너지 효율적인 방식으로 완전 휴면 모드를 구현하는 것을 더욱 어렵게 할 수 있다는 문제가 있다.


MCU는 유효 전력 소비를 최소화하기 위해 40nm 등 극소 노드로 제작할 수 있지만, 해당 노드에서 휴면 전력은 상당히 높을 것이다. 반면, 180nm 등 높은 프로세스 노드로 제작된 MCU는 우수한 휴면 전력을 제공하겠지만 유효 전력은 상대적으로 높을 수 있다. 해당 MCU에 대한 최적의 프로세스 노드를 선택할 때 단점과 장점을 정확하게 고려하여 MCU 설계하는 것이 중요하다.


MCU 저소모 에너지 기법[MCU 설계, 임베디드 시스템 저전력/저소모 에너지 기법


기본적으로, 코어가 완전 휴면모드인 경우, 한 개 이상의 페리페럴은 애플리케이션 기능을 유지하기 위해 활성 상태를 유지해야 할 것이다. 이것은 주요 시스템 매개변수 모니터링, 발생 가능한 상황에 대한 적합한 대응 준비 상태를 포함한다.


위에서 설명한 바와 같이, BOD는 이와 같은 페리페럴 중 중요한 요소이며 가능한 최소 전력을 소비해야 한다.


다른 페리페럴들 또한 MCU 설계에서 휴면 상태를 유용하게 해야 한다. 대부분의 애플리케이션의 경우, 시간 준수를 위해 RTC가 필요하다. 애플리케이션은 센서와 정전식 터치 버튼을 모니터링하고, UART 인터페이스에 대한 명령을 기다리며, 그래픽을 저전력 LDC 디스플레이로 구동해야 하는 경우가 많다. 


이와 같은 모든 기능은 자동으로 작동하고, 자체적으로 임의 수준의 상호 작용을 처리해서 CPU 구동 시간을 최소화하는 것이 필요하다. (MCU 설계 단계에서 고려)


MCU 저전력 저소모 에너지 기법[MCU 설계, 임베디드 시스템 저전력/저소모 에너지 기법


이와 같은 기능을 활성화하기 위해, MCU는 완전 휴면 상태에서 사용 가능한 오실레이터와 레귤레이터, 바이어스 회로, 그리고 디지털 로직이 필요하다. 대부분의 경우, MCU는 애플리케이션 공간과 시스템 비용을 최소화하기 위해 이와 같은 기능들을 통합하며, 기능 블록은 에너지 효율성을 최대화해야 한다.


비동기적 행동 또한 MCU가 완전 휴면 상태에서도 외부 상황에 신속하게 대응할 수 있도록 하기 때문에 중요하다.


일반적으로, 이와 같은 모드에서 더 낮은 주파수의 클록만 사용할 수 있으며 이에 따라 클록에 의존하는 페리페럴들의 대응 시간은 제한될 것이다. 외부 저속 센서 샘플링 등 일부 상호 작용 형태의 경우, 이와 같은 제한은 문제가 되지 않는다.


MCU 저전력 저소모[MCU 설계, 임베디드 시스템 저전력/저소모 에너지 기법


그러나 대응 시간은 애플리케이션에 중요한 상황 대처 시 매우 중요하다. 페리페럴 상호 작용의 유연성과 자율성은 활성 및 휴면 상태 모두에서 중요하다. 자동 처리가 가능한 과업이 많을수록, MCU 코어는 더 낮은 또는 더 높은 수준의 휴면 모드로 더욱 자주 전환할 수 있다. 대응 시간과 판단 관점에서도 자율성은 중요하다.


완전 휴면 상태에서 MCU는 몇 마이크로초 내에 구동을 시작할 수 있지만, 활성 상태에서 MCU는 높은 우선순위 상황을 처리하는데 바빠 더 낮은 우선순위 시스템 기능에 대한 대응을 지연시킬 수 있다. 이에 MCU 페리페럴에 자율성을 구축하고, CPU 개입 없이 상호 작용을 할 수 있도록 하는 것은 민감성 등 기능적 목표뿐만 아니라 배터리 수명 목표를 달성하기 위해서 중요하다.


MCU 설계, 임베디드 시스템 저전력/저소모 에너지 기법

출처 : 전자기술 2015년 10월호 87p~89p

댓글