Say I am going to develop a video displaying computer componenet (call it a TTL chip, GPU, whatever).

There has to be some basics on how to communicate with the monitor, or how to make sure the data sent to it will agree on its side.

Basically, what are the specifics here? Assuming I want to just put something (on the monitor), what assessment protocol is required? What type of interfacing must be done? Does data/signal have to be sent a certain way? Any documentation on this?

Bear in mind that, yes, I am a beginner to all of this, especially EE, but a detailed answer is preferred more than a "you don't know enough" one would be(simply because I can understand deeply technical terms much easier than the "experts" would think).

Clarification: No, no LEDs, LED matrix displays. Also, I'm not asking how to BUILD a display, but how to INTERFACE with a specific display(CRT monitor).

Sorry if this seems too "wide of a question", and I don't mean to insult any experts here (just stating prior that some experts think anyone without a degree can't do what they can, or are very short/rude with some beginners asking genuine questions about interfacing components etc.).


closed as too broad by Joe Hass, JYelton, Chetan Bhargava, Matt Young, Anindo Ghosh Jan 4 '14 at 3:54

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • \$\begingroup\$ Are you looking for the VGA specification? That is the interface to the vast majority of monitors, especially CRTs. \$\endgroup\$ – George White Jan 3 '14 at 22:51
  • \$\begingroup\$ Separately, I have seen many very very simple questions answered at an appropriate level and manner on this and other SE sites so I do not think the bold letter warning is needed or helpful. On the other hand all SE sites would like questions that show what investigation the poster has already done in trying to solve their problem. \$\endgroup\$ – George White Jan 3 '14 at 22:54
  • \$\begingroup\$ You're quite defensive about this .. basically you need a video DAC, such as ti.com/product/ths8200 , and a suitable way of feeding bits into it from video RAM. Read the datasheet there and the supporting docs to start with. \$\endgroup\$ – pjc50 Jan 4 '14 at 2:30
  • \$\begingroup\$ It will be monochromatic? With 2D or 3D capabilities? Supporting a pointer or touch screen? So first of all clarify what you want to develop is a display controller or a display processor. 1. Learn some IC’s, like: CDP1861 from RCA, Intel 8275, MC4865 and MC6847 from Motorola, Signetics 2636, SCC66470 from Phillips, TMS9918 from Texas Instrument, μPD7220 from NEC… to name some. 2. Look at the early Tandy/Radio Shack Z-80 microprocessor TRS-80 (1977 technology, nearly discrete!). 3. Gather serious information by whatever is dealing with Medical Imaging Systems. \$\endgroup\$ – GR Tech Jan 4 '14 at 5:58
  • \$\begingroup\$ Highly depends on what the monitor accepts. Apart from other suggestions, you might want to check on CVBS. \$\endgroup\$ – jippie Jan 4 '14 at 11:43

There are two common ways to transmit signals to a video monitor, either analog (as embodied in the VGA interface) or digital (as embodied in the DVI and HDMI interfaces).

If you want to put images on a monitor, by far the easiest way to do it is to wire a VGA or HDMI driver chip to your circuit (the intefaces to both kinds of chips are very similar) and design your FPGA, GPU, DSP or whatever to drive that interface, which typically comprises parallel RGB data (8 to 10 bits per color), along with a pixel clock and HSYNC/VSYNC signals.

What are HSYNC and VSYNC? OK, back to the basics, then. A video display is a series of still images or "frames", typically displayed at a rate of 30 to 120 frames per second. Each frame contains hundreds of thousands to millions of individual picture elements or "pixels". Each pixel is a spot of color, specified as three values for red, green and blue (the "additive primary" colors), and these values need to be transmitted to the display at anywhere from 10 M (million) to 125 M pixels/second. In an analog system, the values are transmitted as variable voltages; in a digital system, they're transmitted as digital words, using anywhere from 4 to 10 bits per color.

By convention, the pixels are transmitted starting at the top left corner of each frame, then "scanning" across the top row. Successive rows follow, from top to bottom of the frame. The VSYNC signal indicates the start of a new frame, while the HSYNC signal indicates the start of each row within the frame.

  • \$\begingroup\$ Unspecific ... can you explain what you mean by "drive that interface"? What do you mean exactly by driving something through to the monitor? That's the gap of confusion I was originally concerned with. We know that the video hardware is what logically structures image data as binary, but the monitor is what actually shows it in that regard. \$\endgroup\$ – user35059 Jan 4 '14 at 20:21
  • \$\begingroup\$ I was being deliberately vague, since your question was vague to start with. But basically, these types of driver chips typically take in parallel RGB data (8 to 10 bits per color), along with a pixel clock and HSYNC/VSYNC signals. \$\endgroup\$ – Dave Tweed Jan 4 '14 at 21:31
  • \$\begingroup\$ I am unsure of how or what HSYNC/VSYNC is/how it works. \$\endgroup\$ – user35059 Jan 6 '14 at 20:42
  • \$\begingroup\$ See the information I've added to the answer. \$\endgroup\$ – Dave Tweed Jan 7 '14 at 13:10
  • \$\begingroup\$ Could you illustrate with basic pictures? I still don't understand it exactly. \$\endgroup\$ – user35059 Jan 13 '14 at 21:30