STM32MP1 - DCMI
デジタルカメラインタフェース
1.0 版

こんにちは、STM32 用デジタルカメラインタフェースコント
ローラのプレゼンテーションへようこそ。このプレゼンテーショ
ンでは、このインタフェースのすべての機能を説明します。

1概要

DCMI_D[0..13]

割込み• 8bit から 14bit のパラレルインタフェースを経由したカメラモジュールと CMOS センサの接続に使用• 設定可能なデータフォーマットDMA リクエスト

AHB バス

DCMI

2

DCMI_PIXCLK• 連続モードまたはスナップショットキャプチャモード

DCMI_HSYNC• クロップ機能

DCMI_VSYNC

アプリケーション側の利点•

ハイスピードの非圧縮画像キャプチャ•

JPEG フォーマットでキャプチャした圧縮画像

DCMI は Digital Camera Interface の略です。DCMI インタ
フェースは、パラレルカメラモジュールと STM32 の接続に使用します。カメラは、ピクセルクロック信号（DCMI_PIXCLK）とパラレルデータフローを生成します。これにより、インタフェースで受信データフローをキャプチャできます。
2 つのオプション信号（HSYNC および VSYNC）を使用して、カメラと STM32 の間で画像フレームを同期させることができます。DCMI は、データフローに埋め込まれたライン／フレームの同期コードもサポートします。
DCMI は、連続グラブ処理もサポートします。このプロセスはアプリケーションリクエストで始まり、CAPTURE ビットがクリアされるまで続きます。またスナップショットモードでは、アプリケーションリクエストで単一のフレームをキャプチャできます。
クロップ機能を使用すると、カメラインタフェースの受信画像から長方形を切り取って保存できます。

2

主な機能

3

• 8、10、12、または 14bit のパラレルインタフェース• 極性、立ち上がりと立ち下がりエッジがプログラム可能なピクセルクロックライン
DCMI_PIXCLK• DCMI_PIXCLK = 最大 80MHz （最小 AHB/PIXCLK 比 = 2.5）

• 以下のデータフォーマットに対応：• 8/10/12/14bit のプログレッシブスキャン(モノクロまたは Raw ベイヤー)• YCbCr 4：2：2 プログレッシブスキャン• RGB 565 プログレッシブビデオ• 圧縮データ：JPEG• 連続モードまたはスナップショットモード• クロップ機能

カメラインタフェースは、設定可能な 8～14 本のデータラインとのパラレルデータインタフェースに加え、極性、立ち上がりと立ち下がりエッジの設定がプログラム可能な最大 80MHzのピクセルクロックライン DCMI_PIXCLK を備えています。
DCMI_PIXCLK および AHB クロックは、AHB/PIXCLK の最小比率である 2.5 を順守する必要があります。
したがって、このカメラインタフェースは、80MHz ピクセルクロックと 14bit データを使用して、最大 140Mbyte/s のデータ転送速度を達成できます。
さまざまなデータ形式を使用するカラーまたはモノクロのカメラをサポートしています。
• コード化されていないパラレルデータ–プログレッシブス
キャンとも呼ばれ、モノクロまたはカラー（Raw ベイヤー）• 輝度／色は 8bit でコード化（4/2/2 プログレッシブスキャン）• RGB 565– 16bit でコード化した赤緑青の情報• 一部のカメラでは、圧縮画像の JPEG フォーマットでの送信にこのパラレルインタフェースを利用しています。
3

DCMI データ転送
STM32MP1• データは、AHB バスに接続された 32bit のデータレジスタ（DCMI_DR）にパックされます。
• DMA 処理ができる 8x32bit のFIFO

4LCD

LTDC

RAM

DCMI_D[0..13]

カメラ

DCMI_PIXCLKDCMIDCMI_HSYNC
DCMI_VSYNC

これは、カメラの画像を LCD ディスプレイに送信する簡単なアプリケーションの例です。
受信したデータを RAM のフレームバッファに保存するのが、カメラインタフェースを使用する標準的な方法です。STM32はこのデータを処理するか、別のインタフェース（USB やEthernet など）を経由してさらに送信できます。
システムのバス競合を制限しデータの損失を回避するため、データレートが高いにもかかわらず、このインタフェースは受信データを FIFO バッファにパックします（次のスライドを参照）。

4

DCMI パッキングと拡張データモード• カメラインタフェースは 14、12、10、または 8bit のデータをキャプチャ可能• 14bit 未満が使用されている場合：• 未使用の入力ピンを他のペリフェラルに割り当てることが出来る• ただし、それらのピンを DCMIに割り当てることは出来ない

31:24

23:16

15:8

7:0

0

Dn+3[7:0]

Dn+2[7:0]

Dn+1[7:0]

Dn[7:0]4

Dn+7[7:0]

Dn+6[7:0]

Dn+5[7:0]

Dn+4[7:0]

バイトアドレス

8bit

25:16

15:10

9:0

0

0

31:26

Dn+1[9:0]

0

Dn[9:0]4

0

Dn+3[9:0]

0

Dn+2[9:0]

バイトアドレス

10bit

12bit

バイトアドレス

31:28

27:16

15:12

11:0

00

Dn+1[11:0]

0

Dn[11:0]40

Dn+3[11:0]

