« Trenz社製品の情報をデータベースに入れて在庫と納期を検索できるようにした | トップページ | 特電Artix-7ボードでMIPI信号の受信に成功 »

2021.05.26

MIPI CSI-2のRXでうまくいかない

Vivado 2020.2をインストールしてMIPI CSI-2のカメラ受信をしようとしているのですが、なかなかうまくいきません。

XILINXが提供しているコアにはMIPI CSI-2 RX Subsystemというのと、MIPI D-PHYというものの2つがあります。MIPI D-PHYはPHYのみですが、MIPI CSI-2 RX SubsystemはPHYの後ろにタイミング関係やRAW10などのパターンの変換などが付いていてVideoという例のバスが出てくる高度なものになっています。

MIPI CSI-2 RX Subsystemは、MIPI D-PHYにデコーダ回路を付けたものらしいので、まずは高レベルのRX Subsystemで試してみました。

これらのコアを使用して配置配線をするとBitGenやPlaterでエラーが出てしまいます。MIPIのコア自体にはIOSTANDARDの設定がされていないようなので、XDCファイルに

set_property IOSTANDARD LVDS_25 [get_ports cam_clkp_ip]
set_property IOSTANDARD LVDS_25 [get_ports cam_clkn_ip]
set_property IOSTANDARD LVDS_25 [get_ports {cam_dp_ip[0]}]
set_property IOSTANDARD LVDS_25 [get_ports {cam_dn_ip[0]}]
set_property IOSTANDARD LVDS_25 [get_ports {cam_dp_ip[1]}]
set_property IOSTANDARD LVDS_25 [get_ports {cam_dn_ip[1]}]

のように書いてIO規格を指定しなければなりませんでした。

データを受信するI/Oの規格はLVDSなのですが、IO電圧は3.3Vなので、このままだとエラーが出てしまいます。LVDS_25は受信だけなら3.3VのIOでもできるのですが、終端抵抗(DIFF_TERM)が入っているとIO電源電圧は2.5V要求されます。そこで、

set_property DIFF_TERM false [get_ports cam_clkp_ip]
set_property DIFF_TERM false [get_ports cam_clkn_ip]
set_property DIFF_TERM false [get_ports {cam_dp_ip[0]}]
set_property DIFF_TERM false [get_ports {cam_dn_ip[0]}]
set_property DIFF_TERM false [get_ports {cam_dp_ip[1]}]
set_property DIFF_TERM false [get_ports {cam_dn_ip[1]}]

のようにしてDIFF_TERMを無効にして、そのかわりに基板上にチップ抵抗を実装して

 

さて、MIPI CSI-2 RX Subsystemから出てくる信号をロジアナで観測したものの、すべての信号が全く出てきません。

Mipi1

唯一変化があったのは、rxbyteclkhsと、system_rst_outのみです。

rxbyteclkhsはだいたい69MHzくらいなのですがバースト的に動作しています。つまり、動いているときと止まっているときがあります。連続して送られてくるわけではないので、これをPLLの元にすることはできないでしょう。

 

信号が出てこない原因として考えられるのは2つあって、一つはMIPIのLPのほうをつないでいないということ。もう一つは基板の設計を間違えていてMIPIの差動信号のPとNが逆になっていることです。どうやらXILINXのコアにはレーンリバーサルの機能はないようです。

 

高度なRX Subsystemがだめなら低レベルのD-PHYだ、と思って、D-PHYをつないで全信号を内蔵ロジアナで見てみたのですが、

Mipi2

これもダメでした。

Mipi3

全信号がうんともすんとも言いません。

IPの設定はこんな感じです。

Mipi4

さて、次の手はどうしようかと悩むところです。

Trenz社製のMIPI RXコアを使うか、配線のPとNを入れ替えてみるか、どちらかですね。

 

|

« Trenz社製品の情報をデータベースに入れて在庫と納期を検索できるようにした | トップページ | 特電Artix-7ボードでMIPI信号の受信に成功 »

コメント

コメントを書く



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




« Trenz社製品の情報をデータベースに入れて在庫と納期を検索できるようにした | トップページ | 特電Artix-7ボードでMIPI信号の受信に成功 »