Toast

ToastTM ColdFire MCF5307 Controller Board (Deprecated)

ToastTMNOTE: The Toast design has been deprecated. No further development is anticipated. Experimental reference and development design for the Motorola ColdFire MCF5307 Control Board, with a PC/104 bus type expansion interface, using surface mount parts. The Toast board is designed to be the basis for more complex boards and systems. Besides the MCF5307 ColdFire processor, the Toast Board includes places for two 2-megabyte 16-bit wide flash memory devices, two 8-megabyte 32-bit wide SDRAM devices, two 10/100BaseT ethernet interfaces, two serial ports, a real time clock module, and a CPLD-based programmable interface to a PC/104 bus expansion interface. Because this board is experimental, it is made larger than absolutely required to allow room for whatever changes may be required. As such, while the Toast Board will accept PC/104 bus expansion cards, it is in a 6U short Eurocard form factor. In order to minimize costs, this board is built on a four-layer board (i.e. with 3.3 VDC power and ground plane layers) with 7 mil lines and spaces.

The Toast MCF5307 Control Board was designed with Eagle 4.03, on the GNU/Linux operating system. The same CAD files will work with the Wxx version of Eagle. See the Software page for further information concerning Eagle.

Tests so far have shown only a couple of minor problems. One change worthy of note is that the footprint for U10 needs to be modified slightly to move the pads outward by about 0.5 mm, which should improve manufacturability.

Board Availability: I am not a business. I am an individual running a dot-org site. I have no plans to offer boards for sale. If someone wants to build and sell these boards, or boards based on these designs, please be my guest. As long as you release any designs based on these under GPL, there are no royalties to pay.

Toast Board

Figure 1. The layout and routing were completed on 09 September 2001.
FOR A CLOSER LOOK, CLICK HERE: toastbig.jpg 09-10-2001, 318k

Toast board top side
Figure 2. Board populated on 13 November 2001.
TO VIEW IT MUCH LARGER, CLICK HERE: toast30h.jpg 11-14-2001, 730k
TO VIEW THE BOTTOM SIDE, CLICK HERE: toastpix4.jpg 09-26-2001, 94k
TO VIEW THE UNPOPULATED TOP SIDE, CLICK HERE: toastpix1.jpg09-20-2001, 102k
TO VIEW THE UNPOPULATED BOTTOM SIDE, CLICK HERE: toastpix2.jpg 09-20-2001, 74k

As of 13 September 2001

Introduction:

The FreeIO.org Toast board is an experimental development board designed to be a reference design, utilizing the Motorola MCF5307 ColdFire processor. It includes the processor, 16 MB of 32 bit wide SDRAM, 4 MB of 16 bit wide flash memory, real time clock, two serial ports, provisions for two 10/100BaseT Ethernet ports, and a PC/104 expansion port. This design utilizes almost entirely surface mount parts, but intentionally it has not been miniaturized in order to ease development and debugging.

In order to contain development costs, the Toast board has been built using the most producible design rules possible. Internal planes are provided for ground and the +3.3 volt power. All signals are routed on the top and bottom planes, using 8 mil lines and spaces. This results in the minimum cost bare board.

The size chosen for the Toast board is a standard Eurocard 6U short form factor. The expansion bus is a standard PC/104 in physical form, but limited to the signals which the developer currently needs. While it is true that this results in an incomplete PC/104 interface, since this project is released under the GNU General Public License, anyone who has the inclination to improve it is welcome to do so.

Goals:

The FreeIO.org toast board is being developed to suit several purposes:

The first goal is to develop a fully documented working ColdFire controller upon which to build other devices. The Toast board could stand alone if all the user needs is the Ethernet and serial ports, but the addition of the PC/104 interface makes hacking the hardware a fairly easy thing to do.

The second goal is to port uClinux to the Toast board. Since the Toast board is somewhat similar to the Lineo NetTel for which a port exists (Thanks, Greg!) the port to the Toast board should be fairly straightforward. The largest difference is the upgrade from the SMSC 91C96 10BaseT Ethernet controller to the SMSC 91C111 10/100BaseT Ethernet controller. Both are from the SMSC Feast family, and the programming registers are very similar.

