더욱 효율적인 스마트 장치 구축: 3부 - 프로세서 성능
DigiKey 북미 편집자 제공
2018-10-30
편집자 주: 3부로 구성된 이 시리즈에서는 보다 효율적인 스마트 장치 구축에 대해 살펴봅니다. 1부에서는 전력과 성능의 균형을 유지하는 데 필요한 저전력 설계 기술을 설명합니다. 2부에서는 사용자의 투명한 보안과 관련된 과제를 해결합니다. 3부(이 기사)에서는 설계 목표를 충족하는 데 필요한 MCU 사양을 검토합니다.
사용자는 기능이 더 우수하고, 안전하며 배터리 수명이 긴 스마트 장치를 기대합니다. 사용자의 기대를 충족하기 위해 개발자는 즉각적인 기능 요구 사항을 충족하기 위한 충분한 저전력 성능과 메모리를 제공할 뿐만 아니라 기능 향상 및 버그 수정을 위한 보안 업데이트도 가능하여 자신이 원하는 대로 쓸 수 있는 MCU를 선택합니다.
웨어러블, IoT 장치 및 기타 스마트 휴대용 제품의 핵심인 MCU는 배터리 사용량을 최소화하는 동시에 갈수록 정교해지는 소프트웨어 애플리케이션을 작은 폼 팩터 제품에서 실행할 수 있도록 고성능과 저전력의 적절한 조합을 갖추고 있어야 합니다. 보안과 함께 긴 작동 수명 및 사용 편의성은 사용자 환경에 필수적입니다.
이 기사에서는 완벽하게 지원되는 기성 제품인 Maxim Integrated의 MCU 라인을 사용하여 이러한 요구 사항을 충족하는 방법을 보여 줍니다.
우수한 사용자 경험 정의
여러 측면에서 볼 때 사용자의 요구 사항은 개발자가 과거에 충족하려고 했던 요구 사항과 근본적으로 차이가 없습니다. 하지만 설계자는 새로운 스마트 제품에 허용되는 솔루션에 있어서 큰 차이에 직면합니다. 사용자는 콤팩트하고 가벼우며 간편하게 휴대할 수 있거나 집이나 회사에서 큰 공간을 차지하지 않는 제품을 점점 더 많이 기대합니다. 사용자는 보안을 유지하면서도 사용, 충전 및 업데이트가 번거롭지 않고 크게 신경 쓰지 않아도 되는 스마트 제품을 선택하는 경향이 높습니다.
상호 작용의 편의성 외에도 사용자는 비슷한 기능을 제공하는 일반적인 제품과 거의 비슷한 크기와 모양을 유지하면서 “세련된” 스마트 제품을 기대합니다. 예를 들어, 피트니스 웨어러블의 경우 손목에 이상하게 보이는 장치보다는 팔찌나 손목시계에 가까운 웨어러블을 착용하길 원합니다.
물론 상호 작용 편의성 및 스타일에 대한 테스트를 통과한 제품이라도 사용자에게 충분한 가치를 제공하지 못한다면 실패할 수 있습니다. 유용한 정보를 제공하지 못하는 손목 웨어러블은 아무리 세련되더라도 값비싼 손목 밴드 이상이 될 수 없기 때문입니다. 기술과 스타일을 결합하기 위해서는 특정 수준의 보이지 않는 인텔리전스가 필요합니다.
이러한 보이지 않는 인텔리전스를 구현하기 위해, 개발자는 편안한 상호 작용, 익숙한 모양 및 애플리케이션에 맞는 고유한 요구 사항으로 이어지는 가치 있는 정보 같은 높은 수준의 특성을 채택해야 합니다.
확장된 요구 사항
설계자에게 손쉬운 상호 작용에 대한 사용자의 기대를 충족한다는 것은 스마트 제품에서 실행되는 더 정교한 응용 소프트웨어의 결과를 빠르게 제공하기에 충분한 성능을 제공한다는 것을 의미합니다. 이러한 기능적 요구 사항은 점점 늘어나는 센서에서 더 유용한 정보를 추출하는 동시에 해당 소프트웨어를 실행할 수 있는 프로세서의 필요로 이어집니다.
이러한 정보를 획득할 때 장치는 애플리케이션 성능에 영향을 미치지 않으면서 보호를 제공하는 강력한 보안 메커니즘을 요구하는 기밀 정보에 액세스할 수 있습니다.
스마트 장치는 당면한 필요성을 넘어 보이지 않게 실행되는 소프트웨어 업데이트를 통해 사용자에게 부담을 주지 않고 새로운 유형의 공격에도 대처해야 합니다. 이와 동시에 설계에 사용자에게 부담이 되는 크기가 큰 배터리나 잦은 충전 없이 배터리 수명을 늘려줄 효과적인 절전 기능도 통합해야 합니다.
사용 편의성을 보장하기 위해 필요한 다양한 요구 사항은 그 자체로도 까다롭지만 스마트 제품의 미적 디자인을 향한 사용자 기대를 충족해야 하는 필요성으로 인해 더욱 제한됩니다. 배터리가 무겁고 설계 실장 면적이 크고 사용자 인터페이스가 불편하다면 사용자는 제품과 상호 작용하기도 전에 흥미를 잃을 수 있습니다.
설계에 인텔리전스를 통합할 때 개발자는 형태와 기능 간의 균형을 찾아야 합니다. 이러한 균형을 찾는 데 있어 개발자는 고성능과 저전력, 다양한 기능과 실장 면적, 유연성과 보안 사이의 고질적 충돌을 해결할 옵션에 집중하면서 솔루션 대안을 깊게 평가해야 합니다.
또 다른 요소는 비용입니다. IoT, 웨어러블, 스마트 제품의 빠른 발전으로 인해 개발자는 소프트웨어 업데이트와 함께 미래 요구 사항을 지원하는 하드웨어를 제공해야 합니다. 미래 기능 향상을 계획할 때 개발자는 초기 설계에 예비 성능과 저장공간을 추가하는 데 요구되는 장치의 비용 증가에 대해서도 적절하게 균형을 유지해야 합니다.
개발자에게 있어 이러한 여러 요구 사항을 고려한 솔루션을 찾을 수 있는 가장 좋은 기회는 내장형 스마트 제품 설계의 핵심인 MCU에 있습니다. 8비트 및 16비트 MCU가 널리 사용되기는 하지만 사용자의 기대가 높아질수록 스마트 장치는 더 높은 성능과 기능을 제공해야 합니다. 그 결과 32비트 MCU가 스마트 제품 시스템 설계에 널리 선택되고 있습니다. 예를 들어, 8비트 또는 16비트 MCU와 비교할 때 32비트 MCU는 32비트 추가와 같은 기본 작업을 이전 MCU보다 더 적은 명령 주기로 완료할 수 있습니다(목록 1).
복사 anl PSW, #0E7H ;Register Bank 0 mov a, r0 ;load X low byte into acc add a, r4 ;add Y low byte mov r0, a ;save result mov a, rl ;load X next byte into acc addc a, r5 ;add Y next byte with carry mov rl, a ;save result mov a, r2 ;load X next byte into acc addc a, r6 ;add Y next byte mov r2, a ;save result mov a, r3 ;load X high byte into acc addc a, r7 ;add Y high byte with carry mov r3, a mov C, OV ret (A) mov a, r0 add rl mov r0, a ret (B)
목록 1: 32비트를 추가할 때 8비트 MCU는 동일 연산에 대한 32비트 MCU의 주기 수(B)보다 훨씬 많은 명령 주기(A)가 필요합니다. (코드 출처: Maxim Integrated)
설계자가 센서 기능 알고리즘에 여러 센서 데이터 스트림을 결합함에 따라 고성능 32비트 MCU의 필요성이 더욱 중요해졌습니다. 다른 응용 분야에서 센서 퓨전 알고리즘은 사용자가 웨어러블 및 모바일 제품에 기대하는 바가 늘어나고 있는 정밀한 방향 및 실내 위치 정보를 생성하는 데 사용됩니다. 이 환경에서 Maxim Integrated의 Darwin MCU 제품군 같은 고급 MCU의 기능이 보이지 않는 인텔리전스를 제공하기 위한 필수요소가 되었습니다.
보이지 않는 인텔리전스 제공
Darwin MCU는 새로운 스마트 제품의 요구 사항을 지원하도록 특별히 설계되었습니다. 저전력 작동과 한 세트의 포괄적 통합 기능을 결합한 이 제품군에는 MAX32620, MAX32625, MAX32630이 포함됩니다.
부동 소수점 처리 장치(FPU)가 포함된 32비트 Arm® Cortex®-M4를 기반으로 하는 Darwin MCU에는 저전력 작동을 위한 포괄적 지원과 주변 장치 관리, 전력 감시 및 암호화를 위한 특수 블록이 결합되어 있습니다(그림 1). MAX32631 같은 보안 변형품은 스마트 제품과 외부 호스트 간의 모든 상호 작용에서 기밀성, 통합성 및 인증을 지원할 수 있는 통합 신뢰 보호 장치(TPU)를 통해 보안 지원을 확장합니다.

