aboutsummaryrefslogtreecommitdiffstats
path: root/notes/vga.txt
diff options
context:
space:
mode:
authorbnewbold <bnewbold@robocracy.org>2010-06-12 22:54:11 -0400
committerbnewbold <bnewbold@robocracy.org>2010-07-20 15:36:44 -0400
commitf06fcac502619bc7f6155aa75947dc4340efccd5 (patch)
treee2e727854044548072ae6555744d886e3d7300fd /notes/vga.txt
parent52cbd2f1a1557002f46355e0095400a09c267ff9 (diff)
downloadlibrambutan-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.txt32
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