« Cosmo-Kの新基板が到着 | トップページ | RasPiカメラ V2.1のI2C操作方法 »

2017.04.18

RasPiカメラ V2.1のCSI信号の詳細

Raspberry Pi カメラ 2.1のMIPI D-PHY CSIインタフェースの動作を解析しています。

前回のブログで「クロックは30Hz」と書きましたが、それは間違いでした。

RaspberryPiをつないで、raspivid -w 1920 -h 1080 -t 100000 -o hoge と打つと、カメラが動き出します。そのときの各端子の様子を高速オシロで見てみました。

CSIのクロックはオシロでみるとこのような1.2Vくらいの振幅の波形をしていますが、

Csi_ck

LVCMOS12とかではありません。

電圧が低い部分に本当のクロックが隠れていました。

Csi_ck2

30HzでHLHL・・しているように見えますが、差動信号ですから両方が同時にHになるということはありませんよね。

同時にHになっているときはIDLE状態で、低い電圧のところに振幅100mVの真のクロックがいます。

Csi22

クロックの周波数は455MHz、振幅は200mVくらいのようです。

一方、データバス(D0,D1)を見てみると、同じようにHLHLと50kHzくらいでトグルしています。

Csi_d0

データもクロックと同様に電圧が高いところでは、差動の両方とも1.2Vくらいになるので、信号なしと考えるのが妥当です。同様に本当のデータは0V付近のところにあるようです。

差動プローブで測ってみると、本当の姿が見えてきます。Lになっていた部分が信号ありの状態で、Hになっていた部分が信号のない部分です。周期は18.86usでした。

Csi17

データ線の様子を拡大すると、

Csi23

455MHzくらいのDDRで動いているようです。約1nsで1bitを送っています。

元に戻って、1Hの中で信号のある期間を測ってみたら、9.03μ秒くらいでした。

Csi16

9.03usに455MHz×2のデータレートだと8217bit入るので、1つの画素を8bitとすると1000ピクセルくらい入る計算になります。そして、Dバスは2レーンあるので、横2000ピクセルくらいのデータ量になると考えられます。

なお、1V(垂直期間)は17430μ秒だったので、925本程度の水平ラインが入ることができます。2000×926ですから、1920×1080pの30fpsなのかもしれません。

RasPiカメラ 2.1のCSIのタイミングをまとめると次の図のようになりました。

Csi_timing

次はI2Cのシーケンスと、GPIOの操作方法を解析しようと思います。

|

« Cosmo-Kの新基板が到着 | トップページ | RasPiカメラ V2.1のI2C操作方法 »

コメント

コメントを書く



(ウェブ上には掲載しません)




« Cosmo-Kの新基板が到着 | トップページ | RasPiカメラ V2.1のI2C操作方法 »