mirror of
git://projects.qi-hardware.com/ben-blinkenlights.git
synced 2024-12-03 21:24:59 +02:00
67 lines
2.2 KiB
HTML
67 lines
2.2 KiB
HTML
<HTML>
|
|
<TITLE>
|
|
UBB-VGA
|
|
</TITLE>
|
|
<BODY>
|
|
|
|
<H1>UBB-VGA</H1>
|
|
|
|
This is an effort led by Werner Almesberger 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>
|
|
|
|
At present, the maximum resolution is 1024x768 with a refresh rate of 50 Hz:
|
|
<BR>
|
|
<A href="ubb-vga-pub-1024.jpg"><IMG src="ubb-vga-pub-1024-small.jpg"></A>
|
|
<BR>
|
|
Other resolutions possible include 640x480 and 800x600.
|
|
<P>
|
|
The 16 colors are generated from a binary channel for red, green, and blue
|
|
each, plus a binary luminance channel that affects all colors.
|
|
|
|
|
|
<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 streaming 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.jpg"><IMG src="ubb-vga-pub-plugged-small.jpg"></A>
|
|
|
|
<A href="ubb-vga-pub-v2.jpg"><IMG src="ubb-vga-pub-v2-small.jpg"></A>
|
|
<P>
|
|
The circuit is very simple. It consists of UBB itself, ten resistors,
|
|
and the VGA cable:
|
|
<BR>
|
|
<A href="ubb-vga-schem.png"><IMG src="ubb-vga-schem-small.png"></A>
|
|
<BR>
|
|
Each of the three analog color channels uses three resistors for lowering
|
|
the 3.3 V logical voltage to the 0.7 V VGA level and for mixing in the
|
|
luminance (Y) signal. The tenth resistor pulls down the HSYNC/CMD
|
|
line, to fake the "not busy" signal 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 PNM 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>.
|
|
|
|
</BODY>
|
|
</HTML>
|