FC2カウンター FPGAの部屋 ZedBoard用CMOSカメラ回路の作製10(画像の上下を反転)
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

ZedBoard用CMOSカメラ回路の作製10(画像の上下を反転)

 前回、CMOSカメラの取り付けをミスって、画像が上下反転してしまったので、カメラ回路の方で上下を反転することにした。
mt9d111_inf_axi_master IPをAdd IPする際に、C_UPSIDE_DOWN パラメータを追加して、TRUEだったら、カメラ画像の上下を反転することにした。
ZedBoard_Cam_34_130117.png

HDLコードも修正して、論理合成、インプリメントしてみたところ、正常に写っているんですが、エッジにゴミが見えます。
ZedBoard_Cam_35_130118.jpg 

上の写真では見づらいかもしれませんが、エッジの付近を見るとノイズが見えます。上下反転せずに、上下逆さまで表示するとノイズは見えません。シミュレーションでもう一度確認することにします。

(追加)
理由がわかった気がします。
カメラ回路はMT9D111から受け取ったピクセルデータを非同期FIFOを介して、100MHz動作のAXIバスでPSに送って、DDR3 SDRAMに書き込んでいます。その時に、AXIバスかバックエンドが遅く、2つ以上のピクセルデータをバーストで書き込む場合がありました。その時のAXIバスのM_AXI_AWBURST のモードは、INCR でアドレス・インクリメント・モードです。ですが、上下反転の場合は、後ろのアドレスから書き込んでいくので、アドレス・デクリメント・モードで書かないとバーストできません。そんなモードはAXIバスには無いですし、DDR3 SDRAMのバースト・モードの関係から言ってもできない相談です。というわけで、代替え案を考える必要がありそうです。考えられる代替え案としては、次に示す二つがあると思われます。

1.Last In First Out (つまりスタックですね!)を付ける。(結構面倒そう)
2.AXIバスの動作周波数を200MHz(アナデバのHDMIサンプルのAXIバスの動作周波数は 200MHz です)にして、シングル転送限定とする。


1.は面倒なので、2.をやってみたいと思います。その前に、1ドル = 90円を超えてしまったので、もっと高くなる前に、基板を改訂してFusionPCBに投げようと思います。
  1. 2013年01月18日 05:52 |
  2. ZedBoard
  3. | トラックバック:0
  4. | コメント:2

コメント

私の場合は、後でバスに負荷が追加された時のことを考えて転送用のFIFOをばらして(1)で解決しました。
1ライン分をまるごとスタックするとメモリがたくさん必要になるので
 8または16画素を1ブロックとする
 4または8ブロックを管理(このあたりは管理のしやすさで)
 1ブロック貯まるごとに転送要求(固定長でバースト要求ってできるのかな?)
画面反転は1ブロック分のアドレスを反転して書き込んだ後、転送ごとにアドレス減算。
これなら、バス幅の変換含めてもあまり難しく考える必要なかったですし、ピクセルの抜けとかって、目で見てもなかなかわかりずらいので確実性をとりました。

カード払いだと処理時のレートになるんで、いまみたいな状況だと発注が怖いです。
  1. 2013/01/18(金) 15:59:54 |
  2. URL |
  3. おる #qbIq4rIg
  4. [ 編集 ]

私の場合は、修正基板が出来るまでの間のつなぎなので、対症療法で良いかな?と思っています。(修正基板できました。明日、FusionPCBに出そうと思っています)
なお、AXIバスは固定長でバーストできます。また、アドレス転送部分のオーバーラップもできるので、それでスループットをあげようかな?と思ってもいます。そうすると1ワード(64ビット)のシングル転送でも行けるんじゃないか?と思います。この転送方式を実装してみたかったので、やってみたいと思います。
  1. 2013/01/18(金) 21:25:31 |
  2. URL |
  3. marsee #f1oWVgn2
  4. [ 編集 ]

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog.fc2.com/tb.php/2365-385edd55
この記事にトラックバックする(FC2ブログユーザー)