私たちはあなたのプライバシーを大切にします
「すべてのクッキーを許可」をクリックすると、サイトのナビゲーションを向上させ、サイト使用状況を分析し、マーケティングおよびパフォーマンスの取り組みを支援するために、クッキーをデバイスに保存することに同意したことになります。この件に関する詳細情報は、ポリシーをご覧ください。プライバシーポリシー
本記事では、MIPI CSI-2カメラインターフェースのシステム構成、D-PHY伝送、パケット機構、画像フォーマット、帯域幅の算出、およびLinux media-controller環境での統合とトラブルシューティングについて解説します。ARM SoC、イメージセンサー、ISP、V4L2ビデオパイプラインを使用したハードウェア/ソフトウェア統合を対象としています。

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

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

| 状態 / フェーズ | 役割 | 統合時の確認事項 |
|---|---|---|
| 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数、信号品質を確認 |
CSI-2では、Short Packetを使用してプロトコルイベントや同期情報を伝送し、Long Packetを使用してRAW、YUV、RGB、またはembedded dataを伝送します。Long Packetは、4-byte header、payload、2-byte CRC footerで構成されます。

| フィールド | 機能 | 確認項目 |
|---|---|---|
| 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の下限は、次の式で算出できます。
この計算値は、有効画素データに必要なpayloadの下限にすぎません。実際のCSI-2 throughputとD-PHY lane rateを算出する際は、packet header、CRC、同期パケット、blankingの伝送方式、Data Lane数、clock mode、センサーで使用可能なlink-frequency設定、およびSoC CSI receiverの制約も考慮する必要があります。
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に合わせて調整する必要があり、すべてのプラットフォームで共通ではありません。

| 項目 | 確認事項 | 代表的な症状 |
|---|---|---|
| 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 |
いいえ。CSI-2は画像データのパケットプロトコルであり、D-PHYは一般的に使用される物理層の伝送インターフェースです。
I²C通信が正常であることは、制御チャネルが動作していることを示すだけです。画像データパスでは、MCLK、lane、PHYタイミング、プロトコル、media graph、ISP、DMAなどに問題が残っている可能性があります。
ECCは主にPacket Headerを保護し、1 bitエラーの訂正と2 bitエラーの検出が可能です。CRCはLong Packet payloadの整合性を検証します。エラーが継続して発生する場合は、プロトコル設定と物理層の信号品質の両方を確認する必要があります。
PCBインピーダンス、配線長、FPC、グランドリターンパス、EMI条件はいずれもD-PHYの信号品質やタイミングマージンに影響する可能性があります。
「すべてのクッキーを許可」をクリックすると、サイトのナビゲーションを向上させ、サイト使用状況を分析し、マーケティングおよびパフォーマンスの取り組みを支援するために、クッキーをデバイスに保存することに同意したことになります。この件に関する詳細情報は、ポリシーをご覧ください。プライバシーポリシー