ホーム ソリューション MIPI CSIの仕様とプロトコル

MIPI CSIの仕様とプロトコル

September 24,2026

イントロダクション

本記事では、MIPI CSI-2カメラインターフェースのシステム構成、D-PHY伝送、パケット機構、画像フォーマット、帯域幅の算出、およびLinux media-controller環境での統合とトラブルシューティングについて解説します。ARM SoC、イメージセンサー、ISP、V4L2ビデオパイプラインを使用したハードウェア/ソフトウェア統合を対象としています。

イメージセンサーとプロセッサー間のMIPI CSI-2カメラインターフェース

MIPI CSIのシステム構成

MIPI CSI-2(Camera Serial Interface 2)は、イメージセンサーからSoC、ISP、またはFPGAへ画像データを伝送するための高速シリアルプロトコルです。CSI-2ではパケットフォーマット、Data Type、Virtual Channel、エラー保護機構を定義し、D-PHYまたはC-PHYが物理信号の伝送を担います。

制御パスと画像データパスを含むMIPI CSI-2システム構成

レイヤー 主な役割 一般的なLinux / SoC実装
制御プレーン モード、露光、ゲイン、ストリーム制御 Sensor driverおよびI²C/I³C
CSI-2プロトコル層 パケット化、VC、DT、ECC、CRC CSI-2 TX/RX controller
PHY層 LP/HS状態、クロック、差動信号 D-PHY/C-PHYおよびPHY driver
画像パイプライン デコード、処理、DMA、キャプチャ ISP、DMA、V4L2 node
 

D-PHYの伝送とタイミング

D-PHY Data Laneはアイドル時にLP Stop Stateとなり、LP状態シーケンスを経てHSモードへ移行した後、CSI-2パケットを伝送します。センサーのレジスタアクセスとストリーム制御は通常、独立したI²C/I³Cバスを介して行われ、D-PHY Data LaneのLP状態とは異なります。

D-PHY Data LaneのLP Stop StateからHS伝送への遷移

状態 / フェーズ 役割 統合時の確認事項
LP-11 Stop State アイドル状態およびLP動作の基本状態 laneの状態とTX/RX PHYの対応を確認
LP-01, LP-00 HSへの移行/終了シーケンスの一部 これらの状態をI²C制御データとして解釈しないこと
HS-Prepare, HS-Zero 高速伝送前の準備および安定化フェーズ RX検出およびHS-Settleの調整に影響
SoT 高速パケット伝送の開始を示す SoTエラーはタイミング、lane、または設定上の問題を示す可能性がある
HS data transmission CSI-2 packet byte streamを伝送 link frequency、lane数、信号品質を確認
 
  • clocked modeでは、Clock LaneがHS伝送中の受信側サンプリングをサポートします。continuous clockまたはnon-continuous clockの動作については、イメージセンサー、SoC PHY、およびdriverの設定に基づいて確認する必要があります。
  • HS-Settleは、実際のlink frequency、SoC receiverのドキュメント、およびエラーカウンターに基づいて調整する必要があります。値を大きくすればよいというものではありません。
 

CSI-2のパケットと同期

CSI-2では、Short Packetを使用してプロトコルイベントや同期情報を伝送し、Long Packetを使用してRAW、YUV、RGB、またはembedded dataを伝送します。Long Packetは、4-byte header、payload、2-byte CRC footerで構成されます。

CSI-2 Frameと画像Long Packetの基本シーケンス

フィールド 機能 確認項目
Virtual Channel (VC) 論理データストリームを識別 センサーとRX Virtual Channelの互換性を確認
Data Type (DT) ピクセルフォーマットまたはパケットタイプを示す センサーのoutput modeおよびRXの対応機能と一致していることを確認
Word Count (WC) Long Packet payloadのバイト数を示す line widthおよびpixel packingとの整合性を確認
ECC packet headerを保護 同期、lane、設定、RXデコードを確認
CRC Long Packet payloadを保護 PHY、data rate、lane mapping、TX/RX実装を確認
 

Frame Start(FS)とFrame End(FE)は、frame-level synchronizationを提供します。Line Start(LS)とLine End(LE)はオプションのline-level synchronizationです。LSとLEが実際に出力されるかどうかは、イメージセンサーのドキュメント、CSI receiver trace、またはdriverのカウンターで確認する必要があります。

画像フォーマットと帯域幅

CSI-2 Data Type、V4L2 media-bus code、V4L2 capture memory format、ISP format negotiationは、画像データとして相互に整合している必要があります。ただし、それぞれ異なる抽象化レイヤーに属するため、設定名や設定箇所が必ずしも1対1で対応するとは限りません。RAWデータではbit depthとBayer order、YUVデータではbyte orderを確認する必要があります。

Active-pixel payloadの下限は、次の式で算出できます。

Active-pixel payload = Width × Height × FPS × Bits per pixel

この計算値は、有効画素データに必要なpayloadの下限にすぎません。実際のCSI-2 throughputとD-PHY lane rateを算出する際は、packet header、CRC、同期パケット、blankingの伝送方式、Data Lane数、clock mode、センサーで使用可能なlink-frequency設定、およびSoC CSI receiverの制約も考慮する必要があります。

Per-lane rate ≳ Total CSI-2 throughput / Number of Data Lanes

Linux統合とBring-up

