고집적 Arm® Cortex® MCU로 응용 제품 요구 사항을 효과적으로 충족

작성자: Stephen Evanczuk

DigiKey 북미 편집자 제공

개발자는 소비자 가전, 산업, 스마트 시티, 의료 등과 같은 응용 분야에서 점점 늘어나는 스마트 제품 요구 사항을 충족하는 데 많은 어려움을 겪고 있습니다. 성능, 보안, 초저전력 소비, 장거리 무선 연결, 비용에 대해 응용 분야마다 고유한 요구 사항이 있습니다. 응용 분야와 사용 가능한 마이크로 컨트롤러 장치(MCU) 솔루션의 기능이 맞지 않아서 이러한 요구 사항에 대해 타협할 수밖에 없는 경우가 너무 많습니다.

이 기사에서는 다양한 응용 분야에서 성공적으로 설계하는 데 중요한 요소인 적절한 성능 조합, 배터리 수명, 보안 및 무선 연결을 제공하는 STMicroelectronics의 프로세서 솔루션 세트를 소개합니다.

엄격한 보안 요구 사항 충족

STMicroelectronics의 STM32H7R/S 부트플래시 MCU(그림 1)는 산업, 소비자 가전, 스마트 시티 및 의료 응용 분야의 다양한 스마트 제품에 필요한 고성능, 그래픽, 보안 및 부품 명세서(BOM) 절감 기능을 제공합니다. 이 제품은 배정밀도 부동 소수점 처리 장치(FPU)가 탑재된 600MHz Arm® Cortex®-M7 프로세서를 기반으로 하며, 통합 그래픽, 보안 서브 시스템, 포괄적인 주변 장치 및 연결 인터페이스 세트를 제공합니다.

STMicroelectronics의 STM32H7R/S 부트플래시 MCU 구성도그림 1: STM32H7R/S 부트플래시 MCU는 보안 스마트 제품을 제공하는 데 필요한 전체 주변 장치, 기능 블록 및 특수 기능을 갖춘 고성능 Arm Cortex-M7을 통합합니다. (이미지 출처: STMicroelectronics)

32KB의 명령어 캐시와 32KB의 데이터 캐시로 구성된 프로세서 L1 캐시 외에도 620KB의 SRAM(Static Random-Access Memory), 64KB의 내장형 플래시, 외부 메모리에 고속으로 액세스할 수 있는 여러 인터페이스가 함께 제공됩니다. SRAM, 내장형 플래시, 그리고 XiP(execute-in-Place)를 통한 외부 메모리 액세스 기능 조합은 개발자가 고성능의 보안 내장형 시스템을 구현할 때 높은 유연성을 제공합니다.

외부 메모리에서 실행되는 응용 제품의 보안을 보장하기 위해 STM32H7S MCU는 외부 비휘발성 또는 휘발성 메모리에서 즉시 암호화 및 암호 해독을 수행하는 3개의 MCE(메모리 암호 엔진)를 통합하고 각 MCE마다 최대 4개 영역에 대한 프로그래밍된 액세스 제어도 지원합니다. 차동 전력 분석 및 부채널 공격에 대한 보호 등 추가적인 하드웨어 기반 보안 기능과 결합된 STM32H7S MCU는 SESIP 및 PSA Assurance Level 3 인증을 받았습니다.

일부 SRAM은 인터럽트 서비스 루틴과 같이 시간이 중요한 작업의 안정적인 성능을 보장하기 위해 MCU의 강하게 결합된 메모리(TCM) 인터페이스에 매핑되어 중요한 명령과 데이터를 위한 제로 대기 상태 메모리를 제공합니다. 시스템 무결성을 보장하기 위해 MCU는 여러 보안 기능을 내장형 플래시와 결합하여 보안 부팅 및 응용 제품 무결성 검사를 활성화하고, 온칩 또는 오프칩 메모리에서 실행되는 시스템 및 응용 소프트웨어에 신뢰 루트(RoT)를 제공합니다. 적절한 하드웨어 기반 보호 메커니즘과 결합하면 이와 같이 신뢰할 수 있는 부트로더를 저장하는 데 내장형 플래시를 사용하여 일반 MCU에서 읽기 전용 메모리(ROM)를 사용할 때와 비교하여 유연성 측면에서 상당한 이점을 얻을 수 있습니다.

