STM32MP1 – DSI ホスト
ディスプレイシリアルインタフェースホスト

1.0 版

こんにちは、STM32 ディスプレイシリアルインタフェースホストのプレゼンテーションへようこそ。このプレゼンテーションでは、グラフィカルディスプレイをマイクロプロセッサに接続するインタフェースの機能について説明します。

1

概要
LTDC

• DSI ホストは、外部 DSI ディスプレイとの通信インタフェースを提供

DSI
DSI ホストDSI
ラッパー• 完全に設定可能
APB

D-PHY

D-PHY
DSI デバイス
TFT
Ctrl.

GRAM

2

DSI ディスプレイ

• コマンドモードとビデオモードをサポート• レーンあたり最高 1GHz（STM32MP1 MPU では 2レーン）

アプリケーション側の利点• ピン数の少ない（4 または 6）ディスプレイとのインタフェースが可能• 非常に速いリフレッシュ時間（2 レーン使用時 2Gbit/s）• 高度に統合されたソリューション（内部 D-PHY）• 既存のプロジェクトへの統合が簡単（LTDC を使用）

STM32MP1 マイクロプロセッサに内蔵した DSI ホストはハイスピードの通信インタフェースを提供し、ピン数の少ないディスプレイとの通信を可能にします。このインタフェースは完全に設定可能で、現在市場で入手できる DSI ディスプレイを簡単に接続できます。
アプリケーションには少ないピン数でも簡単に接続できる利点があります。

2

主な機能

3

すべてのディスプレイタイプを効率的にサポートする柔軟性の高い動作モード• 3 つの動作モード• ビデオモード• APB コマンドモード• 適応コマンドモード• STM32MP1 MPU で最高 2Gbit/s（レーンあたり 1Gbit/s）の非常に速い転送• ユーザはデータレーンの数を選択（最大 2）• ピン数はバンド幅要件に正確に適合• LTDC と緊密に統合• LTDC は「ストリーマ」として留まり、DSI ホストにデータを供給

STM32MP1 マイクロプロセッサに内蔵された DSI ホストは 3 つの動作モードを提供し、少ないピン数でグラフィックディスプレイと最高 2Gbit/s で通信できるよう最適化されています。データレーンの数は、アプリケーションのニーズに正確に適合するよう設定できます。DSI ホストは、LCD-TFT ディスプレイコントローラ（LTDC）に緊密に統合され、アプリケーションの開発と移植を容易にします。

3

動作モード4

すべてのディスプレイタイプを効率的にサポートする柔軟性の高い動作モード• ビデオモード• DSI ホストは、DSI を介して HSYNC および VSYNC 信号を含む LTDC 出力を送信（ストリーミング）• APB コマンドモード• DSI ホストは、DSI を介して DCS またはカスタムコマンドを送信（SPI または FMC インタフェースを備えた
シリアル LCD と同様）
• コマンドは、DSI ホスト APB インタフェースを使用して起動• 適応コマンドモード• DSI ホストは 1 つの完全な LTDC フレームをキャプチャし、それを一連の DCS コマンドに自動的に変換して、ディスプレイのグラフィック RAM を更新 （以前は SPI または FMCを介して行われていた処理）• グラフィック RAM の更新を管理する最も効率的な方法

グラフィカルデータをディスプレイに伝える 3 つの操作モードを利用できます。
• ビデオモードは、RGB データおよび LTDC によって直接生成された関連の同期信号をハイスピードリンクでストリーミング配信します。DSI ホストと LTDC が有効化されるとすぐにストリーミングが開始されます。この継続的なリフレッシュは、グラフィック RAM を持たないディスプレイとインタフェースで接続する最良の方法です。
• APB コマンドモードは、レガシーシリアルインタフェース（SPI、FMC）を使用して行われるように、構成用のハイスピードリンクを介してコマンドを送信します。コマンドは、DSI ホストのAPB インタフェースを使用して起動されます。
• 適応コマンドモードは、固有の内部グラフィック RAMを 持つディスプレイとインタフェース接続する最良の方法です。DSIホストは、LTDC からのフルフレームを 1 つだけキャプチャし、それを一連の書込みコマンドに変換して、ディスプレイ用グラフィック RAM を更新します。このワンショットリフレッシュは、DSI ホストに制御ビットを自動的にセットします。

4ビデオモード

5

バスの効率的利用ができる複数のビデオモード• ビデオモードでは、DSI は次の動作モードをサポート• 同期パルスによる非バーストモード：
ペリフェラルが同期パルス幅を含む元のビデオタイミングを正確に再構成できるようにする。
• 同期イベントによる非バーストモード：
上記と同様、同期パルス幅を正確に再構築する必要がないため、単一の同期イベントを代わりに使用。
• バーストモード：
RGB ピクセルパケットは時間圧縮されている。これにより、スキャンライン中の低電力モード（電力を節約）の時間や他の送信を DSI リンクに多重化するための時間を長く取れる。