Device Treeでは通常、graph endpoint、data-lanes、clock-lanes、remote-endpointの接続を記述します。多くのmedia-controllerアーキテクチャでは、sub-device pad format、media link、routing negotiationを通じて、実行時に画像フォーマットがネゴシエーションされます。実際のbindingと対応フォーマットは、対象SoCのkernel driverに依存します。

# entity、pad、linkを確認
media-ctl -p -d /dev/media0

# 例:上流側センサーのpad formatを設定
media-ctl -d /dev/media0 --set-v4l2 '"sensor 1-001a":0 [fmt:SRGGB10_1X10/1920x1080]'

# 例:linkを有効化
media-ctl -d /dev/media0 --links '"sensor 1-001a":0 -> "csi2rx":0 [1]'

# capture nodeのmemory formatを設定してストリーミングを開始
v4l2-ctl -d /dev/videoX \
  --set-fmt-video=width=1920,height=1080,pixelformat=RG10 \
  --stream-mmap=4 --stream-count=100

dmesg -w
 

この例で示すentity名、pad index、media-bus code、FourCC値、video nodeは、実際のmedia graphに合わせて調整する必要があり、すべてのプラットフォームで共通ではありません。

Linux media-controllerアーキテクチャにおけるCSI-2のBring-upとデバッグフロー

互換性とエラー解析

項目 確認事項 代表的な症状
PHY lane数、mapping、link frequency、clock mode、HS-Settle SoTエラー、データを受信できない、断続的なフレームドロップ
プロトコル VC、DT、パケット動作、ECC/CRC Headerエラー、CRCエラー、フレーム同期の問題
フォーマット Bit depth、Bayer order、YUV order、packing 色の異常、グリーンフレーム、画像の乱れ
Pipeline DT graph、media link、pad format、ISP、DMA STREAMONの失敗またはbuffer timeout
 
  • I²C通信が正常でも画像を受信できない場合は、power/reset/MCLK、センサーのstream-on状態、data-lanes、lane mapping、link frequency、media graph、CSI RXの状態を確認します。
  • frame activityが検出されているにもかかわらずECC/CRCエラーが発生する場合は、RXエラーカウンター、lane mapping、link rate、HS-Settle、基板レベルの信号品質、TX/RX設定を確認します。
  • フレームをキャプチャできても色が正しくない場合は、RAW bit depth、Bayer order、media-bus code、memory FourCC、ISP pipelineを確認します。
 

よくある質問

1. CSI-2とD-PHYは同じものですか?

いいえ。CSI-2は画像データのパケットプロトコルであり、D-PHYは一般的に使用される物理層の伝送インターフェースです。

2. I²C通信が正常なのに、画像を受信できないのはなぜですか?

I²C通信が正常であることは、制御チャネルが動作していることを示すだけです。画像データパスでは、MCLK、lane、PHYタイミング、プロトコル、media graph、ISP、DMAなどに問題が残っている可能性があります。

3. ECCとCRCの違いは何ですか?

ECCは主にPacket Headerを保護し、1 bitエラーの訂正と2 bitエラーの検出が可能です。CRCはLong Packet payloadの整合性を検証します。エラーが継続して発生する場合は、プロトコル設定と物理層の信号品質の両方を確認する必要があります。

4. 同じイメージセンサーでも、ボードによって動作が異なるのはなぜですか?

PCBインピーダンス、配線長、FPC、グランドリターンパス、EMI条件はいずれもD-PHYの信号品質やタイミングマージンに影響する可能性があります。

参考資料

  • MIPI Alliance, "Camera Serial Interface 2 (MIPI CSI-2)", mipi.org/specifications/csi-2
  • MIPI Alliance, "MIPI D-PHY", mipi.org/specifications/d-phy
ディスプレイ ソリューションについてのご質問はあるのでしょうか。 お問合わせ!

配信申し込み

Winstar からの最新情報を受け取ります。

お問合わせ

価格/データシート/一般的なお問合せ

技術的なサポート

技術情報についてはお問合せください。

go top
お問合わせ
close

私たちはあなたのプライバシーを大切にします

「すべてのクッキーを許可」をクリックすると、サイトのナビゲーションを向上させ、サイト使用状況を分析し、マーケティングおよびパフォーマンスの取り組みを支援するために、クッキーをデバイスに保存することに同意したことになります。この件に関する詳細情報は、ポリシーをご覧ください。プライバシーポリシー

私たちはあなたのプライバシーを大切にします

Winstarおよび特定の第三者は、www.winstar.com.twでクッキーを使用しています。クッキーの種類、目的、および関与する第三者に関する詳細は、以下および当社のクッキーポリシーに記載されています。「すべて許可」をクリックして、当社のクッキー使用に同意し、ウェブサイトでの最良の体験を得てください。また、設定を変更するか、必要なクッキーを除きクッキーを拒否することもできます。

同意設定の管理

常にアクティブ
必須なクッキー

これらのクッキーは、ウェブサイト内を移動したり、プライバシーの設定、ログイン、フォームの記入などの機能を使用できるようにするために不可欠です。

分析用クッキー

「統計クッキー」とも呼ばれるこれらのクッキーは、ウェブサイトの使用方法に関する情報を収集します。たとえば、どのページを訪れ、どのリンクをクリックしたかなどです。詳細を確認してください。