다양한 보안 부팅 경로

보안 부팅에서는 시스템 보안에 필수적인 RoT를 제공하기 위해 시스템 리셋 후 항상 즉시 실행되는 신뢰할 수 있는 불변 코드를 사용합니다. 이 코드는 시스템 시작 시퀀스의 다음 단계에서, 신뢰할 수 있는 소프트웨어만 실행되는지 확인합니다. 개발자는 STM32H7R/S MCU를 사용하여 신뢰할 수 있는 시스템을 구축할 때 다양한 보안 부팅 경로를 확보할 수 있습니다. 이때 사전 빌드된 RoT 펌웨어를 사용하거나 부팅 시퀀스를 직접 제어할 수 있습니다(그림 2).

STMicroelectronics의 STM32H7R/S MCU 부팅 경로 구성도(확대하려면 클릭)그림 2: STM32H7R/S MCU는 개발을 간소화하도록 설계된 다양한 부팅 경로를 제공합니다. (이미지 출처: STMicroelectronics)

시스템 리셋 후 모든 STM32H7R/S MCU는 보호된 시스템 플래시 메모리에 있는 신뢰할 수 있는 루트 보안 서비스(RSS)를 실행하여 부팅 시퀀스를 시작합니다. 부팅 시퀀스의 후속 단계는 MCU의 유형과 개발자가 선택한 부팅 경로에 따라 달라집니다. 각 부팅 경로에서 STM32H7R/S MCU는 HDPL(Hide Protection Level) 메커니즘을 사용하여 각 부팅 레벨을 일시적으로 분리합니다. 부팅 시퀀스가 한 부팅 레벨에서 다음 레벨로 넘어가면 HDPL 카운터가 증가하고 이전 부팅 레벨과 연결된 리소스는 현재 레벨에서 숨겨집니다.

전체 부팅 시퀀스 동안 RoT 유지

STM32H7R 기반 프로덕션 시스템의 부팅 경로에서 RSS는 시스템 리셋 후 즉시 실행됩니다. RSS는 사용자 플래시 메모리에 있는 주문자 상표 부착(OEM) 불변 RoT(iRoT) 펌웨어를 실행합니다. 이 단계에서 HDPL이 증가하기 때문에 부팅 시퀀스의 다음 단계를 처리하는 RSS가 OEMiRoT 펌웨어에서 숨겨진 상태로 유지됩니다. 응용 제품이 업데이트 가능한 RoT(uRoT) 펌웨어를 지원하도록 설계된 경우, OEMiRoT는 외부 메모리에서 OEMuRoT 펌웨어를 실행합니다. 부팅 시퀀스의 마지막 단계에서 OEMiRoT(또는 선택적 OEMuRoT) 펌웨어는 응용 코드를 실행합니다. HDPL은 RSS, OEMiRoT 및 선택적 OEMuRoT를 모두 응용 제품에서 숨깁니다.

STM32H7S 기반 프로덕션 시스템을 STM32H7R 시스템과 유사한 부팅 경로를 따르도록 구성하면 개발자가 부팅 공정을 완벽하게 제어할 수 있습니다. 또는 STM32H7S MCU를 사용하여 보호된 시스템 플래시 메모리에 있는 사전 빌드된 STMicroelectronics iRoT(STiRoT) 펌웨어를 호출하는 매우 안전한 경로를 선택할 수도 있습니다.

STiRoT 활성화 부팅 경로에서는 보호된 내장형 플래시에 있는 루틴(iLoader)이 다음 부팅 레벨의 코드를 내부 SRAM에 로드합니다. 이후 STiRoT는 코드 실행을 허용하기 전에 해당 코드의 무결성과 신뢰성을 확인합니다. 1단계 부팅 경로의 경우 iLoader는 응용 코드를 SRAM에 로드합니다. 2단계 부팅 경로의 경우 iLoader는 외부 플래시에서 SRAM으로 OEMuRoT를 로드합니다.

