STM32MP1 – HW ARCH
ハードウェアアーキテクチャ
1.0 版

こんにちは、STM32MP1 シリーズのハードウェアアーキテク
チャの概要へようこそ。

1STM32MP1 ブロック図

2STM32MP157
システム
5x LDO

水晶発振器と内部オシレータ
MDMA + 2x DMA

デュアル Cortex-A7 @ 650MHz
コア 1 @ 650MHz
L1 32KB I / 32KB D

コア 2 @ 650MHz
L1 32KB I / 32KB D

NEON SIMD

NEON SIMD

リセットおよびクロック

256KB の L2 キャッシュ

最大 176 の GPIO

Cortex-M4 @ 209MHz
FPU

MPU

セキュリティ

DDR3/DDR3L 32bit@533MHz

TrustZoneLPDDR2/LPDDR3 32bit@400MHz

DES、TDES、AES-256

システム RAM 256KBMCU システム RAM 384KB

保持 RAM 64KB

バックアップ RAM 4KB

ブート ROM 128KBOTP ヒューズ 3Kb

SHA-256、MD5、HMAC
3x タンパピン（アクティブ 1）
Tº、V、32KHz 検出

26Mtri/sec、133Mpix/sec
コネクティビティ
24bit パラレル RGB ディスプレイ

ウォッチドッグ（2x I & W ）96bit の一意な ID

3D GPU OpenGL ES2.0 @ 533MHz

MIPI DSI 2レーン @ 1Gbps

カメラインタフェース

HDMI CEC

1Gbps Ethernet

2x FDCAN / TTCAN

2x USB2.0 ホスト HS

USB2.0 OTG FS/HSMDIO

DFSDM 8チャネル／6フィルタ

6x I²C

4x UART、4x USART

6x SPI / 3x I²S

4x SAISPDIF Tx/Rx 4 入力

デュアル Quad SPI

3x SDIO3.0 / SD3 / eMMC 4.51

16bit SLC NAND、8bit ECC

セキュア ROM および RAM

コントロールアナログセキュアペリフェラル

2x 16bit モータ制御 PWM 同期 AC タイマ

2x 16bit A/D コンバータ 3MSPS 22チャネル

セキュア RTC
アナログ True RNG

10x 16bit タイマ

5x 16bit LP タイマ
2x 32bit タイマ

2x 12bit D/A コンバータ

温度センサ

このブロック図は、STM32MP1 シリーズのハイエンド系列の一部である
STM32MP157 の主要な機能をまとめたものです。
STM32MP157 マイクロプロセッサは、デュアル Cortex-A7 32bit コアと単精度および倍精度の浮動小数点ユニット、および Arm® NEON™ 高度 SIMD 命令セットを統合し、最大 650MHz で動作できます。各コアには、32KB のレベル 1 命令キャッシュと 32KB のレベル 1 データキャッシュ、および 2 つのコア間で共有される256KB のレベル 2 キャッシュがあります。
この強力なアプリケーションコアに加えて、最大 209MHz で動作する Cortex-M4
32bit RISC コア（単精度浮動小数点ユニット付き）も組み込まれています。
最後に、Open GL ES 2.0 をサポートし、最大 533MHz で動作する強力な 3DGPU が利用できます。
内部 SRAM メモリのサイズは 708KB で、分散型アーキテクチャにより次のように分割されています。
•256KB の AXI システム RAM•
384KB の AHB MCU サブシステム RAM•
バックアップドメインに 64KB の AHB MCU サブシステム保持 RAM
最低電力モードでデータを保つために、バックアップドメインに 4KB の SRAM•
この系列には、パラレルインタフェースまたは最大 1Gbit/s の 2 つのデータレーンを持つディスプレイシリアルインタフェース（DSI）にピクセルを供給できる LCD-TFT コントローラインタフェースに加えて、最大 37 の通信ペリフェラルも含まれています。
STM32MP157 系列には、最大 3M サンプル/s で動作する低消費電力の 16bit
A/D コンバータ、12bit D/A コンバータ、および 29 個のタイマも組み込まれています。

