IO Socket Mapping

This page describes the electrical attributes modules must conform to to be compatible with the PlugAndProgram Ecosystem.


IO Sockets on PlugAndProgram Mainboards

There are 6 pins available on every Mainboard IO socket.

Pin General IO Socket pin
1 IO Socket Pin 1
2 IO Socket Pin 2
3 IO Socket Pin 3
4 IO Socket Pin 4
5 Gnd
6 ~3.3v

Some mainboard  IO sockets map specific processor peripherals.

Examples: SPI, I2C, UART

Such IO sockets have the the peripheral specific pins mapped consistently with any other IO socket that provides an identical peripheral function.

Example: MC32MX64GP.IO6 as well as being available for general use, also connects out processor peripheral function SPI1, while MC32MX64GP.IO1 breaks out hardware function SPI2.  To ensure any PlugAndProgram module requiring SPI functionality can be connected to either SPI1 or SPI2 via MC32MX64GP.IO6 or MC32MX64GP.IO1 both these 2 IO sockets identically map the processor SPI function pins.

Mainboard Processor peripheral function pin mapping

IO Socket pin General IO Socket pin SPIx* I2Cx UARTx JTAG PMP Control*
1 1 SCKx RTS CSDI PMWR
2 2 SDIx SDA RX CSDO PMRD
3 3 SDOx SCL TX CSCK PMA0/PMALL
4 4 SSx CTS CLFS PMCS1/PMA14
5 Gnd Gnd Gnd Gnd Gnd Gnd
6 ~3.3v ~3.3v ~3.3v ~3.3v ~3.3v ~3.3v

*To avoid conflicts where a pin is mapped inconsistently on the PIC340F512H processor, the PlugAndProgram MC32MX64GP makes these omissions:

  • MC32MX64GP.IO6.4 does not connect to PIC32MX340F512H.SPI1.SS.  (If you have a project requiring a MC32MX64GP to act as an SPI slave we recommend you use PIC340F512H.SPI2 via MC32MX64GP.IO1)

**These 4 PMP pins (when used along with 8 data lines via any other 2 mainboard IO sockets)

  • are sufficient  to drive a parallel device using PSP Modes 5 and 6
  • can drive a standard character LCD using the PMP hardware function

IO Sockets on PlugAndProgram Modules

There are 6 pins available on every module IO socket.  Physically, a module IO socket connected to a mainboard socket maps pin for pin, ie Pin 1 on the mainboard connects to pin 1 on the connected module.

Pin Mainboard IO socket pin Connected module IO socket pin
1 IO Socket Pin 1 IO Socket Pin 1
2 IO Socket Pin 2 IO Socket Pin 1
3 IO Socket Pin 3 IO Socket Pin 1
4 IO Socket Pin 4 IO Socket Pin 1
5 Gnd Gnd
6 ~3.3v ~3.3V

Some module IO sockets require to be connected to specific processor peripherals.

Examples: SPI, I2C, UART

Some of these connection are required to cross over.  Example: A module that requires UART (Serial port) functionality on a mainboard is required to map its TX pin to the mainboard UART IO Socket RX pin.  Any such cross over is done on the module itself and is consistent across all modules for the same

To ensure all such modules are compatible and interchangeable, module mapping for specific processor peripherals is done on the each module.

Module Processor peripheral function pin mapping

IO Socket pin General IO Socket pin SPI I2C UART LCD Control
1 1 SCK CTS E
2 2 SDO SDA TX R/W
3 3 SDI SCL RX RS
4 4 SS RTS Backlight
5 Gnd Gnd Gnd Gnd Gnd
6 ~3.3v ~3.3v ~3.3v ~3.3v ~3.3v

Power Distribution sockets

Each power supply module can supply up to 3 different voltages (Not all power supply modules supply all 3 voltages):

  • ~3.3V regulated
  • ~5V
  • Vsupply
    • This is supplied when the module itself can receive > 5v.
      Example:  If using PNP-DCPWR1 module and it is supplied with 12v from an external DC power supply then Vsupply = 12V (less polarity protection diode voltage drop)

Power is distributed from a power supply module by power distribution sockets.

There are 6 pins available on every Power Distribution socket.

Pin Function Note
1 3.3V -
2 Gnd Must be used as ground return from modules using the 3.3V supply
3 5V -
4 Gnd Must be used as ground return from modules using the 5V supply
5 VSupply -
6 Gnd Must be used as ground return from any modules using VSupply