<HTML> <TITLE> UBB-VGA </TITLE> <BODY> <H1>UBB-VGA</H1> This is an effort to use the <A href="http://en.qi-hardware.com/wiki/UBB">UBB</A> (Universal Breakout Board), a few resistors, and a VGA cable to create a workable VGA signal on the <A href="http://en.qi-hardware.com/wiki/Ben_NanoNote">Ben NanoNote</A>. <H2>What it can do</H2> The video signal timing is controlled mostly by software. Available resolutions include 640x480 and 800x600. At present, the maximum resolution is 1024x768 with a refresh rate of 50 Hz: <P> <A href="ubb-vga-pub-1024-medium.jpg"><IMG src="ubb-vga-pub-1024-small.jpg"></A> <P> The 16 colors are generated from a binary channel for red, green, and blue each, plus a binary luminance channel that affects all three color channels. <H2>The hardware</H2> The current design is based on the <A href="http://en.qi-hardware.com/wiki/UBB">Universal Breakout Board</A> (UBB) that plugs into the Ben's <A href="http://lists.en.qi-hardware.com/pipermail/discussion/2011-January/006908.html">8:10 card</A> slot. The MMC controller in the Ben's Jz4720 CPU is tricked into considering the UBB-VGA board as a MMC/SD device and streams the pixel data at a rate of up to 56 MHz. <P> The pictures below show a prototype that connects directly to a VGA cable: </P> <A href="ubb-vga-pub-plugged-medium.jpg"><IMG src="ubb-vga-pub-plugged-small.jpg"></A> <A href="ubb-vga-pub-v2-medium.jpg"><IMG src="ubb-vga-pub-v2-small.jpg"></A> <P> The circuit is very simple. In its most basic form, it consists of UBB, ten resistors, and the VGA cable: <P> <A href="ubb-vga-schem.png"><IMG src="ubb-vga-schem-small.png"></A> <P> Each of the three analog color channels uses three resistors for lowering the 3.3 V logic voltage to the 0.7 V analog VGA level and for mixing in the luminance (Y) signal. The tenth resistor pulls down the HSYNC/CMD line, to fake the response the MMC controller expects to receive from a MMC device when starting a block write. <H2>The software</H2> The driver currently runs in user space (with a lot of dirty tricks) and blocks all other system activity while running. It can display the test image shown above, the content of the LCD display, or a PPM image. The source code can be found <A href="http://projects.qi-hardware.com/index.php/p/ben-blinkenlights/source/tree/master/ubb-vga">here</A>. <H2>Mailing list, IRC</H2> Development discussions and such happen on the <A href="http://lists.en.qi-hardware.com/mailman/listinfo/discussion"> qi-hardware mailing list</A> and on the <A href="http://webchat.freenode.net/?randomnick=1&channels=qi-hardware">#qi-hardware channel</A> on <A href="http://freenode.net/">freenode</A>. <P> <HR> Last update: 2011-05-07 <I>Werner Almesberger</I> <HR> </BODY> </HTML>