|
|
The two
microchips used in the Etherwidget are the CS8900a
and PIC 16F72.
The CS8900 is the ethernet controller chip, which is used in higher
quality ethernet cards and ethernet-enabled devices. A microprocessor
communicates with the CS8900 via its data and address lines to initialize
the chip, poll it for packet status and send/receive data. The protocol
for doing so is easy to implement and can be performed either in 8
bit or 16 bit mode, making it a viable candidate for 8-bit embedded
microchip applications such as this one. The microcontroller used
is a reasonably fast PIC, chosen for its sufficient number of I/O
pins, flash reprogrammability, and application memory. The 16F72 may
be swapped with any pin compatible PIC, although the code may need
to be updated.
|
|
|
|
|
|
The CS8900a is only available in SMT (surface mount
technology) packaging, necessitating a custom-print board. To keep
the board as small as possible, almost all of the components are
SMT. The front of the board contains signal-related components,
the back of the board has power-related components, i.e. the power
filter capacitors. The middle and top third of the component-side
contains the ethernet controller-related hardware. The bottom third
contrains the microprocessor-related hardware. The rev.1 board is
approximately 2.2" by 2.4", but without a doubt it could
be shrunken to 2"x2".
|
|
|
|
|
|
All of the components on the middle to top half
of the board are related to the ethernet chip. The CS8900A is a
TQFP100 (Thin Quad Flat Pack 100-pin) packaged chip, the small square
in the center. To the right is the RJ-45 shaped 10-base-T, the most
commonly used Ethernet. Above the plug is a bulky RX/TX isolation
transformer chip (1:1.41 & 1:1 windings) which is essential
in converting the differential RX/TX lines of twisted-pair Ethernet
to ground-referenced lines used in digital logic. Immediately to
the left are the resistors and capacitor necessary for the proper
operation of the transformer. In the top left corner is the 20MHz
crystal used to clock the ethernet controller. It does not require
external capacitors as those are already implemented in the chip.
Below the crystal are the link and lan LED's, which are useful in
determining whether the board/network is functioning properly. The
few resistors surrounding the chip that are required for its operation.
There are also multiple 1uF filter capacitors on the back of the
board.
|
|
|
|
|
|
The PIC is the rectangular chip in the bottom-middle
of the board, it is a SOIC packaged IC. In the bottom left corner
is the crystal and capacitors for the microcontroller. Be sure to
match the crystal frequency with the frequency marked on top of
the PIC IC (probably -04, -10 or -20). On the right of the PIC is
an LED for debugging purposes. In the bottom right corner is the
ICSP (in-circuit serial programming) header which has three uses:
to provide power to the board, to communicate with or debug the
PIC while it is running and to program the PIC with new firmware.
The nearby resistor and diode are used to set the programming pin
on the PIC to 5V when the ICSP MCLR pin is disconnected. There are
also 1uF filter capacitors for the PIC and header.
|
|
|
|
|
|
The header pins, from top to bottom, are:
- MCLR
- This pin should be at +12V when programming the PIC, usually provided
by the PIC programmer. Otherwise it should be left disconnected.
- +5V
- This pin must be at +5V to power the board
- GND
- This pin must be the ground connection for the two pins above.
- TX
- The serial transmit pin on the PIC (RB7), ie data is sent from
the chip on this pin.
- RX
- The serial receive pin on the PIC (RB6), ie data is sent to
the chip on this pin.
|
|
|
|
|
|
Almost all of the microcontroller pins are used
for controlling and communicating with the CS8900. Port C is exculsively
used as the 8-bit data bus, the lower half of port B is used as
the 4-bit address bus. Pins B6 and B7 are predefined as the ICSP
programming pins. Pins A2 thru A5 are used as the CS8900 Enable,
Interrupt, Write and Read pins, respectively. Pin A0 is used to
drive an LED. This leaves pins B4, B5 and A1 unused. Since the Interrupt
and Enable lines are not essential (the CS8900 can be operated in
polling mode and can also be kept enabled as it is the only chip
on the board) and can be used for other purposes.
|
|
|
|
|
|