1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/README.txt Fri Nov 02 19:10:58 2018 +0100
1.3 @@ -0,0 +1,57 @@
1.4 +Introduction
1.5 +------------
1.6 +
1.7 +The CommonPIC32 distribution contains library code and examples demonstrating
1.8 +various features and applications of MIPS-based products in the PIC32
1.9 +microcontroller family. The following examples are provided:
1.10 +
1.11 +demo A demonstration of an assortment of peripherals, changing pin
1.12 + output levels (to turn LEDs on and off) and communicating using a
1.13 + UART peripheral.
1.14 +
1.15 +vga A collection of examples investigating approaches to provide an
1.16 +vga-cpu analogue VGA signal, displaying the contents of the
1.17 +vga-dual microcontroller's memory on a suitable display. Each example has
1.18 +vga-pmp documentation describing its approach, benefits and limitations,
1.19 +vga-timer but a summary is provided below.
1.20 +
1.21 +Contact, Copyright and Licence Information
1.22 +------------------------------------------
1.23 +
1.24 +The author can be contacted at the following e-mail address:
1.25 +
1.26 +paul@boddie.org.uk
1.27 +
1.28 +Copyright and licence information can be found in the docs directory - see
1.29 +docs/COPYING.txt and docs/gpl-3.0.txt for more information.
1.30 +
1.31 +VGA Output Example Comparison
1.32 +-----------------------------
1.33 +
1.34 +In investigating different techniques, the following observations have been
1.35 +made about the behaviour of the different VGA examples:
1.36 +
1.37 + DMA Horizontal Picture Pixel Scrolling
1.38 + Channels Resolution Stability Consistency Operational
1.39 + -------- ---------- --------- ----------- -----------
1.40 +vga 1 High No No Yes
1.41 +vga-cpu 0 High Yes Yes Yes
1.42 +vga-dual 2 High No No No
1.43 +vga-pmp 1 High No No Yes
1.44 +vga-timer 2 Low Yes Yes Yes
1.45 +
1.46 +Here, picture stability is assessed with the CPU accessing RAM. In general,
1.47 +all of the approaches can provide stable pictures with limited RAM access
1.48 +loading. However, under load, the picture will stretch and ripple for all
1.49 +examples where picture stability is given as "No".
1.50 +
1.51 +It should be noted that the vga-timer example employs two DMA channels, but
1.52 +this is only to maximise horizontal resolution. With a single channel,
1.53 +horizontal resolution is diminished still further in comparison to the other
1.54 +examples.
1.55 +
1.56 +It would appear that two most viable approaches are the vga-cpu and vga-timer,
1.57 +if only because they produce consistently-sized pixels, retain picture
1.58 +stability under load, and provide operational horizontal scrolling. These
1.59 +approaches provide a tradeoff between performance (vga-timer being faster) and
1.60 +resolution (vga-cpu being better).
2.1 --- a/examples/vga-dual/README.txt Fri Nov 02 18:26:06 2018 +0100
2.2 +++ b/examples/vga-dual/README.txt Fri Nov 02 19:10:58 2018 +0100
2.3 @@ -21,6 +21,10 @@
2.4 group of four pixels), the effect persists. However, the picture is perhaps
2.5 more stable than in the vga example.
2.6
2.7 +One significant problem with this example is that scrolling causes the DMA
2.8 +channels to become ordered incorrectly. This does not affect the vga-timer
2.9 +example which also employs two DMA channels.
2.10 +
2.11 Hardware Details
2.12 ================
2.13