MIPI CSI RXはどのくらいの速度まで上げられるのか?
開発中のSpartan-7ボードでMIPI CSIの実験を行っています。
下の図を見てください。
光のまわりに黒い点々が見えますね。
これは、RasPiカメラV2から912Mbpsのラインレート(標準)で出したデータをSpartan-7で受け取ったときにエラーが出てしまっているため、ビットが化けて点々が出てしまっているのです。
1280×720のとき(ラインレート552Mbps)には出なかったのですが、912Mbpsで出るようになってしまった・・とほほ
というわけで、これを消す方法をいろいろ考えました。
最初は急冷材をかけてFPGAを氷点下まで冷やしました。
するとノイズが消えたので、間違いなくFPGAでタイミングが間に合っていないのだと思われます。
次にMIPI CSI RX SubsystemコアのCalibrationをONにすることを試みました。
上のように設定すると自動でIDELAYE2のディレイを調整してくれるそうなのですが、結果は失敗。画像が出てこなくなりました。
また、データシート(PG202)によれば、キャリブレーションを使うときにはDIFF_TERMをONにするという記述があるのですが、DIFF_TERMをONにするとLVDSの2.5VのVCCIOが必要になります。当該バンクは3.3Vなので結局不可です。
そもそもSpartan-7は900MbpsのMIPIのレートに対応しているのかという心配があったのですが、
Spartan-7のデータシートによれば入力をDDRレジスタで受ければ1250Mbpsまではいけるとのこと。MIPI RXをインプリメントしたデザインを見て見ると、ちゃんと入力はDDRで受けているのでこれも問題なし。
特電Spartan-7ボードでは912Mbpsのラインレートが使えないのかと途方に暮れていましたが、回路図で一つ気になっているところがあって、このHSとLPをつないでいる抵抗なのですが、これを150Ωを実装してしまっていました。
他所の回路図ではみんな100Ωなので、ためしに100Ωに乗せ換えてみると・・
よかった!912Mbpsでも黒い点々が出ない!!
Spartan-7にRaspiカメラV2をつないで、912Mbpsのレートを達成できました。
ちなみに、30C,30DのPLL_OP_MPYレジスタを操作してビットレートを変えてみると、1024Mbpsの時には点々のゴミが出るようになってしまいました。
944Mbpsでも点々が出始めるので、特電Spartan-7ボードではこのあたりが限界なのかもしれません。
| 固定リンク
コメント