diff options
author | bnewbold <bnewbold@robocracy.org> | 2010-06-12 22:54:11 -0400 |
---|---|---|
committer | bnewbold <bnewbold@robocracy.org> | 2010-07-20 15:36:44 -0400 |
commit | f06fcac502619bc7f6155aa75947dc4340efccd5 (patch) | |
tree | e2e727854044548072ae6555744d886e3d7300fd /notes/vga.txt | |
parent | 52cbd2f1a1557002f46355e0095400a09c267ff9 (diff) | |
download | librambutan-f06fcac502619bc7f6155aa75947dc4340efccd5.tar.gz librambutan-f06fcac502619bc7f6155aa75947dc4340efccd5.zip |
good quality vga leaf logo; usb+systick disabled
refactored timers and added interrupt behavior. see notes and
comments... also includes a crude vga hack that doesn't use timers.
Diffstat (limited to 'notes/vga.txt')
-rw-r--r-- | notes/vga.txt | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/notes/vga.txt b/notes/vga.txt new file mode 100644 index 0000000..2230f57 --- /dev/null +++ b/notes/vga.txt @@ -0,0 +1,32 @@ + +classic digitalWrite() gives ~500ns pulse time (2MHz) + +gpio_write_bit() is about 360ns (2.78MHz) + +writing to GPIO?_BASE is about 60ns (16.6MHz -> 18MHz) + +pwm write 0x0001 is about 30ns (33MHz) +pwm write 0x0001 is about 14ns (72MHz) with prescaler as 0 (!) + +1/25.125MHz = 39.72ns + +crude 640x480 directions: + www.epanorama.net/documents/pc/vga_timing.html + 480 lines + 31.77 us horizontal line length -> 2287.44 clock cycles -> 2287 + 3.77 us sync period -> 271 clocks -> 271 + 1.89 us front porch? -> 136 clocks -> 136 + 25.17 us video -> 1812.24 clocks -> 1812 + + so... + 2287 reload + 271 1: Hsync high + 407 2: Video on + 2219 3: Video off + 2287 4: Hsync low + + vertically, it's + 480 lines active video + 11 lines front porch + 2 lines Vsync (low) + 31 lines back porch |