내부 SRAM에 로드된 후에는 외부 메모리에 있는 코드를 검증하는 동안 공격 위험 없이 응용 코드(또는 OEMuRoT 펌웨어)의 무결성과 신뢰성을 검사할 수 있습니다. 검증이 완료되면 OEMuRoT는 응용 제품 실행 전에 응용 코드에 대한 무결성 및 신뢰성 검사를 수행합니다. 개발자는 이 2단계 부팅 경로를 쉽게 확장하여 응용 코드, 또는 OEMuRoT 펌웨어에 대해서도 업데이트를 검증할 수 있습니다(그림 3).

STMicroelectronics의 STM32H7S MCU 구성도(확대하려면 클릭)그림 3: STM32H7S MCU는 공정의 각 단계에서 코드의 무결성과 신뢰성을 보장하도록 설계된 다단계 공정을 통해 보안 업데이트 및 보안 부팅을 활성화합니다. (이미지 출처: STMicroelectronics)

프로덕션 시스템에서 정상 작동하는 동안 STM32H7R/S MCU의 내장형 플래시는 닫힌 상태로 유지되고, 이 상태에서 RoT 펌웨어가 프로비저닝되고 유효한 부팅 항목이 적용됩니다. 이러한 MCU는 전체 제품 수명 주기를 지원하도록 설계된 총 4개의 PRODUCT_STATE를 추가로 제공합니다(그림 4).

PRODUCT_STATE PRODUCT_STATE 선택 설명
열림 NVSTATE = OPEN 이 상태에서는 코드 디버그가 제공되므로 제품 개발이 가능합니다. 부트 핀을 사용하여 부트로더를 실행할 수 있습니다.
프로비저닝 NVSTATE = CLOSE
OEM_PROVD=!0xB4
and/or
DBG_AUTH = Not set (!0xB4, !0x51, !0x8A)
이 상태에서는 제품 프로비저닝(부분 또는 전체)이 가능합니다. 보안 펌웨어를 설치하거나 부트로더를 실행하여 제품을 프로비저닝할 수 있습니다. SRAM에서 부팅하는 것은 허용되지 않습니다.
닫힘 NVSTATE = CLOSE
OEM_PROVD=0xB4
DBG_AUTH=0x51 or 0x8A
이 상태는 제품 구성이 완료된 것으로 간주합니다. 현장 수리를 위한 디버그 인증을 지원할 수 있습니다(전용 응용 참고 사항 참조).
잠김 NVSTATE = CLOSE
OEM_PROVD=0xB4
DBG_AUTH=0xB4
이 상태에서는 제품 구성이 허용되지 않는 것으로 간주합니다. 제품은 최종적으로 이 상태가 됩니다.

그림 4: STM32H7R/S MCU는 전체 제품 수명 주기를 지원하도록 설계된 4개의 PRODUCT_STATE 중 하나에서 작동합니다. (이미지 출처: STMicroelectronics)

개발자는 세 가지 방식으로 PRODUCT_STATE를 제어할 수 있습니다.

  • 비휘발성 상태(NVSTATE) - 플래시 메모리를 열림 또는 닫힘 상태로 설정
  • OEM 프로비저닝 상태(OEM_PROVD) - 부팅 후에도 해당 영역에서 실행되는 코드가 숨겨져 있도록 하는 HDP(Secure Hide Protection) 영역의 안정성 정의
  • 디버그 인증 방법(DBG_AUTH) - 장치 디버그를 여는 데 사용되는 방법 정의

이 네 가지 상태를 통해 STM32H7R/S MCU는 제품 개발, 제품 제조, 현장 배포 등 제품 수명 주기의 각 중요 단계에 대한 보안 요구 사항을 지원합니다(그림 5).

제품 개발 순서도 이미지그림 5: 제품이 개발 및 제조 단계에서 현장으로 이동함에 따라 STM32H7R/S MCU는 내장형 플래시에서 민감한 코드와 데이터를 보호하면서 필요에 따라 인증된 디버그 액세스를 제공할 수 있습니다. (이미지 출처: STMicroelectronics)

