확장 가능한 마이크로 컨트롤러를 사용하여 설계 유연성 확보

작성자: Kenton Williston

DigiKey 북미 편집자 제공

인공 지능(AI), 복잡하고 그래픽이 풍부한 인간 기계 간 인터페이스(HMI)와 같은 고급 기능이 응용 분야에서 보편화됨에 따라 제품 설계자는 더 강력한 마이크로 컨트롤러 장치(MCU)를 찾고 있습니다. 하지만 설계자는 이러한 호화로운 기능을 포기하고 비용에 최적화된 제품을 만들라는 요청도 받습니다. 이러한 경쟁적 압박을 받는 가운데 다양한 시장 요구 사항을 충족하도록 쉽게 확장할 수 있는 MCU를 선택하는 것이 필수적입니다.

혁신이 빨라지면서 이러한 압박이 가중되고 있습니다. 응용 분야의 요구 사항이 예기치 않게 변경될 수 있으므로 대체 MCU에 쉽게 접근할 수 있어야 합니다. 미래를 대비하고 재사용도 고려해야 합니다. 설계 요소를 다른 프로젝트에 재사용할 수 있다면 많은 시간과 비용을 절약할 수 있습니다.

이러한 문제를 해결하는 한 가지 방법은 다양한 옵션을 갖춘 MCU 제품군을 선택하는 것입니다. STMicroelectronicsSTM32H7이 좋은 예입니다. 이러한 예는 실속에 최적화된 엔트리급 32비트 MCU부터 다양한 기능을 갖춘 이중 코어 MCU까지 다양합니다.

이 기사에서는 STM32H7 제품군의 기능을 예로 들어 MCU 제품군을 선택할 때 고려해야 할 기준을 강조합니다. 또한 STM32H7 MCU에 사용할 수 있는 개발 기판과 도구를 소개하고 이 인프라를 사용하여 프로젝트를 빠르게 시작하는 방법을 설명합니다.

MCU 제품군을 유연하고 확장 가능하게 만드는 요소

유연한 MCU 제품군을 검색할 경우 다양한 요소를 고려해야 합니다. 다양한 성능과 전력 레벨을 갖춘 옵션을 확보하는 것이 특히 중요합니다. 권장되는 MCU 제품군에는 다양한 대상에 최적화된 다양한 클록 속도와 코어를 갖춘 옵션이 포함됩니다. 예를 들어 저전력에 적합한 Arm® Cortex®-M4와 고성능에 적합한 Arm Cortex-M7이 있습니다.

이 제품군은 기본 처리 기능을 갖춘 MCU를 탑재하고 확장 기능을 갖춘 옵션을 제공해야 합니다. 대부분의 응용 분야에서는 데이터 보호와 보안 통신이 필요합니다. 하드웨어 기반 암호화, 보안 부팅, 암호화 가속기와 같은 기능은 이러한 사용 사례에 필수적입니다. 마찬가지로 데이터 집약적인 응용 분야에는 디지털 신호 프로세서(DSP)와 부동 소수점 명령어가 필요합니다.

또한 MCU 제품군은 간단한 응용 분야부터 광범위한 소프트웨어 프레임워크 또는 데이터 스토리지가 필요한 응용 분야까지 모두 포괄할 수 있도록 다양한 RAM 및 플래시 메모리 크기를 제공해야 합니다. MCU에는 필요한 확장성을 제공하기 위해 내부 메모리 기능을 초과하는 응용 분야를 위한 외부 메모리 인터페이스가 있어야 합니다.

마지막으로 MCU 제품군에서 제공하는 주변 장치 옵션이 많을수록 더 다양한 응용 분야를 처리할 수 있습니다. 이러한 인터페이스는 이후 설계에서 업그레이드로 추가하기 어려울 수 있으므로 MCU 제품군에 USB, 이더넷, Bluetooth, Wi-Fi와 같은 고급 I/O 옵션이 포함되어 있는지 확인하는 것이 중요합니다. 이상적으로, 제품군 전반에 걸쳐 핀 호환성을 제공하여 주요 인쇄 회로 기판(PC 기판)을 재설계할 필요 없이 하드웨어 업그레이드 또는 다운그레이드를 지원하는 제품군을 선택하는 것이 좋습니다.