2

STM32MP1 バスアーキテクチャの概要

3

一部の製品系列では使用不可

STM32MP1 バスアーキテクチャは、異なる周波数ドメインで動作する 2 つの相互接続マトリックス（Arm Cortex-A7 と Arm Cortex-M4）に分割され、個別に低電力モードに設定できます。
•1 つは、Arm Cortex-A7 側（MPU 側と呼ばれる）のマスタとスレーブ間の相互接続を実行する AXI ベースの高速 Arm CoreLink NIC-400 ネットワーク相互接続で、266MHz（ck_aclk）で動作し、各マスタとスレーブ間で最大 2GB/s までの内部帯域幅を実現しています。 このマトリックスは、外部 DDR および内部 SRAMの間で低遅延かつ非常に高帯域幅のマスタ転送用に最適化されています。外部 DDR メモリは、最大 4GB/s の生の帯域幅を提供します。AXI ドメインに属するペリフェラルは、AHB5、AHB6、APB4（AHB6 経由）およびAPB5 バスに接続されます。

•

もう 1 つは、Arm Cortex-M4 側（MCU 側と呼ばれる）のマスタとスレーブ間の相互接続を実行するマルチレイヤ AHB 相互接続（MLAHB）で、これは以前のMCU から受け継いだアーキテクチャを備え、209MHz（ck_mcu）で動作します。

AXI 相互接続マトリックス（AXIM）とマルチレイヤ AHB（ML-AHB）は互いに接続されており、どちらのマスタも任意のペリフェラルを共有できるようになっています。
破線のブロックは一部の製品系列では使用できません。
セキュリティはこの概要では示されていません。

3

4128-bits

AXI マトリックス

一部の製品系列では使用不可

AXI マトリックスは、最大 11 のマスタと 12 のスレーブのペリフェラル間の相互接続を可能にします。

4

MLAHB マトリックス

5

一部の製品系列では使用不可

AHB マトリックスは、最大 10 のマスタと 9 のスレーブのペリフェラル間の相互接続を可能にします。

5

メモリの要約

外部メモリ

内蔵メモリ

メモリ

タイプ

サイズ

BOOTROM

ROM

128KB

SRAMSRAM

384KB

SYSRAM

SRAM

256KB

RETRAM

SRAM（VBAT による）BKPSRAM

TrustZone
アクセスコントロール

Cortex-A7アクセスCortex-M4アクセス





64KB





SRAM（VBAT による）

4KB





DDR SDRAM

DDR3, DDR3L,
LPDDR2, LPDDR3

最大 1GBSDMMCSD カード, e•MMC

QUADSPI

SPI Flash

最大 512MB（1）
最大 4GB（2）

FMC NORNOR Flash, SRAM

最大 256MB

FMC NAND

NAND Flash

最大 256MB





6


（SDMMC3 のみ）(1) メモリマップドモード(2) インダイレクトモード

一部のメモリは Cortex-A7 コアアクセス専用であり（BootROM、DDR など）、Arm TrustZone テクノロジーを使用したオプションのアクセス制御の恩恵を受けます。

6

メモリマップの概要

7• 一様なメモリマップ• すべてのペリフェラルはすべてのマスタで同じアドレスに見える• 再配置なし

どのマスタからアドレス指定されるメモリマップも同じで、すべてのペリフェラルが同じアドレスで表示されるため、開発とデバッグが簡単です。
動的なメモリの再配置は行われません。Cortex-M4 アクセスの最適化を可能にするために、MCU SRAM およびRETRAM メモリの一部のみが 2 つの場所でエイリアス化されます。

7

RCC
システムリセット制御

OSC_IN/OUT

HSE

OSC32_IN/OUT

LSE

HSI
PLL1
PLL2
PLL3
PLL4

クロック分配

AHB
ペリフェラルバス

レジスタインタフェース

LSI

CSI

8

• リセットおよびクロックコントローラ（RCC）は下記を管理。
• すべてのクロックの生成• 4xPLL、RC オシレータ、水晶発振器 …

