mirror of
git://projects.qi-hardware.com/ben-blinkenlights.git
synced 2024-11-23 22:30:37 +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:
parent
3686153943
commit
77adf43551
135
ubb-vga/README
135
ubb-vga/README
@ -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
83
ubb-vga/README.old
Normal 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
|
Loading…
Reference in New Issue
Block a user