Background of the project.
Several months ago I tried to connect a microcontroller system to a VGA monitor to output data in the form of text. I was surprised to find little on this subject on the internet, to assist me in achieving this goal. Certainly nothing simple a beginner could find useful.
There are examples out there that utilise standards such as PC-104 or complex FGPA implementations found at www.opencores.org. Other solutions include graphic controllers from Fujitsu or even one local Russian person who was offering for sale a project for $5000 on ACEX. These are fine but are little help to most hobbyists etc out there who wish to display text on a VGA or similar screen.
What I desired was a “quick and dirty” solution that did not cost too much.
Initial calculations showed that the the AVR 8-bit microcontroller from ATMEL, with its 16Mhz clock speed providing approximately 16 MIPS was a good candidate for further research. Also note that newer AVRs such as the Mega48, Mega88 and Mega168 will officially support clock rates upto 20 Mhz. Therefore I concluded that with a clock of 16 Mhz I could achieve something in the order of 8 Mhz speed of data being transferred out of a port. I also chose the AVR as I had already built up quite a body of experience with it and so I began work of the project.
After approximately two to three months of research, I present you the fruits of my labour!
The goal of the project:
The problem which I have set myself is simple enough to enumerate. With commonly available microcontrollers like the Mega8, Mega16 and similar, and with a minimum of external components I wanted a design that would be capable of displaying at least 15×15 characters on a VGA monitor using standard VGA frequencies. The data itself is to be received by the microcontroller via its USART port. All using a 16 Mhz clock for the AVR.
The given problem at present is solved successfully.
Moreover – the project is a little bit expanded and added by introduction of formation usual
Video monochrome (PAL/SECAM) a signal. I.e. depending on position of a jumper type of formed video of signal VGA or Composite Video.
The initial goal has been achieved. The project has expanded to include Monochomatic Video singal (PAL/SECAM). In my test set up a mere jumper determines whether the output is VGA or Composite Video.
For more detail: VGA Monitor adaptor using AVR microcontroller