VGA Configuration Algorithm using VHDL

Similar documents
Design of VGA Controller using VHDL for LCD Display using FPGA

Design of VGA and Implementing On FPGA

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

Design and Implementation of an AHB VGA Peripheral

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)

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

Lecture 14: Computer Peripherals

Implementing VGA Application on FPGA using an Innovative Algorithm with the help of NIOS-II

Lab # 9 VGA Controller

Design and Implementation of SOC VGA Controller Using Spartan-3E FPGA

FPGA Laboratory Assignment 4. Due Date: 06/11/2012

ECE532 Digital System Design Title: Stereoscopic Depth Detection Using Two Cameras. Final Design Report

Lab 3: VGA Bouncing Ball I

Video Graphics Array (VGA)

Design and implementation (in VHDL) of a VGA Display and Light Sensor to run on the Nexys4DDR board Report and Signoff due Week 6 (October 4)

AbhijeetKhandale. H R Bhagyalakshmi

TV Synchronism Generation with PIC Microcontroller

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

Part 1: Introduction to Computer Graphics

VGA Controller. Leif Andersen, Daniel Blakemore, Jon Parker University of Utah December 19, VGA Controller Components

Laboratory Exercise 7

VHDL Design and Implementation of FPGA Based Logic Analyzer: Work in Progress

TV Character Generator

Camera Interface Guide

Electrical and Electronic Laboratory Faculty of Engineering Chulalongkorn University. Cathode-Ray Oscilloscope (CRO)

VGA 8-bit VGA Controller

CHAPTER 6 DESIGN OF HIGH SPEED COUNTER USING PIPELINING

A Flexible FPGA communication

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

SOC Implementation for Christmas Lighting with Pattern Display Indication RAMANDEEP SINGH 1, AKANKSHA SHARMA 2, ANKUR AGGARWAL 3, ANKIT SATIJA 4 1

Section 4. Display Connector

Stimulus presentation using Matlab and Visage

Laboratory 9 Digital Circuits: Flip Flops, One-Shot, Shift Register, Ripple Counter

Real-Time Digital Oscilloscope Implementation in 90nm CMOS Technology FPGA

GENERAL RULES FOR EE314 PROJECTS

Efficient Architecture for Flexible Prescaler Using Multimodulo Prescaler

LOCAL DECODING OF WALSH CODES TO REDUCE CDMA DESPREADING COMPUTATION. Matt Doherty Introductory Digital Systems Laboratory.

Professor Henry Selvaraj, PhD. November 30, CPE 302 Digital System Design. Super Project

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

Tic-Tac-Toe Using VGA Output Alexander Ivanovic, Shane Mahaffy, Johnathan Hannosh, Luca Wagner

Laboratory Exercise 7

Synchronous Sequential Logic

Laboratory 4 Check Off Sheet. Student Name: Staff Member Signature/Date: Part A: VGA Interface You must show a TA the following for check off:

Spartan-II Development System

Final Exam review: chapter 4 and 5. Supplement 3 and 4

COMPOSITE VIDEO LUMINANCE METER MODEL VLM-40 LUMINANCE MODEL VLM-40 NTSC TECHNICAL INSTRUCTION MANUAL

ECE 448 Lecture 10. VGA Display Part 1 VGA Synchronization

PICOSECOND TIMING USING FAST ANALOG SAMPLING

Design and Implementation of Nios II-based LCD Touch Panel Application System

[Kadlag*, TECHNOPHILIA: February, 2016] ISSN: (I2OR), Publication Impact Factor: 3.785

6.111 Project Proposal IMPLEMENTATION. Lyne Petse Szu-Po Wang Wenting Zheng

By Tom Kopin CTS, ISF-C KRAMER WHITE PAPER

Digilent Nexys-3 Cellular RAM Controller Reference Design Overview

AD9884A Evaluation Kit Documentation

An FPGA Based Solution for Testing Legacy Video Displays

SHENZHEN H&Y TECHNOLOGY CO., LTD

Optimized design for controlling LED display matrix by an FPGA board

Traffic Light Controller

BTV Tuesday 21 November 2006

Chapter 3: Sequential Logic Systems

University of Maiduguri Faculty of Engineering Seminar Series Volume 6, december 2015

California State University, Bakersfield Computer & Electrical Engineering & Computer Science ECE 3220: Digital Design with VHDL Laboratory 7

DIFFERENTIAL CONDITIONAL CAPTURING FLIP-FLOP TECHNIQUE USED FOR LOW POWER CONSUMPTION IN CLOCKING SCHEME

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

EBU Digital AV Sync and Operational Test Pattern

A CONTROL MECHANISM TO THE ANYWHERE PIXEL ROUTER

... User Guide - Revision /23/04. H Happ Controls. Copyright 2003, UltraCade Technologies UVC User Guide 1/23/2004

