Video. Prof. Stephen A. Edwards Columbia University Spring Video p.

Similar documents
Video. Prof. Stephen A. Edwards Columbia University Spring Video p. 1/2

Lab 3: VGA Bouncing Ball I

VGA Pixel Buffer Stephen Just

ECE 448 Lecture 10. VGA Display Part 1 VGA Synchronization

Eng. Mohammed Samara. Fall The Islamic University of Gaza. Faculty of Engineering. Computer Engineering Department

Gateway 50-inch Plasma TV Specifications

Design of VGA Controller using VHDL for LCD Display using FPGA

10 Digital TV Introduction Subsampling

CALIFORNIA STATE UNIVERSITY, NORTHRIDGE. Reconfigurable RGB Video Test Pattern Generator

Lab 6: Video Game PONG

To discuss. Types of video signals Analog Video Digital Video. Multimedia Computing (CSIT 410) 2

SERIAL COMMAND SET GENERAL COMMAND SET SUMMARY SERIAL COMMAND SET USAGE

Flip-flop and Registers

User manual mermaid ventura 150/170/181/190 TFT Video

SPECIFICATION FOR APPROVAL

Graduate Institute of Electronics Engineering, NTU Digital Video Recorder

Lab # 9 VGA Controller

DATA SHEET. MODEL : HERMES Part Nr. : LDB-XXXXHE Data Sheet (Ver 2.0) January Data Sheet : LDB-XXXXXHM. 806,Anyang Trade Center Dongan-Gu

TSIU03: Lab 3 - VGA. Petter Källström, Mario Garrido. September 10, 2018

PC/HDTV to PC/HDTV converter (CP-251F)

library IEEE; use IEEE.STD_LOGIC_1164.ALL;

Block Diagram. dw*3 pixin (RGB) pixin_vsync pixin_hsync pixin_val pixin_rdy. clk_a. clk_b. h_s, h_bp, h_fp, h_disp, h_line

PRODUCT NO.: PT-L6600L/L6510L PRODUCT NAME: BriteOptic LCD Projectors

Video. Updated fir31.filtered on website Fall 2008 Lecture 12

ET-MWP100G S P E C F I L E. Multi Window Processor 1/6. As of July Specifications and appearance are subject to change without notice.

Gateway 46-inch Plasma TV Specifications

7inch Resistive Touch LCD User Manual

Design and Implementation of an AHB VGA Peripheral

Camera Interface Guide

Section 4. Display Connector

MIPI D-PHY Bandwidth Matrix Table User Guide. UG110 Version 1.0, June 2015

ET-YFB100G S P E C F I L E. Digital Interface Box. As of December Specifications and appearance are subject to change without notice.

1. Broadcast television

Display Technology. Cathode Ray Tube. Images stolen from various locations on the web...

AD9884A Evaluation Kit Documentation

Display Technology.! Images stolen from various locations on the web... Cathode Ray Tube

12.1 Inch CGA EGA VGA SVGA LCD Panel - ID #492

Video Scaler Pro with RS-232

GeChic Corporation 13F.-4, No.367, Gongyi Road, West District, Taichung City 403 Taiwan (R.O.C.) Customer Service:

VGA Port. Chapter 5. Pin 5 Pin 10. Pin 1. Pin 6. Pin 11. Pin 15. DB15 VGA Connector (front view) DB15 Connector. Red (R12) Green (T12) Blue (R11)

Class 06 Sequential Logic: Flip-Flop

HDL & High Level Synthesize (EEET 2035) Laboratory II Sequential Circuits with VHDL: DFF, Counter, TFF and Timer

Midterm Review. Yao Wang Polytechnic University, Brooklyn, NY11201

15 Inch CGA EGA VGA to XGA LCD Wide Viewing Angle Panel ID# 833

26 Inch CGA/EGA/VGA/DVI to WXGA/1080p LCD - ID#703

Spartan-II Development System

Multimedia Systems Video I (Basics of Analog and Digital Video) Mahdi Amiri April 2011 Sharif University of Technology