• ホストは 3 つのモードをすべてサポートするが、ディスプレイは、少なくともモードの1 つをサポートするよう求められる。

DSI ホストのビデオモードは、モバイルインダストリープロセッサインタフェース（MIPI）の DSI 仕様で定義されている 3 つの動作モードをサポートしています。
• 同期パルスによる非バースト：同期信号とデータが正確に送信され、ターゲットディスプレイがバッファリングなしの同期パルス幅を含む元のビデオタイミングを再構成できるようにします。
• 同期イベントモードによる非バーストは前のモードと同様です
が、同期パルス幅の情報を必要としないディスプレイ用です。
• バーストモードは、最もエネルギー効率の高いモードです。
RGB ピクセルパケットは時間圧縮されるため、ライン送信中に低電力モードへの移行や他のコマンドの送信ができます。
DSI ホストは 3 つのモードをすべてサポートする必要があります。
ディスプレイはこれら 3 つのモードのうち、少なくとも 1 つのモードをサポートできれは問題ありません。

5

APB コマンドモード

6

DSI ホスト APB レジスタ経由でコマンドを送信• 転送を処理する APB インタフェース• DCS （ディスプレイコマンド設定）または汎用コマンドを送信• ディスプレイ設定やメンテナンスに使用• ハイスピードまたは低電力で送信可能• 一部のディスプレイは、初期化フェーズでのみ低電力通信を受け付け• コマンドパケットは各タイプとも LP または HS で設定可能• 2 つのビデオパケットの間で DSI ホストに時間がある場合、ビデオの送信中にコマンドを送信可
能• スケジューリングは、DSI ホストレジスタにプログラムされたタイミングに基づく• すべてのコマンドは DCS 仕様に一覧表示（ソフトウェアのみ）• 汎用コマンド（非 DCS）を実装できます（ディスプレイの仕様を参照）。

APB コマンドモードは、DSI ホストの APB レジスタインタフェー
スを経由したコマンドを送信に使用します。
起動時の表示設定やアプリケーション実行中のメンテナンス作業のため、汎用コマンドまたは表示コマンドセット（DCS）のコマンドを送信できます。
一部のディスプレイは起動時に低電力通信しか受け付けないた
め、すべてのコマンドをハイスピードモードまたは低電力モードで送信します。
ビデオストリーミング中にコマンドの送信が可能： DSI ホストスケ
ジューラは、プログラムされたタイミングに従って、ビデオ送信中にコマンドを挿入する十分な時間があるかどうか自動的に判断します。
すべてのコマンドはソフトウェアで完全にプログラム可能です。つ
まり、DSI ホストはすべての標準 DCS コマンドおよびディスプレイ固有のすべてのカスタムコマンドをサポートしています。

6

適応コマンドモード

7

LTDC による自動 GRAM リフレッシュモード！CPUや DMA が不要• グラフィック RAM リフレッシュ転送操作• LTDC と組み合わせて使用• DSI ホストが LTDC を制御し、 1 フレームを有効化• LTDC からの RGB データは、DCS のロングライトコマンドパケット内に書き込まれる• リフレッシュが完了すると LTDC は停止し、DSI リンクが LP-Stop に戻る• グラフィック RAM を更新する最も効率的な方法• ユーザは、ホスト側のフレームバッファの準備ができたときに 1bit をセットするだけで、ディスプレイのリフレッシュを制御• ディスプレイはリンクの最大速度でフレッシュされる• LTDC の入力では潜在的なバンド幅制限に注意

適応コマンドモードは、固有のグラフィック RAM を持つディスプレイとインタフェース接続するための高度に最適化した動作モードです。
CPU や DMA コントローラに負荷をかけずに、LTDC でディスプレイのグラフィック RAM （GRAM）を自動的に更新します。
グラフィック RAM のリフレッシュ操作は、LTDC と連動して行われます。
• DSI ホストは LTDC を制御して 1 フレームだけ有効化します。
• LTDC からの RGB データがキャプチャされ、一連の DCS ロングライトコマンドパケットに送信されてディスプレイに送られます。
• グラフィック RAM が完全にリフレッシュされると DSI ホストは自動的に LTDC を停止し、DSI リンクは低電力 STOP モードになります。
ユーザは、フレームバッファの送信準備完了時に1bit を設定するだけで、ディスプレイのリフレッシュ操作を制御します。
リンクの最大速度で表示をリフレッシュできるため、LTDC 側のバンド幅要件（フレームバッファ読取り時のメモリバンド幅など）に特別な注意を払う必要があります。
7

ティアリング現象の制御

8