クロックのゲーティング制御

NRST

プロセッサおよびペリフェラルへ

NRST_CORE

プロセッサおよびペリフェラルへ

リセットおよびクロック供給（RCC）• すべてのクロックのゲーティング• 各ペリフェラルのクロックを有効／無効にすることが可能• すべてのシステムとペリフェラルのリセットの制御

アプリケーション側の利点• 消費電力と精度の要件を満たすためのクロックソースに関する高い柔軟性• 安全で柔軟なリセット管理

リセットおよびクロックコントローラ（RCC）は、システムリセットとペリフェラルのクロック生成を管理します。
STM32MP15x マイクロプロセッサは、3 つの内部オシレータ、外部の水晶または発振子用の 2 つのオシレータ、および RCC によって管理される 4 つの位相ロックループ（PLL）を内蔵しています。
RCC の外側には、ハイスピード USB 専用の PLL が 1 つあります。
ディスプレイシリアルインタフェース（DSI）を備えた STM32MP15x 系列の場合、このインタフェースのクロック供給専用に 1 つの追加 PLL があります。
多くのペリフェラルには、システムクロックとは独立した独自のクロックがあり、最大限の柔軟性が得られます。
RCC では、クロックソースの選択に高い柔軟性があります。これにより、システム設計者は消費電力と精度の要件の両方を満たすことができます。
多数の独立したペリフェラルクロックにより、設計者は通信ボーレートに影響を与えずにシステムの消費電力を調整し、また一部のペリフェラルを低電力モードでアクティブに保つことができます。

8電源
名前VDD

標準値または範囲
1.7～3.6V

説明
I/O 用電源入力

VDD_ANA

RCC、PWR などのシステムアナログ用電源入力。VDD に接続される

VDD_DSI**

DSI レギュレータ用電源入力。VDD に接続される

VDD_PLLVDD_CORE

9

PLL 用電源入力。VDD に接続される
1.2V

デジタルコアドメイン用電源入力

VDDA

1.7～3.6V

A/D コンバータ、D/A コンバータ、および電圧基準バッファ用のアナログ電源入力

VDDQ_DDR

1.2V / 1.35V / 1.5V*

DDR 物理インタフェース（PHY）および IO 用電源入力

VDD3V3_USBHS/FS

3.3V

USB 物理インタフェース（PHY）および IO 用電源入力

1.8V

USB 物理インタフェース（PHY）用に内部的に使用されるアナログ電源入力または出力内部生成された電源
VDDA1V8_REG
VDDA1V8_DSI**
VDDA1V2_DSI_REG**

DSI 物理インタフェース（PHY）用アナログ電源入力（VDDA1V8_REG に接続される）
1.2V

VDDA1V2_DSI_PHY**
VDDA1V1_REG

DSI PLL 用に内部的に使用されるアナログ電源出力
DSI 物理インタフェース（PHY）用アナログ電源入力（VDDA1V2_DSI_REG に接続される）

1.1V

USB 物理インタフェース（PHY）用アナログ電源出力（*）それぞれ LPDDR2/LPDDR3、DDR3L、および DDR3（**）STM32MP157 系列のみ

STM32MP15x マイクロプロセッサが動作するには、さまざまな専用電源が必要です。
• VDD の範囲は広く、主に I/O の電源供給に使用されます。
• VDDCORE は内部ロジックの主電源です。
• VDDA はチップのアナログ部分に使用されます。
• VDDQ_DDR は、DDR インタフェースの I/O 電圧です。この電圧は、選択したメモリタイプによって異なり、LPDDR2または LPDDR3 メモリの場合は 1.2V、DDR3L メモリの場
合は 1.35V、DDR3 メモリの場合は 1.5V です。
• VDD3V3_USBHS と USB3V3_USBFS は、それぞれハイスピードポートとフルスピードポート用の組込み USB 物理インタフェースに電源供給するために使用されます。
STM32MP15x には、USB および DSI 物理インタフェースに電源供給するためのいくつかの内部レギュレータも組み込まれています。

9

