This is Revision C of the Extensible Multiple Device Programmer and it is currently a work in progress.
This is revision C of the EMDP1 mother board. It differs from revision B in that a 40-pin ZIF (zero insertion force) socket and an 80-pin `universal' plug have been added. This allows many chips to be programmed without requiring an adaptor board. When the `universal' plug is not enough, a specialized adaptor board may be employed.
The parts list is kept in a separate file.
The schematic for the power supply is shown below:
The power supply takes its power from either the SimpliciNet RJ45 connector N4 (shown as the wire labeled PWR) or from a wall wart connector, either N1 (on-board) or N10 (off-board). The on-off-on switch SW1 chooses between the two possible power sources. Diode D1 is a shorting diode that should short the supply and burn out the fuse F1 9on-board) or N3 (off baord fuse) if power somehow gets applied backwards. The C1, U1, C2 combination is a standard low voltage linear 5 volt supply using an LM2940 low drop out voltage regulator. The rest of the circuitry revolves around U2, µA78S40 switching supply chip which generates 24 volts from the input voltage of 6 volts. The design equations for the switching supply chip are in the appendix of the main EMDP1 design document.
The schematic for the serial communication is shown below:
The EMDP1 can communicate with its host processor via either RS-232 or RS-422 signaling. The RS-232 signaling takes place via an industrys standard female DB9 connector. The RS-422 signaling done via an RJ45 connector using standard Cat5 (catagory 5) cabling. The RS-422 is wired to conform to my SimpliciNet `standard', which allows both RS-422 signalling and power over the same cable. The RS-232 signals are converted to logic levels using U3, a standard MAX232 level convert chip. U4 is an RS-422 transceiver configured as an RS-422 transmitter and U5 is an RS-422 transceiver configured as a receiver. Resister R7 is 100 ohms of RS-422 termination and R8 and R9 provide biasing resistors to ensure that a logic high level is output if now RS-422 signal is present. U6A is takes the logical or of the received signals from the RS-232 and RS-422 and sends them on to the microcontroller serial receive line. U6B logically or's the transmit signals from the adaptor (via U11A) or from the microcontroller (MTX). R27 is forces the adaptor signal out if the microcontroller chip is being programmed by the bootstrap adaptor.
The schematic for the processor is shown below:
The U7 microcontroller is a Microchp® PIC16F877. U8 is a 20MHz crystal oscillator chip to provide the required clock signal. Connector N8 and resistor R6 is an optional reset button circuit. Jumper N11 shorted when the bootstrap adaptor is being used to program the microcontroller. Connector N7 is a 40-pin connector that is connected to a 37-pin D connector. In addition, the exact same signals are routed to N13 of the `universal' plug.
The schematic for 40-pin ZIF (Zero Insertion Force) socket is shown below:
The ZIP socket N15 has a direct wiring between its pins and the other half of the `universal' plug N14.
The schematic for the Digital to Analog converters is shown below:
The microcontroller controls the digital to U10 analog converter using standard I2C signalling. The D/Aconverter is a MAX518. (I'm quite nervious about the continued availabilty of this chip; most I2C chips are being manufactured in surface mount packages only.) Resistors R28 and R29 are the required pull-up resistors for I2C. The outputs of the MAX518 is run into two op amps in U9 configured as linear amplifiers to take the 0 to 5 volt output swing of the D/A and convert it 0 to 24 volt swing. The capacitors C12 and C13 prevent overshoot. Connector N12 is used by the bootstrap adaptor to get 24 volts of power to feed back to the microcontroller at 13 volts for programming purposes.
The following printed circuit board files are available:
Any fabrication issues will be listed here.