1
0
mirror of git://projects.qi-hardware.com/ben-blinkenlights.git synced 2024-11-27 16:48:26 +02:00

ubb-vga/README: moved old content away and added new compatibility test results

- README.old: moved old content here
- README: updated and extended compatibility chart
This commit is contained in:
Werner Almesberger 2011-05-02 20:06:46 -03:00
parent 3686153943
commit 77adf43551
2 changed files with 158 additions and 60 deletions

View File

@ -10,76 +10,91 @@ http://faculty.lasierra.edu/~ehwang/public/mypublications/VGA Monitor Controller
More timing parameters: More timing parameters:
http://tinyvga.com/vga-timing/640x480@60Hz http://tinyvga.com/vga-timing/640x480@60Hz
For the signal assignment, see ubb-vga.sch
Signal 8:10 VGA Also available as a PDF:
------- ------- --- http://projects.qi-hardware.com/schhist/ubb-vga/pdf_ubb-vga.pdf
R DAT2 1
VSYNC DAT3 14
HSYNC CMD 13
G DAT0 2
B DAT1 3
GND GND 5
http://en.wikipedia.org/wiki/VGA_connector http://en.wikipedia.org/wiki/VGA_connector
Timing
------
Since the Ingenic CPUs take about 8.5 PCLK cycles for a GPIO set or clear,
and we can only set or clear a set of signals in GPIO operation, but not
set some and clear others, we cannot have a real 320 horizontal pixels.
Instead, set and clear operations alternate. This means that the best-case
resolution is equivalent to 320 pixels (if the original pixel boundaries
coincide with the set/clear phases), but it can be as low as 160 pixels if
the boundaries don't match.
Furthermore, timing is still a bit too tight. We therefore use a pixel
clock that's about 10% slower than the original. Luckily, most monitors
don't mind.
Single/double mode
------------------
In single mode, only one set/clear can be performed per pixel. They are
arranges such that the first pixel can only turn on channels, the
following pixel can only turn off channels, and so on.
In double mode, a set and a clear is performed per pixel. This changes
the timing such that it differs substantially from VGA, but some
monitors can still synchronize with this.
The resulting signals for various bit patterns are shown in mapping.fig
Each group shows the input pixels, and signal for single mode, and the
signal for double mode. "S" indicates a point where the channel can be
turned on, "C" indicates a point where it can be turned off.
Note that there are probably other mapping algorithms that would yield
better results. The mapping is not a very performance-critical part of
ubb-vga. Improvements are welcome.
Compatibility Compatibility
------------- -------------
ubb-vga in single mode has been tested with the following monitors: Tested with the timing of commit 36861539431445b80e64f03218f352752338de52
Timings will change in the future and may get better or worse. The
purpose of this compatibility chart is to indicate what kind of results
one can expect with different types of monitors.
Display Monitor size Quality
----------------------- --------------- ----------------------------------
Xenon XEN-1510T 15", 1024x768 good
Samsung 206NW 20", 1680x1050 poor (horizontal instability)
LG W2243C 22", 1920x1080 acceptable (slight instability)
LG W2243L 22", 1920x1080 acceptable (slight instability)
In double mode: Display Monitor size Age (estimated)
----------------------- --------------- ---------------
Xenon XEN-1510T 15", 1024x768 ~9 years
Samsung 206NW 20", 1680x1050 ~4 years
LG W2243C 22", 1920x1080 ~1 year
LG W2243L 22", 1920x1080 a few months
Display Pixels missing Quality Mode Monitor Image Hor. noise Cleanliness
left/right Stable Pixel FIFO
----------------------- --------------- ------------------ --------------- --------------- --------------------------------------------
Xenon XEN-1510T 5 / 25 good 640x480 XEN-1510T y y 1 20, 25% very distorted
206NW y y 2-3 20, 20% very distorted
W2243C y y 2-3 20, 25% very distorted
W2243L y y 2-3 20, 20% very distorted
640x480/58 XEN-1510T y y 1 large very distorted
206NW y y 2-3 large distorted
W2243C y y 2-4 large very distorted
W2243L y y 2-3 large very distorted
640x480/70 XEN-1510T y (2) 1 10, 25% distorted, flickery
206NW y (2) 3-8 - very jittery
W2243C n - "out of range"
W2243L n - "out of range"
800x600/54 XEN-1510T n -
206NW y n (only flashes)
W2243C n - (screen stays dark)
W2243L n - (screen stays dark)
800x600/56 XEN-1510T y (3) 1-2 - good
206NW y (1) 1-3 - jittery
W2243C y y 3-4 20, 50% unusable
W2243L y y 304 - very jittery with waves
800x600/72 XEN-1510T y y 1-3 - good, slight flicker
206NW y y 2-6 - jittery with bounces
W2243C n - (DMA lockup)
W2243L (not tried)
1024x768 XEN-1510T y y 1-2 good
206NW (not tried)
W2243C n - "out of range"
W2243L n - "out of range"
1024x768/53 XEN-1510T n - (screen stays dark)
206NW n - (screen stays dark)
W2243C n - (screen stays dark)
W2243L n - (screen stays dark)
1024x768/50 XEN-1510T y y 1-2 - good
206NW y y 2-4 - jittery
W2243C y y 3-5 - moves a lot
W2243L y y 3-5 - moves a lot
Results:
Image does it show an image, yes/no ?
Stable is the image shown all the time or does the monitor
"catch" it only sometimes ?
Hor. noise horizontal jitter/vibration; distance in pixels
Pixel small pixel deviation, looking like analog noise
FIFO shift of a line or part of it by a large number of pixels
For qualitative assessment, "jittery" means that the image is visible
unstable but doesn't look too bad from a distance. "Bounces"/"waves"
are deviations that appear in groups. "distorted" means that artefacts
are visible. "good" means that the image has only small pixel jitter.
Merely "jittery", "bounces", or "distorted" mean that the test image
and the parameters it shows can be recognized. More severe problems
mean that the test image looks clearly troubled. "Unusable" means
that the screen content cannot be recognized.
(1) Auto-sync places the image way too high. Can be corrected manually.
(2) Image it stable but monitor shows a complaint (occasionally)
(3) Auto-sync places the image too far to the left. Can be corrected
manually.
To do To do
----- -----

