FC2カウンター FPGAの部屋 2013年05月27日
FC2ブログ

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

FPGAの部屋

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

カメラ、ビデオ表示カスタムIPを AX4-Stream に変更2(カメラ・インターフェースIP)

最初の記事は、”カメラ、ビデオ表示カスタムIPを AX4-Stream に変更1(使用するIPの検討)
前の記事は、”カメラ、ビデオ表示カスタムIPを AX4-Stream に変更1(使用するIPの検討)

まずはカメラ・インターフェイスIPをVideo In to AXI4-Stream IPを使用して作ることにした。
ここで問題となるのは、カメラからの信号には、HSYNC(水平同期信号)とVSYNC(垂直同期信号)が無いことだ。
line_valid と frame_valid があるので、カウンタを入れて、適当な所で同期信号を生成しようと思う。カメラのフレーム関連のパラメータは、”MT9D111のお勉強4”の Frame Time の図に書いてある。
MT9D111_6_121217.png

Video Input信号には、DEとData in、Vblank, Hblank, Vsync, Hsync, Video Clock がある。
DEはline_valid 信号が使える。Vblank はframe_valid を反転させれば良い。Hblankもline_valid を反転させる。問題はVsync とHsync で、これは適当に生成する必要がある。

最初に、水平同期信号を考える。Context Aを使用しているので、Horizontal Blanking Register は 0xAE = 174 pixels になっているはずだ。
フロント・ポーチを 64 クロック、HSYNCを 64 クロックとすると、パック・ポーチは 46 クロックとなるので、これで行ってみようと思う。
次に、垂直同期信号を考える。同様に、Vertical Blanking Register は 0x10 = 16 rows になっている。
フロント・ポーチを 6 rows、VSYNCを 4 rows、バック・ポーチを 6 rows にしてみようと思う。

AXI4-Stream のクロックは、Video In to AXI4-Stream IPの中で非同期FIFOでビデオ信号のクロックと切り離されているので、どのような動作周波数にしても問題がないが、100MHzくらいにしておこうと思う。

(2013/05/28:大幅修正)

実際にVerilog HDLファイルを修正していたところ、カメラのデータは1バイトずつ送られて来るのだが、それを2つ集めて1つのRGB 565のピクセルとしていることを思い出した。これでは、Video In to AXI4-Stream IPにPCLKでビデオデータとして転送するとこは不可能だということに気がついた。Video In to AXI4-Stream IPを使用するには、転送クロックを半分に落として、データ同期用の非同期FIFOを置いて、新たにビデオ信号を生成する必要がある。負担が大きいため、Video In to AXI4-Stream IPは使用しないで、そのフォーマットでカメラ・インターフェースIPから24ビットRGBを直接AXI4-Stream バスで出力することにした。

AXI4-Streamバスで出力する際に、TKEEPを2クロックごとにディアサートして、ストリーミングできるかな?と考えたが、TKEEPはストリームの最後でアライメントされていないデータのためにヌルバイトを許容するための信号のようだ。ましてやストリームの途中で全てヌルバイトにすることは許容されないはず。(”AXI リファレンスガイド UG761 (v13.1) 2011 年 3 月 7 日”53ページ、”パケットとヌルバイト”参照)

TKEEPの代わりに、TVALIDを2クロックごとにアサートしようと考えている。こうしても大丈夫らしい。”AXI リファレンスガイド UG761 (v13.1) 2011 年 3 月 7 日”の63ページ、図 4-3 : AXI4-Stream の波形を下に引用する。
Camera_Display_w_VDMA_5_130528.png

これで、カメラから出力されたPCLKでAXI4-Stream を駆動することができる。
  1. 2013年05月27日 04:56 |
  2. ZedBoard
  3. | トラックバック:0
  4. | コメント:0