« MIPI CSI-2のRXでうまくいかない | トップページ | エヴァの映画を見てきました »

2021.05.28

特電Artix-7ボードでMIPI信号の受信に成功

ハマりまくったけど、ついにRasPi Camera V2からのデータをArtix-7で受信することに成功しました。

こんな配線だけど↓、数百MHzの信号が通ります。

A7mipi

XILINXのコアは、MIPIのHS系の信号だけではなくてLP系の信号もちゃんとつながないとダメなようでした。

また、PとNの入れ替えには対応していません。ほかにもCLKはMRCCかSRCCにつながないとダメなど、制約がかない大きいです。

最初に観測された信号が下記の波形です。

Mipi1_20210716015201

rxclkacvicehsやstopstateといった信号が見えていますね。MIPIの仕様書を読んでいないので想像ですが、LPモードの有効無効でstopstateやactivehsというのを識別しているのだと思います。

rxbyteclkhsは間欠的に出てきます。CLKがHSモードで高速にトグルしているときしか動いていないと思われます。rxbyteclkhsの速度はラインレートの1/8であるようです。

 

FPGA内蔵したロジアナで見ていますが、時間軸を拡大してみると、rxbyteclkhsをCLK200Mで見ているからデューティ比が50%になっていません。rxbyteclkhsはカメラクロックでシステムのクロックとは同期していないためです。

プロトコルを見てみると、rxsynchsが最初に1クロックHになって、その後1Hの期間rxvalidhsがHになるのだと読めます。最初のラインはrxvalidhsが3回出てくるように見えます。(最初の1回はとても短い)

Mipi2_20210716015701

 

何事も同期していないのはよくないので、rxbyteclkhsでサンプリングするようにしてみました。

Mipi3_20210716020001

先頭の2B 54 06 3Eはいつも同じ値になるっぽいです。1ラインは820ピクセルくらいありそうです。ただrxbyteclkhsはバースト的に止まるので内蔵ロジアナのクロックにするには使いにくいといえます。

 

一方、端子をJTAGバウンダリスキャンで見てみると、LPのクロック端子が約35msごとに周期的に動いているのがわかります。

Mipi4_20210716020201

これが1フレームなのでしょう。LPの端子はHUSL12のIO規格ですが、HSモードで動いているときにはLとして認識されるのだと思われます。

 

最後に、うまくいったデザインでのIPの設定とBlockDesignを示します。

Mipi5

Mipi6

 

 

 

 

 

|

« MIPI CSI-2のRXでうまくいかない | トップページ | エヴァの映画を見てきました »

コメント

コメントを書く



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




« MIPI CSI-2のRXでうまくいかない | トップページ | エヴァの映画を見てきました »