mirror of
git://projects.qi-hardware.com/ben-blinkenlights.git
synced 2024-11-27 16:57:31 +02:00
ubb-vga/web/: generate a Web page describing UBB-VGA (im progress)
This commit is contained in:
parent
ba1d297643
commit
64e74ab63c
52
ubb-vga/web/Makefile
Normal file
52
ubb-vga/web/Makefile
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
SCHHIST=../../../eda-tools/schhist
|
||||||
|
SCHPS2PPM=$(SCHHIST)/schps2ppm
|
||||||
|
NORMALIZESCHPS=$(SCHHIST)/normalizeschps
|
||||||
|
|
||||||
|
SRC=http://downloads.qi-hardware.com/people/werner/ubb/vga
|
||||||
|
|
||||||
|
DL=ubb-vga-pub-1024.jpg ubb-vga-pub-plugged.jpg ubb-vga-pub-v2.jpg
|
||||||
|
GEN= ubb-vga-pub-1024-small.jpg ubb-vga-pub-plugged-small.jpg \
|
||||||
|
ubb-vga-pub-v2-small.jpg \
|
||||||
|
ubb-vga-schem.png ubb-vga-schem-small.png
|
||||||
|
|
||||||
|
|
||||||
|
.PHONY: upload gen clean spotless
|
||||||
|
|
||||||
|
|
||||||
|
upload: $(DL) $(GEN)
|
||||||
|
rsync -e ssh index.html $(DL) $(GEN) \
|
||||||
|
www-data@downloads.qi-hardware.com:werner/ubb/vga/web/
|
||||||
|
|
||||||
|
gen: $(GEN)
|
||||||
|
|
||||||
|
ubb-vga-schem.png: ../ubb-vga.ps
|
||||||
|
$(NORMALIZESCHPS) -w 120 $< | \
|
||||||
|
$(SCHPS2PPM) | \
|
||||||
|
pnmcrop | convert ppm:- $@ || { rm -f $@; }
|
||||||
|
|
||||||
|
ubb-vga-pub-1024.jpg:
|
||||||
|
wget $(SRC)/$@
|
||||||
|
|
||||||
|
ubb-vga-pub-v2.jpg:
|
||||||
|
wget $(SRC)/$@
|
||||||
|
|
||||||
|
ubb-vga-pub-plugged.jpg:
|
||||||
|
wget $(SRC)/$@
|
||||||
|
|
||||||
|
ubb-vga-pub-1024-small.jpg: ubb-vga-pub-1024.jpg
|
||||||
|
convert $< -scale x240 $@
|
||||||
|
|
||||||
|
ubb-vga-pub-v2-small.jpg: ubb-vga-pub-v2.jpg
|
||||||
|
convert $< -scale x240 $@
|
||||||
|
|
||||||
|
ubb-vga-pub-plugged-small.jpg: ubb-vga-pub-plugged.jpg
|
||||||
|
convert $< -scale x240 $@
|
||||||
|
|
||||||
|
ubb-vga-schem-small.png: ubb-vga-schem.png
|
||||||
|
convert $< -scale '40%' $@
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(GEN)
|
||||||
|
|
||||||
|
spotless: clean
|
||||||
|
rm -f $(DL)
|
66
ubb-vga/web/index.html
Normal file
66
ubb-vga/web/index.html
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
<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>
|
Loading…
Reference in New Issue
Block a user