Communication Theory and Engineering

ET-YFB200G S P E C F I L E. Digital LINK Switcher. As of May Specifications and appearance are subject to change without notice.

Product Specification

An FPGA Based Solution for Testing Legacy Video Displays

Class 19 Sequential Logic: Flip-Flop

Chapter 3 Fundamental Concepts in Video. 3.1 Types of Video Signals 3.2 Analog Video 3.3 Digital Video

CP-255ID Multi-Format to DVI Scaler

Ryerson University Department of Electrical and Computer Engineering EES508 Digital Systems

SPECIFICATION FOR APPROVAL (ANALOG RGB, DVI AND DISPLAYPORT INTERFACE CONTROLLER FOR TFT-LCD INTERFACE) MODEL: DCMR-60

GENERAL RULES FOR EE314 PROJECTS

Chrontel CH7015 SDTV / HDTV Encoder

Product Specification

Dan Schuster Arusha Technical College March 4, 2010

Uni700 LCD Controller

VHDL test bench for digital image processing systems using a new image format

Display Technology. Images stolen from various locations on the web... Cathode Ray Tube

VGA 8-bit VGA Controller

980 Protocol Analyzer General Presentation. Quantum Data Inc Big Timber Road Elgin, IL USA Phone: (847)

Presented by: Amany Mohamed Yara Naguib May Mohamed Sara Mahmoud Maha Ali. Supervised by: Dr.Mohamed Abd El Ghany

MACROVISION RGB / YUV TEMP. RANGE PART NUMBER

TV Synchronism Generation with PIC Microcontroller

CMOS, 330 MHz Triple 10-Bit high Speed Video DAC ADV7123

CMOS, 330 MHz Triple 8-Bit High Speed Video DAC ADV7125

Television History. Date / Place E. Nemer - 1

L14 - Video. L14: Spring 2005 Introductory Digital Systems Laboratory

Advantech Proudly Presents Professional Monitor Series

Kramer Electronics, Ltd. USER MANUAL. Model: VP-724DS. Seamless Switcher / Scaler

Mahdi Amiri. April Sharif University of Technology

Lancelot. VGA video controller for the Altera Nios II processor. V4.0. December 16th, 2005

NAPIER. University School of Engineering. Advanced Communication Systems Module: SE Television Broadcast Signal.

An Efficient SOC approach to Design CRT controller on CPLD s

USER MANUAL. Kramer Electronics, Ltd. Models: VP-719xl, Presentation Switcher / Scaler. VP-720xl, Presentation Switcher / Scaler

SP2 Multi-Function DVI Converter

Kramer Electronics, Ltd. USER MANUAL. Models: VP-720DS, Seamless Switcher / Scaler VP-723DS, Seamless Switcher / Scaler

Audio and Video II. Video signal +Color systems Motion estimation Video compression standards +H.261 +MPEG-1, MPEG-2, MPEG-4, MPEG- 7, and MPEG-21

PT-TX400 S P E C F I L E. LCD Projectors. As of December Specifications and appearance are subject to change without notice.

Multimedia. Course Code (Fall 2017) Fundamental Concepts in Video

CP-1262HE. HDMI to PC/Component Converter with Audio Box. Operation Manual CP-1262HE

4. Video and Animation. Contents. 4.3 Computer-based Animation. 4.1 Basic Concepts. 4.2 Television. Enhanced Definition Systems

PT-LB300 S P E C F I L E. LCD Projectors. As of April Specifications and appearance are subject to change without notice. 1/8.

Video. Lab #3 issued due Tue 10/4

PT-TW340 S P E C F I L E. LCD Projectors. As of May Specifications and appearance are subject to change without notice. 1/8.

4.3inch 480x272 Touch LCD (B) User Manual

Video to SXGA Converter Box ID#475

Display Technology. Images stolen from various locations on the web... Cathode Ray Tube

PT-LB382 S P E C F I L E. LCD Projectors. As of July Specifications and appearance are subject to change without notice. 1/9.

PC/HDTV to Video Scan Converter Operations Manual