그림 1: MAX32630 및 해당 보안 변형품인 MAX32631 같은 Darwin MCU는 32비트 처리 성능을 MAX32631의 키 보안 메커니즘을 지원하는 신뢰 보호 장치(TPU)를 포함한 포괄적인 한 세트의 주변 장치, 인터페이스, 특수 블록과 결합합니다. (이미지 출처: Maxim Integrated)
개발자는 MCU의 다중 아날로그 및 디지털 주변 장치와 직렬 인터페이스를 활용하여 여러 센서를 사용하는 시스템에 관한 하드웨어 설계를 간소화할 수 있습니다. Maxim Integrated는 MAXREFDES100 평가 키트를 통해 이 간소화된 설계를 선보입니다. 이 키트에는 Maxim의 MAX30205 인체 온도 센서, MAX30003 ECG AFE(아날로그 프런트 엔드), MAX30101 산소 포화도 측정기 및 일반적인 피트니스 웨어러블에 사용되는 다른 센서를 포함한 여러 센서의 이용을 보여 주는 참조 설계와 기판이 포함되어 있습니다.
더 복잡한 데이터를 캡처하려면 유연한 인터페이스가 필요하지만 이러한 MCU는 Darwin 명령어 세트 아키텍처를 사용하여 해당 데이터에서 유용한 정보를 추출하는 데 점점 더 많이 요구되는 복잡한 알고리즘을 빠르게 실행할 수 있습니다. 명령어 세트에는 16비트 및 32비트 명령어가 혼합되어 32비트 아키텍처가 바이트당 더 많은 명령어를 실행하면서도 응용 소프트웨어의 실장 면적이 감소합니다. Darwin CPU 아키텍처에는 통합 FPU 이외에도 고속 하드웨어 증식 누산기(MAC)와 단일 명령어 다중 데이터(SIMD) 병렬 처리 기능이 포함되어 디지털 신호 처리 기능을 제공합니다.
이러한 부동 소수점 및 DSP 명령어의 조합을 통해 Darwin MCU는 차세대 제품에 인텔리전스를 구축하는 데 필요한 데이터 집약적 알고리즘을 더 빠르게 실행합니다. 이와 동시에 MCU에는 알고리즘과 기타 애플리케이션 코드는 물론 실시간 커널, 통신 스택 및 보안 프로토콜 스택을 포함하여 갈수록 증가하는 시스템 수준 소프트웨어의 보완품을 저장하기에 충분한 온칩 메모리가 통합되어 있습니다. 개발자는 Darwin MCU 제품군 중 자신의 응용 제품에 가장 적합한 플래시 및 SRAM의 조합을 찾을 수 있습니다. MAX32630/MAX32631 MCU는 2MB의 플래시와 512KB의 SRAM을 제공하고, MAX32620은 2MB의 플래시와 256KB의 SRAM을 제공하며, MAX32625는 512KB의 플래시와 160KB의 SRAM을 제공합니다. 이러한 메모리와의 작동을 간소화하기 위해 Darwin MCU는 다양한 메모리 유형과 메모리 매핑 레지스터를 단일 주소 공간에 결합하는 일관된 메모리 맵을 지원합니다(그림 2).

