STM32MP1 – IMX
ペリフェラル相互接続マトリックス

1.0 版

こんにちは、STM32 相互接続マトリックスのプレゼンテーション
へようこそ。ここでは、さまざまな内部ペリフェラルを相互に接続するために広く使用されている、このマトリックスの主な機能を説明します。

1

概要

2

• 相互接続マトリックスは、ペリフェラル間を直接接続するものです。

アプリケーション側の利点• 時間予測のできる動作• 消費電力の減少• GPIO 使用の削減

STM32 マイクロコントローラに内蔵された相互接続マトリックスは、ペリフェラル間を直接接続するものです。
アプリケーションは、時間予測可能な動作を保証し、消費電力を削減するこれらの相互接続の恩恵を受けます。このマトリックス
では、CPU 命令を使用してレジスタを読み書きすることにより、ペリフェラル通信の複雑な管理を回避しています。場合によっては、専用の GPIO を介して転送元から転送先に信号をループ送信する必要性が減ります。

2

主な機能

3

• ペリフェラル間の直接かつ自律的な接続• ソフトウェアイベント処理と比較して遅延時間を削減• CPU リソースの節約• 専用 GPIO を介して信号をループ送信する必要なし• さまざまなプロセスおよび調整ループを自動化• MCU 制御のアプリケーションのセキュリティを向上• 低電力モード中に動作可能（ペリフェラル次第）

相互接続マトリックスには、2 つの主な機能があります。まず、ペリフェラル間の直接かつ自律的な接続を確保し、ソフトウェア処理に関する遅延をなくすことができるため、GPIO と CPU リソースを節約できます。
2 番目に、特定のペリフェラル間の相互接続は低電力モード中に動作することができます。

3

転送元と転送先を相互接続

4

利用できる多くの相互接続の可能性• 転送元ペリフェラル• TIM：TIMx および RTC• アナログ IP：ADCx、DACx、VrefInt、VBAT、および温度センサ• クロック：HSE、LSE、LSI、および HSI• EXTI、DFSDM、USB、および ETH• システムエラー（CSS、パリティ、ECC、およびロックアップ）• 転送先ペリフェラル• TIM：TIMx および LPTIM• アナログ IP：ADCx、および DACx
• DFSDM、DMA、など

直接かつ自律的相互接続を備えた主なペリフェラルは次のとおりです。
• 接続元：タイマ、アナログ IP、クロック、拡張割込み／イベント
コントローラ、シグマデルタモジュレータのデジタルフィルタ、USB インタフェース、システムエラー。
• 接続先：タイマ、アナログ IP、シグマデルタモジュレータのデジタルフィルタ、ダイレクトメモリアクセスコントローラ。

4

低電力モード

5

いくつかの相互接続は低電力モードで動作可能• すべての相互接続は次の電力モードで動作します。
• RUN• SLEEP• 以下の相互接続は STOP モードで動作します。
• Ethernet MAC、USB、LPTIM、MDIOS、RTC、および PVD の EXTI への接続
• RTC、GPIO から低電力タイマ（LPTIM1）への接続

回路が低電力モードの場合でも、相互接続マトリックスを使用してペリフェラルを相互接続できます。
完全にサポートされている電力モードは RUN と SLEEP です。
リアルタイム・クロックまたは GPIO から低電力タイマへの接続
は、STOP モードでも使用できます。また、Ethernet MAC、USB、低電力タイマ、マネージメントデータインプット／アウトプット（MDIO）スレーブ、リアルタイム・クロック、およびプログラム可能な電圧検出器（PVD）の外部割込み／イベントコントローラへの接続も同様です。

5

アプリケーション例（1）6• タイマの同期または連鎖：• TIM2 は TIM3 によって遅延なく開始できます（正確な同期）• TIM3 は TIM2 のプリスケーラとして機能します（クロックモード）• TIM3 からの要求に応じて TIM2 をリセットできます（スレーブリセットモード）

TIM3
クロック

プリス
ケーラ

カウンタ

TIM2
マスタモード TRGO1
制御

ITR2 スレーブ CK_PSC
モード制御

プリス
ケーラ

カウンタ

入力トリガ選択

相互接続マトリックスは、タイマの同期または連鎖に使用でき、たとえば、マスタタイマが 2 番目のスレーブタイマをリセットまたはトリガできるようになります。
このスライドではタイマの同期の簡単な例を示します。
タイマ 3 はマスタタイマとして使用され、スレーブモードに構成されたタイマ 2 をリセット、開始、停止、またはクロック供給できます。
タイマ 3 はタイマ 2 にクロック供給しているため、タイマ 2 のプリスケーラとして機能します。
シグマデルタモジュレータのデジタルフィルタでの短絡検出によって、または USB のフレーム開始が検出されたとき、あるいは特定の時間または定期的な間隔でのリアルタイム・クロック割込みによって、タイマをトリガすることもできます。これらの使用例
はすべて、相互接続マトリックスを介したこれらのトリガ信号の伝播によって有効になります。

6アプリケーション例（2）7• A/D コンバータ、DMA、および緊急停止を備えたタイマ（電圧インバータやモータ制御）
DMAy_CHc
TIM1
パワーステージ電流
COMP*