The third goal is to build I/O devices and drivers with which to build systems. These I/O devices are designed to work through the PC/104 port. The FreeIO.org Grits board is the first of these interfaces, and is a programmable general purpose 20 bit wide I/O. Currently planned is a front panel controller to allow a generic keypanel input and a Noritake EL display. All of the I/O boards are based on in system programmable CPLDs to allow them to be reconfigured to meet changing requirements.

Details:

Programmable Logic: This Toast design is almost entirely made up of large scale LSI. The interface and glue logic have been put into an in-system programmable CPLD. This considerably simplifies the troubleshooting, since it is possible to change internal connections without having to rewire the board in many cases. Furthermore, it allows for system changes to suit future requirements. I chose to use the Lattice ispLSI2128VE100LQ160 as the CPLD. I have had several people try to convince me that I ought to change to their favorite part, but since I have a tray of these parts, and since I own a license for the tools, I will stick with this part for now. I picked the large package intentionally – since I have to wire these boards by hand, even with my binocular microscope it gets hard to solder the pins on the small parts. It is fairly inexpensive, readily available, and the tools came to me for free (Thanks to Bruce Hardy of CSR in Huntsville, Alabama, USA). Now the ‘2128 is a 3.3 volt part with 5 volt tolerant I/O structure. Since this drives the bus, this is the first limitation of the PC/104 bus – the high/low drive is a 3.3 volt CMOS level.

Power: Because the PC/104 bus standard has assigned positions for +/- 5 volts and +/-12 volts, input pins for these voltages are provided, even though the Toast board only uses the +5 VDC. I chose to put a linear regulator on board to drop the +5 VDC to +3.3 VDC. Yes, I know, a switcher would be somewhat more efficient. Yes, I could have brought the +3.3 VDC on board from the edge connector. I chose to do what I did for two reasons. First, the regulator is on board because if I ever succeed in cramming this design onto the confines of the PC/104 form factor, there is no +3.3 VDC pin on the PC/104 connector. Second, I chose a linear regulator because it is the ultimate in simplicity and would be trivial to get going. Bringing up a new controller design is hard enough without fighting power supply issues.

EMI Issues: You are absolutely on your own. This is an experimental board and is not meant to ever pass any specific EMI requirements under any circumstances whatsoever. I plan to test it to see what it emits, so that I know the areas to watch when designing the instruments I may develop in the future. Since this is an experimental board and not a production board, there is the opportunity to learn what is required to qualify a commercial version. If anyone has the tools in place to do this for the community, let me know.

PC/104 Implementation: I have left some signals out of the PC/104 implementation. The PC/104 electrical specification is based on an x86 processor and a certain set of peripherals, and descends from a general purpose PC. I chose to use the PC/104 form factor because of its physical attributes, i.e. being based on a reliable 2-part connector and not requiring an external physical bus card. I make absolutely no claims that my implementation is anywhere near standard. Several limitations are obvious:

1. The implementation is for a 16-bit only bus. There is no support for 8-bit cards.

2. Only two DMA channels are supported. Since the MCF5307 has exactly two DMA channels available for external use, this seemed like a good choice.

3. Depending upon how the user chooses to program the CPLD, there are either one or two external interrupts available. The only interrupt pins even wired up are for PC/104 bus interrupt numbers 3, 5, and 7.

4. The bus drive from the Toast board is from a 3.3 volt, 5 volt tolerant, CMOS part.

5. Since the ColdFire processors do not have separate memory and I/O space, the PC/104 bus I/O space is derived from the ColdFire chip select CS7.

6. There is no provision for alternate bus masters. The ColdFire processor is assumed to always be the bus master.

Ethernet Controllers: The inclusion of two Ethernet controllers was at the request of a potential user who requested that it be included. “It could be used as a router,” he said. He also pointed out that the use of this board as a router between two heavily loaded 100BaseT links could potentially run out of processor cycles, depending upon the router rules. You have been warned. Just because the Toast board has two 10/100BaseT ports on it does not guarantee that your application using both of them will work. But you knew that already, didn’t you?

