Cirrus Logic Crystal LAN CS8900A Series, Crystal LAN CS8900A-IQ, Crystal LAN CS8900A-CQ3, Crystal LAN CS8900A-IQ3, Crystal LAN CS8900A-CQ Product Data Sheet
Direct ISA-Bus Interface
Maximum Current Consumpti on = 55mA (5V Supply
■
■ 3 V Operation
■ Industrial Temperature Range
■
Comprehensive Suite of Software Drivers Available
■ Efficient PacketPage™ Architecture Operates in
I/O and Memory Space, and as DMA Slave
■ Full Duplex Operation
■ On-Chip RAM Buffers T ransmit and R eceive Frames
■ 10BASE-T Port with Analog Filters, Provides:
— Automatic Polarity Detection and Correction
■ AUI Port for 10BASE2, 10BASE5 and 10BASE-F
■ Programmable Transmit Features:
— Automatic Re-transmission on Collision
— Automatic Padding and CRC Generation
■ Programmable Receive Features:
— Stream Transfer™ for Reduced CPU Overhead
— Auto-Switch Between DMA and On-Chip Memory
— Early Interrupts for Frame Pre-Processing
— Automatic Rejection of Erroneous Packets
■ EEPROM Support for Jumperless Configuration
■ Boot PROM Support for Diskless Systems
■ Boundary Scan and Loopback Test
■ LED Drivers for Link Status and LAN Activity
■ Standby and Suspend Sleep Modes
&U\VWDO/$1
™ ISA Ethernet
Controller
)
DESCRIPTION
The CS8900A is a low-cost Ethernet LAN Controller optimized for Industry Standard Architecture (ISA)
Personal Computers. Its highly-integrated design eliminates the need for costly external components required
by other Ethernet controllers. The CS8900A includes
on-chip RAM, 10BASE-T transmit and receive filters,
and a direct ISA-Bus interface with 24 mA Drivers.
In addition to high integration, the CS8900A offers a
broad range of performance features and configurationoptions. Its unique PacketPage architecture
automatically adapts to changing network traffic patterns and available system resources. The result is
increased system efficiency.
The CS8900A is available in a 100-pin TQFP packageideally suited for small form-factor, cost-sensitive
Ethernet applications. With the CS8900A, system engineers can design a complete Ethernet circuit that
occupies less than 1.5 square inches (10 sq. cm) of
board space.
ORDERING INFORMATION
CS8900A-CQ 0° to 70° C 5V TQFP-100
CS8900A-IQ -40° to 85° C 5V TQFP-100
CS8900A-CQ3 0° to 70° C 3.3V TQFP-100
CS8900A-IQ3 -40° to 85° C 3.3V TQFP-100
CRD8900A-1 Evaluation Kit
1.1 General Description...............................................................................................................................8
1.1.1 Direct ISA-Bus Interface ..............................................................................................................8
3.2 ISA Bus Interface ................................................................................................................................18
3.8 LED Outputs........................................................................................................................................ 28
6.0 TEST MODES ......................................................................................................................................... 106
9.3 Acronyms Specific to the CS8900A .................................................................................................. 125
9.4 Terms Specific to the CS8900A........................................................................................................ 125
9.5 Suffixes Specific to the CS8900A. .................................................................................................... 126
CIRRUS LOGIC PRODUCT DATA SHEET
DS271PP37
CS8900A
Crystal LAN™ ISA Ethernet Controller
1.0 INTRODUCTION
1.1 General Description
The CS8900A is a true single-chip, full-duplex,
Ethernet solution, incorporating all of the analog
and digital circuitry needed for a complete Ethernet
circuit. Major functional blocks include: a direct
ISA-bus interface; an 802.3 MAC engine; integrated buffer memory; a serial EEPROM interface; and
a complete analog front end with both 10BASE-T
and AUI.
1.1.1 Direct ISA-Bus Interface
Included in the CS8900A is a direct ISA-bus interface with full 24 mA drive capability. Its configuration options include a choice of four interrupts
and three DMA channels (one of each selected during initialization). In Memory Mode, it supports
Standard or Ready Bus cycles without introducing
additional wait states.
1.1.2 Integrated Memory
The CS8900A incorporates a 4-Kbyte page of onchip memory, eliminating the cost and board area
associated with external memory chips. Unlike
most other Ethernet controllers, the CS8900A buffers entire transmit and receive frames on chip,
eliminating the need for compl ex, ineffici ent memory management schemes. In addition, the
CS8900A operates in either Memory space, I/O
space, or with external DMA controllers, providing
maximum design flexibility.
1.1.3 802.3 Ethernet MAC Engine
The CS8900A’s Ethernet Media Access Control
(MAC) engine is fully compliant with the IEEE
802.3 Ethernet standard (ISO/IEC 8802-3, 1993),
and supports full-duplex operation. It handles all
aspects of Ethernet frame transmission and reception, including: collision detection, preamble generation and detection, and CRC generation and test.
Programmable MAC features include automatic re-
transmission on collision, and automatic padding
of transmitted frames.
1.1.4 EEPROM Interface
The CS8900A provides a simple and efficient serial EEPROM interface that allows configuration information to be stored in an optional EEPROM,
and then loaded automatically at power-up. This
eliminates the need for costly and cumbersome
switches and jumpers.
1.1.5 Complete Analog Front End
The CS8900A’s analog front end incorporates a
Manchester encoder/decoder, clock recovery circuit, 10BASE-T transceiver, and complete Attachment Unit Interface (AUI). It provides manual and
automatic selection of either 10BASE-T or AUI,
and offers three on-chip LED drivers for link status, bus status, and Ethernet line activity.
The 10BASE-T transceiver includes drivers, receivers, and analog filters, allowing direct connection to low-cost isolation transformers. It supports
100, 120, and 150 Ω shielded and unshielded cables, extended cable lengths, and automatic receive
polarity reversal detection and correction.
The AUI port provides a direct interface to
10BASE-2, 10BASE-5 and 10BASE-FL networks,
and is capable of driving a full 50-meter AUI cable.
1.2 System Applications
The CS8900A is designed to work well in either
motherboard or adapter applications.
1.2.1 Motherboard LANs
The CS8900A requires the minimum number of
external components needed for a full Ethernet
node. Its small-footprint package and high level of
integration allow System Engineers to design a
complete Ethernet circuit that occupies as little as
1.5 square inches of PCB area (Figure 1). In addition, the CS8900A’s power-saving features and
CMOS design make it a perfect fit for power-sensi-
CIRRUS LOGIC PRODUCT DATA SHEET
8DS271PP3
CS8900A
Crystal LAN™ ISA Ethernet Controller
EEPROM
I
S
A
Figure 1. Complete Ethernet Motherboard Solution
20 MHz
XTAL
CS8900A
tive portable and desktop PCs. Motherboard design
options include:
•An EEPROM can be used to store node-specific information, such as the Ethernet Individual
Address and node configuration.
•The 20 MHz crystal oscillator may be replaced
by a 20 MHz clock signal.
1.2.2 Ethernet Adapter Cards
The CS8900A’s highly efficient PacketPage architecture, with StreamTransfer™ and Auto-Switch
DMA options, make it an excellent choice for highperformance, low-cost ISA adapter cards
(Figure 2). The CS8900A’s wide range of configuration options and performance features allow en-
(2.0 sq. in.)
RJ-45
10BASE-T
gineers to design Ethernet solutions that meet their
particular system requirements. Adapter card design options include:
•A Boot PROM can be added to support diskless
applications.
•The 10BASE-T transmitter and receiver impedance can be adjusted to support 100, 120, or
150 Ohm twisted pair cables.
•An external Latchable-Address-bus decode circuit can be added to operate the CS8900A in
Upper-Memory space.
•On-chip LED ports can be used for either optional LEDs, or as programmable outputs.
LED
EEPROM
’245
Boot PROM
Figure 2. Full-Featured ISA Adapter Solution
CIRRUS LOGIC PRODUCT DATA SHEET
DS271PP39
20 MHz
XTAL
CS8900A
RJ-45
Attachment
Unit
Interface
(AUI )
CS8900A
Crystal LAN™ ISA Ethernet Controller
1.3 Key Features and Benefits
1.3.1 Very Low Cost
The CS8900A is designed to provide the lowestcost Ethernet solution available for embedded applications, portable motherboards, non-ISA bus
systems and adapter cards. Cost-saving features include:
•Integrated RAM eliminates the need for expensive external memory chips.
•On-chip 10BASE-T filters allow designers to
use simple isolation transformers instead of
more costly filter/transformer packages.
•The serial EEPROM port, used for configuration and initialization, eliminates the need for
expensive switches and jumpers.
•The CS8900A is designed to be used on a 2layer circuit board instead of a more expensive
multilayer board.
•A set of certified software drive rs is available at
no charge, eliminating the need for costly software development.
older I/O-space designs, PacketPage is faster, simpler and more efficient.
To boost performance further, the CS8900A includes several key features that increase throughput
and lower CPU overhead, including:
•StreamTransfer cuts up to 87% of interrupts to
the host CPU during large block transfers.
•Auto-Switch DMA allows the CS8900A to
maximize throughput while minimizing missed
frames.
•Early interrupts allow the host to prep rocess incoming frames.
•On-chip buffering of full frames cuts the
amount of host bandwidth needed to manage
Ethernet traffic.
1.3.3 Low Power and Low Noise
For low power needs, the CS8900A offers three
power-down options: Hardware Standby, Hardware Suspend, and Software Suspend. In Standby
mode, the chip is powered down with the exception
of the 10BASE-T receiver, which is enabled to listen for link activity. In either Hardware or Software
Suspend mode, the receiver is disabled and power
consumption drops to the micro-ampere range.
1.3.2 High Performance
In addition, the CS8900A has been designed for
very low noise emission, thus shortening the time
The CS8900A is a full 16-bit Ethernet controller
required for EMI testing and qualification.
designed to provide optimal system performance
by minimizing time on the ISA bus and CPU overhead per frame. It offers equal or superior performance for less money when compared to other
Ethernet controllers. The CS8900A’s PacketPage
architecture allows software to select whichever
access method is best suited to each particular
CPU/ISA-bus configuration. When compared to
CIRRUS LOGIC PRODUCT DATA SHEET
10DS271PP3
1.3.4 Complete Support
The CS8900A comes with a suite of software drivers for immediate use with most industry standard
network operating systems. In addition, complete
evaluation kits and manufacturing packages are
available, significantly reducing the cost and time
required to produce new Ethernet products.
SA[0:19] - System Address Bus, Input PINS 37-48, 50-54, 58-60.
Lower 20 bits of the 24-bit System Address Bus used to decode accesses to CS8900A I/O and
Memory space, and attached Boot PROM. SA0-SA15 are used for I/O Read and Write
operations. SA0-SA19 are used in conjunction with external decode logic for Memory Read
and Write operations.
SD[0:15] - System Data Bus, Bi-Directional with 3-State Output PINS 65-68, 71-74, 27-24, 21-18.
Bi-directional 16-bit System Data Bus used to transfer data between the CS8900A and the host.
RESET - Reset, Input PIN 75.
Active-high asynchronous input used to reset the CS8900A. Must be stable for at least 400 ns
before the CS8900A recognizes the signal as a valid reset.
AEN - Address Enable, Input PIN 63.
When TEST is high, this active-high input indicates to the CS8900A that the system DMA
controller has control of the ISA bus. When AEN is high, the CS8900A will not perform slave
I/O space operations. When TEST is low, this pin becomes the shift clock input for the
Boundary Scan Test. AEN should be inactive when performing an IO or memory access and it
should be active during a DMA cycle.
MEMR - Memory Read, Input PIN 29.
Active-low input indicates that the host is executing a Memory Read operation.
MEMW - Memory Write, Input PIN 28.
Active-low input indicates that the host is executing a Memory Write operation.
Open-drain, active-low output generated by the CS8900A when it recognizes an address on the
ISA bus that corresponds to its assigned Memory space (CS8900A must be in Memory Mode
with the MemoryE bit (Register 17, BusCTL, Bit A) set for MEMCS16 to go active). 3-Stated
when not active.
REFRESH - Refresh, Input PIN 49.
Active-low input indicates to the CS8900A that a DRAM refresh cycle is in progress. When
REFRESH is low, MEMR, MEMW, IOR, IOW, DMACK0, DMACK1, and DMACK2 are
ignored.
IOR - I/O Read, Input PIN 61.
When IOR is low and a valid address is detected, the CS8900A outputs the contents of the
selected 16-bit I/O register onto the System Data Bus. IOR is ignored if REFRESH is low.
IOW - I/O Write, Input PIN 62.
When IOW is low and a valid address is detected, the CS8900A writes the data on the System
Data Bus into the selected 16-bit I/O register. IOW is ignored if REFRESH is low.
Open-drain, active-low output generated by the CS8900A when it recognizes an address on the
ISA bus that corresponds to its assigned I/O space. 3-Stated when not active.
IOCHRDY - I/O Channel Ready, Open Drain Output PIN 64.
When driven low, this open-drain, active-high output extends I/O Read and Memory Read
cycles to the CS8900A. This output is functional when the IOCHRDYE bit in the Bus Control
register (Register 17) is clear. This pin is always 3-Stated when the IOCHRDYE bit is set.
SBHE - System Bus High Enable, Input PIN 36.
Active-low input indicates a data transfer on the high byte of the System Data Bus (SD8SD15). After a hardware or a software reset, provide a HIGH to LOW and then LOW to HIGH
transition on SBHE signal before any IO or memory access is done to the CS8900A.
Active-high output indicates the presence of an interrupt event. Interrupt Request goes low once
the Interrupt Status Queue (ISQ) is read as all 0’s. Only one Interrupt Request output is used
(one is selected during configuration). All non-selected Interrupt Request outputs are placed in
a high-impedance state. (Section 3.2 on page 18 and Section 5.1 on page 79.)
CS8900A
DMARQ[0:2] - DMA Request, 3-State PINS 11, 13, and 15.
Active-high, 3-Stateable output used by the CS8900A to request a DMA transfer. Only one
DMA Request output is used (one is selected during configuration). All non-selected DMA
Request outputs are placed in a high-impedanc e state.
DMACK[0:2] - DMA Acknowledge, Input PINS 12, 14, and 16.
Active-low input indicates acknowledgment by the host of the corresponding DMA Request
output.
CHIPSEL - Chip Select, Input PIN 7.
Active-low input generated by external Latchable Address bus decode logic when a valid
memory address is present on the ISA bus. If Memory Mode operation is not needed,
CHIPSEL should be tied low. The CHIPSEL is ignored for IO and DMA mode of the
CS8900A.
EEPROM and Boot PROM Interface
EESK - EEPROM Serial Clock, PIN 4.
Serial clock used to clock data into or out of the EEPROM.
EECS - EEPROM Chip Select, PIN 3.
Active-high output used to select the EEPROM.
CIRRUS LOGIC PRODUCT DATA SHEET
14DS271PP3
CS8900A
Crystal LAN™ ISA Ethernet Controller
EEDataIn - EEPROM Data In, Input Internal Weak Pullup PIN 6.
Serial input used to receive data from the EEPROM. Connects to the DO pin on the EEPROM.
EEDataIn is also used to sense the pres ence of the EEPROM.
Bi-directional signal used to configure external Latchable Address (LA) decode logic. If
external LA decode logic is not needed, ELCS should be tied low.
EEDataOut - EEPROM Data Out,PIN 5.
Serial output used to send data to the EEPROM. Connects to the DI pin on the EEPROM.
When TEST is low, this pin becomes the output for the Boundary Scan Test.
CSOUT - Chip Select for External Boot PROM, PIN 17.
Active-low output used to select an external Boot PROM when the CS8900A decodes a valid
Boot PROM memory address.
Differential input pair receives 10 Mb/s Manchester-encoded data from the 10BASE-T receive
pair.
Attachment Unit Interface (AUI)
DO+/DO- - AUI Data Out, Differential Output Pair PINS 83 and 84.
Differential output pair drives 10 Mb/s Manchester-encoded data to the AUI transmit pair.
DI+/DI- - AUI Data In, Differential Input Pair PINS 79 and 80.
Differential input pair receives 10 Mb/s Manchester-encoded data from the AUI receive pair.
CI+/CI- - AUI Collision In, Differential Input Pair PINS 81 and 82.
Differential input pair connects to the AUI collision pair. A collision is indicated by the
presence of a 10 MHz ± 15% signal with duty cycle no worse than 60/40.
General Pins
XTAL[1:2] - Crystal, Input/Output PINS 97 and 98.
A 20 MHz crystal should be connected across these pins. If a crystal is not used, a 20 MHz
signal should be connected to XTAL1 and XTAL2 should be left open. (See Section 7.3 on
page 111 and Section 7.7 on page 121.)
Active-low input used to enable the two hardware sleep modes: Hardware Suspend and
Hardware Standby. (See Section 3.7 on page 26.)
LINKLED or HC0 - Link Good LED or Host Controlled Output 0, Open Drain Output PIN 99.
When the HCE0 bit of the Self Control register (Register 15) is clear, this active-low output is
low when the CS8900A detects the presence of valid link pulses. When the HC0E bit is set, the
host may drive this pin low by setting the HCBO in the Self Control register.
BSTATUS or HC1 - Bus Status or Host Controlled Output 1, Open Drain Output PIN 78.
When the HC1E bit of the Self Control register (Register 15) is clear, this active-low output is
low when receive activity causes an ISA bus access. When the HC1E bit is set, the host may
drive this pin low by setting the HCB1 in the Self Control register.
LANLED - LAN Activity LED, Open Drain Output PIN 100.
During normal operation, this active-low output goes low for 6 ms whenever there is a receive
packet, a transmit packet, or a collision. During Hardware Standby mode, this output is driven
low when the receiver detects network activity.
TEST - Test Enable, Input Internal Weak Pullup PIN 76.
Active-low input used to put the CS8900A in Boundary Scan Test mode. For normal operation,
this pin should be high.
RES - Reference Resistor, Input PIN 93.
This input should be connected to a 4.99KΩ ± 1% resistor needed for biasing of internal analog
circuits.
DVDD[1:4] - Digital Power, Power PINS 9, 22, 56, and 69.
Provides 5 V ± 5% power to the digital circuits of the CS8900A.
DVSS[1:4} and DVSS1A, DVSS3A - Digital Ground, Ground PINS 8, 10, 23, 55, 57, and 70.
Provides ground reference (0 V) to the digital circuits of the CS8900A.
AVDD[1:3] - Analog Power, Power PINS 90, 85, and 95.
Provides 5 V ± 5% power to the analog circuits of the CS8900A.
Provide ground reference (0 V) to the analog circuits of the CS8900A.
CIRRUS LOGIC PRODUCT DATA SHEET
16DS271PP3
CS8900A
Crystal LAN™ ISA Ethernet Controller
3.0 FUNCTIONAL DESCRIPTION
3.1 Overview
During normal operation, the CS8900A performs
two basic functions: Ethernet packet transmission
and reception. Before transmission or reception is
possible, the CS8900A must be configured.
3.1.1 Configuration
The CS8900A must be configured for packet transmission and reception at power-up or reset. Various
parameters must be written into its int ernal Configuration and Control registers such as Memory Base
Address; Ethernet Physical Address; what frame
types to receive; and which media interface to use.
Configuration data can either be written to the
CS8900A by the host (across the ISA bus), or loaded automatically from an external EEPROM. Ope ration can begin after configuration is complete.
Section 3.3 on page 19 and Section 3.4 on pa ge 21
describe the configuration process in detail.
Section 4.4 on page 47 provides a detailed description of the bits in the Configuration and Control
Registers.
3.1.2 Packet Transmission
Packet transmission occurs in two phases. In the
first phase, the host moves the Ethernet frame into
the CS8900A’s buffer memory. The first phase begins with the host issuing a Transmit Command.
This informs the CS8900A that a frame is to be
transmitted and tells the chip when to start transmission (i.e. after 5, 381, 1021 or all bytes have
been transferred) and how the frame should be sent
(i.e. with or without CRC, with or without pad bits,
etc.). The Host follows the Transmit Command
with the Transmit Length, indicating how much
buffer space is required. When buffer space is
available, the host writes the Ethernet frame into
the CS8900A’s internal memory, either as a Memory or I/O space operation.
In the second phase of transmission, the CS8900A
converts the frame into an Ethernet packet then
transmits it onto the network. The second phase begins with the CS8900A transmitting the preamble
and Start-of-Frame delimiter as soon as the proper
number of bytes has been transferred into its transmit buffer (5, 381, 1021 bytes or full frame, depending on configuration). The preamble and Startof-Frame delimiter are followed by the Destination
Address, Source Address, Length field and LLC
data (all supplied by the host). If the frame is less
than 64 bytes, including CRC, the CS8900A adds
pad bits if configured to do so. Finally, the
CS8900A appends the proper 32-bit CRC value.
The Section 5.7 on page 99 provides a detailed description of packet transmission.
3.1.3 Packet Reception
Like packet transmission, packet reception occurs
in two phases. In the first phase, the CS8900A receives an Ethernet packet and stores it in on-chip
memory. The first phase of packet reception begins
with the receive frame passing through the analog
front end and Manchester decoder where Manchester data is converted to NRZ data. Next, the preamble and Start-of-Frame delimiter are stripped off
and the receive frame is sent through the address
filter. If the frame’s Destination Address matches
the criteria programmed into the address filter, the
packet is stored in the CS8900A’s internal memory. The CS8900A then checks the CRC, and depending on the configuration, informs the
processor that a frame has been received.
In the second phase, the host transfers the receive
frame across the ISA bus and into host memory.
Receive frames can be transferred as Memory
space operations, I/O space operations, or as DMA
operations using host DMA. Also, the CS8900A
provides the capability to switch between Memory
or I/O operation and DMA operation by using
Auto-Switch DMA and StreamTransfer.
The Section 5.2 on page 79 through Section 5.6 on
page 96 provide a detailed description of packet reception.
CIRRUS LOGIC PRODUCT DATA SHEET
DS271PP317
CS8900A
Crystal LAN™ ISA Ethernet Controller
3.2 ISA Bus Interface
The CS8900A provides a direct interface to ISA
buses running at clock rates from 8 to 11 MHz. Its
on-chip bus drivers are capable of delivering
24 mA of drive current, allowing the CS8900A to
drive the ISA bus directly, without added external
"glue logic".
The CS8900A is optimized for 16-bit data transfers, operating in either Memory space, I/O space ,
or as a DMA slave.
Note that ISA-bus operation below 8 MHz should
use the CS8900A’s Receive DMA mode to minimize missed frames. See Section 5.4 on page 90 for
a description of Receive DMA operation.
3.2.1 Memory Mode Operation
When configured for Memory Mode operation, the
CS8900A’s internal registers and frame buffers are
mapped into a contiguous 4-Kbyte block of host
memory, providing the host with direct access to
the CS8900A’s internal registers and frame buffers. The host initiates Read operations by driving
the MEMR pin low and Write operations by driving the MEMW pin low.
For additional information about Memory Mode,
see Section 4.9 on page 74.
3.2.2 I/O Mode Operation
When configured for I/O Mode operation, the
CS8900A is accessed through eight, 16-bit I/O
ports that are mapped into sixteen contiguous I/O
locations in the host system’s I/O space. I/O Mode
is the default configuration for the CS8900A and is
always enabled.
For an I/O Read or Write operation, the AEN pin
must be low, and the 16-bit I/O address on the ISA
System Address bus (SA0 - SA15) must match the
address space of the CS8900A. For a Read, IOR
must be low, and for a Write, IOW must be low.
For additional information about I/O Mode, see
Section 4.10 on page 76.
3.2.3 Interrupt Request Signals
The CS8900A has four interrupt request output
pins that can be connected directly to any four of
the ISA bus Interrupt Request signals. Only one interrupt output is used at a time. It is selected during
initialization by writing the interrupt number (0 to
3) into PacketPage Memory base + 0022h. Unused
interrupt request pins are placed in a high-impedance state. The selected interrupt request pin goes
high when an enabled interrupt is triggered. The
pin goes low after the Interrupt Status Queue (ISQ)
is read as all 0’s (see Section 5.1 on page 79 for a
description of the ISQ).
Table 1 presents one possible way of connecting
the interrupt request pins to the ISA bus that utilizes commonly available interrupts and facilitates
board layout.
The CS8900A interfaces directly to the host DMA
controller to provide DMA transfers of receive
frames from CS8900A memory to host memory.
The CS8900A has three pairs of DMA pins that can
be connected directly to the three 16-bit DMA
channels of the ISA bus. Only one DMA channel is
used at a time. It is selected during initiali zation by
writing the number of the desired channel (0, 1 or
2) into PacketPage Memory base + 0024h. Unused
DMA pins are placed in a high-impedance state.
The selected DMA request pin goes high when the
CS8900A has received frames to transfer to the
host memory via DMA. If the DMABurst bit (register 17, BusCTL, Bit B) is clear, the pin goes low
after the DMA operation is complete. If the
CIRRUS LOGIC PRODUCT DATA SHEET
18DS271PP3
CS8900A
Crystal LAN™ ISA Ethernet Controller
DMABurst bit is set, the pin goes low 32 µs after
the start of a DMA transfer.
The DMA pin pairs are arranged on the CS8900A
to facilitate board layout. Crystal recommends the
configuration in Table 2 when connecting these
pins to the ISA bus.
CS8900A DMA
Signal (Pin #)
DMARQ0 (Pin 15)DRQ50000h
DMACK0
DMARQ1 (Pin 13)DRQ60001h
DMACK1
DMARQ2 (Pin 11)DRQ70002h
DMACK2
(Pin 16)DACK5
(Pin 14)DACK6
(Pin 12)DACK7
Table 2. DMA Assignments
ISA DMA
Signal
PacketPage
base + 0024h
For a description of DMA mode, see Section 5.4 on
page 90.
3.3 Reset and Initialization
3.3.1 Reset
Seven different conditions cause the CS8900A to
reset its internal registers and circuits.
3.3.1.4 EEPROM Reset
There is a chip-wide reset if an EEPROM chec ksum error is detected (see Section 3.4 on page 21).
3.3.1.5 Software Initiated Reset
There is a chip-wide reset whenever the RESET bit
(Register 15, SelfCTL, Bit 6) is set.
3.3.1.6 Hardware (HW) Standby or Suspend
The CS8900A goes though a chip-wide reset whenever it enters or exits either HW Standby mode or
HW Suspend mode (see Section 3.7 on page 26 for
more information about HW Standby and Suspend).
3.3.1.7 Sof tware (SW) Suspend
Whenever the CS8900A enters SW Suspend mode,
all registers and circuits are reset except for the ISA
I/O Base Address register (located at PacketPage
base + 0020h) and the SelfCTL register (Register
15). Upon exit, there is a chip-wide reset (see
Section 3.7 on page 26 for more information about
SW Suspend).
3.3.2 Allowing Time for Reset Operation
3.3.1.1 External Reset, or ISA Reset
There is a chip-wide reset whenever the RESET pin
is high for at least 400 ns. During a chip-wide reset,
all circuitry and registers in the CS8900A are reset.
3.3.1.2 Power-Up Reset
When power is applied, the CS8900A maintains reset until the voltage at the supply pins reaches approximately 2.5 V. The CS8900A comes out of
reset once Vcc is greater than approximately 2.5 V
and the crystal oscillator has stabilized.
3.3.1.3 Power-Down Reset
If the supply voltage drops below approximately
2.5 V, there is a chip-wide reset. The CS8900A
comes out of reset once the power supply returns to
a level greater than approximately 2.5 V and the
crystal oscillator has stabilized.
CIRRUS LOGIC PRODUCT DATA SHEET
After a reset, the CS8900A goes through a self configuration. This includes calibrating on-chip analog
circuitry, and reading EEPROM for validity and
configuration. Time required for the reset calibration is typically 10 ms. Software drivers should not
access registers internal to the CS8900A during
this time. When calibration is done, bit INITD in
the Self Status Register (register 16) is set indicating that initialization i s comple te, a nd the S I BUSY
bit in the same register is cleared indicating the EEPROM is no longer being read or programmed.
3.3.3 Bus Reset Considerations
The CS8900A reads 3000h from IObase+0Ah after
the reset, until the software writes a non-zero value
at IObase+0Ah. The 3000h value can be used as
part of the CS8900A signature when the system
scans for the CS8900A. See Section 4.10 on
page 76.
DS271PP319
CS8900A
Crystal LAN™ ISA Ethernet Controller
After a reset, the ISA bus outputs INTRx and
DMARQx are 3-Stated, thus avoiding any interrupt
or DMA channel conflicts on the ISA bus at powerup time.
3.3.4 Initialization
After each reset (except EEPROM Reset), the
CS8900A checks the sense of the EEDataIn pin to
see if an external EEPROM is present. If EEDI is
high, an EEPROM is present and the CS8900A automatically loads the configuration data stored in
the EEPROM into its internal registers (see next
section). If EEDI is low, an EEPROM is not
present and the CS8900A comes out of reset with
the default configuration shown in Table 3.
A low-cost serial EEPROM can be used to store
configuration information that is automatically
loaded into the CS8900A after each reset (except
EEPROM reset). The use of an EEPROM is optional.
The interface t o the EEPR OM consist s of the four
signals shown in Table 5.
CS8900A Pin
(Pin #)CS8900A Function
EECS (Pin 3)EEPROM Chip SelectChip Select
EESK (PIN 4)1 MHz EEPROM
Serial Cl ock output
EEDO (Pin 5)EEPROM Data Out
(data to EEPROM)
EEDI (Pin 6)EEPROM Data in
(data from EEPROM)
Table 5. EEPROM Interface
EEPROM
Pin
Clock
Data In
Data Out
3.4.2 EEPROM Memory Organization
If an EEPROM is used to store initial configuration
information for the CS8900A, the EEPROM is organized in one or more blocks of 16-bit words. The
first block in EEPROM, referred to as the Configuration Block, is used to configure the CS8900A after reset. An example of a typical Configuration
Block is shown in Table 6. Additional blocks containing user data may be stored in the EEPROM.
However, the Configuration Block must always
start at address 00h and be stored in contiguous
memory locations.
3.4.3 Reset Configuration Block
The first block in EEPROM, referred to a s the Re set Configuration Block, is used to automatically
program the CS8900A with an initial configuration
after a reset. Additional user data may also be
stored in the EEPROM if space is availabl e. The
additional data are stored as 16-bit words and can
occupy any EEPROM address space beginning immediately after the end of the Reset Configuration
Block up to address 7Fh, depending on EEPROM
size. This additional data can only be accessed
through software control (refer to Section 3.5 on
page 24 for more information on accessing the EEPROM). Address space 80h to AFh is reserved.
3.4.3.1 Reset Configuration Block Structure
The Reset Configuration Block is a block of contiguous 16-bit words starting at EEPROM address
00h. It can be divided into three logical sections: a
header, one or more groups of configuration data
words, and a checksum value. All of the words in
the Reset Configuration Block are read sequentially by the CS8900A after each reset, starting with
the header and ending with the checksum. Each
group of configuration data is used to program a
PacketPage register (or set of PacketPage registers
in some cases) with an initial non-default value.
3.4.3.2 Reset Configuration Block Header
The header (first word of the block located at EEPROM address 00h) specifies the type of EEPROM used, whether or not a Reset Configuration
block is present, and if so, how many bytes of configuration data are stored in the Reset Configuration Block.
3.4.3.3 Determining the EEPROM Type
The LSB of the high byte of the header indicates
the type of EEPROM attached: sequential or nonsequential. An LSB of 0 (XXXX-XXX0) indicates
a sequential EEPROM. An LSB of 1 (XXXXXXX1) indicates a non-sequential EEPROM. The
CS8900A works equally well with either type of
EEPROM. The CS8900A will automatically generate sequential addresses while reading the Reset
Configuration Block if a non-sequential EEPROM
is used.
3.4.3.4 Checking EEPROM for presence of Reset
Configuration Block
The read-out of either a binary 101X-XXX0 or
101X-XXX1 (X = do not care) from the high byte
of the header indicates the presence of configuration data. Any other readout value terminates initialization from the EEPROM. If an EEPROM is
attached but not used for configuration, Crystal recommends that the high byte of the first word be
programmed with 00h in order to ensure that the
CIRRUS LOGIC PRODUCT DATA SHEET
DS271PP321
Crystal LAN™ ISA Ethernet Controller
Word AddressValueDescription
FIRST WORD in DATA BLOCK
00hA120hConfiguration Block Header.
The high byte, A1h, indicates a ‘C46 EEPROM is attached. The Link Byte,
20h, indicates the number of bytes to be used in this block of configuration
data.
FIRST GROUP of WORDS
01h2020hGroup Header for first group of words.
Three words to be loaded, beginning at 0020h in PacketPage memory.
02h0300hI/O Base Address
03h0003hInterrupt Number
04h0001hDMA Channel Number
SECOND GROUP of WORDS
05h502ChGroup Header for second group of words.
Six words to be loaded, beginning at 002Ch in PacketPage memory.
06hE000hMemory Base Address - low word
07000FhMemory Base Address - high word
08h0000hBoot PROM Base Address - low word
09h000DhBoot PROM Base Address - high w ord
0AhC000hBoot PROM Address Mask - low word
0Bh000FhBoot PROM Address Mask - high word
THIRD GROUP of WORDS
0Ch2158hGroup Header for third group of words.
Three words to be loaded, beginning at 0158 in PacketPage memory .
0Dh0010hIndividual Address - Octet 0 and 1
0Eh0000hIndividual Address - Octet 2 and 3
0Fh0000hIndividual Address - Octet 4 and 5
CHECKSUM Value
10h2800hThe high byte, 28h, is the Checksum Value. In this example, the check-
sum includes word addresses 00h through 0Fh. The hexadecimal sum of
the bytes is D8h, resulting in a 2’s complement of 28h. The low byte, 00h,
provides a pad to the word boundary.
* FFFFh is a special code indicating that there are no more words in the EEPROM.
Table 6. EEPROM Configuration Block Exam pl e
CS8900A will not attempt to read configuration
data from the EEPROM.
3.4.3.5 Determining Number of Bytes in the Reset
Configuration Block
For example, a Reset Configuration Block header
of A104h indicates a non-sequential EEPROM programmed with a Reset Configuration Block containing 4 bytes of configuration data. This Reset
Configuration Block occupies 6 bytes (3 words) of
The low byte of the Reset Configuration Block
header is known as the link byte. The value of the
EEPROM space (2 bytes for the header and 4 bytes
of configuration data).
Link Byte represents the number of bytes of configuration data in the Reset Configuration Block. The
two bytes used for the header are excluded when
calculating the Link Byte value.
3.4.4 Groups of Configuration Data
Configuration data are arranged as groups of
words. Each group contains one or more words of
data that are to be loaded into PacketPage registers.
CS8900A
CIRRUS LOGIC PRODUCT DATA SHEET
22DS271PP3
CS8900A
Crystal LAN™ ISA Ethernet Controller
The first word of each group is referred to as the
Group Header. The Group Header indicates the
number of words in the group and the address of the
PacketPage register into which the first data word
in the group is to be loaded. Any remaining words
in the group are stored in successive PacketPage
registers.
3.4.4.1 Group Header
Bits F through C of the Group Header specify the
number of words in each group that are to be transferred to PacketPage registers (see Figure 4). This
value is two less than the total number of words in
the group, including the Group Header. For example, if bits F through C contain 0001, there are three
words in the group (a Group Header and two words
of configuration data).
First Word of a Group of Words
F
E
BADC
98
76
4
10
3
25
3.4.5 Reset Configuration Block Checksum
A checksum is stored in the high byte position of
the word immediately following the last group of
data in the Reset Configuration Block. (The EEPROM address of the checksum value can be determined by dividing the value stored in the Link Byte
by two). The checksum value is the 2’s complement of the 8-bit sum (any carry out of eighth bit is
ignored) of all the bytes in the Reset Configuration
Block, excluding the checksum byte. This sum includes the Reset Configuration Block header at address 00h. Since the checksum is calculated as the
2’s complement of the sum of all preceding bytes in
the Reset Configuration Block, a total of 0 should
result when the checksum value is added t o the sum
of the previous bytes.
3.4.6 EEPROM Example
Table 6 shows an example of a Reset Configuration
Block stored in a C46 EEPROM. Note that littleendian word ordering is used, i.e., the least significant word of a multiword datum is located at the
lowest address.
0
0
0
Number of Words
in Group
Figure 4. Group Header
9-bit PacketPage Address
Bits 8 through 0 of the Group Header specify a 9bit PacketPage Address. This address defines the
PacketPage register that will be loaded with the
first word of configuration data from the group.
Bits B though 9 of the Group Header are forced to
0, restricting the destination address range to the
first 512 bytes of PacketPage memory. Figure 4
shows the format of the Group header.
3.4.7 EEPROM Read-out
If the EEDI pin is asserted high at the end of reset,
the CS8900A reads the first word of EEPROM data
by:
1) Asserting EECS
2) Clocking out a Read-Register-00h command
on EEDO (EESK provides a 1MHz serial clock
signal)
3) Clocking the data in on EEDI.
If the EEDI pin is low at the end of the reset signal,
the CS8900A does not perform an EEPROM readout (uses its default configuration).
3.4.7.1 Determining EEPROM Size
The CS8900A determines the size of the EEPROM
by checking the sense of EEDI on the tenth rising
edge of EESK. If EEDI is low, the EEPROM is a
CIRRUS LOGIC PRODUCT DATA SHEET
DS271PP323
CS8900A
Crystal LAN™ ISA Ethernet Controller
’C46 or ’CS46. If EEDI is high, the EEPROM is a
’C56, ’CS56, ’C66, or ’CS66.
3.4.7.2 Loading Configuration Data
The CS8900A reads in the first word from the EEPROM to determine if configuration data is contained in the EEPROM. If configuration data is not
stored in the EEPROM, the CS8900A terminates
initialization from EEPROM and operates using its
default configuration (See Table 3). If configuration data is stored in EEPROM, the CS8900A automatically loads all configuration data stored in the
Reset Configuration Block into its internal PacketPage registers.
3.4.8 EEPROM Read-out Completion
Once all the configuration data are transferred to
the appropriate PacketPage registers, the CS8900A
performs a checksum calculation to verify the Reset Configuration Blocks data are valid. If the resulting total is 0, the read-out is considered valid.
Otherwise, the CS8900A initiates a partial reset to
restore the default configuration.
If the read-out is valid, the EEPROMOK bit (Register 16, SelfST, bit A) is set. EEPROMOK is
cleared if a checksum error is detected. In this case,
the CS8900A performs a partial reset and is re-
stored to its default. Once initia lization is c omplete
(configuration loaded from EEPROM or reset to
default configuration) the INITD bit is set (Register
16, SelfST, bit 7).
3.5 Programming the EEPROM
After initialization, the host can access the EEPROM through the CS8900A by writing one of
seven commands to the EEPROM Command register (PacketPage base + 0040h). Figure 5 shows the
format of the EEPROM Command register.
3.5.1 EEPROM Commands
The seven commands used to access the EEPROM
are: Read, Write, Erase, Erase/Write Enable,
Erase/Write Disable, Erase-All, and Write-All.
They are described in Table 7.
3.5.2 EEPROM Command Execution
During the execution of a command, the two Opcode bits, followed by the six bits of address (for a
’C46 or ’CS46) or eight bits of address (for a ’C56,
’CS56, ’C66 or ’CS66), are shifted out of the
CS8900A, into the EEPROM. If the command is a
Write, the data in the EEPROM Data register
(PacketPage base + 0042h) follows. If the command is a Read, the data in the specified EEPROM
AD7 - AD0 used with ’C56,
’CS56, ’C66 and ’CS66
FXEXDXCXB
BitNameDescription
[F:B]Reserved
[A]ELSELExternal Logic Select: When clear, the EECS pin is used to select the EEPROM.
When set, the ELCS pin is used to select the external LA decode circuit.
[9:8]OP1, OP0Opcode: Indicates what command is being executed (see next section).
[7:0]AD7 to AD0EEPROM Address: Address of EEPROM word being accessed.
CIRRUS LOGIC PRODUCT DATA SHEET
24DS271PP3
A98
XELSEL OP1 OP0
Figure 5. EEPROM Command Register Format
AD7 AD6
5476
AD5 AD4
AD5 - AD0 used with
’C46 and ’CS46
1032
AD1 AD0AD3 AD2
CS8900A
Crystal LAN™ ISA Ethernet Controller
CommandOpcode
(bits 9,8)
Read Register1,0word addressyesall25 µs
Write Register0,1word addressyesall10 ms
Erase Register1.1word addressnoall10 ms
Erase/Write Enable0,0XX11-XXXXno‘CS46, ‘C469 µs
Erase/Write Disable0,0
0,0
Erase-All Registers0,0
0,0
Write-All Register0,0
0,0
location is written into the EEPROM Da ta register.
If the command is an Erase or Era se-All, no data is
transferred to or from the EEPROM Da ta register.
Before issuing any command, the host must wait
for the SIBUSY bit (Register 16, SelfST, bit 8) to
EEPROM Address
(bits 7 to 0)
11XX-XXXXno‘CS56, ‘C56, ‘CS66, ‘C669 µs
XX00-XXXXno ‘CS46, ‘C469 µs
00XX-XXXXno‘CS56, ‘C56, ‘CS66, ‘C669 µs
XX10-XXXXno‘CS46, ‘C4610 ms
10XX-XXXXno‘CS56, ‘C56, ‘CS66, ‘C669 µs
XX01-XXXXyes‘CS46, ‘C4610 ms
01XX-XXXXyes‘CS56, ‘C56, ‘CS66, ‘C6610 ms
Table 7. EEPROM Commands
DataEEPROM TypeExecution
During the Erase command, the CS8900A writes
FFh to the specified EEPROM location. During the
Erase-All command, the CS8900A writes FFh to
all locations.
3.6 Boot PROM Operation
clear. After each command has been issued, the
host must wait again for SIBUSY to clear.
The CS8900A supports an optional Boot PROM
used to store code for remote booting from a net-
3.5.3 Enabling Access to the EEPROM
The Erase/Write Enable command provides protec-
work server.
3.6.1 Accessing the Boot PROM
tion from accidental writes to the EEPROM. The
host must write an Erase/Write Enable command
before it attempts to write to or erase any EEPROM
memory location. Once the host has finished altering the contents of the EEPROM, it must write an
Erase/Write Disable command to prevent unwanted modification of the EEPROM.
To retrieve the data stored in the Boot PROM, the
host issues a Read command to the Boot PROM as
a Memory space access. The CS8900A decodes the
command and drives the CSOUT pin low, causing
the data stored in the Boot PROM to be shifted into
the bus transceiver. The bus transceiver then drives
the data out onto the ISA bus.
3.5.4 Writing and Erasing the EEPROM
3.6.2 Configuring the CS8900A for Boot PROM
To write data to the EEPROM, the host must exe-
Operation
cute the following series of commands:
Figure 6 shows how the CS8900A should be con-
1) Issue an Erase/Write Enable command.
2) Load the data into the EEPROM Data register.
3) Issue a Write command.
nected to the Boot PROM and ’245 driver. To configure the CS8900A’s internal registers for Boot
PROM operation, the Boot PROM Base Address
must be loaded into the Boot PROM Base Address
4) Issue an Erase/Write Disable command.
register (PacketPage base + 0030h) and the Boot
PROM Address Mask must be loaded into the
Time
CIRRUS LOGIC PRODUCT DATA SHEET
DS271PP325
CS8900A
OE
DIR
B1
.
.
.
B8
A1
.
.
.
A8
74LS245
SD(0:7)
ISA
BUS
SA(0:14)
27C256
CE
OE
20
22
19
CS8900A
CSOUT
(Pin 17)
Crystal LAN™ ISA Ethernet Controller
BootPROM Address Mask register (PacketPage
base + 0034h). The Boot PROM Base Address provides the starting location in host memory where
the Boot PROM is mapped. The Boot PROM Address Mask indicates the size of the attached Boot
PROM and is limited to 4-Kbyte increments. The
dicating that the EEPROM is no longer being read
or programmed. Time required for the reset calibration is typically 10 ms. Software drivers should not
access registers internal to CS8900A during this
time.
3.7.1 Hardware Standby
lower 12 bits of the Address Mask are ignored and
should be 000h.
Hardware (HW) Standby is designed for use in sys-
tems, such as portable PC’s, that may be temporarily disconnected from the 10BASE-T cable. It
allows the system to conserve power while the
LAN is not in use, and then automatically restore
Ethernet operation once the cable is reconnected.
In HW Standby mode, all analog and digital circuitry in the CS8900A is turned off, except for the
10BASE-T receiver which remains active to listen
for link activity. If link activity is detected, the
LANLED pin is driven low, providing an indication to the host that the network connection is ac-
Figure 6. Boot PROM Connection Diagram
tive. The host can then activate the CS8900A by
deasserting the SLEEP pin. During this mode, all
In the EEPROM example shown in Table 6, the
Boot PROM starting address is D0000h and the
Address Mask is FC000h. This configuration describes a 16-Kbyte (128 Kbit) PROM mapped into
host memory from D0000h to D3FFFh.
3.7 Low-Power Modes
For power-sensitive applications, the CS8900A
supports three low-power modes: Hardware Standby, Hardware Suspend, and Software Suspend. All
three low-power modes are controlled through the
SelfCTL register (Register 15). See also
Section 4.4.4 on page 49.
An internal reset occurs when the CS8900A comes
out of any suspend or standby mode. After a reset
(internal or external), the CS8900A goes through a
self configuration. This includes calibrating onchip analog circuitry, and reading EEPROM for validity and configuration. When the calibration is
done, bit InitD in Register 16 (Self Status register)
is set indicating that initialization is complete, and
the SIBUSY bit in the same register is cleared (in-
26DS271PP3
CIRRUS LOGIC PRODUCT DATA SHEET
ISA bus accesses are ignored.
To enter HW Standby mode, the SLEEP pin must
be low and the HWSleepE bit (Register 15, Self-
CTL, Bit 9) and the HWStandbyE bit (Register 15,
SelfCTL, Bit A) must be set. When the CS8900A
enters HW Standby, all registers and circuits are reset except for the SelfCTL register. Upon exit from
HW Standby, the CS8900A performs a complete
reset, and then goes through normal initialization.
3.7.2 Hardware Suspend
During Hardware Suspend mode, the CS8900A
uses the least amount of current of the three lowpower modes. All internal circuits are turned off
and the CS8900A’s core is electronically isolated
from the rest of the system. Accesses from the ISA
bus and Ethernet activity are both ignored.
HW Suspend mode is entered by driving the
SLEEP pin low and setting the HWSleepE bit
(Register 15, SelfCTL, bit 9) while the HWStandbyE bit (Register 15, SelfCTL, bit A) is clear. To
CS8900A
Crystal LAN™ ISA Ethernet Controller
exit from this mode, the SLEEP pin must be driven
high. Upon exit, the CS8900A performs a complete
reset, and then goes through a normal initialization
procedure.
3.7.3 Software Suspend
To enter SW Suspend mode, the host must set the
SWSuspend bit (Register 15, SelfCTL, bit 8). To
exit SW Suspend, the host must write to the
CS8900A’s assigned I/O space (the Write is only
used to wake the CS8900A, the Write itself is ignored). Upon exit, the CS8900A performs a com-
Software (SW) Suspend mode can be used to conserve power in applications, like adapter cards, that
plete reset, and then goes through a normal
initialization procedure.
do not have power management circuitry available.
During this mode, all internal circuits are shut off
except the I/O Base Address register (PacketPa ge
base + 0020h) and the SelfCTL register (Register
High
HighN/AN/A0N/ANot in low-power mode
HighN/AN/AN/ASW Suspend mode
LowN/A01N/ASW Suspend mode
LowN/A00N/ANot in low-power mode
HWSleepE
(SelfCTL, Bit 9)
SWSuspend
(SelfCTL, Bit 8) Link Activity
Any hardware reset takes the chip out of any sleep
mode.
Table 8 summarizes the operation of the three lowpower modes.
receiver listens for link activity
initialization
low
Notes: 1. Both HW and HW Suspend take precedence over SW Suspend.
Table 8. Low-Power Mode Operation
CIRRUS LOGIC PRODUCT DATA SHEET
DS271PP327
CS8900A
Crystal LAN™ ISA Ethernet Controller
3.8 LED Outputs
The CS8900A provides three output pins that can
be used to control LEDs or external logic.
3.8.0.1 LANLED
LANLED goes low whenever the CS8900A transmits or receives a frame, or when it detects a collision. LANLED remains low until there has b een no
activity for 6 ms (i.e. each transmission, reception,
or collision produces a pulse lasting a minimum of
6 ms).
3.8.0.2 LINKLED or HC0
LINKLED or HC0 can be controlled by either the
CS8900A or the host. When controlled by the
CS8900A, LINKLED is low whenever the
CS8900A receives valid 10BASE-T link pulses. To
configure this pin for CS8900A control, the HC0E
bit (Register 15, SelfCTL, Bit C) must be clear.
When controlled by the host, LINKLED is low
whenever the HCB0 bit (Register 15, SelfCTL, Bit
E) is set. To configure it for host control, the HC0E
bit must be set. Table 9 summarizes this operation.
host, BSTATUS is low whenever the HCB1 bit
(Register 15, SelfCTL, Bit F) is set. To configure it
for host control, HC1E must be set. Table 10 summarizes this operation.
HC1E
(Bit D)
HCB1
(Bit F)
0N/A
10
11
Table 10. BSTATUS
Pin configured as BST A TUS
low when a receive frame begins transfer across the ISA bus. Output is high
otherwise
Pin configured as HC1
Output is high
Pin configured as HC1
Output is low
Pin Function
: Output is
:
:
/HCI Pin Operation
3.8.1 LED Connection
Each LED output is capable of sinking 10 mA to
drive an LED directly through a series resistor. The
output voltage of each pin is less than 0.4 V when
the pin is low. Figure 7 shows a typical LED circuit.
+5V
HC0E
(Bit C)
HCB0
(Bit E)
0N/A
10
11
Table 9. LINKLED
Pin configured as LINKLED
low when valid 10BASE-T link pulses
are detected. Output is high if valid link
pulses are not detected
Pin configured as HC0
Output is high
Pin configured as HC0
Output is low
Pin Function
: Output is
:
:
/HC0 Pin Operation
3.8.0.3 BSTATUS or HC1
BSTATUS or HC1 can be controlled by either the
CS8900A or the host. When controlled by the
CS8900A, BSTATUS is low whenever the host
reads the RxEvent register (PacketPage base +
0124h), signaling the transfer of a receive frame
across the ISA bus. To configure this pin for
CS8900A control, the HC1E bit (Register 15, SelfCTL, Bit D) must be clear. When controlled by the
LANLED
LINKLED
Figure 7. LED Connection Diagram
3.9 Media Access Control
3.9.1 Overview
The CS8900A’s Ethernet Media Access Control
(MAC) engine is fully compliant with the IEEE
802.3 Ethernet standard (ISO/IEC 8802-3, 1993). It
handles all aspects of Ethernet frame transmission
and reception, including: collision detection, preamble generation and detection, and CRC genera-
CIRRUS LOGIC PRODUCT DATA SHEET
28DS271PP3
CS8900A
Crystal LAN™ ISA Ethernet Controller
tion and test. Programmable MAC features include
automatic retransmission on collision, and padding
of transmitted frames.
Figure 8 shows how the MAC engine interfaces to
other CS8900A functions. On the host side, it inter-
faces to the CS8900A’s internal data/address/control bus. On the network side, it interfaces to the
internal Manchester encoder/decoder (ENDEC).
The primary functions of the MAC are: frame encapsulation and decapsulation; error detection and
handling; and, media access management.
LED
Logic
Encoder/
Decoder
&
PLL
10BASE-T
& AUI
CS8900A
Internal Bus
802.3
MAC
Engine
Figure 8. MAC Interface
3.9.2 Frame Encapsulation and Decapsulation
The CS8900A’s MAC engine automatically assembles transmit packets and disassembles receive
packets. It also determines if transmit and receive
frames are of legal minimum size.
3.9.2.1 Transmission
Once the proper number of bytes ha ve been transferred to the CS8900A’s memory (either 5, 381,
Packet
1 byteup to 7 bytes6 bytes6 bytes2 bytes
1021 bytes, or full frame), and providing that access to the network is permitted, the MAC automatically transmits the 7-byte preamble (1010101b...),
followed by the Start-of-Frame Delimiter (SFD,
10101011b), and then the serialized frame data. It
then transmits the Frame Check Sequence (FCS).
The data after the SFD and before the FCS (Destination Address, Source Address, Length, and data
field) is supplied by the host. FCS generation by the
CS8900A may be disabled by setting the InhibitCRC bit (Register 9, TxCMD, bit C).
Figure 9 shows the Ethernet frame format.
3.9.2.2 Reception
The MAC receives the in coming pac k et as a se rial
stream of NRZ data from the Manchester encoder/decoder. It begins by checking for the SFD.
Once the SFD is detected, the MAC assumes all
subsequent bits are frame data. It reads the DA and
compares it to the criteria progra mmed into the address filter (see Section 5.3 on page 87 for a description of Address Filtering). If the DA passes the
address filter, the frame is loaded into the
CS8900A’s memory. If the BufferCRC bit (Register 3, RxCFG, bit B) is set, the received FCS is also
loaded into memory. Once the entire packet has
been received, the MAC validates the FCS. If an error is detected, the CRCerror bit (Register 4, RxEvent, Bit C) is set.
3.9.2.3 Enforcing Minimum Frame Size
The MAC provides minimum frame size enforce-
Frame
4 bytes
alternating 1s / 0s
preamble
Direction of Transmission
SFD = Start of Fram e Delimiter
DA = Destination Address
SA = Source Address
DS271PP329
SFD
CIRRUS LOGIC PRODUCT DATA SHEET
DA
Figure 9. Ethernet Frame Format
SA
Length Field
frame l ength
min 64 bytes
max 1518 b ytes
LLC = Logical Link Control
FCS = Frame Chec k S equence (also
called Cyclic Redundancy Check, or CRC)
LLC dataPad
FCS
CS8900A
Crystal LAN™ ISA Ethernet Controller
ment of both transmit and receive packets. When
the TxPadDis bit (Register 9, TxCMD, Bit D) is
clear, transmit frames will be padded with additional bits to ensure that the receiving station receives a
legal frame (64 bytes, including CRC). When TxPadDis is set, the CS8900A will not add pad bits
and will transmit frames less that 64 bytes. If a
frame is received that is less than 64 bytes (including CRC), the Runt bit (Register 4, RxEvent, Bit D)
will be set indicating the arrival of an ille gal frame.
3.9.3 Transmit Error Detection and Handling
The MAC engine monitors Ethernet activity and
reports and recovers from a number of error conditions. For transmission, the MAC reports the following errors in the TxEvent register (Register 8)
and BufEvent register (Register C):
3.9.3.1 Loss of Carrier
Whenever the CS8900A is transmitting on the AUI
port, it expects to see its own transmission "looped
back" to its receiver. If it is unable to monitor its
transmission after the end of the preamble, the
MAC reports a loss-of-carrier error by setting the
Loss-of-CRS bit (Register 8, TxEvent, Bit 6). If the
Loss-of-CRSiE bit (Register 7, TxCFG, Bit 6) is
set, the host will be interrupted.
3.9.3.2 SQE Error
After the end of transmission on the AUI port, the
MAC expects to see a collision within 64 bit times.
If no collision is detected, the SQEerror bit (Register 8, TxEvent, Bit 7) is set. If the S QEerroriE bit is
set (Register 7, TxCFG, Bit 7), the host is interrupted. An SQE error may indicate a fault on the AUI
cable or a faulty transceiver (it is assumed that the
attached transceiver supports this function).
3.9.3.3 Out-of-Window (Late) Collision
If a collision is detected after the first 512 bits have
been transmitted, the MAC reports a late collision
by setting the Out-of-window bit (Register 8, TxEvent, Bit 9). The MAC then forces a bad CRC and
terminates the transmission. If the Out-of-window-
iE bit (Register 7, TxCFG, Bit 9) is set, the host is
interrupted. A late collision may indicate an illegal
network configuration.
3.9.3.4 Jabber Error
If a transmission continues longer than about
26 ms, the MAC disables the transmitter and sets
the Jabber bit (Register 8, TxEvent, Bit A). The
output of the transmitter returns to idle and remains
there until the host issues a new Transmit Command. If the JabberiE bit (Register 7, TxCFG, Bit
A) is set, the host is interrupted. A Jabber condition
indicates that there may be something wrong with
the CS8900A transmit function. To prevent possible network faults, the host should clear the transmit buffer. Possible options include:
Reset the chip with either software or hardware reset (see Section 3.3 on page 19).
Issue a Force Transmit Command by setting the
Force bit (Register 9, TxCMD, bit 8).
Issue a Transmit Command with the TxLength
field set to zero.
3.9.3.5 Transmit Collision
The MAC counts the number of times an individual
packet must be retransmitted due to network collisions. The collision count is stored in bits B
through E of the TxEvent register (Register 8). If
the packet collides 16 times, transmission of that
packet is terminated and the 16coll bit (Register 8,
TxEvent, Bit F) is set. If the 16colliE bit (Register
7, TxCFG, Bit F) is set, the host will be interrupted
on the 16th collision. A running count of transmit
collisions is recorded in the TxCOL register.
3.9.3.6 Transmit Underrun
If the CS8900A starts transmission of a packet but
runs out of data before reaching the end of frame,
the TxUnderrun bit (Register C, BufEvent, Bit 9) is
set. The MAC then forces a bad CRC and terminates the transmission. If the TxUnderruniE bit
CIRRUS LOGIC PRODUCT DATA SHEET
30DS271PP3
Loading...
+ 98 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.