1 Introduction
2 ============
3
4 The CommonPIC32_VGA distribution provides schematic and circuit layout files
5 for use with KiCad describing a circuit board for use with a PIC32
6 microcontroller, offering VGA signal generation capabilities when used with
7 the appropriate software (provided in the CommonPIC32 software distribution).
8
9 Other interfacing options are also provided for programming the
10 microcontroller using the ICSP mechanism, communicating with the
11 microcontroller using UART peripherals, and connecting the microcontroller to
12 parallel devices and to USB devices.
13
14 Note that the breadboard circuit used to prototype this board only
15 investigated VGA signal generation, ICSP functionality, and UART
16 communication. The other interfacing support has yet to be tested and
17 verified.
18
19 The following resources are provided:
20
21 CommonPIC32_VGA.kicad_pcb The circuit board layout
22
23 CommonPIC32_VGA.net The netlist, generated from the schematic
24 and distributed here for convenience
25
26 CommonPIC32_VGA.pro The KiCad project file
27
28 CommonPIC32_VGA.sch The circuit schematic providing the
29 relationships between components
30
31 PIC32MX270F256B.lib PIC32MX270F256B component library
32 containing a definition for the
33 microcontroller itself (with the PCB
34 footprint being provided by generic KiCad
35 footprint libraries)
36
37 Board Version Notes
38 ===================
39
40 oshpark-7PB6tGOf (December 2021)
41 --------------------------------
42
43 This version provides pads for very short resistors which are rather
44 inconvenient for generally available through-hole mounted resistors, although
45 the pad spacing is appropriate for the capacitors employed in the design. A
46 new version is anticipated with longer footprints for the resistors.
47
48 Another flaw with this version is the combination of colour signals without
49 diodes isolating this part of the circuit. Since some of these pins are used
50 for parallel input/output, if the VGA signal resistors are connected, pairs of
51 pins are effectively joined, making the affected parallel signals unusable.
52 This affects PMD0/PMD1 (blue channel), PMD2/PMWR (green channel), PMD5 (if D7
53 is used for the red channel). Thus, any use of the parallel signals precludes
54 use of the VGA outputs unless only one pin of every affected pair is used, as
55 opposed to both pins.
56
57 Diodes would correct this problem, but another approach could involve a way of
58 switching between VGA output and parallel signal usage since the use of one
59 generally precludes the use of the other: parallel traffic leaking through the
60 VGA connector would not produce a valid signal; VGA output leaking through the
61 parallel connector would not produce valid parallel transactions. A
62 multiplexer controlled by an output signal could be coupled with software to
63 permit switching between the connectors, allowing video output to be switched
64 between a panel and the VGA connector, for example.
65
66 Design Rules and Production
67 ===========================
68
69 It was decided that OSHPark would be used to make the first set of boards.
70 Thus, the design rules for OSHPark were employed by this project. Such rules
71 can be found here:
72
73 http://docs.oshpark.com/services/two-layer/
74 http://docs.oshpark.com/design-tools/kicad/kicad-design-rules/
75
76 The board uploaded to OSHPark was tagged with oshpark-7PB6tGOf in this
77 repository. It resides on OSHPark at the following location:
78
79 https://oshpark.com/projects/7PB6tGOf/view_design
80
81 Contact, Copyright and Licence Information
82 ==========================================
83
84 The author can be contacted at the following e-mail address:
85
86 paul@boddie.org.uk
87
88 Copyright and licence information can be found in the docs directory - see
89 docs/COPYING.txt and docs/gpl-3.0.txt for more information.