실제로 디버그 인증은 제품 수명 주기 지원의 실질적인 문제를 해결하도록 설계된 강력한 보안 기능을 제공합니다. 닫힘 상태로 실행되는 프로덕션 시스템의 경우 개발자는 보안 디버거가 제한된 디버그 세션에서 RoT를 훼손하지 않고 액세스를 다시 열 수 있도록 허용하는 인증 프로토콜을 사용할 수 있습니다. 전체 회귀 디버그에서는 코드 및 데이터 보안이 보장되지 않습니다.

스마트 제품의 고급 사용자 인터페이스 요구 충족

스마트 제품에서도 다른 분야와 마찬가지로 보안이 가장 중요하지만, 갈수록 정교해지는 그래픽 사용자 인터페이스(GUI)도 중요한 요소입니다. STM32H7R/S MCU는 통합 그래픽 가속기를 사용하여 이 요구 사항을 해결합니다. STM32H7R3/S3 MCU의 Chrom-ART 가속기와 STM32H7R7/S7 MCU의 NeoChrom 그래픽 처리 장치(GPU)가 여기에 포함됩니다. 2D Chrom-ART 가속기와 2.5D NeoChrom GPU는 도면 및 블리팅 작업으로 다양한 형식을 지원하지만, NeoChrom GPU는 텍스처 매핑에 필요한 작업을 지원합니다(그림 6).

그래픽 기능 Chrom-ART NeoChrom GPU
지원되는 형식 ARGB8888, ARGB4444, ARGB1555, RGB888, RGB565
A8, A4, L8
AI44, AI88
CLUT(256 항목), YUV
RGVA8888, ARGB8888
RGBX8888, XRGB8888
RGB888, RGB565, RGBA55551
A8, A4, A2, A1
압축 TSc4, TSc6 및 TSc6A
명령 목록 기반 N Y
도면 직사각형 채우기 직사각형 채우기
픽셀, 선, 삼각형, 4변형 도면
8xMSAA 에일리어싱 제거
블리팅 복사
알파 블렌딩
픽셀 형식 변환
복사
알파 블렌딩, 컬러 키잉
픽셀 형식 변환
텍스처 매핑 N 각 회전
비율 조정
미러링
3D 원근 정정 투영
이중 선형 및 포인트 샘플링을 통한 텍스처 매핑

그림 6: STM32H7R3/S3 MCU의 Chrom-ART 그래픽 가속기와 STM32H7R7/S7 MCU의 NeoChrom GPU는 스마트 제품용 GUI에 필요한 그래픽 성능과 기능을 제공합니다. (이미지 출처: STMicroelectronics)

평가 및 개발을 위해 STMicroelectronics는 STM32H7R3용 NUCLEO-H7S3L8 STM32 Nucleo-144 개발 기판과 STM32H7S7용 STM32H7S78-DK 디스커버리 키트를 제공합니다.

신속한 시제품 제작 개발을 위해 설계된 Nucleo-144 기판에는 통합 ST-LINK 디버거/프로그래밍 장치가 포함되어 있으며 LED, 푸시 버튼 및 다양한 기판 커넥터 옵션을 제공합니다. STM32H7S78-DK 디스커버리 키트는 Wi-Fi, 여러 LED 및 푸시 버튼, 기판 실장 STLINK-V3EC 디버거/프로그래밍 장치, 여러 기판 커넥터(USB Type-C®용 2개 및 이더넷 RJ45 커넥터 1개 포함)를 제공합니다.

소프트웨어 개발을 위해 STMicroelectronics는 STM32Cube MCU 패키지를 STM32Cube 에코시스템의 일부로 제공합니다. 하드웨어 추상화 계층(HAL) 모듈, 기판 지지대 패키지(BSP), 저계층 레지스터 레벨 응용 프로그래밍 인터페이스(API)와 함께 STM32Cube MCU 패키지는 미들웨어 부품, 연결 스택, 샘플 코드를 제공합니다. 또한 그래픽 개발을 위해 다음을 포함하는 X-CUBE-TOUCHGFX 그래픽 프레임워크를 제공합니다.

  • TouchGFX Designer 도구 - 그래픽 응용 제품 개발 및 시뮬레이션을 제공합니다.
  • TouchGFX Engine 하드웨어 가속 그래픽 라이브러리
  • TouchGFX 생성기 - TouchGFX 엔진에서 기본 하드웨어 및 운영 체제에 액세스하는 데 사용되는 TouchGFX 추상화 계층을 개발자가 구성하고 생성할 수 있도록 해주는 STM32CubeMX 플러그인입니다.