개발 도구는 소프트웨어 관점에서 전체 MCU 제품군을 지원해야 합니다. 개발을 가속화하려면 일관된 소프트웨어 응용 프로그래밍 인터페이스(API)와 강력한 라이브러리, 미들웨어 및 실시간 운영 체제(RTOS) 세트가 있어야 합니다.

STM32H7: 다용성 사례 연구

STMicroelectronics의 STM32H7 계열은 이러한 기준을 충족하는 MCU 제품군의 전형적인 예입니다. 표 1에 표시된 대로 이 제품은 기본 MCU와 고급 MCU를 모두 포괄하는 Arm Cortex-M7을 기반으로 구축된 제품군으로 확장성이 뛰어납니다. 이 계열은 각기 다른 응용 분야에 최적화된 4개 라인으로 구성되어 있습니다.

MCU 코어 및 클록 최대 플래시/RAM 주요 특징
실속형 280MHz ~ 550MHz
Arm Cortex-M7
128KB 플래시
1MB RAM
저비용, 이더넷, QSPI, TFT
단일 코어 라인 280MHz ~ 550MHz
Arm Cortex-M7
2MB 플래시
1.4MB RAM
TFT, 이더넷, Q-SPI, 저전력
이중 코어 라인 480MHz
Arm Cortex-M7 +
240MHz
Arm Cortex-M4
2MB 플래시
1MB RAM
스위치 모드 전원 공급 장치(SMPS), TFT-LCD, MIPI-DSI, JPEG
BootFlash 라인 600MHz
Arm Cortex-M7
외부 플래시, 620KB RAM NeoChrom GPU, I3C, XiP, USB PHY

표 1: STM32H7 계열 4개 라인의 주요 특징 (표 출처: 작성자, STMicroelectronics의 출처 자료 사용)

실속형은 280MHz ~ 550MHz의 속도로 사용 가능하며 128KB 내장형 플래시 메모리와 1MB RAM을 제공합니다. 다양한 통신 인터페이스와 외부 메모리 확장을 지원하여 성능 위주의 시스템을 위한 비용 효율적인 솔루션을 제공합니다. STM32H750VBT6은 이러한 MCU 중 하나이며, 14mm x 14mm 100-LQFP로 제공됩니다.

또한 단일 코어 라인은 280MHz ~ 550MHz의 속도로 작동합니다. 최대 2MB 플래시 메모리와 최대 1.4MB RAM을 제공하여 풍부한 사용자 인터페이스와 실시간 제어가 필요한 응용 분야에 적합합니다. 예를 들면 10mm x 10mm 201-UFBGA 패키지로 제공되는 STM32H743IIK6이 있습니다.

이중 코어 라인은 효율성에 최적화된 보조 Arm Cortex-M4 코어를 포함하고 있습니다. 내장형 스위치 모드 전원 공급 장치(SMPS)는 전력 효율을 개선합니다. 기타 고급 주변 장치로는 TFT-LCD, MIPI-DSI, 하드웨어 JPEG 코덱이 있습니다. 일반적인 예로는 7mm x 7mm 169-UFBGA 패키지로 제공되는 STM32H747AII6이 있습니다.

BootFlash 라인은 최고 속도 600MHz의 고성능을 자랑합니다. 이 라인은 XiP(execute-in-Place) 응용 분야를 지원하도록 설계되었으며 620KB RAM과 함께 64KB 부트 플래시가 장착되어 있습니다. 또한 이 라인의 일부 모델에는 향상된 그래픽 가속을 위한 NeoChrom GPU가 옵션으로 제공됩니다. 이 라인의 대표적인 제품은 10mm x 10mm 144-UFBGA 패키지의 STM32H7R3Z8J6입니다.

STM32F4 및 STM32F7 제품군과의 호환성 이점

