블로그 포스팅

전력 소모 없이 프로세싱 성능을 높이는 방법

매일 점점 더 많은 전자 기기들이 데이터 수집과 분석을 위해 중앙에 집중된 네트워크로 연결되고 있다. 인터넷에 연결되는 이러한 기기들은 공장의 공정 모니터링에 사용되는 산업용 센서나 지능형 화재 감지 시스템, 또는 가정용 Wi-Fi®로 연결된 온도 조절기나 비디오 도어벨, 심지어 바비큐 온도계에 이르기까지 매우 다양하다.

커넥티비티 기능을 추가하고자 하는 욕구는 많은 분야에 늘 존재해왔다. 하지만 하드웨어의 복잡성과 비용으로 인해 실행에 옮기는 것이 어려웠다. 최근 사용하기 쉽고 경제적인 무선 커넥티비티 모듈과 IC가 나오면서 이제 커넥티비티는 실행 가능한 옵션이 되었다. 이와 같이 노드가 상호 연결되면서 중요해지고 있는 트렌드 중 하나는 더욱 높은 성능과 국지적인 데이터 처리에 대한 요구이다. 예를 들어 무선 유리 파손 검출기를 생각해 보자. 이러한 검출기에서는 마이크로폰이나 진동 센서를 사용해 오디오 서명을 캡처한 다음, 일반적으로 아날로그 체인의 맨 끝에 있는 아날로그 디지털 컨버터(ADC)를 통해 신호를 통과시킨다. 그런 다음, 몇 가지 옵션이 있는데, 캡처된 전체 데이터 세트를 신호 처리하기 위해 중앙 허브로 전송하거나, 아니면 데이터를 로컬에서 처리할 수 있다. 이러한 신호 처리는 일반적으로 입력 신호가 유효한 트리거인지 아닌지를 결정하기 위해 디지털 필터링과 주파수 기반 신호 분석을 포함한다.

오늘날 이러한 오디오 데이터를 로컬에서 처리하는 기술이 존재하지만, 현재의 솔루션은 고성능 멀티칩을 구현하는 경향이 있어 시스템 복잡성과 비용을 추가하고, 더 중요하게는 에너지 소비를 증가시킨다. 이러한 검출기는 보통 배터리 하나로 몇 년을 사용해야 하므로 초저전력 시스템을 구현하거나 매우 큰 배터리를 필요로 한다. 물론 재충전 가능한 배터리도 옵션 중 하나이지만, 이 경우 간헐적인 재충전을 허용하기 위해 충분한 접근을 보장하거나 배터리를 재충전하는 영구적인 전력 공급 장치가 있는지 확인해야 한다.

Description:
그림 1: 단순화된 LEA 블록 다이어그램

이러한 종류의 애플리케이션은 우리가 짧은 기간 안에 MSP430™ 마이크로컨트롤러(MCU) – 저에너지 액셀러레이터(LEA, low energy accelerator)를 개발한 주요 이유 중 하나이다. LEA 모듈은 다양한 MSP430 디바이스에 탑재되는 고정 함수 벡터 수학 엔진이다. LEA 모듈은 주로 애플리케이션 실행 시 계산에 많은 시간과 에너지가 소요되는 신호 처리, 매트릭스 곱셈 및 기타 연산을 수행한다.

CPU의 개입 없이 실행되는 LEA 모듈은 본질적으로 작업을 수행하면서 요청된 기능이 완료되면 인터럽트를 트리거하는 저전력 코프로세서다. 메인 CPU와 동시에 실행됨으로써 병렬로 여러 작업을 수행하거나, 아니면 CPU가 저전력 슬립 모드에 있는 동안 실행되면서 지정된 작업이 완료되면 인터럽트를 트리거할 수 있다.

