From 64e74ab63c7766c6ee82e0439331114d6e3f90ea Mon Sep 17 00:00:00 2001 From: Werner Almesberger Date: Sat, 7 May 2011 04:46:43 -0300 Subject: [PATCH] ubb-vga/web/: generate a Web page describing UBB-VGA (im progress) --- ubb-vga/web/Makefile | 52 +++++++++++++++++++++++++++++++++ ubb-vga/web/index.html | 66 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 118 insertions(+) create mode 100644 ubb-vga/web/Makefile create mode 100644 ubb-vga/web/index.html diff --git a/ubb-vga/web/Makefile b/ubb-vga/web/Makefile new file mode 100644 index 0000000..70a57d5 --- /dev/null +++ b/ubb-vga/web/Makefile @@ -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) diff --git a/ubb-vga/web/index.html b/ubb-vga/web/index.html new file mode 100644 index 0000000..c505330 --- /dev/null +++ b/ubb-vga/web/index.html @@ -0,0 +1,66 @@ + + +UBB-VGA + + + +

UBB-VGA

+ +This is an effort led by Werner Almesberger to use the +UBB +(Universal Breakout Board), a few resistors, and a VGA cable to create a +workable VGA signal on the +Ben Nanonote. + + +

What it can do

+ +At present, the maximum resolution is 1024x768 with a refresh rate of 50 Hz: +
+ +
+Other resolutions possible include 640x480 and 800x600. +

+The 16 colors are generated from a binary channel for red, green, and blue +each, plus a binary luminance channel that affects all colors. + + +

The hardware

+ +The current design is based on the +Universal Breakout Board (UBB) +that plugs into the Ben's +8:10 card +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. +

+The pictures below show a prototype that connects directly to a VGA cable: +

+ +  + +

+The circuit is very simple. It consists of UBB itself, ten resistors, +and the VGA cable: +
+ +
+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. + + +

The software

+ +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 +here. + + +