FC2カウンター FPGAの部屋 AXI VDMAを使ったカメラ画像回路の作製2(Xilinxアンサーを検索)
fc2ブログ

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

FPGAの部屋

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

AXI VDMAを使ったカメラ画像回路の作製2(Xilinxアンサーを検索)

AXI VDMAを使ったカメラ画像回路の作製1(プロジェクトの作製)”の続き。

AXI VDMAを双方向でまともに動かしたことが1度もないので、動かしてみたいということで、Xilinx社のアンサーを検索してみた。
そうしたところ、”AR# 56623 LogiCORE IP AXI Video Direct Memory Access v6.0 - IPI デザインで S2MM_TREADY がディアサートされたままになる”が見つかった。
このアンサーは、VivadoのIP Integrator 用だが、 s_axis_s2mm_tkeep のデフォルト接続は現在 0 で、すべてのバイトをヌルバイトとして処理して、データをメモリに転送できなくなって、内部バッファーがFULLになると、treadyがディアサートされるというアンサーだ。
今回のAXI VDMAはVer.5.04で、Project Navigatorを使用しているが、一応、tkeep信号を 1 に駆動しておこうと思う。

次に、”AR# 53281 LogiCORE IP AXI Video Direct Memory Access - FSYNC 処理の推奨事項”が見つかった。
それによると、fsync を使ったインターフェースから、SOF(Start Of Frame) on TUSER を使ったインターフェースに移行しているそうだ。積極的に tuser を使ったほうが良いそうだ。

AR# 53281の推奨事項を以下に引用する。

・入力で Video Timing Controller コアを検出モードで使用する。

・Video In to AXI4 Stream コアを使用して入力ビデオ タイミング情報から SOF 信号を生成する。

・AXI VDMA などの該当するコアの SOF on TUSER モードをイネーブルにし、fsync 信号ではなくこれを使用してフレーム同期を行う。コアによって、SOF が自動的にシステム全体に伝搬されます。

・デザインに AXI VDMA が含まれている場合 :
   ・S2MM 側を外部フレーム同期モードに設定し、SOF on TUSER をイネーブルにする。 S2MM_DMACR レジスタの FsyncSrcSelect ビットを 2'b10 に設定してフレーム同期ソースとして TUSER を選択してください。

   ・MM2S 側をフリー ランニング モードに設定する。

   ・fsync 信号を接続する (XPS では接続しなくてもよい)。

・出力で Video Timing Controller コアを生成モードで使用し、ビデオ タイミング情報を再生成する。

・AXI4 Stream to Video Out コアを使用して出力ビデオ データを同期する。


そうか、MM2S側はフリー・ランさせて、VTCでタイミングを再生成させるのか?その場合、AXI VDMAは、fsync を出したら途切れなくデータを供給してくれないと、ビデオ信号が破綻してしまいそうだ。今の自作 custom_vtc IP には、生成モードは無いので、作る必要がある。

詳細は、『AXI4-Stream Video IP およびシステム デザイン ガイド』 (UG934)を参照して欲しいそうだ。

自分の AXI_VDMA 回路を見なおしてみよう。
  1. 2014年03月29日 05:20 |
  2. ZedBoard
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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