D/A コン
バータ

緊急停止

過電流
リファレンス

デューティ
サイクル更新同期開始

転流

D/A コンバータ データ

DMAx_CHa
DMAx_CHb

TIM3

インジェクト A/D コンバータ
トリガ

A/D コンバータ
A/D コンバータデータ

外部トリガ

EXTI +GPIOGPIO* COMP：他の STM32 ファミリにあるオペアンプは、ここでは外部で実装されています。

この例では、タイマ 1 で 3 相 PWM 信号を生成しています。転流とデューティサイクルの更新は、それぞれ タイマ 3 と DMA エンジンを介して生成されます。
過電流はコンパレータ（STM32MP1 シリーズの外部）によって保護され、コンパレータのリファレンスはデジタルアナログコンバー
タ（DAC）によって駆動され、DMA エンジンを介して変更されます。
相電圧と電流は、アナログデジタルコンバータ（A/D コンバータ）によって測定されます。A/D コンバータは、タイマ 1 によって生成されたイベントと同期してチャネル 4 をサンプリングします。他の電圧ソースは外部イベントで測定され、GPIO によって検出され、EXTI ユニットを介して A/D コンバータのレギュラトリガにルーティングされます。
メカニズム全体は、適切なセットアップの直後に自律的に実行されるため、CPU では低レベルの制御を必要とせずに速度や電圧の調整アルゴリズムを安全に実行できます。

7他のアプリケーション例

8• A/D コンバータ、D/A コンバータ、または DFSDM のトリガ（タイマまたは EXTI による）• タイマのトリガ（DFSDM、RTC、または USB による）• メモリから D/A コンバータ への DMA データ転送のトリガ（タイマによる）• タイマによる HSI/LSI クロックの較正• デュアル A/D コンバータモード（同期と負荷分散）• 温度と電源＋バッテリ電圧の監視• アナログ IP 相互接続（D/A コンバータ、オペアンプから A/D コンバータ、COMPへ）• タイマ駆動の電源スイッチの保護（システムエラーからタイマへ）

相互接続マトリックスは主に以下の用途で使用されます。
• タイマイベントまたは外部割込みによって、A/D コンバータ、D/Aコンバータ、シグマデルタモジュレータのデジタルフィルタをトリガする。
• アナログ入力値が事前定義された閾値をまたいだときに、A/D コンバータまたは DFSDM ウォッチドッグ信号を介してタイマをトリガする。
• 周波数制御変換を可能にするために、タイマによってメモリからD/A コンバータ への DMA データ転送をトリガする。
• HSI と LSI のクロックを較正する。たとえば、較正される内部オシレータからクロック供給されるタイマによって外部オシレータのLSE 周波数を測定する。
• A/D コンバータ 1 をマスタとして使用して A/D コンバータ 2 スレーブの変換の開始をトリガするデュアル A/D コンバータモード。
• 接続された内部温度センサの温度または VBAT から A/D コンバータへの電圧の監視。
• アナログ IP の相互接続（たとえば D/A コンバータ から A/D コンバータへ）。
• システムエラー信号をタイマブレーク入力に直接接続して、タイマ駆動の電源スイッチを保護する。

8

相互接続の詳細

9• 両方のペリフェラルはアクティブになっていて、設定されている必要があります。
• それらの入力と出力はアクティブになっていて、入力マルチプレクサが設定されている必要があります（たとえば、TIM1 TRGO が有効、TIM3 スレーブモードが有効で、その TRGI が入力 ITR0 として設定されているなど）。
 設定すべき特定の相互接続ペリフェラルはありません。各ペリフェラルの詳細は、リファレンスマニュアルに個別に記載されています。

• 一部のペリフェラルの入力は、他のペリフェラルおよび関連する GPIO ピンと接続を共有します（例：コンパレータとタイマ CHx の入力）。そのような場合、妨害を避けるために、GPIO オルタネート機能を無効にする必要があります。
• ADCx 入力は共有できますが、2 つの A/D コンバータが同じ入力を同時にサンプリングしてはなりません。
• アナログ出力を備えたペリフェラルでは、アクティブな場合、関連する GPIO 機能が置き換えられます（D/A コンバータ など）。

ペリフェラル間の適切な相互接続を確保し、予期しない動作を回避するために、これらの推奨事項に従う必要があります。
• 両方のペリフェラルはアクティブになっていて、それらの入力と出力が設定されている必要があります。
• ペリフェラルの入力が他のペリフェラルと接続を共有する場
合、妨害を避けるために、関連する GPIO オルタネート機能を無効にする必要があります。
• アクティブなアナログ出力を備えたペリフェラルでは、関連する GPIO 機能が置き換えられます。

9

参照

10

• 詳細については、下記を参照してください。
• STM32MP1 シリーズリファレンスマニュアル（RM0441、RM0442、RM0436）• STM32MP1 シリーズデータシート（DS12500、DS12501、DS12502、DS12503、DS12504、および DS12505）

具体的な詳細は、リファレンスマニュアルの各ペリフェラルの特定のセクションとデータシートに記載されています。

10