mirror of
git://projects.qi-hardware.com/ben-blinkenlights.git
synced 2024-12-27 12:54:17 +02:00
19c04403c0
"Busy" is actually another signal, on DAT0, and sent betweeen blocks. We don't fake that one (so far), although the mechanism would be similar.
81 lines
2.7 KiB
HTML
81 lines
2.7 KiB
HTML
<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>
|