Friday, April 8, 2011

The tf-spider board...

I've been looking around for a small cpld board to test out some bus protocol and interface designs but I couldn't find one that really fit my needs so... time to design my own one.  It's been a while since I did board work so I checked out the available tools and finally decided on Kicad.  I love software that's intuitive and just feels right to me.  This image shows all the layers of the design stacked up, but let's pull it apart a bit...

Here I removed the front and back copper fills so it's easier to read the words and discriminate the signal lines.  I made the power and ground lines thicker than the signal lines (red on the front copper plane and green on the back copper plane.  component labels in white will be visible on the silkscreen as well as the printed words in light blue (front) and purple (on the back) - they will all print white.

This is the copper layer for the front.

...and this is the copper plane for the back (green is copper and black is bare pcb.

The silk screen (front)... everything not black here is going to be white in the end.  I like labels because it makes things much easier to assemble...

The drill map is always a good thing to check, holes for through the hole components, vias (to connect signals across layers) and the mounting holes appear here.

Before you can make the board though, you need to make schematics to bind all the components together in a logical way (otherwise the prettiest board wouldn't do much at all).  This is the cpld (a Xilinx coolrunner II).

This is for the power... I find that 3.3 volts is common enough that I want it built on the board.  The cpld needs 1.8 volts so it get's it's own power supply (I am using the 3v3 output for efficiency reasons here).  

I really like to have tiny leds connected to each power source - not much beats being able to visually first...

I'm adding a small microcontroller here (a TI MSP30) so that I can monitor the voltages and change the activation/power state of the cpld over TWI/I2C (this is what provides the enable for the 1v8 supply). As you can tell I really like to label the pins (blue) to make it much harder to make when making connections.

And of course lots of connectors...  One of the primary reasons I wanted to make my own board was that I couldn't find any cpld breakouts with multiple pins to connect to the ground and power lines (which is really nice when you are going to inject signals into other boards that have their own power subsystems).  I also really wanted the abilities to control the activation of the board over TWI/I2C and to be able to measure the voltages remotely.

If you don't need these extra abilities, there is a promising board from dangerous prototypes here.

I've put the all the Kicad files for the tf-spider here but be aware that it's still in the process of being tested.  The code the msp430 on the board will be added after I can test it on a live board.