CommonPIC32

docs/wiki/VGA_Output_Examples

150:82a63936a118
2019-06-11 Paul Boddie Added initial library documentation.
     1 = VGA Output Examples =     2      3 A number of examples are provided to demonstrate the generation of a [[VGA     4 Signal Output|VGA-compatible video signal]] by the microcontroller:     5      6  * [[Examples/vga|vga]]     7  * [[Examples/vga-cpu|vga-cpu]]     8  * [[Examples/vga-dual|vga-dual]]     9  * [[Examples/vga-pmp|vga-pmp]]    10  * [[Examples/vga-timer|vga-timer]]    11     12 Each one mostly demonstrates the same thing as the others, but certain    13 implementation choices cause certain trade-offs to be made. Some of these are    14 discussed below.    15     16 == Comparison ==    17     18 In investigating different techniques, the following observations have been    19 made about the behaviour of the different VGA examples:    20     21 {{{#!table    22           || DMA Channels || Horizontal Resolution || Picture Stability    23           || Pixel Consistency || Scrolling Operational    24 ==    25 vga       || 1 || High || No  || No  || Yes    26 ==    27 vga-cpu   || 0 || High || Yes || Yes || Yes    28 ==    29 vga-dual  || 2 || High || No  || No  || No    30 ==    31 vga-pmp   || 1 || High || No  || No  || Yes    32 ==    33 vga-timer || 2 || Low  || Yes || Yes || Yes    34 }}}    35     36 Here, picture stability is assessed with the CPU accessing RAM. In general,    37 all of the approaches can provide stable pictures with limited RAM access    38 loading. However, under load, the picture will stretch and ripple for all    39 examples where picture stability is given as "No".    40     41 It should be noted that the vga-timer example employs two DMA channels, but    42 this is only to maximise horizontal resolution. With a single channel,    43 horizontal resolution is diminished still further in comparison to the other    44 examples.    45     46 It would appear that two most viable approaches are the vga-cpu and vga-timer,    47 if only because they produce consistently-sized pixels, retain picture    48 stability under load, and provide operational horizontal scrolling. These    49 approaches provide a tradeoff between performance (vga-timer being faster) and    50 resolution (vga-cpu being better).