Power Distribution: The Toast board has a plane for the ground signal and another plane for the +3.3 VDC signal. There are also a lot of bypass connectors, which have been strategically placed to bypass the individual power pins of the ICs. I do not know how many are enough, but from experience it is easier to put places for more than are needed, and “Muntz” the design later if it seems appropriate. The object of the Toast board is primarily logic development and as such I would rather not fight power issues since they are a large source of confusion. The on-board +3.3 VDC regulator and its tantalum bypass capacitors provide a low impedance source to the +3.3 VDC plane. The local ceramic capacitors increase the short term current pulse capacity to the ICs.

Note that the MCF5307 has separate power bypassing for its PLL power input. This is very important both to make the PLL work properly and also to reduce system noise.

Programming the CPLD: The Lattice ispLSI2128VE100LQ160 CPLD can be programmed and erased/reprogrammed at any time through P2, the Lattice CPLD Programming Port. The ‘2128 holds its program in internal EEPROM, and requires no external battery backup. Lattice provides a cable with their software kits which connects between a PC parallel port and the programming port. programming the CPLD with the supplied software takes about one minute, and can be done hundreds of times as required to change the functionality of the CPLD.

Layout: The layout is designed to get the parts and connections on the top and bottom layers, with no inner planes other than for +3.3V and ground. There are no blind or buried vias. The object here is to make a board which is relatively inexpensive, can be easily tested and, if necessary, modified. If I ever get around to shrinking the design to fit entirely within the confines of a PC/104 card, so much of the surface of the board will be covered with part bodies that it will be much more difficult to modify.

Answers to questions I Have received:

1. Who is funding the Toast board development?

There is no external funding. I am paying for the project out of my own pocket, which is why it has taken me too many months to get this far. Any parts I had troubles obtaining, I simply designed out in favor of those which I could obtain. All the parts that are designed in are ones which I have already obtained and have on hand. This prevents me from designing in any “unobtanium.” Because of minimum buys on some important parts (like the ColdFire processor – no samples could be obtained from Motorola, and the minimum buy was a full tray) the project will have cost me about US$2800, and that includes enough extra of most electronic parts to make a dozen boards additional.

2. Can I convert the Eagle CAD files to OrCAD? Pads? Protel? Accel?

I welcome the efforts of anyone who converts this project to any other CAD system, and I will gladly put the results up on the FreeIO.org web site. I develop projects using CAD tools which I have licenses for, and that means Eagle. The opportunity to export this design is yours.

3. Can I convert the design to work with a CPLD/FPGA from Xilinx? Altera?

I will welcome the efforts of anyone who does so, and if the design looks good I would be willing to put the results up on the FreeIO.org web site.

4. Can I modify the board to support some specific piece of external equipment?

I choose not to at this time. The designs I release are projects that either interest me somehow or will be used in some work project. You are most welcome to expand upon these designs under the terms of the GNU General Public License (GPL). Have fun!

5. Can I buy a board, populated or unpopulated?

I am not selling anything at this time. If someone wants to build and sell boards, that is fine with me. All the designs are released under GPL, and my reading of GPL leads me to believe that GPL is permission enough.

Contents File type File name
Schematics, 3 C-size pages – DOS/Wxx zip of three large png files toastsch.zip 09-19-2001, 729K
Schematics, 3 C-size pages – GNU/Linux gzipped tar file of three large png files toastsch.tar.gz 09-19-2001, 729K
CAD source files – DOS/Wxx zip of Eagle 4.03 files toast.zip 11-14-2001, 166k
CAD source files – GNU/Linux gzipped tar file of Eagle 4.03 files toast.tar.gz 11-14-2001, 166k
CPLD source files zip of VHDL, pin, configuration files toastvhd.zip 11-30-2001, 3.1k
CPLD programming files zip of JEDEC file toastpgm.zip 11-30-2001, 1.8k
Manufacturing zip of Gerber/Excellon/text toastmfg.zip 09-12-2001, 785k
Designer’s notes html toastdev.htm 09-26-2001, 12.5k