Specification of Control Board (Data Sheet / Version 1.4)

Lecture 14: Computer Peripherals

Product Number : TW350 Product Name : As of October Specifications and appearance are subject to change without notice.

Checkpoint 2 Video Encoder

Video to 1080i High Definition RGB Component Converter/Scaler ID# 499

Video. Display Terminology. Lab #3 issued due Tue 10/3

Transcription:

Video Prof. Stephen A. Edwards sedwards@cs.columbia.edu Columbia University Spring 2008

Television: 1939 Du Mont Model 181

Vector Displays

Raster Scanning

Raster Scanning

Raster Scanning

Raster Scanning

Raster Scanning

NTSC or RS-170 Originally black-and-white 60 Hz vertical scan frequency 15.75 khz horizontal frequency 15.75 khz 60 Hz = 262.5 lines per field White Black Blank Sync 1 V 0.075 V 0 V 0.4 V

A Line of B&W Video White Black Blank Sync H Front Porch: 0.02H Blanking: 0.16H Sync: 0.08H Back Porch: 0.06H

Interlaced Scanning

Interlaced Scanning

Interlaced Scanning

Interlaced Scanning

Interlaced Scanning

Interlaced Scanning

Interlaced Scanning

Color Television Color added later: had to be backwards compatible. Solution: continue to transmit a black-and-white signal and modulate two color signals on top of it. RGB vs. YIQ colorspaces 0.30 0.59 0.11 0.60 0.28 0.32 R G = Y I 0.21 0.52 0.31 B Q Y baseband 4 MHz black-and-white signal I as 1.5 MHz, Q as 0.5 MHz at 90 : modulated at 3.58 MHz

International Standards lines active vertical aspect horiz. frame lines res. ratio res. rate NTSC 525 484 242 4:3 427 29.94 Hz PAL 625 575 290 4:3 425 25 Hz SECAM 625 575 290 4:3 465 25 Hz PAL: Uses YUV instead of YIQ, flips phase of V every other line SECAM: Transmits the two chrominance signals on alternate lines; no quadrature modulation

Computer Video: VGA 1 2 3 4 5 Red Green Blue ID2 GND 6 7 8 9 10 RGND GGND BGND (+5V) GND 11 12 13 14 15 ID0 ID1 hsync vsync ID3 ID2 ID0 ID1 - - GND Monochrome, < 1024 768 - GND - Color, < 1024 768 GND GND - Color, 1024 768 DDC1 ID2 vsync Data from display also data clock DDC2 ID1 ID3 I2 C SDA I 2 C SLC 1

1 VGA Timing Mode Resolution Vertical Horizontal Pixel Clock VGA 640 350 70 Hz 31.5 khz 25.175 MHz VGA 640 400 70 Hz 31.5 khz 25.175 MHz VGA 640 480 59.94 Hz 31.469 khz 25.175 MHz SVGA 800 600 56 Hz 35.2 khz 36 MHz SVGA 800 600 60 Hz 37.8 khz 40 MHz SVGA 800 600 72 Hz 48.0 khz 50 MHz XGA 1024 768 60 Hz 48.5 khz 65 MHz SXGA 1280 1024 61 Hz 64.2 khz 110 MHz HDTV 1920 1080i 60 Hz UXGA 1600 1200 60 Hz 75 khz 162 MHz UXGA 1600 1200 85 Hz 105.77 khz 220 MHz WUXGA 1920 1200 70 Hz 87.5 khz 230 MHz

1 Detailed VGA Timing 640 480, 60 Hz 25.175 MHz Dot Clock 31.469 khz Line Frequency 59.94 Hz Field Frequency pixels role 8 Front Porch 96 Horizontal Sync 40 Back Porch 8 Left border 640 Active 8 Right border 800 total per line lines role 2 Front Porch 2 Vertical Sync 25 Back Porch 8 Top Border 480 Active 8 Bottom Border 525 total per field Active-low Horizontal and Vertical sync signals.

1 Challenge: A white rectangle Let s build a VHDL module that displays a 640 480 VGA raster with a white rectangle in the center against a blue background. (100,100) (540,380)