연장된 배터리 수명 보장

최소 전력 소비와 최대 배터리 수명은 여전히 많은 응용 영역에서 설계의 핵심적인 원동력입니다. STMicroelectronics의 STM32U0 계열 MCU는 다양한 기본 산업, 의료, 스마트 계량 및 소비자 가전 응용 분야에 필요한 에너지 절감과 연장된 배터리 수명을 제공하도록 설계되었습니다. 초저전력 56MHz Arm Cortex-M0+ 프로세서를 기반으로 하는 STM32U0 MCU 계열은 개발자가 설계에 필요한 최적의 SRAM, 플래시 및 주변 장치 구성을 선택할 수 있도록 세 가지 제품군을 제공합니다.

STM32U031 제품군은 12KB의 SRAM, 최대 64KB의 플래시 메모리, 다중 타이머, 아날로그 주변 장치 및 연결 옵션을 갖춘 가장 콤팩트한 구성을 제공합니다(그림 7).

STMicroelectronics의 STM32U0 MCU 계열 내 세 제품군 이미지그림 7: STM32U0 MCU 계열의 세 제품군은 STM32U031 MCU 제품군에서 제공되는 다양한 기능을 기반으로 빌드됩니다. (이미지 출처: STMicroelectronics)

STM32U031 제품군의 기능을 확장한 STM32U073 제품군은 40KB의 SRAM과 최대 256KB의 플래시 메모리를 제공하면서 통합 LCD 컨트롤러, 추가 연결 채널 및 아날로그 주변 장치를 추가합니다. STM32U083 제품군은 AES(Advanced Encryption Standard) 하드웨어 가속기를 추가하여 이러한 기능을 기반으로 빌드되었습니다.

모든 STM32U0 계열 MCU는 고집적과 함께 초저전력 성능을 달성합니다. 실행 모드에서 내부 저드롭아웃(LDO) 조정기로 작동하면서 52μA/MHz만 소비합니다.

개발자는 세 가지 중지 모드를 포함한 여러 저전력 모드 중에서 선택하여 배터리 구동 응용 제품의 전력 소비를 최소화할 수 있습니다. 예를 들어 전력 소비가 가장 낮은 중지 모드에서 STM32U031 MCU는 실시간 클록(RTC)을 사용할 경우 630nA, 사용하지 않을 경우 515nA만 소비합니다. 동일한 중지 모드에서 STM32U073 및 STM32U083 MCU는 RTC를 사용할 경우 825nA, 사용하지 않을 경우 695nA만 필요합니다. 그럼에도 불구하고 24MHz 절전 해제 클록에서 실행되는 STM32U0 계열의 세 제품군은 모두 이 최저 전력 작동 모드에서 실행 모드에 도달하는 데 걸리는 시간이 플래시에서 12.0µs, SRAM에서 7.67µs에 불과합니다.

초저전력 작동에도 불구하고 통합된 적응형 실시간(ART) 메모리 가속기 덕분에 이 MCU는 56MHz의 프로세서 주파수에서 플래시의 제로 대기 상태 실행과 동등한 성능을 달성합니다.

개발 지원을 위해 STMicroelectronics는 NUCLEO-U031R8 STM32U031 기반 평가 기판, NUCLEO-U083RC STM32U083 기반 평가 기판 및 STM32U083C-DK STM32U083 기반 디스커버리 키트를 제공합니다. STM32 제품군의 다른 장치와 마찬가지로 이 회사의 STM32Cube 에코시스템용 STM32Cube MCU 패키지는 HAL 모듈, BSP, 저계층 API, 미들웨어, 연결 스택 및 샘플 코드를 제공합니다.

장거리 무선 연결 제공

