STM32G0 - HDMI-CEC
HDMI-CECコントローラ
レビジョン 1.0

STM32 HDMI-CEC コントローラモジュールのプレゼンテー
ションへようこそ。ここでは、ユーザ環境内のさまざまな視聴覚製品すべての間で高品位な制御機能を提供するこのコントローラの主な機能について説明します。

1

概要

2

• デバイス管理インタフェースを提供• HDMI-CEC v1.4仕様に準拠• 2つのクロックソース･オプションがある
32kHz CECカーネル• 複数の論理アドレスをサポート（OAR）• 設定可能なRx許容誤差マージン• 受信エラー検出• 送信エラー検出

アプリケーション側の利点• 必要なのは1ピンのみ• バス固有のシーケンシング、プロトコル、調停、およびタイミングをすべて制御• さまざまな視聴覚製品との間でデバイスパラメータを送受信

STM32 マイクロコントローラに内蔵されている HDMI-CEC コ
ントローラは、STM32 がユーザ環境内のさまざまな製品との間でデバイスパラメータを送受信できるようにするハードウェア管理インタフェースを提供します。
そのために、設定可能なクロックソース、ペリフェラルアドレス、および多数の受信／送信イベントフラグが用意されています。
アプリケーションにとって、ピン数の少ない標準インタフェースでデバイスパラメータを送受信できるという利点があります。

2ブロック図HDMI-CECコントローラ

APB バス

CEC割込みリクエスト

CEC APBイン
タフェース

制御／ステータスレジスタ

CECアダプタ

CEC GPIO

Rx

32kHz
CEC
カーネルLSE
HSI/488

3Tx

RCC

CLK

HDMI-CEC は「High-Definition Multimedia Interface Consumer Electronics Control」の略です。このコントローラは、
HDMI-CEC v1.4 仕様に準拠しています。さまざまな視聴覚製品とのインタフェースに必要な機能を提供します。

このコントローラは、「CEC アダプタ」と「CEC アドバンストペリフェラルバス（APB）インタフェース」で構成されています。
「CEC アダプタ」はフレームのデコードやチェックなどの機能を提供し、「CEC APB インタフェース」は制御／ステータスレジス
タ、データ入力レジスタとデータ出力レジスタ、および同期割込
みリクエストを管理します。
HDMI-CEC コントローラには、「APB インタフェース」用のAPB クロック（PCLK）と「CEC アダプタ」用の 32 kHz カーネルクロックの 2 つのクロックが用意されています。
カーネルクロックは、LSE クロックソースまたは 488 分周された HSE クロックソースから取得できます。
3メッセージの構造

4

サポートされているフレーム･フォーマット

• メッセージ：• スタート･ビット、それに続くヘッダ･ブロック、およびオプションのOPコード･ブロックと可変個のオペランド･ブロックによって構成される単一フレーム
0～14個のオペランド

ハイインピーダンス

スタートビット

ヘッダ

OP コード

オペランド

オペランド

...

オペランド

ハイインピーダンス• ヘッダ･ブロック、OPコード･ブロック、オペランド･ブロック：• 8ビットのペイロード（最上位ビットから送信される）とそれに続くメッセージの終了（EOM）ビットと確認応答（ACK）ビットから構成
ヘッダブロック

INITIATOR[3:0]

DESTINATION[3:0]

EOM

OP コード／オペランドブロック

ACK

DATA[7:0]

サポートされているフレームフォーマットは、スタートビット、それに続くヘッダブロック、およびオプションの OP コードブロックと可変個のオペランドブロックによって構成されます。
ヘッダブロック、OP コードブロック、およびオペランドブロックは、8 ビットのペイロード（最上位ビットから送信される）とそれに続くメッセージの終了（EOM）ビットと確認応答（ACK）ビットから構成されます。

4

信号フリータイム（SFT）設定

5

SFTタイマの自動開始
SFTOPT = 0の場合、TXSOM （メッセージ送信開始コマンド）でSFTをカウント
ビジー（RX/TX）

SFT

アイドル

TX

アイド
ル

TXSOM

SFT

TX

TXSOM

TXEND/RXENDTXENDSFTOPT = 1の場合、TXEND/RXEND/TXERR/RXERRでSFTをカウント
ビジー（RX/TX）

SFT

アイドル

TX

SFT

TXSOM

TXSOM

