This project is a modular four port daughter card for the Blackfin STAMP. Three printed circuit boards have been designed:

  1. 4fx: Is a card that plugs into the STAMP board. It has 4 RJ11 connectors, a Blackfin SPORT connector, and a SD card connector. There are four connectors on the board that can each accept a single port FXS or FXO module, much like the Digium TDM400. Each port has a LED next to it. The LED glows green if a FXS module is installed, or red if a FXO module is installed. The led is off with no module installed. 4fx boards are designed to be stacked to obtain multiple of 4 ports. Screen shot and schematic.

  2. fxsmod: Is the 25 x 50mm FXS module PCB, it implements a single FXS port based on the Silicon Labs Si3010/3201 chip set. Screen shot and schematic.

  3. fxomod: Is the 25 x 50mm FXO module PCB, it implements a single FXO port based on the Silicon Labs Si3050/3019 chip set. Screen shot and schematic.

Design Notes

  1. The FXS and FXO port designs are straight out of the Silicon Labs data sheets for the 3050 and 3210 parts.

  2. The Xilinx chip on the 4fx is used to decode nCS signals to the 4 modules. Unfortunately we can't use the daisy chain techniques described in the data sheets to cascade chips using one chip select as the mechanism is different for the FXO and FXS chips. As we don't know what sort of module will be plugged into each position we need to use a technique (an individual chip select) that will work for both FXO and FXS chips.

  3. The Xilinx chip also also drives the LEDs. I plan to use an initial SPI byte to drive the LEDs and/or nCS lines before sending the SPI bytes to the Si Labs chips.

  4. The Xilinx chip can also be used to handle stacking boards using a daisy-chain technique similar to that described in the Si Labs data sheets, but on a board by board basis. I am still working on that bit.

Credit

Now you probably won't believe this but my wife Rosemary actually did a great deal of the design for the FXS module. Rosemary is completely untrained in electronics and is a (rather good) housewife by profession (domestic engineer). She is famous for her ability to consume desserts in ridiculous quantities:

Rosemary at start of demolition job

However I sat her down at a Linux workstation and got her to work through the gEDA tutorial.

Then, I had her enter the schematic from the Si Labs data sheet, and even design the component symbols using gschem. I had to help her a bit but I can honestly say she did most of it. I then laid out the PCB, which requires quite a bit more specialised knowledge.

I told her this now makes her officially geeky which she violently denies! So can all you people who read this please email her:

Rosemary

Tell her how much you liked her fxs module design and how way-geeky and cool it is and how she should do some more electronic design. It will drive her nuts :-)

Design Rule Checks

To perform a schematic DRC for the 4fx board:

[david@solomon hardware-0.3]$ gnetlist -g drc2 -o - 4fx.sch

To extract the netlist for the PCB:

[david@solomon hardware-0.3]$ gnetlist -g PCB -o 4fx-nc.net 4fx.sch
[david@solomon hardware-0.3]$ ./ncnet.pl 4fx-nc.net 4fx.net