7inch Resistive Touch LCD User Manual

EECS 140 Laboratory Exercise 7 PLD Programming

Modulation transfer function of a liquid crystal spatial light modulator

RESEARCH AND DEVELOPMENT LOW-COST BOARD FOR EXPERIMENTAL VERIFICATION OF VIDEO PROCESSING ALGORITHMS USING FPGA IMPLEMENTATION

Figure 30.1a Timing diagram of the divide by 60 minutes/seconds counter

Laboratory 4 Check Off Sheet. Student Name: Staff Member Signature/Date: Part A: VGA Interface You must show a TA the following for check off:

An Efficient SOC approach to Design CRT controller on CPLD s

Chrontel CH7015 SDTV / HDTV Encoder

Video Display Unit (VDU)

LCD MODULE SPECIFICATION

128 BIT CARRY SELECT ADDER USING BINARY TO EXCESS-ONE CONVERTER FOR DELAY REDUCTION AND AREA EFFICIENCY

EEM Digital Systems II

Sub-LVDS-to-Parallel Sensor Bridge

Efficient 500 MHz Digital Phase Locked Loop Implementation sin 180nm CMOS Technology

Registers and Counters

EECS150 - Digital Design Lecture 12 - Video Interfacing. Recap and Outline

Investigation of Look-Up Table Based FPGAs Using Various IDCT Architectures

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

VID_OVERLAY. Digital Video Overlay Module Rev Key Design Features. Block Diagram. Applications. Pin-out Description

T2210HD/T2210HDA 21.5 Wide-Screen LCD Monitor User Manual

CHANGED BY A First Release. ZHANG YAN FANG

VSP 168HD Quick Start

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

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

S op o e p C on o t n rol o s L arni n n i g n g O bj b e j ctiv i e v s

An optimized implementation of 128 bit carry select adder using binary to excess-one converter for delay reduction and area efficiency

PROCESSOR BASED TIMING SIGNAL GENERATOR FOR RADAR AND SENSOR APPLICATIONS

Quick Guide Book of Sending and receiving card

INTRODUCTION (EE2499_Introduction.doc revised 1/1/18)

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

CARLETON UNIVERSITY. Facts without theory is trivia. Theory without facts is bull 2607-LRB

Sharif University of Technology. SoC: Introduction

In-Cell Projected Capacitive Touch Panel Technology

Transcription:

VGA Configuration Algorithm using VHDL 1 Christian Plaza, 2 Olga Ramos, 3 Dario Amaya Virtual Applications Group-GAV, Nueva Granada Military University UMNG Bogotá, Colombia. Abstract Nowadays it is important to visualize information, with the purpose of generate real-time data about a device or a process to a user, this would help to identify problems and generate solutions in a simpler way. A VGA controller can work with different types of resolution; this can be used to create an incredible amount of characters, which can be useful to visualize a lot of information in an easier way, a VGA controller generates synchronization signals produce on a FPGA (programed on VHDL language), this allows the correct visualization on a VGA monitor. Some of the most significant factors that can affect the frequency of synchronisms are resolution and the refresh frequency, A VGA controller can be used in many applications due to the high processing speed of the FPGA, it is perfect for color recognition. Keywords: image processing, image visualization, synchronism, VGA port. INTRODUCTION Nowadays there are different kinds of electronics devices that allows the visualization and interaction of information with the user, in a direct way through an electronic device, this can make real time modifications depending on the current input values that receive the device. One of the most used system is a monitor with a VGA input. [1] FPGA: (Field Programmable Gate Array) is a reprogrammable electronic device that allow the parallel programing, the response time it is really fast, it is an economic alternative compared to other elements because it is reprogrammable. [2] VGA Monitor: is a device that enable the image visualization through a VGA port, these has different resolution, and works by shifting an electron beam through the screen for viewing images. [3] The VGA Port (Video Graphics Array), is a graphic card that allows to visualizer image on a monitor, through an electronic device that generate sync signals, this signals can be change to be compatible with different monitors and resolutions. [4] In a VGA controller it is really important to consider two differences kinds of signals, the horizontal and vertical synchronization signals. This allows to visualize an image through the monitor, the values of frequency depend on the kind of resolution that is required and the update frequency, the last one indicates the number of times that a monitor is going to repaint in one second, the standard value is 60 Hz. [5] There are different types of resolution, also there are different update frequency (this one had normalize values). For each one of these there are different values for the pixel clock, front porch, back porch and sync pulse. Besides the sync polarity changes depending on the current VGA controller, in some cases they are going to be positive and other negatives. [6] The first thing that is required for the image visualization is the vertical and horizontal sync, this are composed by four types of elements: the first one is the Back Porch, this one indicates the beginning of the sync, next it precedes by the Sync Pulse this generate an inversion of polarity in the synchronism, after this continues the Front Porch returning to the initial value of the polarity and finally the number of pixel in the display. [7] When the Front Porch, the Sync Pulse and the back porch are running it is known as the Blanking Time and the most significant characteristic is that in all that time the monitor it is not going to generate any kind of image, when the count arrive the number of pixels of the display, the visualization of images with the respective RGB values takes place on the monitor. [8] When the image visualization is taking place the FPGA send data in a digital way there correspond to the value of the color, also in the monitor, there are three different types of analog signals that create the color, with a maximum value of 256 colors. The color intensity depend of the voltage value from the analog signal, most of the FPGA had a digital analog converser to realize this kind of conversion. [9] The main goal of these project is generate a VGA controller using a FPGA device for the color recognition, using a CMOS sensor as an input, the FPGA device can send the desired information through the VGA port, so this can be visualize on a monitor.[10] METHODS AND MATERIALS For the project which main object is the color identification on a VGA monitor. Software and Hardware were selected to have a decent efficiency during the project development. Image visualization on a VGA In the Figure 1 it can be seen the FPGA and the VGA monitor connections. 11572