STM32H7은 보다 광범위한 STMicroelectronics MCU 제품군에 속하며, 대부분의 패키지에 대해 자매품인 STM32F4STM32F7과 핀 호환이 가능합니다. 이러한 MCU는 모두 Arm Cortex-M 코어를 기반으로 하며 유사한 주변 장치 및 GPIO 핀 레이아웃을 공유합니다. 이러한 공통성으로 인해 설계자는 하드웨어를 크게 변경하지 않고도 MCU 간에 쉽게 마이그레이션할 수 있습니다. 이러한 호환성은 각 제품군의 서로 다른 기능을 기반으로 제품을 업그레이드하거나 새 제품을 설계할 때 개발 시간과 비용을 줄여 줍니다.

또한 구성 및 초기화 코드 생성을 위한 STM32CubeMX와 개발 및 디버그를 위한 STM32CubeIDE 등 모든 MCU가 동일한 소프트웨어 개발 에코시스템에서 지원됩니다. 이러한 호환성 덕분에 소프트웨어 구성요소, 미들웨어 및 애플리케이션 코드를 두 제품군을 대상으로 하는 프로젝트 양쪽 모두에서 재사용할 수 있으므로 개발 주기가 더욱 빨라집니다.

STM32H7 계열 MCU 시작하기

STM32H7 MCU를 시작하려면 몇 가지 주요 단계를 수행하고 개발 기판 및 도구를 효과적으로 사용해야 합니다. 다음 단계별 안내에서는 이러한 강력한 마이크로 컨트롤러로 개발을 시작하는 방법을 보여줍니다.

1. 개발 기판 선택

초기 탐색에 이상적인 Discovery 키트는 통합 디버거/프로그래밍 장치와 함께 제공되며 일반적으로 다양한 기판 실장 사용자 LED, 키, 센서 및 연결 옵션을 제공합니다. NUCLEO-F767ZI(그림 1)와 같은 Nucleo 기판은 유연성과 경제성 사이에서 균형이 잘 이루어져 있습니다. 이 기판은 Arduino Uno와 호환이 가능하여 쉽게 확장할 수 있으며 디버거/프로그래밍 장치와 함께 사용할 수 있는 STLINK 인터페이스를 제공합니다.

STMicroelectronics의 NUCLEO-F767ZI 개발 기판 이미지그림 1: NUCLEO-F767ZI 개발 기판은 실험을 위한 간단하지만 유연한 출발점이 됩니다. (이미지 출처: STMicroelectronics)

평가 기판은 전체 기능 탐색을 위한 가장 포괄적인 주변 장치 및 연결 옵션 세트를 제공합니다. 예를 들어 STM32H745I-DISCO(그림 2) 및 STM32H750B-DK와 같은 Discovery 키트를 사용하면 다음과 같은 특징을 갖춘 다양한 인터페이스를 빠르게 평가할 수 있습니다.

  • 터치 패널을 갖춘 4.3인치 RGB 인터페이스 LCD
  • IEEE-802.3-2002 이더넷 규정 준수
  • 이더넷을 통한 전력 공급(PoE)
  • USB OTG FS
  • SAI 오디오 코덱
  • ST-MEMS 디지털 마이크 1개
  • 2 × 512Mbit Quad-SPI NOR 플래시 메모리
  • 128Mbit SDRAM
  • 4GB 기반 실장 eMMC
  • 2 × CAN FD
  • Arduino 실드 호환
  • USB 재열거 기능이 있는 기판 실장 STLINK-V3E 디버거/프로그래밍 장치: 대용량 스토리지, 가상 COM 포트 및 디버그 포트

STMicroelectronics의 STM32H745I-DISCO 평가 기판 이미지그림 2: STM32H745I-DISCO 평가 기판은 풍부한 하드웨어 리소스를 제공합니다. (이미지 출처: STMicroelectronics)

2. 소프트웨어 도구 설정

