Issue
147 October 2002
Design
with STKxxx
Build
an Ethernet Controller
by
Fred Eady
Fred
first introduced us to the STK500 starter kit. Now
he’s back with the newest tool in his Atmel toolbox,
the STK501. In this project, he combines the STK501
daughterboard with the STK500 and ASIX Ax88796 to
build a 10/100-Mbps Ethernet controller.
Start
Driving the Tool
Set Board Meeting
Sources
& PDF
As
microcontrollers and their supporting parts move from
the classic DIP and leaded packages to the realm of
SMT, the tools that support them must also make that
migration. Proof in point is this month’s subject matter.
The
Atmel ATmega128 MCU can be had only in a 64-pin TQFP
configuration. I was drawn to this part by its high
I/O pin count, speed, and large amounts of internal
SRAM and program flash memory. To experiment with the
ATmega128, I had to come up with a way to get at its
power without having to solder one down every time I
changed applications.
After
some thought, I came up with the package you can see
in Photo 1. My aim was to use a standard and commonly
available through-hole IC socket that could carry the
ATmega128 and a PCB that would extend the ATmega128’s
pins out to larger hard points. The 64-pin IC socket
that supports the ATmega128/PCB duo is the same one
that carries the venerable 68000 series of micros.
|

(Click
here to enlarge)
|
Photo
1—This is a handy 64-pin IC socket package because
you can throw it in a socket and wire wrap or solder
it into your project. |
Because
I’m from the South, I spend a lot of time on the interstate
highway system traveling between Florida and Tennessee.
Of course, when you think of an interstate you think
of trucks and trailers. The resulting PCB and ATmega128
perched atop the 64-pin IC socket reminded me of a big
old flatbed tractor-trailer rolling down the highway.
So, the contraption you see in Photo 1 is dubbed "Flatbed."
The Flatbed lash-up works well, and I have an eight-lane
Pinewood Derby race timer running with the ATmega128/
carrier board/64-pin IC socket combination on-line out
there in Boy Scout land to prove it.
Although
Flatbed serves its purpose well, there are situations
when the standard-voltage or commercial-temperature
ATmega128 isn’t suitable for the environment the microcontroller
is going to reside in. Therefore, you have to build
a fleet of Flatbeds with each little truck carrying
a low-power ATmega128L-8AC or industrial temperature-rated
ATmega128-16AI.
ATMEL’S
STK501
To
avoid having to put together a fleet of Flatbeds, Atmel
offers the STK501, which is an add-on product for the
STK500 AVR development system. As you can see in Photo
2, the STK501 is a daughterboard that couples to the
original STK500 via the expansion headers. A TQFP ZIF
socket, which is a mechanical marvel in its own right,
takes all of the pain out of switching between the various
types of ATMega128 devices. The ATmega128 TQFP ZIF socket
is spring-loaded, and it has fingers for each pin that
move out of the way to allow the ATmega128 to be inserted
and removed.
|

(Click
here to enlarge)
|
Photo
2—The addition of the STK501 allows the STK500 to
support all of the Atmel 8-bit microcontrollers
with a single development board. |
The
STK501 is not just a home for an ATmega128. The ATmega128
has three additional I/O ports (i.e., E, F, and G),
and the STK501 pins them out. There’s also an additional
serial port that must be accommodated; the STK501 pins
it out as well. For convenience, the STK501 includes
a MAX3232E RS-232 converter IC and nine-pin shell connector
that are tied directly to the extra ATmega128 serial
port.
The
ATmega128 has the ability to use a 32.768-kHz crystal
that can be tied across the TOSC pin set. A slide switch
on the STK501 switches the on-board 32.768-kHz crystal
in and out of this circuit arrangement.
Other
features of the STK501 include solder pads for an additional
ATmega128 test socket and external SRAM or flash memory.
A 6-pin connection is provided to allow a programming
cable to be fitted between the STK500 and STK501 ISP
programming headers. For JTAG ICE users, the STK501
has a JTAG pin set that mates perfectly with the Atmel
JTAG ICE header. Take a look at Photo 3 to see theSTK500/STK501
configuration I used for this project.
|

(Click
here to enlarge)
|
Photo
3—The standardization of the 10-pin headers on the
STK500 and STK501 made for a clean I/O connection
to the AX88796 development board. |