Demand Peripherals     Robotics and Automation Made Easy

ESPI: Enhanced SPI Interface Card

The Enhanced SPI Interface card (ESPI) lets you connect any SPI integrated circuit to your robot or other automation. The card has a wire-wrap area as well as pads for both TSSOP and SSOP surface mount chips.


- Easily connects to most SPI chips
- Prototyping area as well as TSSOP and SSOP pads
- 5 or 3.3 volt compatible
- Uses the ESPI 7474 circuit for reliable operation
- User space Linux device driver (part of dpserver)
- Requires one slot on a Baseboard FPGA card

The ESPI interface card is "enhnaced" in that ringing on the ribbon cable to the card does not affect the SPI clock line. Our 7474 based circuit gives you the abillity to use SPI, I2C, or any shift register based device over long runs of ribbon cable. To see how this works consider the timing diagram show below. As long as the D input is stable during the clock pulse, ringing on the clock and data lines is not propagated through to the Q output.

Examine the schematic given below. Notice that the SCK to the chip is the Q output of a 7474 filp-flop. This is why you can connect the ESPI card with a ribbon cable and not have to worry about ringing on the cable affecting the SPI clock line. Of course the ESPI card requires the "espi" FPGA peripheral to generate the timing and signals to the 7474.



The schematic and layout of the ESPI are shown below. The Eagle schematic and board files are available here: espi.sch and espi.brd. The bill-of-materials is available here: espi.txt.




FPGA Defined Peripherals
User Interface
FPGA Configuration
FPGA Buttons & LEDs
Text LCD and Keypad
Quad WS2812 Interface
Quad Slide Pot
Tone Generator
IR Recv/Xmit
6 Digit LCD
RC Decoder
Keyfob RF Decoder
Rotary Encoder Interface
Quad Touch Interface
Motion Control
Dual DC Motor Controller
Dual Quadrature Decoder
Quad 13 Bit Servo
Bipolar Stepper Controller
Unipolar Stepper Controller
Simple Input / Output
Quad Binary Output
Quad Binary Input
Octal Input/Output
32 Channel Binary Output
32 Channel Binary Input
Octal 12-bit ADC
Quad Ping))) Interface
Octal SRF04 Interface
Quad Event Counter
Generic I2C
Generic SPI
Octal 8-Bit DAC
Quad Digital Potentiometer
Quad PWM Output
Quad PWM Input
4 Bit Pattern Generator
Real Time Clock
Dual Watchdog Timers

Interface Cards
User Interface
Audio Amplifier
IR Recv/xmit
Six Digit LCD Display
Keyfob RF Receiver
Rotary Encoder
Quad Switch Card
Text LCD / keypad
Quad Slide Pot
Quad Touch Interface
Motion Control
Dual 7-amp H-bridge
Quad Open Drain Driver
Quad 10 Amp Relay Card
Input / Output
Octal 8-Bit DAC
Quad Digital Potentiometer
Octal 12-bit ADC
Octal SRF04
Generic I2C
Generic SPI
USB 2.0 Hub
Real Time Clock
Slot Expander
Octal Input/Output
32 Channel Input
32 Channel Output
Power Distribution Card
15 Amp Power Distribution
5 Volt Switching Regulator
ATX Power Break-Out Card
Disk Drive Power Break-Out
MP43 Aluminum Mounting Plate
WW2 Prototyping Card
WW1 Small Prototyping Card