Toast Parts List

Category Part No Mfg Mfg No Item Qty Cost Each Cost Line Vendor
1 Semiconductor XCF5307FT90B Motorola XCF5307FT90B ColdFire Processor, 90 MHz 1 20.75 $20.75 Avnet
2 Semiconductor ispLSI2128VE100LQ160 Lattice ispLSI2128VE100LQ160 CPLD, 128 macrocell, 3.3V 2 9.40 $18.80 Avnet
3 Semiconductor MT48LC2M32B2TG-7 Micron MT48LC2M32B2TG-7 SDRAM, 16MB, 32 bits wide 2 18.85 $37.70 Avnet
4 Semiconductor SST39VF160-90-4C-EK SST SST39VF160-90-4C-EK Flash ROM, 1M x 16, TSOP-48 2 14.14 $28.28 Impact
5 Semiconductor MAX208CAG Maxim MAX208CAG QuadSerial Port Driver/Receiver 1 5.68 $5.68 Maxim
6 Semiconductor DS1834S Dallas DS1834S Dual EconoReset with pushbutton 1 1.82 $1.82 Avnet
7 Semiconductor DS1307Z Dallas DS1307Z 64×8 Serial Real Time Clock 1 2.86 $2.86 Avnet
8 Semiconductor LAN91C111-NE SMSC LAN91C111-NE Ethernet Controller, OFP Package 2 30.00 $60.00 Allianz
9 Semiconductor LT1585ACT-3.3 Linear Technology LT1585ACT-3.3 3.3 Volt Low Dropout Regulator, TO-220 1 5.00 $5.00 LT
10 Ethernet Module JFM-24011-0101 Midcom JFM-24011-0101 Ethernet RJ-45 with magnetics and LEDS 1 20.00 $20.00 Midcom
11 Mechanical HS104-1-ND Aavid 504102 B0 00 00 TO-220 Heat Sink 1 0.46 $0.46 Digikey
12 Mechanical BER103-ND Bergquist SP600-54 TO-220 Heat Sink Thermal Pad 1 0.73 $0.73 Digikey
13 Oscillator SG-8002-DC-PCC-ND (45.000 MHz) Epson SG-8002-DC-PCC 45.000 MHz Oscillator, Half Size, 3.3V, 45.000MHZ 1 3.33 $3.33 Digikey
14 Crystal 300-6048-ND Citizen HC49US25.000MABJ Crystal, 25MHz, HC49 package 2 0.75 $1.50 Digikey
15 Crystal 300-1001-ND Citizen CFS308-32.768KDZF Crystal 32.768 KHz, Cylindrical 1 0.42 $0.42 Digikey
16 Connector A2100-ND AMP 745781-4 Connector, D-Sub 9-pin, Right Angle, .318 2 2.36 $4.72 Digikey
17 Connector WM4006-ND Molex 22-03-2081 Header, Single Row, 8 pin 1 0.72 $0.72 Digikey
18 Connector MHB26K-ND 3M 2526-6002UB Header, Low Profile, Solder Tail, 26 pin 1 1.71 $1.71 Digikey
19 Connector 50711CK-104G CommCon 50711CK-104G PC/104 connector, 104 pin/socket 1 8.84 $8.84 CommCon
20 Jumper WM4000-ND Moles 22-03-2021 Header, Single Row, 2 pin 3 0.25 $0.75 Digikey
21 Capacitor PCC1883CT-ND Panasonic ECJ-3VB1E104K 0.1 µF ± 10%, 25V, X7R, 1206 42 0.19 $7.98 Digikey
22 Capacitor PCC103BCT-ND Panasonic ECU-V1H103KBM 0.01 µF ± 10%, 50V, X7R, 1206 1 0.15 $0.15 Digikey
23 Capacitor PCC270CCT-ND Panasonic ECU-V1H270JCM 27 pF ± 5%, 50V, NPO, 1206 4 0.19 $0.76 Digikey
24 Capacitor P11309CT-ND Panasonic ECS-T1AY106R 10 µF ± 10%, 10V, 3.2×1.6 (A) 3 0.58 $1.74 Digikey
25 Resistor 311-10-ECT-ND Phicomp 9C12063A10R0JLHFT 10 ohm, 5%, 1206 1 0.10 $0.10 Digikey
26 Resistor 311-22-ECT-ND Phicomp 9C12063A22R0JLHFT 22 ohm, 5%, 1206 12 0.10 $1.20 Digikey
27 Resistor 311-24.9-FCT-ND Phicomp 9C12063A24R9FKHFT 24.9 ohm, 1%, 1206 4 0.14 $0.56 Digikey
28 Resistor 311-301-FCT-ND Phicomp 9C12063A10R0FKHFT 301 ohm, 1%, 1206 4 0.14 $0.56 Digikey
29 Resistor 311-4.7K-ECT-ND Phicomp 9C12063A4701JLHFT 4.7K, 5%, 1206 23 0.10 $2.30 Digikey
30 Resistor 311-10K-ECT-ND Phicomp 9C12063A1002JLHFT 10K, 5%, 1206 1 0.10 $0.10 Digikey
31 Resistor 311-11.0K-FCT-ND Phicomp 9C12063A1102FKHFT 11K, 1%, 1206 2 0.14 $0.28 Digikey
Subtotal $241.67

