libmaple/notes/vga.txt

36 lines
998 B
Plaintext
Raw Permalink Normal View History

Notes on GPIO Writing
------------------------------------------------------------------------------
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 14ns (72MHz) with prescaler as 0 (!)
VGA Timing
------------------------------------------------------------------------------
1/25.125MHz = 39.72ns (640x480 pixel clock)
Crude 640x480 directions:
From 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