GRAM のリフレッシュを簡単に同期させる• 適応コマンドモードでは、ティアリング現象の信号伝達により、ディスプレイと完全に同期させてリフレッシュ操作を行うことが可能• リンク経由のティアリング現象• DCS SET_TEAR_ON コマンドが APB コマンドモードインタフェース経由で発行されると、DSIホストはバスコントロールをディスプレイに送る。
• プログラムされたスキャンラインに達すると、ディスプレイはティアリング現象トリガを送信し、バスコントロールを DSI ホストに送る。
• 割込みが発生し、ユーザは GRAM リフレッシュを起動できる。

• ピン経由のティアリング現象• プログラムされたスキャンラインに達するとピンがトグルする。
• 割込みが発生し、ユーザは GRAM リフレッシュを起動できる。

ティアリング現象により、ディスプレイと DSI ホストを完全に同期させて、固有のグラフィック RAM を 持つディスプレイのリフレッシュ操作を行うことができる。
ティアリング現象は、次の 2 つの方法で信号を伝達できる。
• 追加のピンを必要としないリンク経由• 追加ピンを使用
リンク経由でティアリング現象が伝えられると、DSI ホストはSET_TEAR_ON コマンドを送信し、バス制御をディスプレイに渡します。ディスプレイのスキャンラインがプログラムされたレベルに達すると、ディスプレイは DSI ホストにトリガを送信しバスの制御を DSI ホストに戻します。
割込みが発生し、グラフィック RAM のリフレッシュが起動します。
ティアリング現象がピン経由で伝えられた場合、ディスプレイのスキャンラインがプログラムされたレベルに達した時点で、ディスプ
レイは専用 GPIO を切り替えて DSI ホストをトリガします。追加のピンが必要となりますが、このメカニズムではリンクを経由したDSI ホストとディスプレイ間の複数の交換が避けられます。
ピンで割込みを発生させて、グラフィック RAM リフレッシュの起動をトグルできます。
8ビデオモード対コマンドモード

9

MCU 視点では適応コマンドモードを推奨• ビデオモード• ディスプレイ側では低コストのディスプレイコントローラを使用可能• ただし、LTDC には現在と同じ制約が継続される• イメージ計算とイメージストリーミングの同時発生• ダブルバッファリングのため、通常は外部に SRAM/SDRAM が必要• FMC で広バンド幅が必要• 適応コマンドモード• ディスプレイ側ではディスプレイコントローラが少し高価になる• より高度の統合ソリューション• MCU 側で必要なフレームバッファは 1 つだけで、内部の MCU SRAM 内に確保できることが多い• イメージ計算と GRAM リフレッシュが同時に発生しない：ボトルネックがない

ビデオモードと適応コマンドモードのどちらを選択するかで、ソリューションのアーキテクチャとコストに大きな違いが生じます。
MCU 視点からは、コスト最適化ソリューションとして適応コマンドモードが推奨されます。
ビデオモードはディスプレイ側にグラフィックRAMを必要としないため、このソリューションは大型ディスプレイによく使用され、コスト削減効果があります。MCU 側のバンド幅とメモリ使用量に関する制約は、現在の LTDC ベースのソリューションと同じです。
ほとんどの場合、フレームバッファのためのダブルバッファリングには外部 RAM が必要です。
適応コマンドモードには、グラフィック RAM を備えたディスプレイが必要です。ディスプレイのコストは少し高くなる可能性がありますが、480 x 480ピクセル未満のほとんどのディスプレイにはグラフィック RAM が組み込まれています。その結果、フレームバッファが内部の MCU RAM に収まる可能性があるため、小さなディスプレイを使用する適応コマンドモードでは、外部 RAM が常に必須というわけではありません。これにより MCU のバンド幅の問題が大幅に軽減されます。また、外部RAMが不要になることから全体の BOM コストが下がり、ソリューション統合の負担も軽くなります。
9

まとめ10

DSI のビデオモードとコマンドモード• ビデオモードによる操作モードをサポート• タイミングの正確なストリーミング• 電力消費削減のためのバーストモード• すべての RGB カラーモードをサポート（RGB565/666/888）• APB インタフェースで従来のコマンドをサポート• ディスプレイに向けたシンプルな DCS コマンドまたはカスタムコマンド• 起動時の表示設定用• 適応コマンドモードをサポート• 最も効率的な GRAM 更新法• GRAM の更新に必要なのは 1bit だけ！

DSI ホストは、以下のビデオモードオペレーションをサポートします。
タイミングの正確なストリーミング
ブランキング期間中の消費を削減するバーストモード
バンド幅の使用を最適化する複数の RGB カラーエンコーディン
グフォーマット
DSI ホストは、APB インタフェース経由でコマンドをサポートします。
DCS または汎用コマンドは、ビデオモードが起動中でもディスプレイに発行できます。
コマンドは、起動時の表示設定とアプリケーションの実行時のメンテナンスに使用します。
DSI ホストは、適応コマンドモードを使用して、CPU または DMAコントローラを使用せずにディスプレイのグラフィック RAM の更新ができます。このモードは LTDC を使用して書込みコマンドをディスプレイに送信します。

