STM32G4 – IRTIM
赤外線インタフェース

1.0版

こんにちは、STM32インフラインタフェース（IRTIM）のプレゼンテーションへようこそ。
赤外線リモコン信号を生成するために使用されるこのペリフェラ
ルの主な機能を紹介します。

1

概要

2

• リモート･コントロール信号を生成するための単純な変調器• リモート･コントロール･プロトコルで使用されるさまざまな周波数と変調タイプをサポート• IrDAデータ伝送とは異なる

アプリケーション側の利点• 各種リモート･コントロール信号とプロトコルの容易な実装• 外部IR LEDの直接制御• 送信ソフトウェアの負荷を軽減• 利用可能なソフトウェアのサンプル

赤外線タイマペリフェラルは、テレビ、オーディオシステム、空調ユニットなどの多くの民生デバイスで使用される赤外線リモートコントロールプロトコルの生成を容易にします。
赤外線タイマは、リモコン信号を生成する単純なモジュレータを提供し、TIM16とTIM17を使用してキャリア周波数と変調信号を生成します。
ユーザは、任意のリモートコントロールプロトコルの実装を容易にするために、キャリア周波数と変調の広い範囲を設定することができます。

2

主な機能

3

柔軟性&簡便• ハードウェアによってドライブされる信号生成• 設定可能なキャリア周波数• ソフトウェアによって制御されるプロトコル･フロー• 必要なプロトコルをサポートする柔軟性

アプリケーション側の利点• IR LEDの直接ドライブ
追加のコンポーネントの必要なし• サポート：RC5、RC6、RCA、SIRC、…
• 柔軟なソフトウェア生成変調制御により、さまざまなプロトコルを採用

TIM17
IRTIM

• 少ないソフトウェア･オーバーヘッド

TIM16

赤外線タイマは、リモートコントロール信号を生成するためのハードウェアサポートを提供します。キャリア周波数はタイマによってプログラムで生成され、変調波形はソフトウェアによって制御されます。これにより、必要な赤外線リモートコントロールプロトコルを柔軟にサポートできます。赤外線タイマは、自動的に、制御デバイスに赤外線制御信号を送信する赤外線LEDを制御する信号にキャリア周波数と変調波形を組み合わせます。
赤外線LEDはGPIOピンによって直接駆動することができるので、アプリケーションは、外部トランジスタを必要としません。
柔軟でシンプルな変調制御により、RC5、RC6、SIRCなどの多くのリモートコントロールプロトコルの実装およびサポートが可能です。
CPUワークロードは変調信号の制御のみに制限されます。

3

STM32F0およびSTM32G0との主な違い
機能

IR_OUT極性選択

STM32G4
STM32L4

STM32G0

STM32F0

いいえ

はい
SYSCFGのコ
ントロールビッ
トを使用

いいえ

TIM17

キャリア信号

変調エンベロープ

4

TIM16

TIM16、もしくはUSART1、もしくはUSART4

このスライドでは、STM32F0、STM32G0、およびSTM32G4 IRTIM
モジュールの違いを示しています。
STM32L4およびSTM32G4は同じIRTIMモジュールをサポートします。

4

IRTIMブロック図
TIM17_CH1

5

IRTIM
IR_OUT
IR LED

TIM16_CH1

PA13またはPB9ピン• 赤外線リモートコントロール信号を生成するには、IRインタフェースを有効にし、TIM16チャネル1（TIM16_OC1）とTIM17チャネル1（TIM17_OC1）
を正しい波形を生成するように正しく設定する必要がある

リモートコントロール用の赤外線インタフェース（IRTIM）の使用例になります。
赤外線LEDと共にリモートコントロール機能を実行できます。
この機能を有効にするのは、関連するオルタネート機能ビットを有効にすることによって、GPIOオルタネート機能レジスタを通じて行われます。
TIM17は高周波キャリア信号を生成するために使用され、TIM16は変調エンベロープを生成します。
IR出力信号は、GPIOのPA13またはPB9で駆動できます。

5キャリア周波数発生器

6

任意のリモートコントロール・プロトコルとの互換性• キャリア周波数はTIM17によって生成• 34kHz~40kHzの範囲の典型的な周波数• 50%デューティ・サイクルでPWMモードに設定されたタイマ• 割込みは不要• タイマ設定レジスタの詳細については、タイマのセクションを参照

TIM17