0

Dn+2[11:0]

バイトアドレス

0

14bit

5

4

31:30
0
0

29:16

15:14

13:0Dn+1[13:0]

0

Dn[13:0]

Dn+3[13:0]

0

Dn+2[13:0]

インタフェースのサイズ（8、10、12、または 14bit）に応じて、2 つまたは 4 つのデータ項目が単一の 32bit ワードに保存されます。完全な 32bit ワードが使用可能になると、DMA によりメモリに転送されます。これにより、ハイスピードの場合でも DCMI が使用するバスバンド幅を減らせます。
DCMI には、2バイトから 1バイトまたは 4バイトから 1バイトを選択できるハードウェア機能もあります。この機能は、カラー画像の白黒画像への変換や画像サイズの縮小に使用できます。後者の場合、画像のフォームファクタを維持するた
め DCMI は 1 行おきに保存し、垂直解像度を 2 分の 1 に減らします。
データを失うことなく DMA 応答遅延に対応するため、8 レベ
ルの FIFO が使用されます。

DCMI キャプチャモード• DCMI インタフェースは、2 種類のキャプチャをサポート• スナップショット（単一フレーム）• 連続グラブスナップショットモード
DCMI_HSYNC
DCMI_VSYNC
CAPTURE ビットは自動的にリセットされます。
DCMI_D[13:0]

フレーム 1：キャプチャされます

フレーム 2：キャプチャされません

連続モード
DCMI_HSYNC
DCMI_VSYNC
DCMI_D[13:0]

フレーム 1：キャプチャされます

フレーム 2：キャプチャされます

カメラインタフェースを使用すると、単一のフレームのキャプチャ（ソフトウェアリクエストの後で同期）やビデオフローの連続受信ができます。
キャプチャモードでは、ソフトウェアでキャプチャビットを設定してキャプチャをリクエストすると次の着信フレームの先頭からキャプチャが始まります。単一フレームの受信が完了すると DCMI がキャプチャビットをクリアします。

6•ウィンドウのサイズと座標は、 2 つの32bit レジスタ、DCMI_CWSTRTおよび DCMI_CWSIZE で指定•

ウィンドウのサイズと位置は、ピクセルクロック数（水平方向）とライン数（垂直方向）で指定

7

水平方向オフセットカウント

垂直方向ラインカウント• DCMI は受信した画像から長方形のウィンドウを選択可能垂直方向開始ラインカウント

DCMI の「クロップ」機能

キャプチャカウントクロッピングは、前述のようにピクセル解像度を下げる方法に加えて、画像サイズを縮小するもう 1 つの方法を提供します。
このオプションは、シングルフレームキャプチャと連続モードの両方で有効ですが、JPEG フォーマットではサポートされていません。

割込みと DMA
割込みイベント説明

IT_LINE

ライン終了を示す

IT_FRAME

フレームキャプチャ終了を示す

IT_OVR

データ受信のオーバーランを示す

IT_VSYNC

同期フレームを示す

IT_ERR

埋め込まれた同期フレームの検出操作でのエラーの検出を示す（上のセグメントと結合）• DCMI割込みは、以前の割込みの論理OR• DMAインタフェース：入力データの転送にDMAチャネルが 1 つ必要• カメラインタフェースの FIFO が完全な 32bit のデータブロックを受信するたびに、DMA リクエストが生成

5 種類の割込みが生成されます。すべての割込みは、ソフトウェアでマスク可能です。グローバル割込みは、すべての単一割込みの OR です。
DMA インタフェースは、キャプチャモードが有効時にアクティブとなります。カメラインタフェースの FIFO が完全な 32bitのデータブロックを受信するたびに、DMA リクエストが生成されます。DCMI で使用可能な DMA チャネルについては、
STM32H7 リファレンスマニュアルの DMA のセクションを参照してください。

8

低電力モードモード

説明

CRUN

アクティブ（ソフトウェアで有効化）

CSLEEP （MPU またはMCU がサブシステム状態）

アクティブペリフェラル割込みにより、デバイスは CSLEEP モードを終了

STOP + LP-STOP

レジスタの内容は保持されるが、DCMI は機能しない

LPLV-STOP

レジスタの内容は保持されるが、DCMI は機能しない

STANDBY

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

各低電力モードでの DCMI モジュールのステータスの概要です。
デバイスが STOP モードまたは STANDBY モードの場合、DCMI は動作しません。

9関連ペリフェラル

10• このペリフェラルに関する以下のトレーニングを参照可能• ダイレクトメモリアクセス（DMA）コントローラ• 割込み（NVIC）

これは、DCMI モジュールに関するペリフェラルのリストです。
DCMI チャネルと割込み設定の詳細については DMA とNVIC のトレーニング、DCMI で使用されるオルタネート機能ピンの設定については GPIO の章を参照してください。
カメラインタフェースの設定と使用法の例は、www.st.com から入手できる STM32CubeMP1 パッケージでご覧いただけます。

10参照

11

• 詳細については、次のアプリケーションノートを参照可能• アプリケーションノート AN5020：Digital camera interface (DCMI) for STM32 MCUs

詳細については、STM 32 デバイスの DCMI に関連するア
プリケーションノート、AN5020 を参照してください。

11