그림 2: Darwin MCU는 다양한 메모리 유형과 기능 블록을 위한 메모리 매핑 레지스터가 포함된 단일 주소 공간을 사용합니다. (이미지 출처: Maxim Integrated)
또한 개발자는 용량이 큰 코드 세트나 시스템 라이브러리를 지원하도록 가용 플래시를 더 확장할 수도 있습니다. Darwin MCU는 CPU가 외부 플래시에서 직접 코드를 실행하게 해주는 XIP(execute-in-place) 작동을 지원합니다. Maxim Integrated는 32MB Cypress Semiconductor의 S25FS256SAGNFI001 플래시 장치가 포함된 MAXREFDES100 참조 설계를 통해 이 방법을 보여줍니다.
풍부한 메모리와 처리 기능을 통해 Darwin MCU는 저전력 소비량에 대한 개발자 요구도 충족합니다. 여기서 언급된 제품 중 가장 큰 통합 메모리를 지원하는 MAX32630/MAX32631 MCU는 512KB의 SRAM을 3.4W로 유지할 수 있습니다. 최대 활성화 모드에서도 소비 전력이 130W/MHz에 불과합니다. 또한 둘 사이의 중간 접지도 제공하여, 통합된 주변 장치 관리 장치(PMU)를 사용하여 CPU 코어를 초저전력 절전 상태로 유지하면서 주변 장치를 작동할 수 있는 특수 모드에서 30W/MHz를 소비합니다.
프로세서가 절전 상태에 있는 동안 주변 장치를 실행할 수 있는 Darwin MCU의 기능을 통해 개발자는 CPU가 활성 모드에 있어야 하는 시간을 제한하여 전력 소비를 줄일 수 있습니다. 주기적으로 센서를 폴링하고 그 결과를 호스트로 전송하기 위해 완전히 활성화된 CPU를 사용하는 대신 개발자는 Wait for Interrupt, Wait for Event, Sleep on Exit에 대한 Darwin MCU 명령어를 사용하여 활성 듀티 사이클을 최소화함으로써 전체 시스템 전력을 줄입니다(그림 3).

