임베디드 애플리케이션에 적합한 ARM 기반 MCU 선택 방법
  • 2014-10-13
  • 김창수 기자, cskim@elec4.co.kr
  • 글 | 그레그 하지슨(Greg Hodgson) 마이크로컨트롤러 제품 담당 마케팅 매니저 실리콘랩스


오늘날 임베디드 애플리케이션에서는 요구 사항을 기준으로 측정할 수 있는 몇 가지 매개 변수에 중점을 둘 필요가 있다. 이글에서는 MCU 선택 시 고려해야 할 가장 중요한 8가지 기능을 살펴본다.

겉보기와 달리 ARM 아키텍처를 기반으로 한 모든 MCU가 같은 수준의 성능과 에너지 효율성을 제공하는 것은 아니므로 적절한 검토 과정을 거쳐 애플리케이션에 가장 적합한 MCU를 선택하는 것이 중요하다. 시중에는 그 어느 때보다 다양한 32비트 MCU(마이크로컨트롤러) 옵션이 나와 있다. 같은 유형의 제품을 수백 가지 모델로 공급하는 MCU 공급업체도 많다. ARM Cortex-M 기반 MCU의 출현으로 선택의 폭이 넓어진 것으로 생각하겠지만, 사실 32비트 옵션은 늘 선택의 폭이 넓었다.

과거에는 특정 명령 집합에 대한 지원이 선택 과정에서 중요하게 고려되는 요소 중 하나였지만, ARM의 등장으로 명령 집합의 적합성을 거의 고려할 필요가 없게 됐다. Cortex-M 코어를 둘러싼 에코시스템은 엔지니어가 단 하나의 아키텍처로 표준화하더라도 문제가 없게 해 준다. 하지만 이외에도 비교해 보아야 할 다른 기능이 많다.


유효 전력


CMOS 기술을 사용하여 생산되는 여타의 모든 통합 디바이스와 마찬가지로 MCU는 논리 게이트의 상태가 변경될 때에만 전력을 소모한다. 최신 MCUCMOS 게이트 수를 고려하면 소비 전력이 상당할 수 있다. 특히 클록 속도가 높을 때는 전력 소모가 더 심할 수 있다. 이러한 이유로 유효 전력 소비량은 중요한 수치이자 최근 몇 년간 대부분의 디바이스 제조업체가 공을 들이는 분야이기도 하다.

대부분의 MCU는 유효 전력 소비량과 처리 성능 사이의 적절한 균형을 유지하는 기능을 갖추고 있다. 디바이스에 같은 코어를 사용하더라도 MCU 공급업체의 설계 역량에 따라 이 매개 변수가 크게 달라질 수 있다.

성능

보고되는 MCU 성능은 유효 전력과 직접적인 관련이 있다. 사양은 이상적인(좀 더 정확히 표현하자면 지속 불가능한)’ 작동 조건을 기준으로 한 경우가 많아 특히 데이터 시트를 참조할 때는 성능 메트릭을 제대로 파악하는 것이 중요하다. 높은 성능과 낮은 유효 전력을 동시에 제공하는 것은 어려울 뿐 아니라 MCU 공급업체의 제품 오퍼링을 차별화하는 부분이기도 하다. 데이터 시트 성능 사양을 면밀하게 비교하고 MCU 공급업체에 결과를 얻은 실제 작동 조건을 문의해야 한다.

응답성

유효 전력을 낮게 유지하는 방법 중 하나는 작동 주파수를 낮추는 것이다. 작동 주파수를 낮추면 당연하고도 자연스럽게 절전 모드로 전환된다. 모든 MCU는 유효 전력 및 정지 전력을 최소한으로 소모하는 모드로 전환할 수 있지만, 예외 없이 클록 게이팅과 전력 게이팅을 통해 이러한 기능을 구현한다. 다시 말해 MCU의 특정 영역에서 클록 및/또는 전력을 제거하는 것이다.

타깃 애플리케이션의 요구 사항을 고려하지 않고 무작정 이 기법을 사용할 경우 MCU가 필요할 때 작동을 재개하는 속도가 너무 느려지는 단점이 나타날 수 있다. 따라서 MCU 공급업체 사이에서는 최대 절전 모드에서 작동 상태로 전환하는 속도를 두고 경쟁이 치열하다.


에너지 효율성


응답성이 저하되는 것이 절전 모드를 사용하는 데 따른 단점이라면 에너지 소모가 줄어든다는 것은 이점이다. 이와 관련해서 오래전부터 작동 조건에 따라 적절한 수준의 효율성을 제공하는 다양한 절전 모드를 구현하는 방식이 주로 사용되고 있다. 애플리케이션의 필요에 따라 전환 속도가 다소 길어지더라도 전력 소비량을 줄이고 빠른 작동 모드 전환 속도를 제공하는 절전 모드로 전력 소비량을 최소화하는 최대 절전 모드를 보완하는 것이다. 초절전 유효 모드 및 절전 모드의 조합과 매우 빠른 전환 시간으로 MCU의 에너지 효율성이 결정된다 (그림 1 참조).

