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

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

1

概要

2

• パラレル・インタフェースを使用し、ビデオカメラ・モジュールを接続するために使用• 設定可能なデータ形式

DCMI_D[0..13]

割込み• 連続またはスナップショットのキャプチャモード

DMA
リクエスト

DCMI
AHB
バス

• クロップ機能

DCMI_PIXCLKDCMI_HSYNC
DCMI_VSYNC

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

高速非圧縮画像キャプチャ•

JPEG形式のキャプチャで圧縮されたイメージ

DCMIはデジタルカメラ・インタフェースの略です。DCMIイン
タフェースは、並列カメラモジュールをSTM32に接続するために使用されます。カメラは、ピクセルクロック信号(DCMI_PIXCLK)と並行データフローを生成し、インタフェー
スが入力データフローをキャプチャできるようにします。
カメラとSTM32の間でイメージフレームを同期させるために、2つのオプション信号(HSYNCおよびVSYNC)を使用することができます。DCMIはデータフローに埋め込まれたライン/フレーム同期コードもサポートします。
DCMIは連続キャプチャを行うことを可能にします。このプロセスはアプリケーション要求で開始され、CAPTUREビットがクリアされるまで続行されます。または、スナップショットモードでは、アプリケーション要求時に1つのフレームをキャプチャできます。
トリミング機能を使用すると、カメラインタフェースは、受信した画像の長方形の部分をカットして保存できます。

2

主な機能

3

• 8ビット、10ビット、12ビット、または14ビットの並列インタフェース• ピクセルクロックラインDCMI_PIXCLK、プログラム可能な極性、立上がり/立下りエッジを備える• DCMI_PIXCLKは最小AHB/PIXCLK比=2.5を守る必要がある• 次のデータ形式をサポート:• 8/10/12/14ビット･プログレッシブ・スキャン(モノクロ/ローバイエル)• YCbCr4:2:2プログレッシブ・スキャン• RGB565プログレッシブ・ビデオ• 圧縮データ:JPEG• 連続またはスナップショット・モード• クロップ機能

カメラインタフェースには、8~14本のデータラインのパラレルデータインタフェースと、プログラム可能な極性と立上がり/立下がりエッジ構成を備えたピクセル・クロックライン
DCMI_PIXCLKがあります。DCMI_PIXCLKとAHBクロック
は、最小比AHB/PIXCLK2.5を守る必要があります
異なるデータフォーマットを持つカラー/モノクロカメラに対応しています:• 非コード化並列データ-また、モノクロまたはカラー(生バイエル)することができ、プログレッシブ・スキャンとして知られています• 8ビットでの輝度/色分け(4/2/2プログレッシブ・スキャン)• RGB565–16ビットにコード化された赤-緑-青の情報• 一部のカメラでは、このパラレルインタフェースを使用して、圧縮画像をJPEG形式で送信します。

3

DCMIデータ転送
STM32H7• データはAHBバスに接続された32ビットデータ・レジスタ（DCMI_DR）に格納される

LTDC• DMA転送可能な8x32ビットFIFO

RAM

4LCD

DCMI_D[0..13]

カメラ

DCMI_PIXCLKDCMIDCMI_HSYNC
DCMI_VSYNC

カメラ画像をLCDディスプレイに送信する簡単なアプリケーションの例です。
カメラインタフェースを使用する標準的な方法は、受信したデータをRAMのフレームバッファに格納することです。
STM32はこのデータを処理するか、別のインタフェース(例えばUSBまたはイーサネット)を介してさらにそれを送信することができます。
システム内のバス競合を制限し、データの欠落を回避するために、このインタフェースのデータレートが高くとも、受信データは次のスライドに示すようにFIFOバッファに格納されます。

4

DCMIパッキングおよび拡張データ･モード• カメラ･インタフェースは、14ビット、12ビット、10ビット、または8ビットのデータをキャプ
チャ可能

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]

バイトアドレス

8ビット

25:16

15:10

9:000

31:26

Dn+1[9:0]

0

Dn[9:0]40

Dn+3[9:0]

0

Dn+2[9:0]

バイトアドレス• 14ビット未満が使用される場 10ビット合:• 未使用の入力ピンは利用可能で、他のペリフェラルに割り当て 12ビットることが可能

5

バイトアドレス

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]• DCMIに割り当ててはいけない
バイトアドレス

0

14ビット

431:30
0
0

29:16

15:14

13:0

Dn+1[13:0]

0

Dn[13:0]

Dn+3[13:0]

0

Dn+2[13:0]

