8

I'm wanting to generate a VGA signal hopefully as painlessly as possible.

I have an odd question though. Everywhere I see that VGA requires a 25MHz clock for the sync signals.

Is it possible to just draw the screen slower? Like only refresh it at 30Hz? What would happen? I think CRTs would have more of a problem than LCDs. Would either of them work at a lower sync rate?

Earlz
  • 3,346
  • 15
  • 46
  • 66
  • Most monitors will blank the screen when the input signal is not within supported spec. So you'll have to check the specifications of your monitor to see what pixelrates and H/V-sync rates are supported. – jippie Sep 16 '12 at 13:46

2 Answers2

6

You need to have the vertical sync at 60 Hz (minimum), but if you're concerned about the video dot clock speed, you can simply have fewer pixels per horizontal line.

Many microcontrollers can generate VGA quite nicely if they have a hardware SPI controller, which can be configured to pump out the pixels, while the H and V sync signals are produced by the firmware (driven by an interrupt).

Dave Tweed
  • 168,369
  • 17
  • 228
  • 393
  • 1
    +1 - On using the SPI for VGA, I recall that there is a pretty well written chapter on doing this in Lucio di Jasio's book [Exploring the PIC32](http://exploringpic32.com/11.html). – Oli Glaser Sep 16 '12 at 13:42
  • Heh I actually just found something for my microcontroller(mbed) that uses apparently some method of DMA and SPI to generate a 640x400 image at 70hz *without* constant CPU useage – Earlz Sep 16 '12 at 14:11
5

Even LCD monitors will not look as good as normal if you try to do the vertical refresh rate at 30Hz. Do be aware that LCD monitors do not have a memory that remembers all the screen display pixels from one vertical frame to the next. Instead the monitor will require a continuous flow of video data in order to see a persistent active screen image.

Michael Karas
  • 56,889
  • 3
  • 70
  • 138