DOC PREVIEW
MIT 6 111 - Lecture Notes

This preview shows page 1-2-20-21 out of 21 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

6.111 Fall 2007 Lecture 15, Slide 16.111 Lecture 15Today: Video1.Cathode Ray Tubes2.NTSC3.Video Decode/Encode4.VGA Video5.Demo6.111 Fall 2007 Lecture 15, Slide 21. The CRT: Generalized Video DisplayThink of a color video display as a 2D grid of picture elements(pixels). Each pixel is made up of red, green and blue (RGB)emitters. The relative intensities of RGB determine theapparent color of a particular pixel.One pixelH pixels/lineV lines/frameTraditionally H/V = 4/3 or with the advent of high-def 16/9.Lots of choices for H,V and display technologies (CRT, LCD, …)Okay, but howdo I send animage to adisplay?6.111 Fall 2007 Lecture 15, Slide 3Background: Cathode Ray TubesSource: PixTechPhosphor Screen: emits light whenexcited by electron beam, intensityof beam determines brightnessAnodeCathode: separatebeams for R, G and BShadow mask: ensures Rbeam only illuminates Rpixels, etc.Deflection coil (aka yoke): magneticallysteers beam in a left-to-right top-to-bottompattern. There are separate H and V coils.6.111 Fall 2007 Lecture 15, Slide 4DeflectionWaveformsSource: Xilinx Spartan-3 Starter Kit Board User Guide6.111 Fall 2007 Lecture 15, Slide 5Sync Signals (HS and VS)6.111 Fall 2007 Lecture 15, Slide 6Sync Signal TimingThe most common ways to send an image to a video display (evendisplays that don’t use deflection coils, eg, LCDs) require you togenerate two sync signals: one for the horizontal dimension (HS)and one for the vertical dimension (VS).Pulse width TPWBack porch TBPFront porch TFPDisplay time TDISPPeriod TPFormat CLK P PW BP DISP FPVGA HS (pixels) 25Mhz 794 95 47 640 13 VS (lines) -- 528 2 33 480 13XGA HS (pixels) 65Mhz 1344 136 160 1024 24 VS (lines) -- 806 6 23 768 96.111 Fall 2007 Lecture 15, Slide 7InterlaceNon-interlaced (aka progressive) scanning:– VS period is a multiple of HS period– Frame rate >= 60Hz to avoid flickerInterlaced scanning:VS period is no t a multiple of HSperiod, so successive vertical scanare offset relative to horizontalscan, so vertical position of scanlines varies from frame to frame.NTSC example:•525 total scan lines (480displayed)•2 fields of 262.5 scanlines (240 displayed).Field rate is 60Hz, framerate = 30Hz6.111 Fall 2007 Lecture 15, Slide 82. NTSC*: Composite Video Encoding100 IRE = 1.0VSource: http://www.ntsc-tv.com*National Television System Committee: 19403.579545 MHz“colorburst”6.111 Fall 2007 Lecture 15, Slide 93. Video Capture: Signal Recovery• Composite video has picture data and both syncs.– Picture data (video) is above the sync level.– Simple comparators extract video and composite sync.• Composite sync is fed directly to the horizontal oscillator.• A low-pass filter is used to separate the vertical sync.– The edges of the low-passed vertical sync are squared up bya Schmidt trigger.6.111 Fall 2007 Lecture 15, Slide 10Labkit: ADV7185 NTSC Decoder• Decodes NTSC and PAL video (composite or S-video)• Produces CCIR656 (10-bit) or CCIR601 (8-bit) digital data6.111 Fall 2007 Lecture 15, Slide 11Labkit: ADV7185 NTSC Decoder• Decodes NTSC and PAL video (composite or S-video)• Produces CCIR656 (10-bit) or CCIR601 (8-bit) digital data• YUV: Y=brightness, U & V = color ; CB → U, CR → VR = Y + 1.402 VG = Y – 0.344 U – 0.714 VB = Y + 1.772 U6.111 Fall 2007 Lecture 15, Slide 12Labkit: AD7194 Digital Video EncoderCCIR 601/656 4:2:2 digital video data → analog baseband TV signal6.111 Fall 2007 Lecture 15, Slide 134. VGA (640x480) VideoHorizBlankingVideoLine25.17 µsHoriz.Sync26.11 µs29.88 µs31.77 µsVerticalBlankingVideoFrame15.25 msVert.Sync15.70 ms15.764 ms16.784 ms6.111 Fall 2007 Lecture 15, Slide 14• Two Challenges:Labkit: ADV7125 Triple DAC (VGA)• (1) Generate Sync Signals• Sync signal generation requires precise timing• Labkit comes with 27 MHz clock• Use phase-locked-loops (PLL) to create higher frequencies• Xilinx FPGA’s have a “Digital Clock Manager” (DCM)DCM pixel_clock (.CLKIN(clock_27mhz), .CLKFX(pixel_clock));// synthesis attribute CLKFX_DIVIDE of pixel_clock is 10// synthesis attribute CLKFX_MULTIPLY of pixel_clock is 2427 MHz * 24 / 10 = 64.8 MHz! Used in Lab5!• (2) Generate Video Pixel Data (RGB)• Use ADV7125 Triple DAC• Send 24 bits of R,G,B data at pixel clock rate to chip• Create pixels either in real time• Or using dual port RAM• Or from character maps• Or …?6.111 Fall 2007 Lecture 15, Slide 15Generating VGA-style VideoSyncGenerationPixelLogicVideomemoryColorLookupTable(optional)DACHSVSRAGABARDGDBDCPUPixel CLKHpos, Vpos, blankingWith color lookup table, pixel data isused as an index to lookup R,G,Bcolor value.Without color lookup table, pixeldata is used directly as R,G,B value(aka “true color”)dataaddr6.111 Fall 2007 Lecture 15, Slide 16Simple VGA Interface for FPGAYour circuitry shouldproduce TTL-level signals(3.3V high level)HS, VS are active-lowsignals.R, G, B are active-high.Shown: a simple “8-color”schemeThe R, G and B signals are terminated with 75Ohms to ground inside of the VGA monitor. Sowhen you drive your 3.3V signal through the 270Ohm series resistor, it shows up at the monitor as0.7V – exactly what the VGA spec calls for.)3.3)(2707575(7.0 VV+=Poor man’s Video DAC6.111 Fall 2007 Lecture 15, Slide 17module xvga(clk,hcount,vcount,hsync,vsync); input clk; // 64.8 Mhz output [10:0] hcount; output [9:0] vcount; output hsync, vsync; output [2:0] rgb; reg hsync,vsync,hblank,vblank,blank; reg [10:0] hcount; // pixel number on current line reg [9:0] vcount; // line number wire hsyncon,hsyncoff,hreset,hblankon; // next slide for generation wire vsyncon,vsyncoff,vreset,vblankon; // of timing signals wire next_hb = hreset ? 0 : hblankon ? 1 : hblank; // sync & blank wire next_vb = vreset ? 0 : vblankon ? 1 : vblank; always @(posedge clk) begin hcount <= hreset ? 0 : hcount + 1; hblank <= next_hb; hsync <= hsyncon ? 0 : hsyncoff ? 1 : hsync; // active low vcount <= hreset ? (vreset ? 0 : vcount + 1) : vcount; vblank <= next_vb; vsync <= vsyncon ? 0 : vsyncoff ? 1 : vsync; // active low endVerilog:XVGA Display(1024x768)6.111 Fall 2007 Lecture 15, Slide 18XVGA (1024x768) Sync Timing // assume 65 Mhz pixel clock // horizontal: 1344 pixels total // display 1024 pixels per line assign hblankon = (hcount == 1023); // turn on blanking assign hsyncon = (hcount == 1047); // turn on sync


View Full Document

MIT 6 111 - Lecture Notes

Documents in this Course
Verilog

Verilog

21 pages

Video

Video

28 pages

Bass Hero

Bass Hero

17 pages

Deep 3D

Deep 3D

12 pages

SERPENT

SERPENT

8 pages

Vertex

Vertex

92 pages

Vertex

Vertex

4 pages

Snapshot

Snapshot

15 pages

Memories

Memories

42 pages

Deep3D

Deep3D

60 pages

Design

Design

2 pages

Frogger

Frogger

11 pages

SkiFree

SkiFree

81 pages

Vertex

Vertex

10 pages

EXPRESS

EXPRESS

2 pages

Labyrinth

Labyrinth

81 pages

Load more
Download Lecture Notes
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture Notes and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture Notes 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?