83
ubb-vga/README.old Normal file
View File

@ -0,0 +1,83 @@
UBB-VGA - VGA-like output via UBB
=================================
*** THIS IS THE README FOR AN OLDER VERSION OF THE HARDWARE AND THE DRIVER ***
Sources
-------
Timing and the idea for the voltage divider is from:
http://faculty.lasierra.edu/~ehwang/public/mypublications/VGA Monitor Controller.pdf
More timing parameters:
http://tinyvga.com/vga-timing/640x480@60Hz
Signal 8:10 VGA
------- ------- ---
R DAT2 1
VSYNC DAT3 14
HSYNC CMD 13
G DAT0 2
B DAT1 3
GND GND 5
http://en.wikipedia.org/wiki/VGA_connector
Timing
------
Since the Ingenic CPUs take about 8.5 PCLK cycles for a GPIO set or clear,
and we can only set or clear a set of signals in GPIO operation, but not
set some and clear others, we cannot have a real 320 horizontal pixels.
Instead, set and clear operations alternate. This means that the best-case
resolution is equivalent to 320 pixels (if the original pixel boundaries
coincide with the set/clear phases), but it can be as low as 160 pixels if
the boundaries don't match.
Furthermore, timing is still a bit too tight. We therefore use a pixel
clock that's about 10% slower than the original. Luckily, most monitors
don't mind.
Single/double mode
------------------
In single mode, only one set/clear can be performed per pixel. They are
arranges such that the first pixel can only turn on channels, the
following pixel can only turn off channels, and so on.
In double mode, a set and a clear is performed per pixel. This changes
the timing such that it differs substantially from VGA, but some
monitors can still synchronize with this.
The resulting signals for various bit patterns are shown in mapping.fig
Each group shows the input pixels, and signal for single mode, and the
signal for double mode. "S" indicates a point where the channel can be
turned on, "C" indicates a point where it can be turned off.
Note that there are probably other mapping algorithms that would yield
better results. The mapping is not a very performance-critical part of
ubb-vga. Improvements are welcome.
Compatibility
-------------
ubb-vga in single mode has been tested with the following monitors:
Display Monitor size Quality
----------------------- --------------- ----------------------------------
Xenon XEN-1510T 15", 1024x768 good
Samsung 206NW 20", 1680x1050 poor (horizontal instability)
LG W2243C 22", 1920x1080 acceptable (slight instability)
LG W2243L 22", 1920x1080 acceptable (slight instability)
In double mode:
Display Pixels missing Quality
left/right
----------------------- --------------- ------------------
Xenon XEN-1510T 5 / 25 good