今ではかなりメジャーとなった、カメラの通信規格、MIPI CSI-2。その中で、ハード関連のエンジニアが最も興味があり、必須である、D-PHYについて解説していきたいと思います。これからカメラ関連の開発を実施する予定のものづくりエンジニアの方、または、すでにカメラ関連の開発をしていて、MIPIという言葉だけは知っているけど、どんな規格なのか詳しくは知らないという方、そんな方向けに、出来るだけ簡単にMIPI 、D-PHYに関して説明していきたいと思います。
MIPI D-PHYとは
MIPI D-PHYとは、カメラやディスプレイとのインターフェイスの主に物理層を規定したIF規格です。
カメラのインターフェイスプロトコルとして、CSI-2規格がありますが、その中に含まれる規格の1つというイメージです。物理層というのは、簡単に説明すると、トランスミッタ、レシーバを含めたその間の物理的な通信ラインとの物を指しており、D-PHYの規格とは、実際ハードウェアエンジニアが回路を設計し基板を設計した後に、その設計が正しくできたかどうか確認する為に、オシロスコープ等で波形観測をすると思いますが、その波形の規格そのもののが定義されている物となります。
本記事では、物理層で伝送できるデータの転送レートや、データライン、クロックラインの波形の規格等をまとめ、実際に皆様が設計した実波形と答え合わせが出来るように、規格をまとめていきたいと思います。
※カメラモジュールに関しては下記のページでまとめておりますので、参照頂けると嬉しいです。
D-PHYのバージョンごとの転送レート
D-PHYのバージョンは時代と共に上がっており、転送レートもバージョンによって異なります。ただしこれがアライアンスのいい所で、常に上位互換で規格が生成されている為、トランシーバとレシーバが異なるバージョンであったとしても、通信可能です。ただ速度の制限が生まれますので、下の表に、トランスミッタとレシーバの組み合わせによる、最大スピードをまとめたいと思います。
■横軸:レシーバ
■縦軸:トランスミッタ
■速度:最大転送速度
Rx v2.5 | Rx v2.1 | Rx v2.0 | Rx v1.2 | Rx v1.1 | Rx v1.0 | |
Tx v1.0 | 1.0Gbps | 1.0Gbps | 1.0Gbps | 1.0Gbps | 1.0Gbps | 1.0Gbps |
Tx v1.1 | 1.5Gbps | 1.5Gbps | 1.5Gbps | 1.5Gbps | 1.5Gbps | 1.0Gbps |
Tx v1.2 | 2.5Gbps | 2.5Gbps | 2.5Gbps | 2.5Gbps | 1.5Gbps | 1.0Gbps |
Tx v2.0 | 4.5Gbps | 4.5Gbps | 4.5Gbps | 2.5Gbps | 1.5Gbps | 1.0Gbps |
Tx v2.1 | 4.5Gbps | 4.5Gbps | 4.5Gbps | 2.5Gbps | 1.5Gbps | 1.0Gbps |
Tx v2.5 | 4.5Gbps | 4.5Gbps | 4.5Gbps | 2.5Gbps | 1.5Gbps | 1.0Gbps |
D-PHY Tx信号レベル
それではMIPI D-PHYの信号レベルを見ていきたいと思います。実際に設計が終わり、基板が出来て来た時に、ハードウェアエンジニアが真っ先に確認する内容の1つとなります。
復習になりますが、MIPIの物理層は、高速(HS(High Speed)モード)、低速(LP(Low Power)モード)の2つの信号が同じレーンの中に混ざって伝送されます。よって、振幅、速度の異なる波形が同一ラインを走る事になります。上記に記載した転送レートはHSモードの事を記載しており、HSモードの時に映像データが転送されます。論理層と物理層の関係は下記の記事に記載しておりますので、ご参照頂ければ幸いです。
参考:MIPI CSI-2 の概要、カメラ開発のものづくりエンジニア必見。
物理層に話を戻すと、MIPIのAllianceで定められている仕様には、送信側の仕様と受信側の仕様の2種があり、
■送信側の波形の仕様。
■受信側で受信可能な波形の仕様
この2つが定義されております。まずは送信側の規格を記載いたします。
低速モード(LPモード)の方は、通常のCMOSインターフェイスとさほど違いはありません。振幅レベルは次のように定義されております。
■LPモード
- 振幅レベル
- 1.2V±0.1V(1.2Vを中心に、1.1V~1.3Vの範囲で定義)
一方高速モード(HSモード)の方ですが、次のように定義されております。
■HSモード
- コモンモード電圧(+と-の波形がクロスするポイント)
- 150mV~250mV(200mVセンター)
- 振幅レベル
- 140mV~270mV(200mVセンター)
- 最大電圧レベル
- 360mV
D-PHY Rx信号レベル
次にレシーバ側の規格を記載いたします。こちらの規格の方が重要です。受信端で波形測定をした時にこの規格を満足できていないと、レシーバが受信できないという事になります。前提として、MIPIのHSレシーバは入力インピーダンスが100Ω(80~125Ω)となっておりますので、伝送路は差動インピーダンスコントロール100Ωで設計する必要があります。
■LPモード
- 振幅レベル
- 740mV~1.3Vまで「High」として受信可能。(550mV~740mVはHighとなるかLowなるか不明確)
- 550mV以下を「Low」として受信可能
■HSモード
- コモンモード電圧(+と-の波形がクロスするポイント)
- 70mV~330mV
- 最大電圧レベル
- -40mV~460mV
D-PHY クロック波形
それでは最後に、データを受信する時に波形品質と共に重要な、クロックとデータの関係について言及していきたいと思います。データを受信する際、基本的にはクロックでラッチする為、クロックとデータのタイミングは非常に重要です。こちらは世代ごとに考え方が異なりますので、伝送スピード毎に規格を記載していきたいと思います。
基本的な考え方はクロックの立ち上がり、立下りのタイミングで、データをしっかりラッチ出来るように、セットアップとホールドの時間を確保する事と、その為にクロック、データとも波形品質を上げ、ジッタを少なくする事です。
セットアアップとホールドは下の図の通り、データの切り替わりタイミングから、クロックの立ち上がり(立下り)までの時間をセットアップ、その場所から次のデータの切り替わりのタイミングをホールドと呼び、この時間が多ければ多いほど、安定してデータを取得する事が出来ます。
■転送レート:0.08Gbps 以上 1Gbps以下
- Tx data とクロック間のスキュー:-0.15~0.15 UIhs
- Rx セットアップ:min 0.15UIhs
- Rx ホールド:min 0.15UIhs
- 各チャンネルとクロック間のスキュー:-0.2~0.2 UIhs
■転送レート:1Gbpsより大きく 1.5Gbps以下
- Tx dataとクロック間のスキュー:-0.2~0.2UIhs
- Rx セットアップ:min 0.2UIhs
- Rx ホールド:min 0.2UIhs
- 各チャンネルとクロック間のスキュー:-0.1~0.1 UIhs
■転送レート:1.5Gbpsより大きく 4.5Gbps以下
この速度になると規格の考え方が変わり、セットアップホールドではなく、ジッタで定義されるようになります。
- Txデータとクロックの「Total Jitter」:最大0.3UIhs
- Txデータとクロックの「Deterministic Jitter」:最大0.2UIhs
- Txデータとクロックの「Random Jitter」:最大0.1UIhs
- Txデータとクロックのスキュー :-0.2~.2UIhs
- Rxデータとクロックの「Total Jitter」:最大0.5UIhs
- Rxデータとクロックの「Deterministic Jitter」:最大0.4UIhs
- Rxデータとクロックの「Random Jitter」:最大0.1UIhs
- Rxデータとクロックのスキュー :-0.3~0.3UIhs
- 各チャンネルとクロック間のスキュー:-0.1~0.1 UIhs
マルチデータ転送
最後に複数レーンを用いる場合のデータ転送について解説したいと思います。MIPIのD-PHYは下の図のように、Clock、データ1~4レーン、CCI伝送で構成されています。データが複数レーンとなった時、画像データがどのように伝送されるのかを見たいと思います。
データが複数レーンになる時の伝送の順番を下の図に示します。この図のように、SoT,EoTは全ラインついていますが、データに関しては、レーン1→2→3→4→1の順に1バイトづつ伝送する仕組みになっております。仮に1バイト1画素だとすると、1画素目は1レーン、2画素目は2レーンといった感じに伝送されます(フォーマットにより異なります)つまり、どこか1つのレーンがなくなると、フォーマットによっては画像が間引かれたようにデータが運ばれる事になります。
まとめ
MIPI D-PHYの物理層に関してまとめました。本来Allianceの仕様書では、D-Phyに関わる内容だけで200ページ以上ありますので、正直この内容だけでは伝え足りません。しかしながら、MIPIを始めて学習し設計する時にはまず概要と参照頂ければ幸いです。さらに詳細な仕様は是非アライアンスの仕様書をダウンロード頂きご確認いただく事をお勧めいたします。
動画でも解説しておりますので、よろしかったらご覧ください。
その他高速伝送関係に関しては下記の記事でも記載しておりますので、よろしければご参照頂ければと思います。
参考:差動伝送規格、LVDSとは?誤解されがちな規格とメリットを徹底解説
参考:車載用高速伝送ソニーのGVIFとは、FPD-LINKやGMSLも合わせて解説
参考:USB3.xとUSB2.0の違いをエンジニア視点で解説します。
参考:DDR-SDRAMとは、仕組み、動作、オシロスコープでの測定方法の解説
エンジニアになる為のブログラムの学習は下記から。
参考:収入アップの為の、おすすめプログラミングスクール3社を紹介します
記事が気に入って頂けたら、クリックして頂けると嬉しいです。
コメント