1 Video on the DE2 VGA_R[0..9] VGA_G[0..9] VGA_B[0..9] VGA_BLANK VGA_SYNC VGA_CLOCK VGA_HS VGA_VS VGA_VCC5 R84 4.7K VGA_R9 VGA_R8 VGA_R7 VGA_R6 VGA_R5 VGA_R4 VGA_R3 VGA_R2 VGA_R1 VGA_R0 RSET R85 560 GND BC117 0.1U BC118 0.1U U34 48 47 46 45 44 43 42 41 40 39 38 37 VGA_G0 VGA_G1 VGA_G2 VGA_G3 VGA_G4 VGA_G5 VGA_G6 VGA_G7 VGA_G8 VGA_G9 VGA_BLANK VGA_SYNC VGA_VCC5 1 2 3 4 5 6 7 8 9 10 11 12 ADV7123 LQFP48-0.5 G0 G1 G2 G3 G4 G5 G6 G7 G8 G9 nblank nsync BC119 0.1U R9 R8 R7 R6 R5 R4 R3 R2 R1 R0 npsave RSET VAA0 B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 CLOCK 13 14 15 16 17 18 19 20 21 22 23 24 VGA_B0 VGA_B1 VGA_B2 VGA_B3 VGA_B4 VGA_B5 VGA_B6 VGA_B7 VGA_B8 VGA_B9 VGA_CLOCK VREF 36 COMP 35 IOR 34 nior 33 IOG 32 niog 31 VAA2 30 VAA1 29 IOB 28 niob 27 GND1 26 GND0 25 GND BC120 0.1U GND GND GND BC121 0.1U R86 75 R87 75 VGA_VCC5 VGA_R VGA_G VGA_B R88 75 VGA_HS VGA_VS R95 0 R96 0 R97 0 R89 47 R90 47 GND 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 J13 R G B NC0 GND0 RG BG GG NC1 GND1 NC2 NC3 HS VS NC4 SHIELD0 SHIELD1 11 6 VGA DB15-RA-F2 1 GND GND GND

Horizontal Timing Video HSYNC HTOTAL ÄÄÄÄÄÄÄÄ ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ ÄÄÄÄÄÄ ÎÎÎÎÎÎÎÎ ÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀ ÀÀÀÀÀÀÀÀÀÀÀÀ À BACK_PORCH FRONT_PORCH HSYNC HACTIVE For a 25.175 MHz pixel clock, HSYNC 96 pixels BACK_PORCH 48 HACTIVE 640 FRONT_PORCH 16 HTOTAL 800 1

Implementation: Interface library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity de2_vga_raster is port ( reset : in std_logic; clk : in std_logic; Should be 25.125 MHz VGA_CLK, Clock VGA_HS, H_SYNC VGA_VS, V_SYNC VGA_BLANK, BLANK VGA_SYNC : out std_logic; SYNC VGA_R, Red[9:0] VGA_G, Green[9:0] VGA_B : out unsigned(9 downto 0) Blue[9:0] ); end de2_vga_raster; 1

Constants architecture rtl of de2_vga_raster is Video parameters constant HTOTAL : integer := 800; constant HSYNC : integer := 96; constant HBACK_PORCH : integer := 48; constant HACTIVE : integer := 640; constant HFRONT_PORCH : integer := 16; constant VTOTAL : integer := 525; constant VSYNC : integer := 2; constant VBACK_PORCH : integer := 33; constant VACTIVE : integer := 480; constant VFRONT_PORCH : integer := 10; constant RECTANGLE_HSTART : integer := 100; constant RECTANGLE_HEND : integer := 540; constant RECTANGLE_VSTART : integer := 100; constant RECTANGLE_VEND : integer := 380; 1

1 Signals Signals for the video controller Horizontal position (0 800) signal Hcount : unsigned(9 downto 0); Vertical position (0 524) signal Vcount : unsigned(9 downto 0); signal EndOfLine, EndOfField : std_logic; signal vga_hblank, vga_hsync, vga_vblank, vga_vsync : std_logic; Sync. signals rectangle area signal rectangle_h, rectangle_v, rectangle : std_logic; begin