LEA 모듈은 사전 정의된 명령 세트로 동작하며, 각각의 명령은 최소 에너지 사용으로 최대의 성능을 내기 위해 최적화되었다. 이들 명령은 MSP DSP 라이브러리를 이용해 쉽게 사용할 수 있고, 이 라이브러리는 프로그래머가 선택하는 신호 처리 기능을 구현할 수 있도록 MSP430 MCU에 특별히 최적화되고 작성되어 있는 50개 이상의 전용 기능으로 구성되어 있다. LEA 모듈을 디바이스에서 사용할 경우, 컴파일러는 자동으로 이를 이용해 이미 구현된 MSP430 MCU C코드 최적화 기법을 넘어 성능을 최적화한다. 개발자는 새롭게 개발된 필터링 및 신호 처리 TI Design 레퍼런스 디자인을 이용해 LEA 모듈을 지원하지 않는 MCU와 비교했을 때 프로세싱 속도가 얼마나 눈에 띄게 향상되었는지를 직접 확인할 수 있다. 이 TI Design 레퍼런스 디자인은 새로운 MSP-EXP430FR5994 MCU 론치패드(LaunchPad™) 개발 키트를 기반으로 한다. 이 키트는 내장된 프로그래밍 및 디버깅 인터페이스와 개발자가 에너지 효율을 극대화할 수 있도록 코드를 최적화할 수 있게 도와주는 EnergyTrace++ 기술, 사용자용 LED 및 푸시 버튼, 그리고 다양한 종류의 호환 가능한 부스터팩(BoosterPack)™ 플러그인 모듈에서 론치패드 키트를 사용할 수 있는 40핀 헤더를 포함한다. 론치패드 키트 및 부스터팩 에코시스템에 대한 보다 자세한 내용은 여기에서 확인할 수 있다.

Description:
그림 2: LEA를 포함 및 포함하지 않는 MSP430 MCU 비교

개발자가 LEA 모듈이 제공할 수 있는 추가 성능을 보다 잘 이해할 수 있도록 TI는 새로운 저에너지 액셀러레이터의 신호 처리 기능 벤치마킹 애플리케이션 노트를 발행했다. 이 애플리케이션 노트는 ARM® Cortex®-M0+ 기반 MCU와 비교해 16bit MSP430™ FRAM MCU에서 구현하는 초저전력 소모를 유지하면서 향상된 신호 처리 성능에 대해 다루고 있다.

새로운 LEA 모듈을 탑재한 첫 번째 디바이스는 MSP430FR5994 MCU이다. 이 디바이스는 광범위한 16bit 초저전력 마이크로컨트롤러 제품군 중 가장 최신 버전의 제품으로, 256KB의 FRAM(ferroelectric random access memory), 8KB의 공유 SRAM, 아날로그 주변장치, LEA 벡터 수학 액셀러레이터 모듈을 포함한다. 약 120uA/MHz의 매우 낮은 유효 전력 소모와 500nA 미만의 RTC 모드를 제공하는 LEA 모듈은 별도의 에너지 소모 없이 프로세싱 성능을 향상시키는 데 큰 도움이 된다.

Description:
그림 3: MSP430FR5994 블록 다이어그램

MSP430FR5994 디바이스는 또한 12bit 200K 샘플 ADC, 16채널 아날로그 비교기, AES256 하드웨어 액셀러레이터, 그리고 UART, SPI 및 I2C의 최대 8개 직렬 포트와 알람 및 캘린더가 포함된 실시간 클록을 포함한다.

결론적으로, 만약 현재 또는 미래의 임베디드 설계에 FFT, FIR, IIR 또는 기타 벡터 프로세싱 작업을 통합해야 하는 동시에 저전류 소비를 달성해야 한다면, LEA 모듈이 사용자가 찾고 있는 주변장치가 될 수 있다. ~67uA/MHz로 동작하면 단순히 동일한 처리 성능을 달성하기 위해 MCU를 수십 MHz로 클록킹하는 것보다 더 에너지 효율적이다.

보다 자세한 정보

  • 에너지 소모를 최소화하면서 MCU 성능을 위한 새로운 표준 설정 방법에 대한 백서
  • 스마트 고장 표시기에서 LEA 모듈을 이용하는 방법에 대한 백서
  • 접근성이 떨어지는 산업용 기기 업데이트에 관한 블로그 포스트
  • MSP430FR5994 MCU는 현재 BGA 및 QFN 패키지로 대량 공급 중이며, LQFP 패키지는 2017년 3월 양산 예정이다.