STMicroelectronics는 MCU를 위한 통합 개발 환경(IDE)을 제공합니다(그림 3). 여기에는 컴파일러, 디버거, 초기화 코드 생성 및 주변 장치 설정을 위한 구성기가 포함됩니다.

STMicroelectronics의 STM32H7 IDE 이미지그림 3: STM32H7 IDE의 스크린샷을 보여줍니다. (이미지 출처: STMicroelectronics)

3. 학습 및 실험

다음 단계로, 설명서를 읽어볼 것을 권장합니다. 개발 기판 사용 설명서와 관련 STM32H7 참고 매뉴얼은 훌륭한 시작점이 됩니다. 이러한 문서에는 MCU 아키텍처, 주변 장치 구성, Pin-Mux 및 하드웨어 특성에 관한 중요한 정보가 나와 있습니다.

예제 프로젝트 실험은 도구에 대해 배우는 효과적인 방법입니다. STMicroelectronics는 다양한 STM32 MCU를 위한 다양한 예제 프로젝트를 제공합니다. 이러한 예제는 다양한 MCU 기능을 사용하는 방법을 이해하는 데 좋은 출발점이 될 수 있습니다.

마지막으로 개발자 커뮤니티에서 추가 지원을 제공받을 수 있습니다. ST Community, 튜토리얼, 동영상과 같은 리소스를 활용하면 일반적인 문제에 대한 해결책을 찾고 가능한 프로젝트에 대한 영감을 얻을 수 있습니다.

4. 개발 및 디버그

IDE는 코드의 작성, 컴파일, 디버깅을 시작하는 데 필요한 모든 것을 제공합니다. IDE 내의 구성기를 활용하여 주변 장치를 초기화하고 미들웨어를 설정할 수 있습니다. 개발 기판의 통합 STLINK 디버거/프로그래밍 장치 인터페이스를 통해 실시간 디버깅이 가능합니다. 중단점 사용, 변수 관찰, 단계별 코드 확인을 통해 문제를 식별할 수 있습니다.

5. 프로젝트 확장

확장 기판은 연결, 센서와 같은 기능을 Discovery 및 Nucleo 기판에 추가할 수 있습니다. 개발 기판을 통해 원하는 기능을 설정한 이후에 개발 기판의 회로도를 참고하여 맞춤형 PC 기판을 설계할 수 있습니다. 맞춤형 기판의 한 예로 Seeed Technology Co., LtdOpenMV4 CAM H7 카메라 플랫폼(그림 4)이 있습니다. 이 기판에서는 단일 코어 STM32H743을 사용합니다.

비전 시스템을 위한 Seeed Technology의 OpenMV4 CAM H7 이미지그림 4: OpenMV4 CAM H7은 비전 시스템을 위한 것입니다. (이미지 출처: Seeed Technology Co. Ltd.)

다른 예로는 이중 코어 STM32H747을 사용하는 Arduino의 ABX00051 Nicla Vision(그림 5)이 있습니다.

Arduino의 ABX00051 Nicla Vision 이미지그림 5: 개발자는 ABX00051 Nicla Vision을 사용하여 다른 이미지 센서를 평가할 수 있습니다. (이미지 출처: Arduino)

결론

고급 기능 및 비용 최적화에 대한 경쟁적인 요구를 고려할 때 제품 설계에서 MCU를 선택하는 것은 매우 중요합니다. STMicroelectronics의 STM32H7 계열은 올바른 MCU 제품군을 선택하면 현재와 미래의 요구 사항을 충족하는 확장 가능하고 유연한 솔루션을 제공할 수 있다는 것을 보여주는 강력한 예입니다.

DigiKey logo

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

작성자 정보

Image of Kenton Williston

Kenton Williston

Kenton Williston은 2000년에 전기 공학 학사 학위를 받았으며, 프로세서 벤치마크 분석가로 커리어를 시작했습니다. 그 후 EE Times 그룹에서 편집자로 일하면서 전자 산업을 위한 여러 간행물 및 컨퍼런스의 시작과 진행을 도왔습니다.

게시자 정보

DigiKey 북미 편집자