ParPortProp provides following capabilities:VGA output with 64 colors support
PS/2 compatible keyboard interface
SD card interface
RS 232 serial port (3 wires - RX, TX, and GND signals only). Serial port can be used for programming the Propeller firmware in on-board EEPROM.
Speaker
PropPlug header
Interrupt header (allows interrupt driven I/O)
Port B header (can be used for GPIO).
Prototype area
File downloads are at the bottom of this page.
ParPortProp - Schematic - Color - 1.1.pdf (current version)
ParPortProp - Schematic - Color - 1.0.pdf
ParPortProp - Schematic - Color - 0.9.pdf (prototype)
ParPortProp - Board - Color - 1.1.pdf (current version)
ParPortProp - Board - Color - 1.0.pdf
ParPortProp - Board - Color - 0.9.pdf (prototype)
Jumper JP1 connects pin 25 of the parallel port P5 to the ParPortProp Vcc (+5V). Install this jumper if your SBC is configured to provide Vcc on that pin.
Warning: Make sure to disconnect this jumper if providing power using P1 connector.
Jumper Position
installed*
not installed
Description
ParPortProp is configured to receive Vcc from pin 25 of the parallel port P5
Use P1 connector to provide Vcc to the ParPortProp
*default
Jumper JP2 selects between normal operation mode and EEPROM programming mode.
*default
Jumper JP3 connects DTR signal of the serial port to DSR signal. It might be useful for terminals that expect to have hardware flow control.
Jumper Position
installed*
not installed
Description
DTR is connected to DSR
DTR and DSR are not connected
*default
Jumper JP4 connects RTS signal of the serial port to CTS signal. It might be useful for terminals that expect to have hardware flow control.
Jumper Position
installed*
not installed
Description
RTS is connected to CTS
RTS and CTS are not connected
*default
P1 can be used as an alternative power source for ParPortProp (instead of the parallel port pin 25).
Pin
1
2
Description
5V
GND
P2 pins are connected to the PPI pin PC3 and can be used for interrupt driven I/O, by generating interrupts on output buffer empty and input buffer full events.
Pin
1
2
Description
Interrupt output (TTL, active high)
Interrupt output (open collector, active low)
Connector P3 can be used for connecting PropPlug - a USB to a TTL-level RS232 converter intended for Propeller's EEPROM in-circuit programming.
Connector P5 connects ParPortProp to the SBC's PPI interface.
P6 is a PS/2 compatible keyboard port
P7 is the serial port connector. It can be used as the second serial port or for programming Propeller's EEPROM. P7 uses pinout similar to that of IBM AT serial port (with some signals missing). Use a null modem cable to connect to a PC.
P9 provides SPI (1-bit) interface to SD card.
Note: Mattias Engström (engstrom at basslab.net) has created a spreadsheet with a BOM for Mouser. It should be directly importable into their order system. (ParPortProp - Mouser.xlsx)
Operation of the ParPortProp requires appropriate firmware be programmed into the 24LC512 serial EEPROM (U5). This firmware controls the operation of the on-board Propeller processor which automatically loads the firmware at startup. Once the Propeller has loaded the firmware, it will initialize all peripherals and begin waiting for commands from the host Zeta.
Since the ParPortProp is purely a slave processor for a host Zeta, it is also necessary that the host Zeta be programmed with an appropriate ROM image that includes support for an attached ParPortProp.
Both the Zeta and ParPortProp ROM firmware images are included in v2.0 or greater RomWBW distributions. At this time, RomWBW v2.0 is a beta release and can be found in the RomWBW folder. The file is called “RomWBW2-Beta.zip”. Download this file onto your local machine and unzip it with any standard decompression tool. Once this is done, you can follow the instructions below to complete the programming of the Zeta and the ParPortProp.
Within the RomWBW distribution, you will find a directory called Output. This directory contains a large number of pre-built ROM images. You will need to program either the “zeta_ppp.rom” or the “zeta_ppp_z.rom” image into your Zeta ROM. Both of these have support for the ParPortProp. The “_z” version is based on the Z System OS and the other one is based on the CP/M 2.2 OS.
Initial programming the Zeta ROM is accomplished using an EPROM programmer suitable for your (E)EPROM chip. Selection and use of a programmer is beyond the scope of this document.
Reprogramming a Zeta ROM can be performed on a live, running system using David Giles in-situ programming application called FLASHZ. Documentation for this application is included in the Doc directory of the RomWBW distribution.
Within the RomWBW distribution, you will find a directory called Support. Within this directory is a directory called ParPortProp. This directory contains a pre-built ROM image for the ParPortProp. The file is called “ParPortProp.eeprom”.
Programming of the ParPortProp EEPROM can be accomplished in any of the following ways:
Via a standalone EEPROM programmer
Via a serial cable to the serial port on the ParPortProp
Via a PropPlug adapter available from Parallax
For #1, selection and use of a suitable programmer is required and beyond the scope of this document.
For #2 or #3, you must download the Propeller Tool from Parallax (free). This tool includes documentation on using either a serial cable or a PropPlug to program your device. In a nutshell, you will follow this procedure to program the ParPortProp.eeprom file:
Start the Propeller Tool
Use File → Open… to select and open ParPortProp.eeprom
Choose “Load EEPROM” from the subsequent “Object Info” dialog box.
Increased prototype area pads' drill diameter to ~ 1 mm (40 mil)
Added two holes by the crystal for a mounting bracket
C12 reference switched with C13, changed C13 (3.3V rail filter capacitor) capacitance to 100 uF
Added C14 100 uF filter capacitor by SD card socket
Fixed errata from the prototype
Changed board dimensions to match Zeta SBC dimensions
Improved VGA DAC design
Added resettable fuse for keyboard and VGA 5V
Added jumpers for RTS/CTS and DTR/DSR loopbacks
Added prototype area
Errata (to be fixed in the next PCB version):
C12 should be 47 uF instead of 10 uF. Sergey says: I get wavy video if 10 uF is used, issue disappears with 47 uF.
Errata (to be fixed in the next PCB version):
Pin 1 hole of P5 is too small
Solder mask covers D1 pads on the solder side
Add pin 1 location marks for P4 and P5
Connect VGA pin 9 to Vcc
Check PropPlug pinout (pin 3 & pin 4 reversed?)