/*
 * vgaC - capture VGA signals most simply... I wish
 *   by uratan! 2013.3.7
 */

LPC1830-Xplorer で USB 2.0 HighSpeed に

とりあえず そこそこ動くようになったので…。
LPC1830-Xplorer とは SPI で接続してます。また LPC1830 の SPIFI インターフェースを、キャプチャーデータの吸出し専用 4bit parallel チャンネルとして活用してみました。
SPIFI インターフェースの MemoryMap 機能により memcpy() でデータの吸出しができますし、その気になれば LPC1830 内バッファーを省略して直接 USB 転送できます。
    LPC1830               FPGA
  ---------+             +----------  
        SPI|<===========>|SPI
           |             | (SCK=25MHz)
  SPIFI_SCK|---+-------->|SPIFI_SCK
           |   |         |   (25MHz)
   SPIFI_IO|<=====++====>|SPIFI_IO
           |   |  ||     |
   SPIFI_CS|------------>|SPIFI_CS
           |   |  ||  +--|ROM_xCS
           |   |  ||  |  +----------
           |   V  VV  V
           | +----------+
           | |  SPIFI   |
           | |   flash  |
  ---------+ +----------+
		
Xplorer 本体はブリッジ基板を経て 3階建てに。
(クリックで拡大)
vgaC に比べて、FPGA からの吸出しレートは 6.1倍、USB 転送レートは 28倍になってます。
表示には wvgaC.exe を そのまま使ってますが、 vgaC に合わせた「上から下へ(もしくは逆)の連続スキャン」方式では 待ちまくり、時間空きまくりです。
(クリックで拡大) (比較:Seq1)
LPC1830 内バッファーも、FPGA バッファー 2枚分以上確保できます。 xc3s200 の 24KB バッファーもこれで日の目を見るというもの。 この状態でのパフォーマンスは以下のごとく。 (比較)
メモリも確保し転送速度も上がって single buffer / double buffer の差がなくなってます。
  640x400
(720x400@70Hzを
25.2MHzで)
640x480
(640x480@60Hzを
25.2MHzで)
1000x770
(1024x768@60Hzを
63MHzで)
xc3s200
(24KB)
DELL
(USB2.0)
(24MB/s)
color 14.0f/s
(up/76L)
10.1f/s
(up/76L)
4.0f/s
(up/49L)
mono 35.2f/s
(down/303L)
30.3f/s
(DBL/down/303L)
20.0f/s
(down/195L)
消費電流は Xplorer の増分がそのままのって 0.37A ぐらいです。 (比較)



さてここからどうしたものか…

    uratan@miomio.jp
upward