Issues and Errata

25 September 2001

There was an error in the parts list with regard to the part number for U5, the RS-232 level converter. It was listed as MAX208CWG and should have been MAX208CAG, to reflect the TSSOP24 package type. This has been corrected.

There was an error in the parts list with regard to the three 10 uF tantalum capacitors. The case size of the specified part was a “D” and should have been either an “A” or a “B” to fit the pad layout. The part list entry has been changed to remedy this.

The pad layout for U10 was taken from the Eagle library, and the parts will fit OK, but they need to have longer pads for manufacturability’s sake. The pads need to stick out a bit farther so that it leaves some room for tolerance buildup. This will be changed in the next revision of the board layout.

26 September 2001

There was an error in the parts list with regard to the part number for X4 and X5, the crystals for the ethernet controllers. The frequency was shown as 20.000 MHz and it should have been 25.000 MHz. The HC49US20.000MABJ part number has been changed to HC49US25.000MABJ.

FAQ

1. Who is funding the Toast board development?

There is no external funding. I am paying for the project out of my own pocket, which is why it has taken me too many months to get this far. Any parts I had troubles obtaining, I simply designed out in favor of those which I could obtain. All the parts that are designed in are ones which I have already obtained and have on hand. This prevents me from designing in any “unobtanium.” Because of minimum buys on some important parts (like the ColdFire processor – no samples could be obtained from Motorola, and the minimum buy was a full tray) the project will have cost me about US$2800, and that includes enough extra of most electronic parts to make a dozen boards additional.

2. Can I convert the Eagle CAD files to OrCAD? Pads? Protel? Accel?

I welcome the efforts of anyone who converts this project to any other CAD system, and I will gladly put the results up on the FreeIO.org web site. I develop projects using CAD tools which I have licenses for, and that means Eagle. The opportunity to export this design is yours.

3. Can I convert the design to work with a CPLD/FPGA from Xilinx? Altera?

I will welcome the efforts of anyone who does so, and if the design looks good I would be willing to put the results up on the FreeIO.org web site.

4. Can I modify the board to support some specific piece of external equipment?

I choose not to at this time. The designs I release are projects that either interest me somehow or will be used in some work project. You are most welcome to expand upon these designs under the terms of the GNU General Public License (GPL). Have fun!

5. Can I buy a board, populated or unpopulated?

I am not selling anything at this time. If someone wants to build and sell boards, that is fine with me. All the designs are released under GPL, and my reading of GPL leads me to believe that GPL is permission enough.

Notes

NOTE: to unpack the Eagle file in Linux, make a toast directory, copy the toast.tar.gz file into it, and then invoke tar xvzf toast.tar.gz

This will unpack the entire set of CAD and manufacturing files in the toast directory.

Hardware designer: Diehl Martin

Note: The source code for all designs shown here is released under the GNU General Public License.