Implemented code For the creation of the VGA controller the code on the Figure 4 was implemented. Figure 1. Connection diagram FPGA VGA. There are two important design stages on these project, which will be described below. The first one consist on the creation of a clock that allow the count of the pixels, a controller will be implemented (this contains the horizontal and vertical sync signals) for the required resolution, and the other one visualize an image on a determined pixel.[11] FPGA block diagram The figure 2 show a block representation of the FPGA programming. Figure 4. VGA controller, initialization of variables The first thing to determinate are the maximum values for the vertical and horizontal sync signals, those values can change depending on the resolution and the update frequency, for these project it will be use a 640x480 resolution working with 60 Hz obtaining the following values described in the [12] Table 1. Different values for a 640x480 resolution using 60 Hz. Characteristics Horizontal Vertical Display 640 480 Front Porch 16 10 Sync Pulse 96 2 Back Porch 48 33 Polarity synchronism Negative Negative Total 800 525 Figure 2. FPGA block program. The sum of the Display, Front Porch, Sync Pulse, Back Porch, it will give as a result the total period of the duration for the sync pulse, using the polarity of the synchronism will perform a state change in the signal so that the controller works correctly figure 5. Flowchart In the figure 3 the flowchart of the developed program will be presented. Figure 5. VGA controller, vertical and horizontal counter. Obtained the total period value of the vertical and horizontal sync signals, a sum conditional was implemented, while the counter is less from the total period value of the signal a unit value will be added to it, but when the value is more than the total value the counter will be reset Figure 6. Figure 3. Flowchart 11573

coordinates (the pixel will have a violet color), if the counter is outside the range the pixel will be set up as green. [14] Figure 9. Final result Figure 6. VGA controller, synchronism pulse activation With the pixel counter it can be determinate in which time the horizontal and vertical sync pulse should be activated (using the parameters from the table 1) the horizontal sync signal will be activated on this pixel range [656 752], for the vertical sync signal the following range [490 492], for both cases the signal was on a logic state 1, will be change for a 0 while the pixel counter remain on the previous ranges Figure 7.[13] Knowing the current position of the pixel can provide different conditions, this can be used to generate different amounts of geometrics figures, in this particular case a square, the OTHERS indicates that the others bits will have the same value as the one indicated on the function. Figure 7. VGA controller, rows and columns assignment A new variable is created for maintain the current position of the pixel with respect to the resolution implemented on the controller Figure 8. Figure 10. Code Test 1 The second test is similar to the before, the changes made were the coordinate of the square and the color that are going to be used, in this particular case the color yellow (mix between red and blue) and cyan were used Figure 11. [15] Figure 8. VGA controller, enable activation. Finally a digital flag was implement to restrict the image visualization on the VGA port while the pixel counter was on the range [0 640] (horizontal counter), and [0 480] (vertical counter). ANALYSIS OF RESULTS In the current part, the different results obtained on the image processing will be explain. The result show on the Figure 9, is the implementation and visualization of a square on the VGA monitor, the beginning of coordinates is located on the top left corner of the monitor, a square will be draw while the pixel counter is in a certain Figure 11. Test 2, result. If the pixel clock is outside the range the RGB output will be set up as 0, as it can be seen on the figure 12. 11574

