FC2カウンター FPGAの部屋 Ultra96用PMOD拡張ボードでカメラ入力1(mt9d111_inf_axis IP の作成1)
FC2ブログ

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

FPGAの部屋

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

Ultra96用PMOD拡張ボードでカメラ入力1(mt9d111_inf_axis IP の作成1)

Ultra96 ボードでデバイスツリー・オーバーレイをテストする6”でUltra96 のデバイスツリー・オーバーレイは完成したので、次は、以前作製したUltra96用PMOD拡張ボードのPMOD にカメラ(MT9D111)を接続してカメラ画像を表示したいのだが、残念ながらDisplayPort が表示出来ていない。よって、その前段階として、Ultra96用PMOD拡張ボードにMT9D111は接続するのだが、Frame Buffer のメモリにDMA Write するだけのVivado 2018.2 プロジェクトを作成したい。そのFrame Buffer をARM プロセッサで読んで、BMP ファイルにできればパソコンへX Window 経由で表示できるはずだ。
キャッシュにも書けるようになっているし、その環境は十分に整っている。Ultra96用PMOD拡張ボードの動作チェックも行うことができる。

まずは、最初にカメラMT9D111 とのインターフェース用のAXI4-Stream 出力のIP を作成する必要がある。さて、そのmt9d111_inf_axis IP を作っていこう。

まずは、ボードファイルUltra96v1:1.2 を使用して、mt9d111_axis_mpsoc プロジェクトを作成した。

次に、カメラのデータを受けるための非同期FIFO の pixel_fifo を作っていこう。このFIFO は入力のクロックはカメラのクロックで、出力のクロックはAXI4-Stream のクロックなため、非同期FIFO として実装する。
最初にIP Catalog を表示し、「fifo」で検索して、FIFO Generator をダブルクリックしてダイアログを表示させた。
mt9d111_axis_mpsoc_1_181030.png

最初のFIFO Generator のダイアログ画面を示す。Basic タブだ。
最初に、Component Name に pixel_fifo と入力する。
Fifo Implementaion で Independent Clocks Block RAM を選択する。
mt9d111_axis_mpsoc_2_181030.png

次は、Native Ports タブをクリックする。
Read Mode のラジオボタンをクリックして、First Word Fall Through モードにする。
Data Port Parameters の Write Width と Read Width は 34 に、Write Depth と Read Depth は 512 とする。
mt9d111_axis_mpsoc_3_181030.png

Status Flags タブで、Optional Flags でAlmost Full Flag とAlmost Empty Flag 、overflow 、underflow のチェックボックスにチェックを入れて活かす。
mt9d111_axis_mpsoc_4_181030.png

Data Counts タブで、Data Count Options の More Accurate Data Counts にチェックを入れる。またRead Data Count(Synchronized with Read Clk) にチェックを入れる。
mt9d111_axis_mpsoc_5_181030.png

Summary タブで確認して、OK ボタンをクリックする。
mt9d111_axis_mpsoc_6_181030.png

これで pixel_fifo が生成された。
  1. 2018年10月31日 04:40 |
  2. Ultra96
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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