JAJA723A november 2022 – march 2023 MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3106 , MSPM0G3107 , MSPM0G3505 , MSPM0G3506 , MSPM0G3507 , MSPM0L1105 , MSPM0L1106 , MSPM0L1227 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1305 , MSPM0L1306 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2228 , MSPM0L2228-Q1
MSPM0 と STM32G0 は両方とも、デバイスで利用可能なペリフェラルに応じて、割り込みベクトルと例外ベクトルを登録し、マップします。各デバイス・ファミリの割り込みベクトルの概要と比較を表 3-10に示します。割り込みまたは例外の優先度の値が低いほど、優先度の高い値を持つ割り込みよりも優先度が高くなります。これらのベクトルの中には、優先順位をユーザーが選択できるものもあれば、固定されているものもあります。
MSPM0 および STM32G0 では、NMI、リセット、ハード・フォルト・ハンドラなどの例外に負の優先度の値が与えられ、常にペリフェラル割り込みよりも優先度が高いことを示します。割り込み優先度を選択可能なペリフェラルの場合、両方のデバイス・ファミリで最大 4 つのプログラム可能な優先レベルを使用できます。
NVIC 番号 | STM32G0 | MSPM0x | ||
---|---|---|---|---|
割り込み / 例外 | 優先順位 | 割り込み / 例外 | 優先順位 | |
- | リセット | 固定:-3 | リセット | 固定:-3 |
- | NMI ハンドラ | 固定:-2 | NMI ハンドラ | 固定:-2 |
- | ハード・フォルト・ハンドラ | 固定:-1 | ハード・フォルト・ハンドラ | 固定:-1 |
- | SVCall ハンドラ | 選択可能 | SVCall ハンドラ | 選択可能 |
- | PendSV | 選択可能 | PendSV | 選択可能 |
- | SysTick | 選択可能 | SysTick | 選択可能 |
0 | ウィンドウ・ウォッチドッグ割り込み | 選択可能 | INT_GROUP0:WWDT0、DEBUGSS、FLASHCTL、WUC FSUBx、および SYSCTL | 選択可能 |
1 | 電源電圧検出割り込み | 選択可能 | INT_GROUP1:GPIO0 と COMP0 | 選択可能 |
2 | RTC およびタイムスタンプ | 選択可能 | タイマ G1 (TIMG1) | 選択可能 |
3 | Flash グローバル割り込み | 選択可能 | UART3(1) | 選択可能 |
4 | RCC グローバル割り込み | 選択可能 | ADC0 | 選択可能 |
5 | EXTI0 および EXTI1 割り込み | 選択可能 | ADC1(1) | 選択可能 |
6 | EXTI2 および EXTI3 割り込み | 選択可能 | CANFD0(1) | 選択可能 |
7 | EXTI4-EXTI15 割り込み | 選択可能 | DAC0(1) | 選択可能 |
8 | UCPD1/UCPD2/USB | 選択可能 | 予約済み | 選択可能 |
9 | DMA1 チャネル 1 | 選択可能 | SPI0 | 選択可能 |
10 | DMA1 チャネル 2 および 3 | 選択可能 | SPI1(1) | 選択可能 |
11 | DMA1 チャネル 4-6、DMA2 チャネル 1-5 | 選択可能 | 予約済み | 選択可能 |
12 | ADC とコンパレータ | 選択可能 | 予約済み | 選択可能 |
13 | タイマ 1 (TIM1)、ブレーク、更新、トリガ、整流 | 選択可能 | UART1 | 選択可能 |
14 | TIM1 キャプチャの比較 | 選択可能 | UART2(1) | 選択可能 |
15 | TIM2 グローバル割り込み | 選択可能 | UART0 | 選択可能 |
16 | TIM3 および TIM4 グローバル割り込み | 選択可能 | TIMG0 | 選択可能 |
17 | TIM6、LPTIM1、DAC 割り込み | 選択可能 | TIMG10(1) | 選択可能 |
18 | TIM6 および LPTIM2 グローバル割り込み | 選択可能 | TIMA0(1) | 選択可能 |
19 | TIM14 グローバル割り込み | 選択可能 | TIMA1 | 選択可能 |
20 | TIM15 グローバル割り込み | 選択可能 | TIMA2(2) | 選択可能 |
21 | TIM16 および FDCAN0 グローバル割り込み | 選択可能 | TIMH0(1) | 選択可能 |
22 | TIM17 および FDCAN1 グローバル割り込み | 選択可能 | 予約済み | 選択可能 |
23 | 12C1 グローバル割り込み | 選択可能 | 予約済み | 選択可能 |
24 | I2C2 および I2C3 グローバル割り込み | 選択可能 | I2C0 | 選択可能 |
25 | SPI1 グローバル割り込み | 選択可能 | I2C1 | 選択可能 |
26 | SPI2 および SPI3 グローバル割り込み | 選択可能 | 予約済み | 選択可能 |
27 | USART1 グローバル割り込み | 選択可能 | 予約済み | 選択可能 |
28 | USART2 および LPUART2 グローバル割り込み | 選択可能 | AES(1) | 選択可能 |
29 | USART 3-6 および LPUART1 グローバル割り込み | 選択可能 | 予約済み | 選択可能 |
30 | CEC グローバル割り込み | 選択可能 | RTC(1) | 選択可能 |
31 | AES および RNG グローバル割り込み | 選択可能 | DMA | 選択可能 |
MSPM0 デバイスには専用のイベント・マネージャ・ペリフェラルが搭載されており、NVIC の概念を拡張して、ペリフェラルからのデジタル・イベントを割り込みとして CPU に転送したり、トリガとして DMA に転送したり、ハードウェア・アクションをトリガするために他のペリフェラルに転送したりできます。また、イベント・マネージャはパワー・マネージメントおよびクロック・ユニット (PMCU) とのハンドシェイクを実行し、トリガされたイベント・アクションを実行するために必要なクロックと電力ドメインが存在することを確認することもできます。
MSPM0 イベント・マネージャでは、イベントを生成するペリフェラルをパブリッシャーと呼び、パブリッシャーに基づいて動作するペリフェラル、DMA、CPU を加入者と呼びます。利用可能なパブリッシャーと加入者の潜在的な組み合わせは非常に柔軟で、ソフトウェアを移行するときに、以前は割り込みベクトルと CPU によって処理されていた機能を置き換えるために使用でき、CPU 全体をバイパスできます。たとえば、I2C から UART へのブリッジは、以前は I2C ストップを受信時に、ISR を使用してフラグを設定したとき、または UART TX バッファを直接ロードしたときに、UART 送信をトリガしていた可能性があります。MSPM0 イベント・ハンドラを使用すると、I2C トランザクション完了イベントによって DMA がトリガして、UART TX バッファが直接ロードできるため、CPU によるアクションが不要になります。
MSPM0 でのイベント・ハンドラの使用方法の詳細については、『MSPM0G テクニカル・リファレンス・マニュアル』または『MSPM0L テクニカル・リファレンス・マニュアル』の「イベント」セクションを参照してください。
MSPM0 イベント・ハンドラと混同しないように、STM32G0 ファミリのデバイスには拡張割り込みおよびイベント・コントローラ (EXTI) が実装されており、IO またはペリフェラルからの構成可能なイベントにより、システムを STOP モードからウェイクアップさせることができます。STM32G0 EXTI のウェークアップ機能は、IO ウェークアップ機能 (『MSPM0 テクニカル・リファレンス・マニュアル』の「IOMUX」セクションを参照) と GPIO FastWake (『MSPM0 テクニカル・リファレンス・マニュアル』の「GPIO セクション」を参照) を使用して、MSPM0 で最適に複製できます。ウェークアップが単一アクションである場合、イベント・ハンドラ・ペリフェラルは、ペリフェラル動作の発生に必要な PMCU リソースを要求し、その後、適切な低消費電力モードに戻すことができます。