Arm® Cortex®-M4の概要
32bit Arm® Cortex®-M4プロセッサ・コアは、オプションの浮動小数点ユニット(FPU)を含む専用のデジタル信号処理(DSP)IPブロックを備えた、Arm Cortex-Mシリーズ初のコアです。IoT、モータ制御、パワー・マネージメント、組込みオーディオ、産業およびスマート・ホーム、ヘルスケアおよびウエルネス向けアプリケーションなどの、効率的で使いやすい制御機能と信号処理機能が求められるデジタル信号制御アプリケーションに対応します。
Arm Cortex-M3コアと同様に、Arm Cortex-M4コアは1.25 DMIPS/MHzおよび3.42 CoreMark/MHzスレッド性能を実現します。
Arm® Cortex®-M4コアの主な特徴
- Armv7E-Mアーキテクチャ
- バス・インタフェース3x AMBA AHB-liteインタフェース(ハーバード・バス・アーキテクチャ)、CoreSightデバッグ・コンポーネント用AMBA ATBインタフェース
- Thumb/Thumb-2サブセット命令サポート
- 3段パイプライン
- DSP拡張: シングル・サイクル16bit / 32bit MAC、シングル・サイクル・デュアル16bit MAC、8bit / 16bit SIMD演算、ハードウェア除算器(2~12サイクル)
- IEEE 754準拠の単精度浮動小数点ユニット(FPU)(オプション)
- サブ領域とバックグラウンド領域付き8 MPU領域(オプション)
- ビットフィールド処理命令およびバス・レベル・ビット・バンディング内蔵
- ノンマスカブル割込みおよび8~256の優先度レベルで1~240の物理割込み
- ウェイクアップ割込みコントローラ
- WFIおよびWFE命令とスリープ・オン・エグジット機能内蔵、スリープ信号およびディープ・スリープ信号、オプションのArm®パワー・マネージメント・キットによる保持モード
- 最大8つのブレークポイントと4つのウォッチポイント付きJTAGポートおよびシリアル・ワイヤ・デバッグ・ポート(オプション)
- 命令トレース(ETM)、データ・トレース(DWT)、およびインストルメンテーション・トレース(ITM)(オプション)
Arm® Cortex®-M4搭載マイクロコントローラの主なメリット
Armv7E-Mアーキテクチャ
Armv7E-Mアーキテクチャは、Arm® Cortex®-M3コアのArmv7-Mアーキテクチャをベースに構築されており、次のようなDSP拡張機能を追加しています。
- Single Instruction Multiple Data(SIMD)処理
- 飽和演算命令
- シングル・サイクルで実行できる広範なMAC命令
- 単精度浮動小数点演算をサポートするFPU(オプション)
このアーキテクチャは、サイクル数の少ない実行、最低限の割込み遅延、短いパイプラインで、キャッシュレス演算を実行できる高度な決定論的な演算が必要なリアルタイム制御アプリケーションに最適です。
デジタル信号処理
Arm Cortex-M4をベースにしたマイクロコントローラは、内蔵の高度なDSPハードウェア・アクセラレータを利用し、数学的計算により信号を処理します。DSPハードウェア・アクセラレータは、マイクからの出力信号、モータ制御システムに組み込まれたセンサからのフィードバック、センサフュージョン・アプリケーションからの出力などのすべてのアナログ信号を処理できます。
デジタル信号処理によって、制御ループ・アルゴリズムを実行するために必要なサイクル数が削減されるため、アプリケーションの性能と電力効率が向上します。Q1.15またはFloat32のデータ形式を使用してアルゴリズムが処理される場合、Arm Cortex-M4上で稼働するマイクロコントローラは、Arm Cortex-M3をベースにしたマイクロコントローラよりも、はるかに高い性能を発揮します。Q1.15形式の場合、主にSIMD命令の可用性によって改善が実現されるため、Arm Cortex-M4では必要なサイクル数を約1/2に削減できます。Float32データ形式の場合、浮動小数点ユニット・アクセラレータによって、Arm Cortex-M4搭載マイクロコントローラの性能はArm Cortex-M3搭載マイクロコントローラと比べ、1桁向上します。
DSP搭載のArm Cortex-M4搭載マイクロコントローラは、別のマイコン・メーカーでArm Cortex-M4Fマイクロコントローラとして販売されている場合があります。すべてのArm Cortex-M4搭載のSTM32マイクロコントローラには、Arm Cortex-M4コアのDSPオプションが組み込まれており、すべてArm Cortex-M4マイクロコントローラとして提供しています。
拡張性と電力効率
Arm Cortex-M4マイクロコントローラは、Cortexマイクロコントローラ・ソフトウェア・インタフェース規格(CMSIS)をサポートしているので、開発者はプロジェクトのために、さまざまなマイクロコントローラ間でコードを移植できます。このインタフェースによって、サードパーティによって提供されるソフトウェアの統合も簡略化されるため、開発期間の短縮に貢献します。
Arm Cortex-M4アーキテクチャの柔軟性と拡張性を活用して、設計者は最新の機械学習アルゴリズムを実行できます。
また、電力効率もきわめて優れているためIoTエッジ・コントローラ、バッテリ駆動のセンサ・ノード、およびコンスーマ向けウェアラブル機器に最適です。
Arm Cortex-M4コアは、シングルコア・マイクロコントローラに内蔵されていることが多いですが、新世代のマルチコア・マイクロコントローラとマイクロプロセッサは、システム統合と性能の最適化をより向上させているため、2つのタスクを役割分担した以下のユース・ケースを実装できます。
- Arm Cortex-M4をメイン制御コアとして使用し、より効率よく無線プロトコルを実行できるエネルギー効率の高いArm Cortex-M0+コアと連携可能
- Arm Cortex-M4コアをリアルタイム汎用コンパニオン・コアとして使用し、Arm Cortex-M7またはArm Cortex-A7コアの非常に優れた計算能力を活用して、高度なグラフィックスや複雑なデジタル信号処理アルゴリズムを処理したり、オープンソースのLinuxオペレーティング・システムおよびライブラリを実行可能
Arm® Cortex®-M4をベースにしたマイクロコントローラ
STは、Arm Cortex-M4コアに、独自の低消費電力シリコンのIP、不揮発性組込みメモリ・テクノロジー、ハードウェア・アクセラレータ(三角関数および双曲線計算用Cordic、フィルタリング演算用FMAC)、高性能アーキテクチャ、およびワイヤレス・コネクティビティの専門知識を組み合わせ、Arm Cortex-M4搭載マイクロコントローラを提供しています。これにより、エンジニアは多くの技術的および商業的課題を解決することが可能となります。
Arm Cortex-M4搭載のSTM32マイクロコントローラは、STM32Cube開発エコシステムに統合されており、STの広範なパートナー・ネットワークが提供するツールやソリューションを活用できます。
Arm® Cortex®-M4搭載マイクロコントローラのシングルコア・シリーズ
シリーズ | 最大動作周波数(MHz) | 性能(CoreMark) | Flashメモリ(KB) | RAM(KB) | 動作電圧範囲(V) | パッケージ | 通信機能 | アナログ機能 |
STM32F3 | 72 | 245 | 16~512 | 16~80 | 1.8~3.6 | LQFP48/64/100、UFBGA100、UFQFPN32、WLCSP49/66/100 | USART、SPI、I2C、I2S、CAN、USB | あり |
STM32L4 | 80 | 273 | 64~1024 | 40~320 | 1.7~3.6 | LQFP32/48/64/100/144、UFBGA64/100/132、UFQFPN32/48、WLCSP36/49/64/72/100 | USART、SPI、I2C、CAN、USB、Chrom-ART | あり |
STM32L4+ | 120 | 409 | 512~2048 | 320~640 | 1.7~3.6 | LQFP48/64/100/144、UFBGA132/169、UFQFPN48、WLCSP100 | USART、SPI、I2C、CAN、USB、TFT、MIPI DSI、Chrom-ART | あり |
STM32G4 | 170 | 550 | 32~512 | 118~128 | 1.7~3.6 | LQFP32/48/64/80/100/128、UFBGA64/100/121、UFQFPN32/48、WLCSP48/64/81 | USART、SPI、I2C、CAN、USB | アナログ・リッチ |
STM32F4 | 84~180 | 最大613 | 64~2048 | 32~384 | 1.7~3.6 | LQFP48/64/100/144/176/208、BGA100/144/176/216、UFQFPN48、WLCSP36/49/81/90/143/168 | USART、SPI、I2C、CAN、Ethernet、USB、TFT、MIPI DSI、Chrom-ART | あり |
Arm® Cortex®-M4搭載マイクロコントローラのデュアルコア・シリーズ(ワイヤレス)
シリーズ (ワイヤレス) | Arm Cortex-M4の最大動作周波数(MHz) | プロセッサ2 | Flashメモリ(KB) | RAM(KB) | 動作電圧範囲(V) | パッケージ | 通信機能 | ワイヤレス接続 |
STM32WL5 | 48 | Cortex-M0+@48MHz | 64~256 | 20~64 | 1.8~3.6 | UFBGA73、UFQFPN48 | USART、SPI、I2C | 150MHz~960MHz、LoRa、(G)FSK、(G)MSK、BPSK |
STM32WB | 64 | Cortex-M0+@32MHz | 256~1024 | 128~256 | 1.71~3.6 | UFBGA129、UFQFPN48、VFQFPN68、WLCSP100 | USART、SPI、I2C、USB | 2.4GHz、802.15.4、Bluetooth® LE5.0、Thread/OpenThread、Zigbee3.0 |
Arm Cortex®-M4搭載マイクロコントローラのデュアルコア・シリーズ(高性能)
シリーズ (高性能) | Arm Cortex-M4の最大動作周波数(MHz) | プロセッサ2 | Flashメモリ(KB) | RAM(KB) | 動作電圧範囲(V) | パッケージ | 通信機能 | アナログ機能 |
STM32H7 | 240 | Cortex-M7@480MHz +L1 | 1024~2048 | 1024 | 1.62~3.6 | UFBGA129/169、LQFP176/208、TFBGA240、WLCSP156 | USART、SPI、I2C、USB、TFT-LCD、MIPI-DSI | 高度なアナログ |
STM32MP1 | 209 | Dual Cortex-A7@800MHz +L1+L2 3D GPU | 該当なし | 708 | 1.71~3.6 | LFBGA354/448、TFBGA257/361 | USART、SPI、I2C、USB HS GbE TFT-LCD、MIPI-DSI | あり |
Arm Cortex-M4コア開発キット
STM32マイクロコントローラ・ベースのソリューション
STM32開発エコシステム
Arm® Cortex®-Mコア搭載STM32マイクロコントローラ
Arm® Cortex®-M4
ミックスド・シグナル・デバイス向けの制御 / 性能