電源コントローラ（PWR）
Cortex-M4
または A7 のモード

説明

ウェイクアップ

CRun

CPU アクティブ  CPU、CPU サブシステムバスマトリックス、CPU 対応のペリフェラルクロックがアクティブ-CSleep

CPU Sleep  CPU クロックは停止、CPU サブシステムバスマトリックス、およびCPU スリープ対応のペリフェラルクロックがアクティブ

任意の CPU 割込みCStop

CPU ディープスリープ  CPU、CPU サブシステムバスマトリックス、CPU ペリ
フェラルクロックが停止

システムモードに依存

システムモード

10

説明

ウェイクアップ

RUN

クロックはアクティブで、システムに供給。

-

Stop / LP-Stop

クロックは停止。一部のプラットフォームの電源がオフ（Lp-Stop）。一部のペリフェ
ラルは Stop / Lp-Stop 中にクロックを要求可能。

RTC/TAMP、EXTI、一部のペリフェラ
ル、WKUP ピン

LPLV-Stop

クロックは停止。一部のプラットフォームの電源がオフ。
コア電圧は低減可能。

RTC/TAMP、EXTI、WKUP ピン

STANDBY

大部分のプラットフォームの電源がオフ。コア電源はオフ。バックアップドメインはアクティブ可能。

RTC/TAMP、WKUP ピンオフ

すべてのプラットフォーム、コアおよび I/O の電源がオフ。
バックアップドメインはアクティブ可能。

RTC/TAMP イベントは PMIC に電源の回復を要求可能。

コアの低電力モードへの移行はソフトウェアによって制御されます。
1 つのコアが CStop モードに入ると、ドメインとシステムの動作モードは他方のコアのモードに依存します。
LP-Stop システムモードを使用して、外部電源を制御し、システムの電力を削減することができます。
LPLV-Stop システムモードを使用して、外部電源を制御するほか、VDDCORE 電圧を削減してシステムの電力を削減することができます。
外部電源は、外部電源管理 IC（PMIC）を使用している場合、一部の外部ソフトウェア設定に加えて、専用の PWR_ON または PWR_LP 信号を使用して制御されます。

10ペリフェラル（1）
16bit

2

16bit

832bit2

基本16bit2

LP タイマ

16bit

5

M4 Systick

24bit

1

A7 タイマ64bit

2 x 4（セキュア、非セキュア、仮想、ハイパーバイザ）

高機能タイマ

汎用RTC/AWU

1（セキュリティ保護可能）

ウォッチドッグ3（独立、独立セキュア、ウィンドウ）SPI

6（セキュリティ保護可能 1）
I2S あり通信ペリフェラル

• すべてのペリフェラルの入力／出力（存在する場合）は、GPIO
オルタネート機能を介してマッピングされます。

3I2C（SMB/PMB サポートあり）

6（セキュリティ保護可能 2）

USART（スマートカード、SPI、IrDA、LIN） + UART（IrDA、LIN）

4 + 4（セキュリティ保護可能 USART 1 を含む）

SAI

4（最大 8 本のオーディオチャネル）、
I S マスタ／スレーブ付き、PCM 入力、SPDIF-TX

ブートソース2

EHCI/OHCI ホスト
USB

112 ポート
BCD 付き内蔵 HS PHY

OTG HS

可能、BCD 付き内蔵 FS または HS PHY

内蔵 PHY3（2 x ハイスピード + 1 x フルスピード）

SPDIFRX

4 入力

FDCAN

2（1 x TT-FDCAN）、クロック較正、
10KB の共有バッファCEC （HDMI Consumer Electronics Control）
次のセキュリティ保護可能を含む

ブートソース1
セキュリティ保護可能な GPIO 上の 1 x USART、1 x
SPI、2 x I2C

一部の製品系列やパッケージでは使用不可

I/O を備えたペリフェラルは、GPIO オルタネート機能（AFMUX）にマッピングされます。
一部のペリフェラルは BOOTROM によって管理され、初期化フェーズ中にシステム制御またはプログラムのダウンロード用に使用できます。
UART および USB は、システムのセットアップ、コードを外部Flash メモリにダウンロードする等に使用されます。
STM32MP151 系列では FDCAN は使用できません。