RXEND

ビジー（RX/TX）

SFT

TXEND

TX

SFT

TXSOM
RXEND

TX

アイドル

TX

TXSOM
TXEND

送信コマンドが送信されると、HDMI-CEC は、プログラムされた信号フリータイム（SFT）値によって決まる数の公称データ
ビット周期が非アクティブ状態で経過した後にスタートビットを送信します。
SFT=0x0 に設定されている場合、HDMI-CEC コントローラが自動的に SFT 値を計算し、HDMI-CEC 規格への準拠を保証します。さまざまな固定値を設定することもできます。
SFTOPT ビットが 0 にセットされている場合、ソフトウェアにより送信開始コマンドがセットされる（TXSOM ビットが 1 にセットされる）と、HDMI-CEC コントローラが SFT 値のカウントを開始します。
SFTOPT ビットが 1 にセットされている場合、バスアイドル条件またはラインエラー条件が検出されると、HDMI-CEC コント
ローラが SFT 値のカウントを開始します。TXSOM ビットが 1に設定されたときに SFT タイマが完了している場合、遅延なしで直ちに送信を開始します。
5

RX許容誤差マージン

6• RxTolビット• 標準許容誤差（CEC 仕様に準拠）• スタートビット：±200ms （立ち上がり & 立ち下がり）。データビット：±200ms （立ち上がり）、±350ms （立ち下がり）。

• 拡張された許容誤差• スタートビット：±400ms （立ち上がり & 立ち下がり）データビット：±300ms （立ち上がり）、±500ms （立ち下がり）。

スタートビット
3.7 ms

4.5 ms

データビット
0.6 ms

1.5 ms

2.4 ms1.05 ms

HDMI-CEC コントローラは、2 つの RX 許容誤差マージンモードをサポートします。
1 つめは CEC 仕様に準拠した標準許容誤差モードであり、スタートビットの立ち上がりと立ち下がり時で ±200 µs、データビットの立ち上がりエッジで ±200 µs、データビットの立ち下がりエッジで±350 µs です。
2 つめは拡張された許容誤差モードであり、スタートビットのタイミングが立ち上がりと立ち下がりの遷移時で±400 µs、データビットの立ち上がりエッジで±300 µs、データビットの立ち下がりエッジで±500 µs にそれぞれ拡張されます。

6エラー処理7• エラーは、最小データ･ビット周期よりも短い（つまり、有効なビットとしては短すぎる）立ち下がり
エッジ間の周期として定義される。CEC仕様で考慮されない他のタイミング･エラーについては、ユーザがアクションを定義する。
• エラー通知（エラー･ビット）は、CECラインにおいて公称データビット周期の 1.4～1.6倍の長さのローインピーダンスの期間（公称値で 3.6ms）である
ハイインピーダンス

3.6ms ±0.24ms

ローインピーダンス• メッセージは喪失したものとみなされ、以下の条件では再送信できる• メッセージは、直接アドレス指定されたメッセージで確認応答されていない• メッセージは、ブロードキャスト･メッセージで否定応答されている• ローインピーダンスが予期しないタイミングでCECライン上で検出された（ライン･エラー）受信したデータビット（スタートビットを除く）は次の場合に無効と見なされます。
• 立ち上がりエッジと立ち下がりエッジの間の期間が、HDMICEC 仕様で定義されている許容誤差マージンを超えています。
この場合、ビットタイミングエラー（BTE）が発行されます。
• 立ち下がりエッジ同士の間の期間が、HDMI-CEC 仕様で定義されている許容誤差マージンを超えています。この場合、ビット周期エラー（BPE）が発行されます。

BTE エラーまたは BPE エラーが検出された場合、CEC ペリフェラ
ルは、エラービットを生成して他のフォロワ（主にイニシエータ）に通知します。エラービットは、CEC ラインにおいて公称データビット周期の 1.4～1.6 倍の長さのローインピーダンスの期間（公称値で3.6 ms）です。
メッセージは喪失したものとみなされ、以下の条件では再送信できます。
• メッセージは、直接アドレス指定されたメッセージで確認応答されていない• メッセージは、ブロードキャストメッセージで否定応答されている• ローインピーダンスが予期しないタイミングで CEC ライン上で検出された（ラインエラー）

7ビットタイミング･エラー検出

8

データビット
0.6 ms