그림 3: 웨어러블 또는 기타 센서 시스템에서 개발자는 CPU가 저전력 절전 상태에 있는 시간을 최대화하고, 센서 데이터를 가져와 결과를 호스트에 전송하는 데 필요한 시간에만 작동하도록 하여 시스템 전력을 크게 줄일 수 있습니다. (이미지 출처: Maxim Integrated)
이러한 MCU는 5s의 절전 해제 시간을 통해 느린 MCU가 절전 상태에서 활성 모드로 전환하는 데 낭비되는 전력을 줄입니다. 여기에 SRAM 보존 절전 상태가 결합한 채로 장치가 외부 비휘발성 메모리를 사용하여 상태 저장 및 복원에서 낭비되는 전력과 시간 지연 없이 신속하게 처리를 재개할 수 있습니다. 그 결과 엔지니어는 매우 효율적인 전력 인식 응용 제품을 개발할 수 있습니다.
효율적인 응용 제품의 개발을 지원하기 위해 Maxim은 주변 장치 드라이버, 기판 지원 드라이버 및 샘플 응용 제품이 포함된 MAX326XX 펌웨어 소프트웨어 개발 키트(SDK)를 제공합니다(그림 4).

그림 4: Maxim Integrated의 MAX326XX 펌웨어 소프트웨어 개발 키트(SDK)를 사용하여 응용 소프트웨어 개발자는 샘플 응용 제품을 통해 CMSIS(Arm Cortex Microcontroller Software Interface Standard) API를 기반으로 한 SDK의 주변 장치 및 기판 드라이버 사용법을 확인할 수 있습니다. (이미지 출처: Maxim Integrated)
MAX326XX 펌웨어 SDK 주변 장치 및 기판 라이브러리는 CMSIS(Arm Cortex Microcontroller Software Interface Standard) API를 기반으로 합니다. 응용 소프트웨어는 일반적으로 주변 장치 및 기판 라이브러리와 상호 작용하지만 필요에 따라 CMSIS와 직접 상호 작용하여 하드웨어에 액세스할 수 있습니다.
결론
사용자는 손쉽게 상호 작용할 수 있고, 휴대하기 편하며, 중요한 가치를 제공하는 시스템으로 정교한 애플리케이션을 제공하는 웨어러블, IoT 장치 및 기타 스마트 장치를 기대합니다. 사용자의 요구를 충족하기 위해 개발자는 다양한 기능, 고성능 처리, 저전력 작동을 결합한 MCU가 필요합니다.
이러한 요구 사항을 충족하기 위해 특별히 설계된 Maxim Integrated의 Darwin MCU 제품군을 사용하면 개발자는 스마트 제품 사용자의 기대를 충족하는데 필요한 보이지 않는 인텔리전스를 갖춘 장치를 더 쉽게 개발할 수 있습니다.
면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.