TIM17は、アプリケーションで使用されるリモートコントロールプロトコルのキャリア周波数を生成します。
キャリア周波数は、34~40キロヘルツの範囲の典型的な周波数を含め、選択されたプロトコルで必要とされる任意の周波数に設定できます。
TIM17で50%デューティサイクル、PWMモードに設定することによって行われます。
タイマが動作されると、割込みを含む追加のソフトウェア制御は必要ありません。
TIM17の設定方法の詳細については、参照マニュアルのタイマセクションを参照してください。

6

変調波形発生器7

任意のリモートコントロール・プロトコルとの互換性• 変調信号はTIM16によって生成• 100マイクロ秒から100ミリ秒の範囲の典型的なパルス持続時間• 出力コンペア・モードに設定されたタイマ• 出力コンペア割込みは、データ・フローの制御に使用• タイマ設定レジスタの詳細については、タイマのセクションを参照

TIM16

TIM16は、アプリケーションで使用されるリモコンプロトコルの変調波形を生成します。
タイマは出力コンペアモードで設定され、出力コンペア割込みを使用して、0または1を表すパルスを生成し、データフローの変調を制御します。
TIM16の設定方法の詳細については、参照マニュアルのタイマセクションを参照してください。

7

IRTIM変調器

8

任意のリモートコントロール・プロトコルとの互換性• IRTIM変調器は簡単なゲート• 出力信号はTIM16からの変調信号、TIM17からのキャリア周波数を入力することによって作成• TIM17との同期はスパイクとグリッチを避けるために使用される

TIM17
IRTIM
TIM16

赤外線タイマ変調器は、TIM16からの変調波形、TIM17からのキャリア周波数を入力するシンプルな変調器です。
出力波形のスパイクやグリッチを避けるために、赤外線タイマゲートは、TIM17からのキャリア周波数と同期されます。
TIM16とTIM17出力コンペアチャネルをプログラミングすることで、すべてのスタンダードなIRパルス変調モードを構成できます。

8

IR_OUTピン

9• IRTIM出力（IR_OUTピン）は、GPIO_AFRレジスタでイネーブル• IR_OUTピンは直接IR LEDのドライブをサポート• 赤外線機能は、IR_OUTピンに出力• 高いシンクLEDドライバ機能（PB9ピンでのみ利用可能）は、SYSCFG_CFGR1レジスタのI2C_PB9_FMPビットを通じてアクティブ化可能• 最大20mA

赤外線タイマ出力は、GPIO_AFRレジスタで設定可能なオルタネートGPIO機能です。
IR_OUTピンは、特に高いシンクドライバ機能がサポートされているピンPB9上で、赤外線LEDを直接駆動することができます。
この機能は、システムコンフィギュレーションレジスタを通じて有効にできます。
GPIO PA13では、このオプションはサポートされていません。

9

割込み
割込みイベント
TIM16

10説明
変調フローの制御に使用

赤外線タイマに直接割込みは関連付けられていませんが、出力信号の変調を制御するためにTIM16の割込みが使用されます。

10

低電力モード
モード

11

説明

RUN

有効

SLEEP

有効
• ペリフェラル割込みにより、デバイスはSLEEPモードを終了

低電力RUN

有効低電力SLEEP

有効• ペリフェラル割込みにより、デバイスは低電力SLEEPモードを終了

STOP0/STOP1

停止• ペリフェラルレジスタの内容は保持

STANDBY

パワーダウン状態• STANDBYモードを終了した後、ペリフェラルを再初期化する必要がある

SHUTDOWN

パワーダウン状態• SHUTDOWNモードを終了した後、ペリフェラルを再初期化する必要がある

赤外線タイマは、RUNモードとSLEEPモードでのみアクティブにできます。
その他の低電力モード(STOP、STANDBY、SHUTDOWNモード)では、赤外線タイマを無効にする必要があります。

11

関連ペリフェラル

12• このペリフェラルにリンクされている他のペリフェラルのトレーニングを参照してください。
• タイマ（TIM16とTIM17の設定）• GPIO（IRTIM_OUTの設定）• システム設定コントローラ（SYSCFG_CFGR1レジスタ）• 相互接続マトリックス（TIM16とTIM17の接続）表示されているペリフェラルは、赤外線タイマの動作に影響します。
詳細については、追加のペリフェラルトレーニングを参照してください。

12