1.5 ms

2.4 ms1.05 ms

立ち上がり
0.0
エッジ

0.3

RxTol = 0BRE

RxTol = 1

立ち下がり
0.0
エッジ

RxTol = 0
RxTol = 1

0.3

0.40.9

‘1’
‘1’

BRE

0.4

0.8

0.8

0.9

1.2

1.3
‘0’
‘0’

BRE

BRE

1.2

1.3

1.7

1.7

SBPE

SBPE

1.8

1.8
BRE

BRE

1.9

2.05

2.75
OK
O
K

2.9
LBPE

LBPE

• BRE：ビット立ち上がりエラー• SBPE：ショートビット周期エラー• LBPE：ロングビット周期エラー

このスライドでは、メッセージ受信時のさまざまなビットタイミングエラーについて説明します。
•

ビット立ち上がりエラー（BRE）は、データビット内の立ち上がりエッジが、RxTol で設定される Rx ウィンドウ以外のタイミングで検出されたときに、ハードウェアによってセットされます。BRE が検出されたとき、BRESTPビットが 1 にセットされている場合はオプションで CEC メッセージの受信が中止され、BREGEN ビットが 1 にセットされている場合はオプションでCEC ラインでエラービットが生成されます。

•ショートビット周期エラー（SBPE）は、RxTol マージンによる予想よりも前にデータビットを終了する立ち下がりエッジが検出されると、ハードウェアによってセットされます。SBPE が検出されたとき、常に CEC ラインでエラービットが生成され、受信が中止されます。CEC ラインが再びアイドルになった後、CEC は次のスタートビットの待機を開始します。

•ロングビット周期エラー（LPBE）は、RxTol で設定される最大マージンの後に立ち上がりエッジまたは立ち下がりエッジが検出されると、ハードウェアによってセットされます。LBPE 検出メッセージが生成されると、常に受信は中止され、LPBPEGEN が 1 に設定されている場合はオプションで CEC ラインでエラービットが生成されます。
8

HDMI-CEC割込み割込みイベント

9

説明

RXBR

Rxバイト受信

RXEND

受信終了

RXOVR

Rxオーバーラン

BRE

Rxビット立ち上がりエラー

SBPE

Rxショートビット周期エラー

LBPE

Rxロングビット周期エラー

RXACKE

Rx確認応答喪失エラー

スライドの表に、HDMI-CEC の受信割込みイベントの概要を示します。
受信中に割込みが生成される可能性があるのは、受信ブロッ
ク転送が完了した場合または受信エラーが発生した場合です。

9

HDMI-CEC割込み
割込みイベント

10

説明

ARBLST

調停喪失

TXBR

Txバイトリクエスト

TXEND

送信終了

TXUDR

Txバッファアンダーラン

TXERR

Txエラー

TXACKE

Tx確認応答喪失エラー

スライドの表に、HDMI-CEC の送信割込みイベントの概要を示します。
送信中に割込みが生成される可能性があるのは、送信ブロッ
ク転送が完了した場合または送信エラーが発生した場合です。

10

低消費電力モード
モード

11

説明

RUN

アクティブ

SLEEP

アクティブ。ペリフェラル割込みにより、CPUはSLEEPモードを終了する

STOP停止。レジスタの内容は保持される

STANDBY

パワーダウン。ペリフェラルは、ドメインとシステムのSTANDBYモードを終了した後に再初期化する必要がある

スライドの表に、特定の低消費電力モードでのペリフェラルの状態を示します。
HDMI-CEC コントローラは、RUN モードと SLEEP モードではアクティブですが、STOP モードでは停止します。
HDMI-CEC コントローラは、STANDBY モードでは通信できません。HDMI-CEC コントローラが無効になる前またはシステムが STANDBY モードに切り替わる前に、すべての送信が完了していることを確認することが重要です。

11

関連ペリフェラル

12• HDMI-CECコントローラに関連するペリフェラルのリストを次に示す。詳細については、必要に応じてこれらのトレーニングを参照：• リセットおよびクロック制御（RCC）• 割込み（NVIC）• 汎用入力／出力（GPIO）

スライドに HDMI-CEC コントローラに関連するペリフェラルのリストを示します。ユーザは、HDMI-CEC インタフェースを正しく設定して使用するために、これらのペリフェラルの間のすべての関係について理解を深める必要があります。

12