1 Counters HCounter : process (clk) begin if rising_edge(clk) then if reset = 1 or EndOfLine = 1 then Hcount <= (others => 0 ); else Hcount <= Hcount + 1; end if; end if; end process HCounter; EndOfLine <= 1 when Hcount = HTOTAL 1 else 0 ; VCounter: process (clk) begin if rising_edge(clk) then if reset = 1 then Vcount <= (others => 0 ); elsif EndOfLine = 1 then if EndOfField = 1 then Vcount <= (others => 0 ); else Vcount <= Vcount + 1; end if; end if; end if; end process VCounter; EndOfField <= 1 when Vcount = VTOTAL 1 else 0 ;

Horizontal signals HSyncGen : process (clk) begin if rising_edge(clk) then if reset = 1 or EndOfLine = 1 then vga_hsync <= 1 ; elsif Hcount = HSYNC 1 then vga_hsync <= 0 ; end if; end if; end process HSyncGen; HBlankGen : process (clk) begin if rising_edge(clk) then if reset = 1 then vga_hblank <= 1 ; elsif Hcount = HSYNC + HBACK_PORCH then vga_hblank <= 0 ; elsif Hcount = HSYNC + HBACK_PORCH + HACTIVE then vga_hblank <= 1 ; end if; end if; end process HBlankGen; 2

Vertical signals VSyncGen : process (clk) begin if rising_edge(clk) then if reset = 1 then vga_vsync <= 1 ; elsif EndOfLine = 1 then if EndOfField = 1 then vga_vsync <= 1 ; elsif Vcount = VSYNC 1 then vga_vsync <= 0 ; end if; end if; end if; end process VSyncGen; VBlankGen : process (clk) begin if rising_edge(clk) then if reset = 1 then vga_vblank <= 1 ; elsif EndOfLine = 1 then if Vcount = VSYNC + VBACK_PORCH 1 then vga_vblank <= 0 ; elsif Vcount = VSYNC + VBACK_PORCH + VACTIVE 1 then vga_vblank <= 1 ; end if; end if; end if; end process VBlankGen; 2

rectangle <= rectangle_h and rectangle_v; 2 The Rectangle RectangleHGen : process (clk) begin if rising_edge(clk) then if reset = 1 or Hcount = HSYNC + HBACK_PORCH + RECTANGLE_HSTART th rectangle_h <= 1 ; elsif Hcount = HSYNC + HBACK_PORCH + RECTANGLE_HEND then rectangle_h <= 0 ; end if; end if; end process RectangleHGen; RectangleVGen : process (clk) begin if rising_edge(clk) then if reset = 1 then rectangle_v <= 0 ; elsif EndOfLine = 1 then if Vcount = VSYNC + VBACK_PORCH 1 + RECTANGLE_VSTART then rectangle_v <= 1 ; elsif Vcount = VSYNC + VBACK_PORCH 1 + RECTANGLE_VEND then rectangle_v <= 0 ; end if; end if; end if; end process RectangleVGen;

Output signals VideoOut: process (clk, reset) begin if reset = 1 then VGA_R <= "0000000000"; VGA_G <= "0000000000"; VGA_B <= "0000000000"; elsif clk event and clk = 1 then if rectangle = 1 then VGA_R <= "1111111111"; VGA_G <= "1111111111"; VGA_B <= "1111111111 elsif vga_hblank = 0 and vga_vblank = 0 then VGA_R <= "0000000000"; VGA_G <= "0000000000"; VGA_B <= "1111111111 else VGA_R <= "0000000000"; VGA_G <= "0000000000"; VGA_B <= "0000000000 end if; end if; end process VideoOut; VGA_CLK <= clk; VGA_HS <= not vga_hsync; VGA_VS <= not vga_vsync; VGA_SYNC <= 0 ; VGA_BLANK <= not (vga_hsync or vga_vsync); end rtl; 2