the shape of a sinusoidal signal, as show on the 15 and 16 figures. Fig. 12 Code test 2 On the third test a sine signal simulation was proposed, for this a design of circle compose of 37 pixels was created, the current pattern is going to localize on different coordinates, also an axis allow the guidance of these points on the VGA monitor. Figure 13. [16] Figure 15. Image processing result An axis can be a guide for the sinusoidal signal, these can simulate the different intervals of the signal values, and the beginning. Figure 16. Sinusoidal signal Figure 13. Display of points. The design pattern that was used for the group of 37 pixels is shown in the Figure 14. For the code on the 17 figure, two different variables will be created (X, Y), those variables allow to change the center of the circles, the last one were create using square and rectangles (Figure 19), changing the X and Y values can change the position of the circles without having to modify or create a new code, the verticals and horizontal lines on the Figure 21 will be created using an if conditional on the desired position. Figure 14. 37 pixel pattern This pattern allows in some way visualize the pixel on a circular form, this is produce because of the size of the resolution is wide (640x480 pixel), if the resolution were lower the square patterns characteristic of the pixels would be displayed, by reproducing this same figure in different coordinates it can get Figure 17. Circle code generator 11575

CONCLUSIONS The image visualization on a VGA monitor allow to have an bigger control with respect to other visualization methods, with these type of controllers a greater precision and a pixel to pixel color control can be achieve, currently is use because of the increase in the use of technology and its ability to visualize transcendent information. It is really important consider the sync times and the signal polarity, an incorrect polarity on the system will not allow the driver work properly, other aspect to have in count is the phase shift of the synchronism signal these will result in a problem in the visualization of pixels and it is common problem on a driver develop on a micro controller. REFERENCES [1] S. M. A. Mazin Rejab Khalil, «IEEE Xplorer,» IEEE Xplorer, 17-18 12 2013. [En línea]. Available: /stamp/stamp.jsp?arnumber=6998747. [Último [2] Y. Xu, «EBSCOhost,» 01 05 2017. [En línea]. Available: http://web.b.ebscohost.com.ezproxy. umng.edu.co:2048/ehost/pdfviewer/pdfviewer?vid= 1&sid=5edbd901-a62e-4cbb-bf24-96d14181fd37%40 sessionmgr101. [Último acceso: 07 02 2017]. [3] D. G. Bailey, Design for Embedded Image Processing on FPGAs, New Zealand: Wiley, 2011-05-25. [4] P. Wilson, «Design Recipes for FPGAs: Using Verilog and VHDL,» de Design Recipes for FPGAs: Using Verilog and VHDL, Oxford, Elsevier Science, 2011-02-24, pp. 161-168. [9] P. Krzysztof (Kris) Iniewski, CMOS Nanoelectronics: Analog and RF VLSI Circuits, New York: McGraw-Hil, 2011. [10] Eiguo Zhou, Y. L. (2016). Real-time Implementation of Panoramic Mosaic. IEEE Xplore, 6. Obtenido de IEEE Xplore: http://ieeexplore.ieee.org.ezproxy. umng.edu.co:2048/stamp/stamp.jsp?arnumber=7784 026 [11] P. Krzysztof (Kris) Iniewski, CMOS Nanoelectronics: Analog and RF VLSI Circuits, New York: McGraw-Hil, 2011. [12] S. Larson, «eewiki,» eewiki, 26 05 2017. [En línea]. Available: https://eewiki.net/pages/viewpage.action?pageid=1 5925278. [Último [13] T. K. Eismin, Aircraft Electricity and Electronics, New York: McGraw-Hill Education, 2014. [14] D. G. F. H. Wayne Beaty, Standard Handbook for Electrical Engineers, New York: McGraw-Hill Companies, 2013. [15] M. Bass, Handbook of Optics: Volume I - Geometrical and Physical Optics, Polarized Light, Components and Instruments, New York: McGraw- Hill Professional, 2010. [16] M. G. J. H. Xujun Ye, «IEEE Xplore,» IEEE Xplore, 08 02 2016. [En línea]. Available: http://ieeexplore.ieee.org.ezproxy.umng.edu.co:20 48/stamp/stamp.jsp?arnumber=7399957. [Último [5] Y. Li, «Computer Principles and Design in Verilog HDL,» de Computer Principles and Design in Verilog HDL, Japan, John Wiley & Sons, Incorporated, 2015-06-30, pp. 466-467. [6] R. Y. S. M. Q. T. G. Elmar Yusif, «IEEE Xplore,» IEEE Xplore, 2014. [En línea]. Available: /stamp/stamp.jsp?arnumber=7056798. [Último [7] A. R. M. K. J. V. Staudt, «IEEE XPLORE,» 15-18 06 2015. [En línea]. Available: /stamp/stamp.jsp?arnumber=7174718. [Último [8] L.-p. N. P. S. Chen-lu Feng, «IEEE Xplore,» 21 01 2016. [En línea]. Available:http://ieeexplore.ieee.org.ezproxy.umng.edu.co:2048/stamp/stamp.jsp?arnum ber=7387566. [Último 11576