2011-04-24 18:02:48 +03:00
|
|
|
UBB-VGA - VGA-like output via UBB
|
|
|
|
=================================
|
|
|
|
|
2011-04-24 08:54:55 +03:00
|
|
|
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
|
|
|
|
|
2011-05-03 02:06:46 +03:00
|
|
|
For the signal assignment, see ubb-vga.sch
|
|
|
|
Also available as a PDF:
|
|
|
|
http://projects.qi-hardware.com/schhist/ubb-vga/pdf_ubb-vga.pdf
|
2011-04-24 08:54:55 +03:00
|
|
|
http://en.wikipedia.org/wiki/VGA_connector
|
|
|
|
|
|
|
|
|
2011-04-24 18:02:48 +03:00
|
|
|
Compatibility
|
|
|
|
-------------
|
|
|
|
|
2011-05-03 02:06:46 +03:00
|
|
|
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 Age (estimated)
|
|
|
|
----------------------- --------------- ---------------
|
|
|
|
Xenon XEN-1510T 15", 1024x768 ~9 years
|
2011-05-03 02:45:44 +03:00
|
|
|
Samsung LN32R71B (TV) 32", 1360x768 ~5 years
|
2011-05-03 02:06:46 +03:00
|
|
|
Samsung 206NW 20", 1680x1050 ~4 years
|
|
|
|
LG W2243C 22", 1920x1080 ~1 year
|
|
|
|
LG W2243L 22", 1920x1080 a few months
|
|
|
|
|
|
|
|
Mode Monitor Image Hor. noise Cleanliness
|
|
|
|
Stable Pixel FIFO
|
|
|
|
--------------- --------------- --------------------------------------------
|
|
|
|
640x480 XEN-1510T y y 1 20, 25% very distorted
|
2011-05-03 02:45:44 +03:00
|
|
|
LN32R71B y y 1 20, 25% very distorted
|
2011-05-03 02:06:46 +03:00
|
|
|
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
|
2011-05-03 02:45:44 +03:00
|
|
|
|
2011-05-03 02:06:46 +03:00
|
|
|
640x480/58 XEN-1510T y y 1 large very distorted
|
2011-05-03 02:45:44 +03:00
|
|
|
LN32R71B y n 1 large very distorted
|
2011-05-03 02:06:46 +03:00
|
|
|
206NW y y 2-3 large distorted
|
|
|
|
W2243C y y 2-4 large very distorted
|
|
|
|
W2243L y y 2-3 large very distorted
|
2011-05-03 02:45:44 +03:00
|
|
|
|
2011-05-03 16:19:16 +03:00
|
|
|
640x480/61 XEN-1510T y y 1 -/10, 20% very good/distorted (5)
|
2011-05-03 18:09:11 +03:00
|
|
|
206NW y y 2-4 - jittery, sometim. waves
|
2011-05-03 16:19:16 +03:00
|
|
|
|
2011-05-03 02:06:46 +03:00
|
|
|
640x480/70 XEN-1510T y (2) 1 10, 25% distorted, flickery
|
2011-05-03 02:45:44 +03:00
|
|
|
LN32R71B n - "not supported mode"
|
2011-05-03 02:06:46 +03:00
|
|
|
206NW y (2) 3-8 - very jittery
|
|
|
|
W2243C n - "out of range"
|
|
|
|
W2243L n - "out of range"
|
2011-05-03 02:45:44 +03:00
|
|
|
|
2011-05-03 02:06:46 +03:00
|
|
|
800x600/54 XEN-1510T n -
|
2011-05-03 02:45:44 +03:00
|
|
|
LN32R71B n - "not supported mode"
|
2011-05-03 02:06:46 +03:00
|
|
|
206NW y n (only flashes)
|
|
|
|
W2243C n - (screen stays dark)
|
|
|
|
W2243L n - (screen stays dark)
|
2011-05-03 02:45:44 +03:00
|
|
|
|
2011-05-03 02:06:46 +03:00
|
|
|
800x600/56 XEN-1510T y (3) 1-2 - good
|
2011-05-03 02:45:44 +03:00
|
|
|
LN32R71B n - "not supported mode"
|
2011-05-03 02:06:46 +03:00
|
|
|
206NW y (1) 1-3 - jittery
|
|
|
|
W2243C y y 3-4 20, 50% unusable
|
2011-05-03 18:09:11 +03:00
|
|
|
W2243L y y 3-4 - very jittery with waves
|
2011-05-03 02:45:44 +03:00
|
|
|
|
2011-05-03 02:06:46 +03:00
|
|
|
800x600/72 XEN-1510T y y 1-3 - good, slight flicker
|
2011-05-03 02:45:44 +03:00
|
|
|
LN32R71B y (4) 1 - image very good (4)
|
2011-05-03 02:06:46 +03:00
|
|
|
206NW y y 2-6 - jittery with bounces
|
|
|
|
W2243C n - (DMA lockup)
|
|
|
|
W2243L (not tried)
|
2011-05-03 02:45:44 +03:00
|
|
|
|
2011-05-03 02:06:46 +03:00
|
|
|
1024x768 XEN-1510T y y 1-2 good
|
2011-05-03 02:45:44 +03:00
|
|
|
LN32R71B n - "not supported mode"
|
2011-05-03 02:06:46 +03:00
|
|
|
206NW (not tried)
|
|
|
|
W2243C n - "out of range"
|
|
|
|
W2243L n - "out of range"
|
2011-05-03 02:45:44 +03:00
|
|
|
|
2011-05-03 02:06:46 +03:00
|
|
|
1024x768/53 XEN-1510T n - (screen stays dark)
|
2011-05-03 02:45:44 +03:00
|
|
|
LN32R71B n - "not supported mode"
|
2011-05-03 02:06:46 +03:00
|
|
|
206NW n - (screen stays dark)
|
|
|
|
W2243C n - (screen stays dark)
|
|
|
|
W2243L n - (screen stays dark)
|
2011-05-03 02:45:44 +03:00
|
|
|
|
2011-05-03 02:06:46 +03:00
|
|
|
1024x768/50 XEN-1510T y y 1-2 - good
|
2011-05-03 02:45:44 +03:00
|
|
|
LN32R71B n - "not supported mode"
|
2011-05-03 02:06:46 +03:00
|
|
|
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.
|
2011-05-03 02:45:44 +03:00
|
|
|
(4) Places the image too far to the left. Cannot be sufficiently
|
|
|
|
corrected.
|
2011-05-03 16:19:16 +03:00
|
|
|
(5) about 70% of all session have a clean stable image. The remaining
|
|
|
|
30% suffer significant FIFO noise.
|
2011-05-03 02:45:44 +03:00
|
|
|
|
2011-05-02 05:32:24 +03:00
|
|
|
|
|
|
|
To do
|
|
|
|
-----
|
|
|
|
|
|
|
|
- use timer half interrupt and WAIT to synchronize (less bus traffic and
|
|
|
|
hopefully better granularity)
|
|
|
|
- recover from DMA lockup
|
|
|
|
- use color cube map (5x5x5 bits)
|
|
|
|
- read/write raw frame buffer
|
|
|
|
- consider prefetching first word of each line, to make DRAM controller
|
|
|
|
open the row and reduce DMA startup latency
|
2011-05-02 13:10:52 +03:00
|
|
|
- add option to not disable the LCD (works with some modes if reducing
|
|
|
|
the LCD controller's burst size)
|
|
|
|
- find out why 640x480 has so much FIFO noise
|
|
|
|
- fix modes 800x600/54 and 800x600/72, broken by the timer change
|