11

ペリフェラル（2）SDMMC（SD、SDIO、eMMC）
Quad SPI可能（デュアルクワッド）

パラレルアドレス／データ 8/16bit

FMC

3（8 + 8 + 4bit）、eMMC または SD

パラレル AD-Mux 8/16bit

NAND 8/16bit

ブートソース

4 x CS、最大 4 x 64MB

ブートソース

MII、RMII、GMII、PTP 付き RGMII、および EEE

DMA

3インスタンス（セキュリティ保護可能 1）、合計 48 物理チャネル

暗号化

DES、TDES、AES-256、デュアルインスタンス（セキュアおよび非セキュア）

ハッシュSHA-256、MD5、HMAC、デュアルインスタンス（セキュアおよび非セキュア）

乱数発生器

ハードウェア乱数発生器、デュアルインスタンス（セキュアおよび非セキュア）

ヒューズ（ワンタイムプログラミング）
デジタルカメラインタ
フェース

ブートソース

4 x CS、最大 4 x 64MB

可能、1x CS、SLC、BCH4/8

ギガビット Ethernet

12

バス幅

割込みを備えた GPIO（合計数）
セキュリティ保護可能な GPIO
ウェイクアップピン
タンパピン（アクティブタンパ）

DFSDM

3072 有効ビット（セキュア、ユーザが使用できるビット > 1500）
8、10、12、または 14bit
パッケージに応じて 98、148、または 176

8パッケージに応じて 4 または 6
パッケージに応じて 2 または 3（1）6フィルタを備えた 8 入力チャンネル

16bit 同期 A/D コンバータ
A/D コンバータチャネル合計
12bit D/A コンバータ
内部 A/D コンバータ／D/A コンバータ VREF 生成

VREF+ 入力ピン

2
パッケージに応じて 17 または 2221.5V、1.8V、2.048V、2.5V、または VREF+ 入力
可能

一部の製品系列やパッケージでは使用不可

SDMMC は、SD カード（SDMMC1）または eMMC（SDMMC2）のメモリカードを使用して、ブートソースにすることができます。
QUADSPI バンク 1 は、シリアル NOR またはシリアル NAND
Flash メモリ用のブートソースにできます。
FMC は、SLC パラレル NAND Flash メモリ用のブートソースにすることができます。
暗号化は STM32MP15xA デバイスでは使用できません。
セキュリティ保護可能な GPIO は、STM32MP15xxAA（LFBGA448 18x18）および STM32MP15xxAC（TFBGA36112x12）デバイスでのみ使用できます。

12グラフィックとディスプレイ

13• LCD-TFT コントローラ、最大 24bit // RGB888• 最大 WXGA（1366×768） @60fps• プログラム可能なカラー LUT を備えた 2 つのレイヤ• 3D GPU： Vivante® - OpenGL® ES 2.0• 533MHz、最大 26Mtriangle/s、133Mpixel/s• MIPI® DSI 2 つのデータレーン（それぞれ最大 1GHz）• 最大 WXGA（1366×768） @60fps

一部の製品系列やパッケージでは使用不可

LCD コントローラは、最大 WXGA @60fps（63Mpixels/s）まで提供できます。ピクセルクロックが許容範囲内にあると仮定す
ると、フレームレートを下げれば、より高い解像度が可能になります。
3D GPU は STM32MP157 系列で利用可能で、最大26Mtriangles/s または 133Mpixels/s を処理できます。
ディスプレイシリアルインタフェース（MIPI DSI）は
STM32MP157 系列で利用可能で、最大 WXGA @60fps（63Mpixels/s）を提供できます。LTDC ピクセルクロックとデータレーンレートが許容範囲内にあると仮定すると、フレームレー
トを下げれば、より高い解像度が可能になります。

13

OTP ヒューズ

