Arm® Cortex®-M0+の概要
Arm® Cortex®-M0+は、設計に制約のある組込みアプリケーションで使用できる、きわめてエネルギー効率の高いArm®プロセッサです。最小のシリコン・フットプリントと最小限のコード・サイズを特徴としているため、16bitおよび8bitマイコン・クラスの価格で32bitマイコンの性能を実現できます。プロセッサのゲート数が少ないため、シンプルな機能を必要とするアプリケーションでの開発が可能です。
Arm® Cortex®-M0+では、Arm® Cortex®-M0に機能が追加され、CPUの性能も改良されています(M0の2.33 CoreMark®/MHzに比べ2.46 CoreMark®/MHz)。Arm® Cortex®-M0+には、メモリ保護ユニット(MPU)、シングル・サイクルI/Oインタフェース、マイクロ・トレース・バッファ(MTB)が内蔵されています。
Arm® Cortex®-M0+コアの主な特徴
- Armv6-Mアーキテクチャ
- AHB-liteバス・インタフェース、フォン・ノイマン・バス・アーキテクチャ、シングル・サイクルI/Oインタフェース(オプション)
- Thumb/Thumb-2サブセット命令サポート
- 2段パイプライン
- サブ領域とバックグラウンド領域付き8領域MPU(オプション)
- ノンマスカブル割込み & 1~32の物理割込み
- ウェイクアップ割込みコントローラ
- ハードウェア・シングルサイクル(32 x 32)乗算器
- 複数のスリープ・モード、割込み待ち(WFI)、イベント待ち(WFE)& スリープ・オン・エグジット機能内蔵、スリープ信号およびディープ・スリープ信号
- 実装に応じて複数の保持モードが使用可能
- 最大4つのブレークポイントと2つのウォッチポイント付きJTAGポートおよびシリアル・ワイヤ・デバッグ・ポート
- マイクロ・トレース・バッファ(オプション)
Arm® Cortex®-M0+搭載マイクロコントローラの主なメリット
フットプリントが小さいコアであるため、小さいデバイスでシングル・コアとして使用することもできれば、特殊なハードウェア・アイソレーションやタスク・パーティショニングが必要な場合は追加の組込みコンパニオン・コアとして使用することもできます。
Arm® Cortex®-M0+コアは、I/O、アナログおよび不揮発性メモリに基づく通常のマイクロコントローラ・アーキテクチャの要素間で生じるトレードオフに影響しません。そのため、マイクロコントローラ・ポートフォリオの分割時にバス・サイズ(8bit、16bitまたは32bit)は関係なくなります。
Arm Cortex-M0+搭載マイクロコントローラは、広く使用されており、エントリ・レベルのアプリケーションに大きなメリットをもたらします。計算性能要件を満たし、その基本アーキテクチャによって、Arm Cortex-M0+搭載マイクロコントローラは、スイッチング・ゲート数が最少化されたアプリケーションで超低消費電力性能を実現できます。Arm® Cortex®-M0+コアは、ノイズ放射を削減し、最適なクロック速度を使用して性能要件を満たします。
コアのダイナミック・パワーは、使用されているテクノロジーに応じて、5µW/MHz~50µW/MHzの範囲です。ただし、コア自体がデバイス全体の消費電力を表しているわけではなく、その他にも考慮すべき要因があります。そのため、製品のデータシートを注意深く調べることが重要です。
Thumb命令セットは、Arm Cortex-Mファミリのサブセットです。任意のArm Cortex-M製品に対して検証済みのソフトウェア・ブリックを再利用することで、製品の拡張性が向上します。
メモリ保護ユニット(MPU)がCPUのメモリへのアクセスを管理し、メモリや他のアクティブなタスクが使用しているリソースをタスクによる偶発的な破損から防御します。MPUは、通常、リアルタイム・オペレーティング・システム(RTOS)によって制御されます。プログラムがMPUによって禁止されているメモリの領域にアクセスした場合は、RTOSがそれを検出して対処します。カーネルは、実行されているプロセスに基づいてMPUエリアの設定を動的に更新します。MPUはオプション機能で、バイパス可能です。
Arm® Cortex®-M0+をベースにしたマイクロコントローラ
STは、低消費電力で高性能な制御と処理が求められるアプリケーション向けに、Arm® Cortex®-M0+プロセッサとST独自の低消費電力アナログ・ペリフェラルを組み合わせたマイクロコントローラを提供しています。
シングル・コア・シリーズ | 最大動作周波数(MHz) | 性能(CoreMark) | Flashメモリ(KB) | RAM(KB) | 動作電圧範囲(V) | パッケージ | コネクティビティ | アナログ |
STM32L0 | 32 | 75 | 8~192 | 2~20 | 1.65~3.6 | LQFP32/48/64/100、TSSOP14/20、UFBGA64/100、UFQFPN20/28/32/48、WLCSP25/36/49 | USART、SPI、I2C、USB | あり |
STM32C0 | 48 | 114 | 16~128 | 6~24 | 2~3.6 | SO8N、WLCSP12/19、TSSOP20、UFQFPN20/28/32/48、LQFP32/48/64 | USART、SPI、I2C | あり |
STM32U0 | 56 | 140 | 16~256 | 12~40 | 1.71~3.6 | TSSOP 20、WLCSP 27/42、UFQFPN 32/48、LQFP 48/64/80、UFBGA 64/81 | SPI、I2C、UART、USART、USB | あり |
STM32G0 | 64 | 142 | 16~512 | 16~128 | 1.7~3.6 | LQFP32/48/64、SO8、TSSOP20、UFBGA64、UFQFPN28/32/48、WLCSP18/25 | USART、SPI、I2C、USB、CAN FD | あり |
デュアル・コア・シリーズ | 最大動作周波数(MHz) | 性能(CoreMark) | Flashメモリ(KB) | RAM(KB) | 動作電圧範囲(V) | パッケージ | コネクティビティ | ワイヤレス・コネクティビティ |
STM32WB | 32 + Cortex-M4@64MHz | 216 | 256~1024 | 48~256 | 1.71~3.6 | SIP LGA77、SIP LGA86 UFBGA129、UFQFPN48、VFQFPN68、WLCSP49、WLCSP100 | USART、SPI、I2C、USB FS | Bluetooth® Low Energy 5.4、Bluetooth Mesh、HCI、Thread/OpenThread、Zigbee3.0、Zigbee PRO、Matter |
STM32WL5 | 48 + Cortex-M4@48MHz | 162 | 64~256 | 20~64 | 1.8~3.6 | UFBGA73、UFQFPN48 | USART、SPI、I2C | 150MHz~960MHz、LoRa、(G)FSK、(G)MSK、BPSK |
STM32WB0 | 64 + Cortex-M0@64MHz | 156 | 192~512 | 24~64 | 1.7~3.6 | VFQFPN32、WLCSP36、VFQFPN48、WLCSP49 | LPUART、USART、I2C、SPI / I2S | 2.4 GHz、Bluetooth® Low Energy 5.4、HCI |
STM32マイクロコントローラ・ベースのソリューション
STM32開発エコシステム
Arm® Cortex®-Mコア搭載STM32マイクロコントローラ
Arm® Cortex®-M0+
小型・低消費電力