Root/
| 1 | UBB-VGA - VGA-like output via UBB |
| 2 | ================================= |
| 3 | |
| 4 | Sources |
| 5 | ------- |
| 6 | |
| 7 | Timing and the idea for the voltage divider is from: |
| 8 | http://faculty.lasierra.edu/~ehwang/public/mypublications/VGA Monitor Controller.pdf |
| 9 | |
| 10 | More timing parameters: |
| 11 | http://tinyvga.com/vga-timing/640x480@60Hz |
| 12 | |
| 13 | For the signal assignment, see ubb-vga.sch |
| 14 | Also available as a PDF: |
| 15 | http://projects.qi-hardware.com/schhist/ubb-vga/pdf_ubb-vga.pdf |
| 16 | http://en.wikipedia.org/wiki/VGA_connector |
| 17 | |
| 18 | |
| 19 | Compatibility |
| 20 | ------------- |
| 21 | |
| 22 | Tested with the timing of commit 36861539431445b80e64f03218f352752338de52 |
| 23 | Timings will change in the future and may get better or worse. The |
| 24 | purpose of this compatibility chart is to indicate what kind of results |
| 25 | one can expect with different types of monitors. |
| 26 | |
| 27 | |
| 28 | Display Monitor size Age (estimated) |
| 29 | ----------------------- --------------- --------------- |
| 30 | Xenon XEN-1510T 15", 1024x768 ~9 years |
| 31 | Samsung LN32R71B (TV) 32", 1360x768 ~5 years |
| 32 | Samsung 206NW 20", 1680x1050 ~4 years |
| 33 | LG W2243C 22", 1920x1080 ~1 year |
| 34 | LG W2243L 22", 1920x1080 a few months |
| 35 | |
| 36 | Mode Monitor Image Hor. noise Cleanliness |
| 37 | Stable Pixel FIFO |
| 38 | --------------- --------------- -------------------------------------------- |
| 39 | 640x480 XEN-1510T y y 1 20, 25% very distorted |
| 40 | LN32R71B y y 1 20, 25% very distorted |
| 41 | 206NW y y 2-3 20, 20% very distorted |
| 42 | W2243C y y 2-3 20, 25% very distorted |
| 43 | W2243L y y 2-3 20, 20% very distorted |
| 44 | |
| 45 | 640x480/58 XEN-1510T y y 1 large very distorted |
| 46 | LN32R71B y n 1 large very distorted |
| 47 | 206NW y y 2-3 large distorted |
| 48 | W2243C y y 2-4 large very distorted |
| 49 | W2243L y y 2-3 large very distorted |
| 50 | |
| 51 | 640x480/61 XEN-1510T y y 1 -/10, 20% very good/distorted (5) |
| 52 | 206NW y y 2-4 - jittery, sometim. waves |
| 53 | |
| 54 | 640x480/70 XEN-1510T y (2) 1 10, 25% distorted, flickery |
| 55 | LN32R71B n - "not supported mode" |
| 56 | 206NW y (2) 3-8 - very jittery |
| 57 | W2243C n - "out of range" |
| 58 | W2243L n - "out of range" |
| 59 | |
| 60 | 800x600/54 XEN-1510T n - |
| 61 | LN32R71B n - "not supported mode" |
| 62 | 206NW y n (only flashes) |
| 63 | W2243C n - (screen stays dark) |
| 64 | W2243L n - (screen stays dark) |
| 65 | |
| 66 | 800x600/56 XEN-1510T y (3) 1-2 - good |
| 67 | LN32R71B n - "not supported mode" |
| 68 | 206NW y (1) 1-3 - jittery |
| 69 | W2243C y y 3-4 20, 50% unusable |
| 70 | W2243L y y 3-4 - very jittery with waves |
| 71 | |
| 72 | 800x600/72 XEN-1510T y y 1-3 - good, slight flicker |
| 73 | LN32R71B y (4) 1 - image very good (4) |
| 74 | 206NW y y 2-6 - jittery with bounces |
| 75 | W2243C n - (DMA lockup) |
| 76 | W2243L (not tried) |
| 77 | |
| 78 | 1024x768 XEN-1510T y y 1-2 good |
| 79 | LN32R71B n - "not supported mode" |
| 80 | 206NW (not tried) |
| 81 | W2243C n - "out of range" |
| 82 | W2243L n - "out of range" |
| 83 | |
| 84 | 1024x768/53 XEN-1510T n - (screen stays dark) |
| 85 | LN32R71B n - "not supported mode" |
| 86 | 206NW n - (screen stays dark) |
| 87 | W2243C n - (screen stays dark) |
| 88 | W2243L n - (screen stays dark) |
| 89 | |
| 90 | 1024x768/50 XEN-1510T y y 1-2 - good |
| 91 | LN32R71B n - "not supported mode" |
| 92 | 206NW y y 2-4 - jittery |
| 93 | W2243C y y 3-5 - moves a lot |
| 94 | W2243L y y 3-5 - moves a lot |
| 95 | |
| 96 | Results: |
| 97 | |
| 98 | Image does it show an image, yes/no ? |
| 99 | Stable is the image shown all the time or does the monitor |
| 100 | "catch" it only sometimes ? |
| 101 | Hor. noise horizontal jitter/vibration; distance in pixels |
| 102 | Pixel small pixel deviation, looking like analog noise |
| 103 | FIFO shift of a line or part of it by a large number of pixels |
| 104 | |
| 105 | For qualitative assessment, "jittery" means that the image is visible |
| 106 | unstable but doesn't look too bad from a distance. "Bounces"/"waves" |
| 107 | are deviations that appear in groups. "distorted" means that artefacts |
| 108 | are visible. "good" means that the image has only small pixel jitter. |
| 109 | |
| 110 | Merely "jittery", "bounces", or "distorted" mean that the test image |
| 111 | and the parameters it shows can be recognized. More severe problems |
| 112 | mean that the test image looks clearly troubled. "Unusable" means |
| 113 | that the screen content cannot be recognized. |
| 114 | |
| 115 | (1) Auto-sync places the image way too high. Can be corrected manually. |
| 116 | (2) Image it stable but monitor shows a complaint (occasionally) |
| 117 | (3) Auto-sync places the image too far to the left. Can be corrected |
| 118 | manually. |
| 119 | (4) Places the image too far to the left. Cannot be sufficiently |
| 120 | corrected. |
| 121 | (5) about 70% of all session have a clean stable image. The remaining |
| 122 | 30% suffer significant FIFO noise. |
| 123 | |
| 124 | |
| 125 | To do |
| 126 | ----- |
| 127 | |
| 128 | - use timer half interrupt and WAIT to synchronize (less bus traffic and |
| 129 | hopefully better granularity) |
| 130 | - recover from DMA lockup |
| 131 | - use color cube map (5x5x5 bits) |
| 132 | - read/write raw frame buffer |
| 133 | - consider prefetching first word of each line, to make DRAM controller |
| 134 | open the row and reduce DMA startup latency |
| 135 | - add option to not disable the LCD (works with some modes if reducing |
| 136 | the LCD controller's burst size) |
| 137 | - find out why 640x480 has so much FIFO noise |
| 138 | - fix modes 800x600/54 and 800x600/72, broken by the timer change |
| 139 |
Branches:
master