14• OTP ヒューズはワンタイムプログラミングメモリ• 初期ビットは“0”で、不可逆的に“1”にプログラムされる。
• 32bit ワードでビットのインクリメンタルプログラミングが可能• BSEC コントローラ IP で処理• BSEC によって処理されるプログラミング、読出し、ステータス、およびロック• 読出しやプログラムを回避するためのロックメカニズム（粒度 32bit）• OTP の内容
• 生産時に ST が設定する製品構成とトリミング値• 生産時に ST が設定する秘密情報と一意の識別番号• OEM が設定するデバイス構成（MAC アドレス、ブートソース、セキュリティモードなど）• OEM が設定する秘密情報（例：セキュアブート用）• OEM のその他の目的で使用できる最大 1184bit

OTP ヒューズはメモリフィールドであり、一度プログラムすれば変更できなくなります。
BSEC IP は、読出し、プログラミング、安全なアクセスなど、OTP ヒューズの制御を管理します。
OTP の内容には、製品構成と一意の番号が含まれています。
OTP には、MAC アドレス、秘密鍵、または関連データなどのOEM 情報を含めることができます。
最大 1184bit すべてが OEM のさまざまな目的に使用できます。

14

システム制御とセキュリティ• システム制御• セキュリティ• RCC• ETZPC••

一部のペリフェラルのほか、SYSRAM およびBKPSRAM のセキュリティレベルを制御•

MPU サブシステムのアクセスから M4 リソースを分離

リセットおよびクロックコントローラ

• PWR
•

電力モードコントローラ• EXTI•

外部割込み管理• SYSCFG•

さまざまなシステムレベルの設定• MDMA、DMA1/2、DMAMux•

ダイレクトメモリアクセス•

DMA1/2 につながる MDMA•

リクエスト側の柔軟性のために使用される DMAMux

15

• TZC
•

DDR データのアクセスに対するセキュリティファイアウォール• BSEC•

グローバルセキュリティの設定と OTP ヒューズ制御•

デバイス電子署名レジスタを含む• TAMP•

タンパピンおよびバックアップレジスタの管理• BKPSRAM•

改ざん防止された、セキュリティ保護可能なメモリ• CRYP、HASH、RNG、および CRC•

セキュアおよび非セキュアインスタンス

さまざまなブロックが横断的なシステムの制御を管理しています。主なものは、リセットおよびクロックコントローラ（RCC）、システムの電力モードを制御するパワーマネージャ（PWR）です。
セキュリティは、Cortex-A7 コア内の Trustzone とさまざまなブロックによって制御されます。強化された TrustZone 保護コントローラ（ETZPC）によって、どのペリフェラルがセキュアか否か、分離されているか否かが定義されます。
DDR の TrustZone アドレス空間コントローラ（TZC）は、DDRデータへの望ましくないアクセスをブロックします。

15

付録

16

• 要点
• Cortex®-A7 MPU サブシステムは、Linux や Android などの強力なオープンオペレーティングシステムを実行できます。
• Cortex-M4 MCU サブシステムは、豊富な STM32 MCU ファミリの遺産の恩恵を受けています。
• これは MPU のリアルタイムコプロセッサと見なすことができます。

• 大きな外部 DDR メモリ• グラフィックス処理装置• ハードウェアアーキテクチャの参考資料• DB3372 – STM32MP157Cxx データ概要• RM0436 – STM32MP157xxx リファレンスマニュアル• 入手できる追加関連資料• AN5031 – Getting started with STM32MP1 Series hardware development

このプレゼンテーションで注目すべき主なポイントは次のとおりです。
• STM32MP15x には、Linux や Android などの強力なオペレーティングシステムを実行できる Cortex-A7 コアが組み込まれています。
• また STM32MP15x には、リアルタイムタスクを実行でき、あるいは Cortex-A7 の負荷や電力を削減するコプロセッサとして機能できる Cortex-M4 コアも組み込まれています。
• STM32MP15x では、オペレーティングシステムを実行するために必ず外部 DDR メモリが必要です。
• STM32MP157 系列には、オペレーティングシステムに豊富なグラフィック機能を提供する GPU が含まれています。

16