PMOD connectors Aug 24, 2016

Last week’s post used the 12-pin “Pmod” connector on my FPGA board to generate the X, Y, and Z signals.

Pmod™ is a simple header pinout standard (PDF) defined by Digilent. There’s a (free) license for this, but only if we actually call it Pmod. So I won’t - I’ll simply refer to the two variants as 6-pin and 12-pin headers…

This scheme is extremely flexible, because FPGA’s can assign any function to any IO pin, and the 12-pin variant can also be used as two independent 6-pin connections.

A few more conventions are often used for the most common interfaces:

UART – IO1..4 = ¬CTS ¬TXD ¬RXD ¬RTS
SPI – IO1..4 = ¬SS MOSI MISO SCK
I2C – IO1..2 = SCL SDA

Another great convention, is that multiple headers are placed 0.3” apart, so that modules which need more than 8 I/O pins can simply have multiple headers placed next to each other for 16, 24, or even 32 bits of I/O goodness.

So here’s a custom module, with 3 D/A “converters” in the form of 1 kΩ + 0.1 µF RC filters, plus one digital I/O pass-through:

This in turn forms the input for an op-amp used as amplifier, level-shifter, and buffer:

The circuit on the above board is as follows:

There is room to include a dual-voltage DC-DC boost regulator, but for now I’m just feeding it ±10V from my lab power supply:

(PS. What a Kabelsalat / wire mess …)

Note that the third DAC output is used as a fixed reference for the two opamps, to allow shifting their output levels to a more or less symmetric swing around zero:

These connectors are really convenient!

There are commercial Pmod modules, but it’s just as easy to create custom ones using this same pinout. So much so in fact, that I’ve created a little 40-pin-to-quad-12-pin header breakout board for it:

From left to right:

These all have 2 compatible 2x20 headers.

Here are some more ideas for plugs:

The last two of these haven’t been wired up yet, but you get the idea…

Weblog © Jean-Claude Wippler. Generated by Hugo.