aboutsummaryrefslogtreecommitdiffstats
path: root/notes/vga.txt
blob: 2230f576897fe2dc01988db00c5414972d05a09f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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