Skip to the content
PCBKitNew board
2 layers77.5 × 63.2 mmTvp board, the printed circuit board in 3D

Video digitizer add-on module for DE2-115 FPGA development board.

Size
77.5 × 63.2 mm
Copper layers
2
Thickness
1.6 mm
Parts
70
Nets
72
Pads
348
Tracks, vias
707, 47
Pours
2
Routed
Yes
KiCad
KiCad 3
Created
16 Feb 2015
Updated
17 Apr 2017

Overview

Tvp board is an open-source printed circuit board by marqs85, from the marqs85/de2-vd repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 77.5 × 63.2 mm with 70 parts on 72 nets, routed with 707 tracks and 47 vias.

It is built around the SN74LVC2G17DBV, TVP7002PZP and TLV71209DBV, with the MIC5210-3.3 among its other parts. Its parts include 38 capacitors, 15 resistors, 8 ICs and 5 connectors. It belongs with the fPGA and programmable logic and microcontroller boards boards of this library.

Main components

4

README

README.md

DE2-vd

DE2-vd is a video digitization add-on module for Altera DE2-115 FPGA development board. Together with DE2-115, it can be used in converting analog RGB/component video into digital format with very low processing latency. The system is mainly designed for using retro game consoles / home computers on modern displays.

The module is a prototype for a single-board digitization and scan converter system to be released in the future. Therefore, the current system is targeted for developers / hobbyists interested in FPGA design and video digitization - no in-depth documentation is currently provided.

Features

  • detects and digitizes various video modes from 240p to 1280x1024 (and possibly higher with future updates)
  • linedouble-support for 240p, 480i, 288p, 576i
  • linetriple-support for 240p with 4 different sampling modes
  • very low latency (less than 2 input scanlines)
  • single-field "deinterlace" for 480i/576i: minimal latency overhead with decent image quality
  • quick recover from input video mode change (e.g. 240p<->480i)
  • all video processing done in RGB domain - no conversion to YCbCr
  • multiple inputs supporting various formats
  • RGBS via SCART connector
  • RGBHV/RGBS via VGA connector
  • YPbPr/RGsB via 3xRCA connector
  • Two possible output methods
  • full-range RGB output through HDMI
  • analog RGB output through VGA DAC
  • emulated scanlines with configurable strength
  • configurable mask for overscan area
  • configurable horizontal sample rate (only limited by display support)
  • fully open source: rtl, software and pcb design files all avaiable for modification

Required HW and SW

Connection diagrams

DE2-vd module connections

DE2-vd module connections

DE2-115 board connections

DE2-115 board controls and connections

Build instructions

  1. Edit rtl/output_sel.v.example to suit your setup, and save the modified file into rtl/output_sel.v
  2. Load the project (videoproc.qpf) in Quartus II
  3. Generate Qsys system files (Tools -> Qsys. Open sys.qsys -> Generate -> Generate HDL)
  4. Generate the FPGA bitstream (Quartus window -> Processing -> Start Compilation)
  5. Program the bitstream into the FPGA using either JTAG (volatile/.sof) or AS programming (nonvolatile/.pof) method

Usage

Before turning on the power, set jumpers JP7 and JP8 on the DE2-115 development board into 3.3V position. After programming the FPGA, the character LCD and 7-segment LEDs should display "OSSC" if the connection between the boards is operational.

Input selection

Active input and format can be selected by using the 3 leftmost push-buttons on the board (see connection diagram). The inputs and corresponding connectors and formats are listed in the following table. The format within one input can be switched by pressing the same input button again.

InputConnectorFormat
AV1SCARTRGBS (csync or cvbs as sync)
AV2VGARGBHV
RGBS (csync connected to pin 13)
AV33xRCAYPbPr
RGsB

Line multiplier configuration

With SD video input, the line multiplier is activated in order to generate an output which is accepted by the target display. By default, the system uses linedouble and a horizontal sampling rate which results to 720 active pixels (720x480 with 60Hz, 720x576 with 50Hz). This is a standard mode which is compatible with basically all HDMI-enabled displays.

With 240p input, it is possible to improve output quality by enabling linetripler (L3_ENABLE=1) and selecting a suitable sampling mode (L3_MODE). This allows sampling the input video with a rate which matches the rate of the DAC generating the video, or alternatively with significant oversampling. Moreover, the output resolution (1280x720) is closer to the native resolution of modern displays, resulting to less scaling. There features reduce the softness resulting from inoptimal sampling and/or scaling. The sampling modes are as follows:

L3_MODE[1:0]NumberDescription
000Input sampled at full 1280 horizontal, resulting to 1280x720 effective area. Generic oversampling mode for 16:9 video.
011Input sampled at 960 horizontal, resulting to 960x720 effective area. Generic oversampling mode for 4:3 video.
102Input sampled at 320 horizontal, multiplied by 3 in horizontal direction resulting to 960x720 effective area. A mode suitable for 320x240 input, e.g. PSX, N64.
113Input sampled at 256 horizontal, multiplied by 4 in horizontal direction resulting to 1024x720 effective area. A mode suitable for 256x240 input, e.g. SNES, MD.

NOTE: the 1280x720 mode outputted by linetripler does not match the standardized 1280x720 mode and is not guarateed to work correctly on all displays.

Scanlines

Emulated scanlines can be enabled with SCANLINES_ENABLE-switch, and their strength is adjusted by SCANLINE_STR[2:0]. Scanlines are active every other output line with linedouble/bare digitize, and every third output line with linetriple.

Border masking

Up to 15 pixels of input video's borders can be masked with black bars in horizontal and vertical direction via H_MASK[3:0] and V_MASK[3:0] switches.

Parts

70
QtyValueFootprintReferences
210.1uSM0603_CapaC1, C2, C3, C4, C10, C12, C14, C15, C18, C20, C21, C22, C23, C26, C27, C28 +5
1075SM0603R1, R2, R3, R4, R5, R6, R7, R8, R9, R10
71uSM0603_CapaC32, C33, C34, C35, C36, C37, C38
41nSM0603_CapaC11, C13, C16, C24
4P***1pin1PIN, 1PIN, 1PIN, 1PIN
32.2kSM0603R13, R14, R15
3TLV71209DBVSOT23-5U6, U7, U8
210nSM0603_CapaC17, C25
22.2uSM1206POLC29, C30
11.5kSM0603R11
1330SM0603R12
13XRCA_CONN3xRCA_CONNU2
14.7nSM0603_CapaC19
1470pSM0603_CapaC31
15VDC_INBARREL_JACK_roundconnCON1
1ACHL-27MHZ-EKACHL-24U3
1CONN_20X2PIN_ARRAY_20X2P2
1MIC5210MSOP_8U5
1SCART-FSCART_CONNP1
1SMA_PCLKSMA_CONNP3
1SN74LVC2G17sc70-6U4
1TVP7002PZPTQFP_100-thermalU1
1VGAVGA_CONNJ1

Questions

How big is the Tvp board PCB?

It measures 77.5 × 63.2 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Tvp board use?

70 parts, built around the SN74LVC2G17DBV, TVP7002PZP, TLV71209DBV and MIC5210-3.3. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Tvp board KiCad files?

From the marqs85/de2-vd repository on GitHub, at the commit this page was made from: the board is pcb/tvp_board.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Tvp board design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 4 layers124.6 × 68.7 mmOssc board, the printed circuit board in 3D

    Ossc board

    marqs85/ossc_pcb

    ossc pcb design files

    265 parts163
  • 2 layers46.3 × 47.6 mmPowerRev2, the printed circuit board in 3D

    PowerRev2

    cculpepper/APRSDongle

    Telemetry module for a HAB or a rocket, or a car, or a....

    102 parts4
  • 6 layers177.7 × 96.6 mmCentrifuge, the printed circuit board in 3D

    Centrifuge

    vgacentrifuge/pcb

    The repository for designing the PCB for the VGA-mixer in TDT4295

    399 parts1
  • 4 layers57.5 × 92 mmPrototype1, the printed circuit board in 3D

    Prototype1

    domenipavec/usb-vga-computer-control

    sudo apt-get install python-opencv v4l-utils python-pip sudo pip install -r python-software/requirements.txt

    147 parts
  • 2 layersVideoIO, the printed circuit board in 3D

    VideoIO

    DaveRichmond/PCBs

    Just a bunch of PCBs I've designed for various prototyping or experimentation purposes. Mostly breakouts or adapters. CC-BY-3.0-AU

    67 parts
  • 4 layers165 × 125 mmVideoConv V1, the printed circuit board in 3D

    VideoConv V1

    zOnlyKroks/pcb-consortium

    236 partsCC0-1.0
  • 4 layers160 × 100 mmRosco m68k, the printed circuit board in 3D

    Rosco m68k

    rosco-m68k/rosco_m68k

    Design, documentation and software for the Really Old School Computer (M68K)

    140 parts200