페리페럴

최근 MCU 설계는 페리페럴(peripheral) 서브시스템이 갈수록 지능화됨에 따라 다양한 페리페럴이 독자적으로 작동할 수 있다. 독자적으로 작동하는 페리페럴은 애플리케이션 개발의 새로운 지평을 열었다는 것 외에 코어를 최대 절전 상태로 유지하는 시간을 훨씬 연장한다는 중요한 이점이 있다.

독자적으로 작동하는 페리페럴은 이벤트를 검사하기 위해 코어의 상태를 최대 절전 모드에서 주기적으로 전환하는 대신에 이벤트를 등록하고 코어의 개입이 필요한지를 결정할 수 있다. 우수한 에너지 효율성이 요구되는 애플리케이션일수록 독자적인 페리페럴 작동을 지원하는 아키텍처의 MCU를 선택해야 한다.

지능화

이러한 자율성을 단일 이벤트에 국한할 필요는 없다. CPU 코어를 깨우기 전에 여러 페리페럴이 서로 함께 작동하면서 더 복잡한 조건 또는 일련의 상호의존적 이벤트를 분석하는 시스템을 구현하는 MCU까지 등장하기에 이르렀다. 이 기능을 지원하는 MCU 공급업체는 훨씬 적지만 특정 애플리케이션에서 막대한 이점을 제공할 수 있다. 일반적으로 배터리 전원으로 작동하며 환경 변화(습도, 연기, CO2 )나 침입과 같이 드물게 발생하는 이벤트 또는 조건을 감지해야 하는 애플리케이션이 여기에 해당한다.

인터페이스

몇몇 공급업체는 다양한 신호에 직접적, 지능적으로 인터페이싱하는 기능을 갖춘 MCU를 제공한다. MCU는 기본적으로 디지털로 작동하지만, 아날로그-디지털 및/또는 디지털-아날로그 컨버터를 통합하는 등 높은 수준의 혼합 신호 기능을 제공하는 경우가 많다. 하지만 우리가 사는 세상은 여전히 아날로그 상태이므로 특히 센서에서 전달되는 아날로그 신호에 대한 지원을 확대할 필요성이 커지고 있다.

주로 작은 아날로그 신호들로 이루어진 고급 센서가 등장하면서 앞으로 IoT(사물 인터넷)가 가능해질 것이다. 또한 작은 정전 용량 센서와 유도 센서, 저항 센서에 직접적, 지능적으로 인터페이싱하고 신호를 분석한 후 CPU를 깨우는 기능은 분명 앞으로 IoT 지향 설계에 널리 사용될 것이다.

소프트웨어

앞서 언급했듯이 ARM Cortex 제품군은 성장하는 소프트웨어 공급업체 에코시스템의 혜택을 받지만, 최종 애플리케이션에는 여전히 전용 애플리케이션 코드가 필요하다. 이제 소프트웨어 개발은 엔지니어링 리소스의 최대 단일 소비 분야로 인식되고 있으므로 적절한 MCU를 선택할 때는 에코시스템과 MCU 공급업체에서 제공하는 소프트웨어 지원 수준과 툴의 품질을 고려하는 것이 중요하다.

MCU
공급업체는 강력하고 사용자 친화적인 소프트웨어 개발 툴을 제공해야 한다. IDE는 우선 파트너로부터 공급을 받고 있지만, 특정 차별화 기능에 필요한 지원의 요소가 항상 고려된다. 그림 2와 같이 설계 프로세스를 간소화하도록 고안된 포괄적인 개발 에코시스템을 제공하여 개발자들이 설계 아이디어를 최종 제품으로 쉽고 빠르게 구현할 수 있도록 지원하는 MCU 공급업체를 찾아야 한다.

특정 애플리케이션에 가장 적합한 32비트 MCU를 선택하려면 애플리케이션과 사용 가능한 MCU 솔루션을 모두 철저하게 이해해야 한다. 전체적으로 보면 차이가 없어 보이는 ARM 기반 MCU가 많지만 실제로는 많은 차이가 있다. 애플리케이션 요구 사항을 신중하게 정한다면 엔지니어가 공급업체 옵션을 보다 효과적으로 평가하고 최적의 32비트 MCU를 찾을 수 있다.

한편 ARM Cortex-M 코어 기반의 32비트 MCU를 사용할 때 전력 소비량을 최소화하는 방법에 대한 자세한 내용은 http://www.silabs.com/products/mcu/lowpower/ Pages/32-bit-microcontroller-technology.aspx를 참조하면 된다.

<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>



  •  홈페이지 보기
  •  트위터 보기
  •  유투브 보기
  • 100자평 쓰기
  • 로그인

세미나/교육/전시
TOP