스마트 시티, 농업, 원격 계량, 원격 감지 및 산업용 시스템을 위한 사물 인터넷(IoT) 응용 분야에서는 장거리 GHz 미만 무선 연결을 갖춘 효율적인 설계가 필수적입니다. 이러한 응용 분야에서는 대부분 송전 그리드, 기계 등과 같은 환경으로 인한 전파 방해에도 불구하고 안정적인 통신을 유지해야 합니다. 이는 전파 방해 내성 장거리 광역 네트워크(LoRaWAN) 연결을 사용한다는 것을 보여줍니다.

STMicroelectronics의 STM32WL5MOCH6TR 모듈은 유럽, 아시아, 미주 지역에서 작동할 수 있는 LoRaWAN 인증 솔루션을 제공합니다. 이러한 다지역 작동 기능은 무선 모듈이 868MHz 유럽 표준과 더 높은 출력을 지원하는 915MHz 북미 표준을 지원하는 것에서 비롯됩니다. 이 모듈은 다중 변조 방식을 지원하고 150MHz ~ 960MHz의 선형 주파수 범위를 지원하므로 Sigfox, W-MBUS, mioty 등 다양한 표준 및 독점 통신 프로토콜을 통해 전 세계 어디서나 작동할 수 있습니다.

Arm Cortex-M0+ 및 Arm Cortex-M4를 결합한 이중 코어 아키텍처를 기반으로 하는 STM32WL5MOC 모듈에서는 유연한 무선 트랜시버, 최대 64KB의 SRAM, 최대 256KB의 플래시 메모리와 포괄적인 보안 서브 시스템, 타이머, 아날로그 주변 장치, 연결 인터페이스, 제어 기능 및 내장형 스위치 모드 전원 공급 장치(SMPS)용 수동 소자 부품을 결합합니다. 또한 STMicroelectronics의 STSAFE-A100 보안 소자가 STM32WL5MOCH6STR 모델에 포함되어 있습니다(그림 8).

STMicroelectronics의 STM32WL5MOC 모듈 구성도그림 8: STM32WL5MOC 모듈은 유연한 무선 통신, 보안 기능, 다중 기능 블록 및 수동 소자 부품과 이중 코어 아키텍처를 결합하여 GHz 미만 연결을 위한 드롭인 솔루션을 제공합니다. (이미지 출처: STMicroelectronics)

STM32WL5MOC 모듈의 광범위한 통합 기능과 LoRaWAN 인증은 설계자에게 장거리 무선 응용 분야에 최적화된 드롭인 하드웨어 솔루션을 제공합니다. STMicroelectronics는 STM32WL5MOC 모듈, 4Mbit 플래시 메모리, 256Kbit EEPROM, STMicroelectronics 마이크로 일렉트로닉스 시스템(MEMS) 센서, 다중 기판 커넥터, LED 및 푸시 버튼을 결합하는 B-WL5M-SUBG1 확장 기판을 비롯한 포괄적인 리소스 세트로 개발 속도를 더욱 높입니다. 소프트웨어 개발을 위해 STM32CubeWL MCU 패키지는 STM32WL 계열 기판을 STM32Cube 에코시스템의 일부로 지원합니다.

결론

소비자 가전, 산업, 의료 및 기타 응용 분야를 위한 스마트 제품의 보안, 전력 소비, 연결 및 설계 복잡성 수준은 단일 마이크로 컨트롤러의 기능과 잘 맞지 않습니다. STM32 계열 MCU는 설계자에게 다양한 설계 요구 사항을 최적의 상태로 충족할 수 있는 폭넓은 처리 옵션을 제공합니다. 기판과 소프트웨어는 프로세서를 지원하고 개발을 간소화합니다.

DigiKey logo

면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.

작성자 정보

Image of Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk는 전자 산업에 관해 하드웨어, 소프트웨어, 시스템, 응용 제품(예: IoT)을 비롯한 광범위한 주제에 대해 20년 이상 집필한 경력을 갖고 있습니다. 그는 신경 과학의 뉴런 네트워크 박사 학위를 받았으며항공 우주 산업 분야의 광범위하게 분포된 보안 시스템 및 알고리즘 가속 메서드 관련 업무를 수행했습니다. 현재, 기술 및 엔지니어링에 대해 기사를 쓰지 않을 때에는 인식 및 추천 시스템에 대한 심층적 학습 응용 프로그램을 연구하고 있습니다.

게시자 정보

DigiKey 북미 편집자