インタフェースのサイズ(8、10、12、または14ビット)に応じて、2つ、または4つのデータは、単一の32ビットワードで格納されます。完全な32ビットワードが使用可能になると、DMAによってメモリ転送されます。これにより、高速の場合でもDCMIで使用されるバス帯域幅を削減できます。
DCMIには、4バイトのうち2バイト、または1バイトのうち1バイトを選択できるハードウェア機能もあります。この機能は、カラー画像をB&Wに変換したり、画像サイズを縮小したりするために使用されます。この後の場合、画像のフォームファクタを維持するために、DCMIは他のすべてのラインのみを格納し、垂直方向の解像度を2分の1に減らします。
8レベルのFIFOは、データを失うことなく、DMA応答の遅延に対応するために使用されます。

5

DCMIキャプチャ･モード

6• DCMIインタフェースは、2つのキャプチャ･モードをサポート:• スナップショット(単一フレーム)• 連続キャプチャ

スナップショット・モード
DCMI_HSYNC
DCMI_VSYNC
キャプチャビットが自動的にリセット

DCMI_D[13:0]

フレーム1キャプチャ

フレーム2はキャプチャされない

連続キャプチャ・モード
DCMI_HSYNC
DCMI_VSYNC
DCMI_D[13:0]

フレーム1キャプチャ

フレーム2キャプチャ

カメラインタフェースは、ソフトウェアリクエスト後に同期、または継続的にビデオフローを受信する単一フレームをキャプチャすることができます。
キャプチャ・モードでは、キャプチャはソフトウェアでキャプチャビットを設定して要求され、次の着信フレームの先頭から始まり、DCMIは単一フレームを受信したときにキャプチャビットをクリアします。

6•ウィンドウのサイズと座標は、DCMI_CWSTRTとDCMI_CWSIZEの2つの32ビットレジスタで指定•

ウィンドウのサイズと位置は、ピクセルクロックの数(水平方向の長さ)とライン数(垂直方向の長さ)で定義

7

水平オフセット・カウント

垂直ライン・カウント• DCMIは受信したイメージ内の長方形の枠内を選択可能

垂直スタートライン・カウント

DCMIクロップ機能

キャプチャ・カウント

トリミングは、前述のようにピクセル解像度を下げるだけでなく、イメージのサイズを小さくする方法です。
このオプションは、単一フレーム・キャプチャと連続モードの両方で有効ですが、JPEG形式ではサポートされていません。

7

割込みとDMA
割込みイベント8

説明

IT_LINE

ラインの終わりを示す

IT_FRAME

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

IT_OVR

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

IT_VSYNC

同期フレームを示す

IT_ERR

埋込み同期フレーム検出でのエラー検出を示す• DCMI割込みは、事前の割込みの論理OR• DMAインタフェース:着信データ転送に1つのDMAチャネルが必要• DMAリクエストは、カメラインタフェースがFIFOで完全な32ビットデータブロックを受信するたびに生成5つの割込みが生成されます。すべての割込みは、ソフトウェ
アでマスク可能です。グローバル割込みは、すべての単一割込みのORになります。
キャプチャ・モードが有効になっている場合、DMAインタ
フェースはアクティブになります。DMAリクエストは、カメライ
ンタフェースがFIFOで完全な32ビットデータブロックを受信するたびに生成されます。DCMIで使用できるDMAチャネルについては、STM32H7リファレンスマニュアルのDMAセクションを参照してください。

8低電力モード
モード

9

説明

RUN

アクティブ

SLEEP

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

STOP

停止
ペリフェラル･レジスタの内容は保持される

STANDBY

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

ここでは、各低電力モードにおけるDCMIモジュールのステータスの概要を示します。
デバイスがSTOPモードまたはSTANDBYモードの場合、DCMIのオペレーションは実行できません。

9関連ペリフェラル

10• このペリフェラルに関連するこれらのトレーニングを参照してください。
• ダイレクト・メモリ・アクセス・コントローラ(DMA)• 割込み(NVIC)

DCMIモジュールに関連するペリフェラルのリストです。
DCMIチャネルと割込み構成の詳細についてはDMAおよびNVICのトレーニングを参照し、DCMIで使用される代替機能ピンのセットアップについてはGPIOの資料を参照してください。
カメラインタフェースの構成と使用の例は、www.st.comで利用可能なSTM32CubeH7パッケージで利用可能です。
カメラは、DCMIを介して画像を転送する前に、I2Cバスを介して設定する必要があります。2つのカメラ設定の例は、ボードサポートパッケージのドライバーファイルで使用できます。
他のカメラの種類では、ユーザーがドキュメントさまざまなセットアップをする必要があります。

10

参照

11

• 詳しくは、以下のアプリケーションノートをご覧ください:• アプリケーションノートAN5020:Digital camera interface (DCMI) for STM32 MCUs

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

11