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