10

性能

11対応するピクセルクロック• DSI バンド幅と LTDC ピクセルクロックの関係• 対象ディスプレイのカラーコーディング（bpp）に依存• 対応する LTDC クロック：2Gbit/s / 16bpp = 125MHz 16bpp• 対応する LTDC クロック：2Gbit/s / 24bpp = 83.3MHz 24bpp• アプリケーションの例• バンド幅が最大 900Mbit/sのデータレーン1本を使用する 900MHz DSI• 720p60フォーマット、16bppのディスプレイの場合： 1280 x 720 x 60Hz x 16-bit = 885Mbit/s• バンド幅が最大 2Gbit/sのデータレーン 2 本を使用する 1GHz DSI• 1080p30フォーマット、24bpp のディスプレイの場合：1920 x 1080 x 30Hz x 24-bit = 1.49Gbit/s

パフォーマンスの点で、対応するピクセルクロックと DSI ホストの設定の間には関係があります。
カラーコーディング、使用するデータレーンの数、およびデータレーンの速度に応じて、対応するピクセルクロックを決定できます。
たとえば、ピクセルコーディングあたり 16bit の 720p60 ディスプ
レイは、1本の 900MHz データレーンでサポートでき、ピクセルコーディングあたり 24bit の 1080p30 Hd ディスプレイは、それぞれが 1Gbit/s の 2 本のデータレーンで完全にサポートできます。

11

割込み & DMA
対応するピクセルクロック• DSI ホストは、コントローラのリンクで発生の可能性があるすべてのイベントに対して割込みソースを備える。
• 詳細はリファレンスマニュアルを参照。

• DSI ホストは以下の割込みも生成。
• レギュレータイベント• PLL イベント
• ティアリング現象イベント• 固有の DMA マスタを持っている LTDC で動作するため、DSI ホストは DMA リクエストを行う必要なし。

DSI ホストは、通信のすべてのタイミングとイベントを監視する多くの割込みを備えています。すべての割込みソースの詳細については、リファレンスマニュアルを参照してください。
プロトコル関連の割込みに加えて、DSI ホストは以下を管理する割込みも行います。
• レギュレーターイベント• PLL イベント
• ティアリング現象イベント
DSI ホストはデータのフェッチに LTDC を使用するため、DMA コントローラは必要ありません（LTDC は固有の DMA マスタを搭載）。

12低電力モードモード

説明

CRUN

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

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

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

STOP + LP-STOP

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

LPLV-STOP

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

STANDBY

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

凡例：Y = はい（有効）O = 任意(デフォルトでは無効だが、ソフトウェアで有効化できる）R = データと状態を保持- =使用不可、ウェイクアップモード用にグレーでハイライト

DSI ホストのペリフェラルは Cortex® A7 コアによってのみ制御されるため、その電力モードにリンクします。
DSI ホストのペリフェラルは、CRUN および CSLEEPモードでアクティブとなります。DSI ホストの割込みにより、デバイスがCSLEEPモードを終了することがあります。STOPモードではDSI ホストは機能しません。レジスタの内容は保持されます。
STANDBY モードで DSI ホストは電源がオフになり、後で再初期化する必要があります。

13

アプリケーションの例

14• 接続およびユーザインタフェースも使用したアプリケーション：• 720p 16bpp ディスプレイ、GRAM 内蔵（外部 RAM は不要）
• グラフィックプリミティブを格納する QSPI

BT モジュール
シリアル Flash
アクセラレータ

UART
DSI
Quad SPI

SPI

ボタン

I/O

USB コネクタUSBI²C

STM32MP1

I²S

表示
タッチパネル

オーディオコーデック

ウェアラブルアプリケーションには、低電力管理機能と高品質のユーザインタフェースが必要です。これは、DSI ホストを使用し、4 つまたは 6 つのピンのみを経由してディスプレイとインタフェース接続を行うことで実現できます。このようなデバイスの駆動に必要なピン数が少ないため、高度に最適化されたシステム統合が可能になります。

14

関連ペリフェラル

15• このペリフェラルにリンクされている以下のトレーニングモジュールを参照。
• RCC（DSI クロック制御、DSI 有効／リセット）• 割込み（DSI 割込みマッピング）• GPIO（ティアリング現象用 DSI 入力）• LTDC（DSI ピクセルソース、タイミング制御）

RCC、割込み、LTDC、および GPIO に関するトレーニングスラ
イドを参照すれば、追加情報が得られます。

15