Saturday, April 16, 2011

the tf-bp-alpha board...

The tf-bp-alpha board is intended to test out some ideas in hardware about experimental bus designs and protocols.  I pushed a two layer design partially just to see what the practical performance would be in actual hardware and partially to work on design skills.  I'm using DIN41612 type C connectors because of the availability, mechanical strength and number of available pines.

This figure shows the layer stacks without the copper fills.  Some unusual routes were made to increase the connectivity of some of the ground planes and to reduce the distance of some ground loops.  To limit the effect of short duration high current draws from altering the supply voltage available across the bus, large electrolytic caps were strategically placed.  There are three power supply lines: supply 1 is intended to provide 5 to 10 volts, supply 2 is intended to supply 12 to 36 volts and supply three is intended to be a low power battery backup.  In general I prefer to provide small voltage regulators close to the location they are needed and not to depend on supply lines having the correct voltages.
There are 21 signal lines intended to be used as differential pairs (close coupled to each other) and 21 signal lines intended to be used as single data lines (far apart and under the differential pairs).  These are arranged in 3 sets of six between power and ground lines and 1 set of 3 also near the second supply lone.

Looking at the gerbers for the copper planes makes it easier to see the strength of the connections between contiguous regions of copper (remember to check the distance of ground returns and as well as the types of signals that could influence them).
While I don't want to add impedance control on the signal lines on the backplane (and rather handle that on the cards attached - part of the project), I do want the ability to control the activation state of the cards and so I am including a pic microcontroller on the backplane.  The one I chose has an spi interface as well as an I2C/TWI interface that is routed to the connectors (unique pins for each connector for the spi interface).  I have also included a master enable line (which is intended to allow the functional behavior of all cards to be inhibited while configuration occurs).  Separate connectors are included to allow in circuit programming and reset of the controller.  In addition to the msten/scl/sda/and enable lines there are 2 independent lines from the microcontroller for status signals.  These 10 signals are brought to a socket and can be used with an led bar, or signals can accessed directly when needed.

As usual, I like to use labels for wiring the schematics - it makes it much easier to alter connectivity or include additional components in the future.  I also like to use different sheets in the schematic for logically groups components (power, connectors, controllers, displays...) but at times it makes more sense to include subsets of components on the same sheet.

The goal of the Tanukifu project is to build a flexible and open set of tools to explore system development for purely educational/academic reasons.  The files for the tf-bp-alpha boards can be found here.  Once I get the boards back and tested, the code for the microcontroller will be added as well.