Low power consumption for power-sensitive
applications
Completely software- and hardware-compatible with
AMD’s LANCE device (Am7990) (see Appendix A)
GENERAL DESCRIPTION
The Am79C90 CMOS Local Area Network Controller
for Ethernet (C-LANCE) is a 48-pin VLSI device designed to greatly simplify interfacing a microcomputer or
minicomputer to an IEEE 802.3/Ethernet Local Area
Network. The C-LANCE, in conjunction with the
Am7992B Serial Interface Adapter (SIA), Am7996 or
Am79C98 and Am79C100 Transceiver, and closely
coupled local memory and microprocessor, is intended
BLOCK DIAGRAM
Parallel
Bus
Interface
C-LANCE/
CPU
Control
Bus
Interface
Station
Address
Detection
Local CPU Interface
DAL15:0
A23:16
BM
1/BUSAKO
BM
INTR
HOLD
HLDA
ALE/AS
CS
ADR
AS
D
DALO
DALI
READ
0/BYTE
READY
RESET
to provide the user with a complete interface module for
an Ethernet network. The Am79C90 is designed using
a scalable CMOS technology and is compatible with a
variety of microprocessors. On-board DMA, advanced
buffer management, and extensive error reporting and
diagnostics facilitate design and improve system
performance.
DMA/Data
Path Control
Retry
Logic
Microprogram
Store
Serial I/O
Interface
RX
RCLK
TX
TCLK
CLSN
TENA
RENA
17881C-1
Am7992B SIA Interface
Publication# 17881 Rev: CAmendment/0
Issue Date: January 1998
This document contains information on a product under development at Advanced Micro Devices. The
information is intended to help you evaluate this product. AMD reserves the right to change or discontinue
work on this proposed product without notice.
1
AMD
P R E L I M I N A R Y
RELATED AMD PRODUCTS
Part No. Description
Am7996 IEEE 802.3/Ethernet/Cheapernet Tap Transceiver
Am79C100 Twisted-Pair Ethernet Transceiver Plus (TPEX+)
TM
TM
(ILACCTM)
)
Am79C900 Integrated Local Area Communications Controller
Am79C940 Media Access Controller for Ethernet (MACE
Am79C960 PCnet-ISA Single-Chip Ethernet Controller (for ISA bus)
Am79C961 PCnet-ISA Single-Chip Ethernet Controller (with Microsoft
Plug n’ Play support)
Am79C965 PCnet-32 Single-Chip 32-Bit Ethernet Controller (for 386DX, 486 and VL buses)
Am79C970 PCnet-PCI Single-Chip Ethernet Controller (for PCI bus)
Am79C974 PCnet-SCSI Combination Ethernet and SCSI Controller for PCI Systems
Am79C98 Twisted-Pair Ethernet Transceiver (TPEX)
TM
Am79C981 Integrated Multiport Repeater Plus
Am79C987 Hardware Implemented Management Information Base
AUI—Attachment Unit InterfaceDTE—Data Terminal EquipmentMAU—Medium Attachment Unit
Twisted-Pair
17881C-4
Am79C90 3
PRELIMINARY
ORDERING INFORMATION
Standard Products
AMD standard products are available in several packages and operating ranges. The order number (valid combination) is formed
by a combination of the elements below.
AM79C90 P C
DEVICE NUMBER/DESCRIPTION
Am79C90
CMOS Local Area Network Controller for Ethernet
B
OPTIONAL PROCESSING
Blank=Standard Processing
TR=Tape and Reel Packaging
Valid combinations list configurations planned to be supported in volume for this device. Consult the local AMD sales
office to confirm availability of specific valid combinations and
to check on newly released combinations.
4 Am79C90
PRELIMINARY
PIN DESCRIPTION
A16–A23
High Order Address Bus (Output, Three-State)
Additional address bits to access a 24-bit address.
These lines are driven as a Bus Master only.
ADR
Register Address Port Select (Input)
When the C-LANCE is a Slave, ADR indicates which of
the two register ports is selected. ADR LOW selects
register data port; ADR HIGH selects register address
port. ADR must be valid throughout the data portion of
the bus cycle and is only used by the C-LANCE when
is LOW.
CS
ALE/AS
Address Latch Enable (Output, Three-State)
Used to demultiplex the DAL lines and define the
address portion of the bus cycle. This l/O pin is programmable through bit (01) of CSR3.
As ALE (CSR3 (01), ACON = 0), the signal transitions
from a HIGH to a LOW during the address portion of
the transfer and remains LOW during the data portion.
ALE can be used by a Slave device to control a latch on
the bus address lines. When ALE is HIGH, the latch is
open, and when ALE goes LOW, the latch is closed.
(CSR3 (01), ACON = 1), the signal pulses LOW
As AS
during the address portion of the bus transaction. The
LOW-to-HlGH transition of AS can be used by a Slave
device to strobe the address into a register.
The C-LANCE drives the ALE/AS line only as a Bus
Master.
BM0/BYTE, BM
(Output, Three-State)
The two pins are programmable through bit (00) of
CSR3.
BM0, BM1 (Byte Mask). This indicates that the byte(s)
on the DAL are to be read or written during this bus
transaction. The C-LANCE drives these lines only as a
Bus Master. It ignores the Byte Mask lines when it is a
Bus Slave and assumes word transfers.
1
/BUSAKO
Byte selection using Byte Mask is done as described
by the following table:
BM
1
LOW LOW Whole Word
LOW HIGH Upper Byte
HlGH LOW Lower Byte
HlGH HIGH None
Byte selection may also be done using the BYTE line
and DAL00 line, latched during the address portion of
the bus cycle. The C-LANCE drives BYTE only as a
Bus Master and ignores it when a Bus Slave selection
is done (similar to BM0, BM1). Byte selection is done
as outlined in the following table:
B
is not requesting the bus and it receives HLDA,
BUSAKO will be driven LOW. If the C-LANCE is requesting the bus when it receives HLDA, BUSAKO will
remain HIGH.
USAKO—If CSR3 (00) BCON = 1
BYTE DAL
LOW LOW Whole Word
LOW HIGH Illegal Condition
HlGH LOW Lower Byte
HlGH HIGH Upper Byte
USAKO is a bus request daisy chain output. If the chip
BM
0
00
Selection
Selection
Byte Swapping
In order to be compatible with the variety of 16-bit microprocessors available to the designer, the C-LANCE
may be programmed to swap the position of the upperand lower-order bytes on data involved in transfers with
the internal FIFOs.
Byte swapping is done when BSWP = 1. The most
significant byte of the word in this case will appear on
DAL lines 7–0 and the least significant byte on DAL
lines 15–8.
When BYTE = H (indicating a byte transfer) the table indicates on which part of the 16-bit data bus the actual
data will appear.
Whenever byte swap is activated, the only data that is
swapped is data traveling to and from the Transmit/
Receive FIFOs.
Am79C90 5
PRELIMINARY
Mode Bits
Signal Line
BYTE = L and
DAL00 = L
BYTE = L and
DAL00 = H
BYTE = H and
DAL00 = H
BYTE = H and
DAL00 = L
BSWP = 0
and BCON = 1
Word Word
Illegal Illegal
Upper Byte Lower Byte
Lower Byte Upper Byte
BSWP = 1
and BCON = 1
CLSN
Collision (Input)
A logical input that indicates that a collision is occurring
on the channel.
CS
Chip Select (Input)
Indicates, when asserted, that the C-LANCE is the
Slave device of the data transfer. CS
throughout the data portion of the bus cycle. CS must
not be asserted when HLDA is LOW.
must be valid
DAL00–DAL15
Data/Address Lines (Input/Output, Three-State)
The time multiplexed Address/Data bus. During the address portion of a memory transfer, DAL00–DAL15
contains the lower 16 bits of the memory address. The
upper 8 bits of address are contained in A16–A23.
During the data portion of a memory transfer, DAL00–
DAL15 contains the read or write data, depending on
the type of transfer.
The C-LANCE drives these lines as a Bus Master and
as a Bus Slave.
D
ALI
Data/Address Line In (Output, Three-State)
An external bus transceiver control line. D
serted when the C-LANCE reads from the DAL lines. It
will be LOW during the data portion of a READ transfer
and remain HIGH for the entire transfer if it is a WRITE.
DALI is driven only when C-LANCE is a Bus Master.
D
ALO
Data/Address Line Out (Output, Three-State)
An external bus transceiver control line. D
serted when the C-LANCE drives the DAL lines. DALO
will be LOW only during the address portion if the transfer is a READ. It will be LOW for the entire transfer if the
transfer is a WRITE. DALO is driven only when
C-LANCE is a Bus Master.
ALI is as-
ALO is as-
DAS
Data Strobe (Input/Output, Three-State)
Defines the data portion of the bus transaction. D
high during the address portion of a bus transaction
and low during the data portion. The LOW-to-HlGH
transition can be used by a Slave device to strobe bus
data into a register. DAS is driven only as a Bus Master.
AS is
HLDA
Bus Hold Acknowledge (Input)
A response to HOLD
to the chip’s assertion of HOLD, the chip is the Bus
Master.
During Bus Master operation, the C-LANCE waits for
A to be deasserted HIGH before reasserting
HLD
HOLD LOW. This insures proper bus handshake under
all situations.
. When HLDA is LOW in response
HOLD/BUSRQ
Bus Hold Request (Output, Open Drain)
Asserted by the C-LANCE when it requires access to
memory. HOLD
transaction. The function of this pin is programmed
through bit (00) of CSR3. Bit (00) of CSR3 is cleared
when RESET is asserted.
When CSR3 (00) BCON = 0
PIN 17 = HOLD
(Output Open Drain and input sense) (48-Pin DIPs)
When CSR3 (00) BCON = 1
PIN 17 = BUSRQ (I/O Sense, Open Drain) (48-Pin DlPs)
If the C-LANCE wants to use the bus, it looks at HOLD/
BUSRQ; if it is HIGH the C-LANCE can pull it LOW and
request the bus. If it is already LOW, the C-LANCE
waits for it to go inactive-HlGH before requesting the
bus.
is held LOW for the entire ensuing bus
INTR
Interrupt (Output, Open Drain)
An attention signal that indicates, when active, that one
or more of the following CSR0 status flags is set: BABL,
MERR, MISS, RINT, TINT or IDON. INTR
bit 06 of CSR0 (INEA = 1). INTR remains asserted until
the source of Interrupt is removed.
is enabled by
RCLK
Receive Clock (Input)
A 10 MHz square wave synchronized to the Receive
data and only active while receiving an Input Bit
Stream.
6 Am79C90
PRELIMINARY
READ
(Input/Output, Three-State)
Indicates the type of operation to be performed in the
current bus cycle. This signal is an output when the
C-LANCE is a Bus Master.
High—Data is taken off the DAL lines by the
C-LANCE.
Low—Data is placed on the DAL lines by the
C-LANCE.
The signal is an input when the C-LANCE is a Bus
Slave.
High—Data is placed on the DAL lines by the
C-LANCE.
Low—Data is taken off the DAL lines by the
C-LANCE.
READY
(Input/Output, Open Drain)
When the C-LANCE is a Bus Master, READ
asynchronous acknowledgment from the bus memory
that it will accept data in a WRITE cycle or that it has
put data on the DAL lines in a READ cycle.
As a Bus Slave, the C-LANCE asserts READY when it
has put data on the DAL lines during a READ cycle or
is about to take data off the DAL lines during a write
cycle. READY is a response to DAS and will return High
after DAS has gone High. READY is an input when the
C-LANCE is a Bus Master and an output when the
C-LANCE is a Bus Slave.
Y is an
RENA
Receive Enable (Input)
A logical input that indicates the presence of carrier on
the channel.
RESET
Reset (Input)
Reset causes the C-LANCE to cease operation, clear
its internal logic, force all three-state buffers to the highimpedance state, and enter an idle state with the stop
bit of CSR0 set. It is recommended that a 3.3 k Ω pullup
resistor be connected to this pin.
RX
Receive (Input)
Receive Input Bit Stream.
TCLK
Transmit Clock (Input)
10 MHz clock.
TENA
Transmit Enable (Output)
Transmit Output Bit Stream enable. When asserted, it
enables valid transmit output (TX).
TX
Transmit (Output)
Transmit Output Bit Stream.
V
DD
Power Supply Pin +5 V ± 5%
It is recommended that 0.1 µ F and 10 µ F decoupling
capacitors be used between V
V
SS
Ground
Pin 1 and 24 (48-Pin DlPs) should be connected
together externally, as close to the chip as possible.
DD
and V
SS
.
Am79C90 7
AMD
P R E L I M I N A R Y
FUNCTIONAL DESCRIPTION
The parallel interface of the CMOS Local Area Network
Controller for Ethernet (C-LANCE) has been designed
to be “friendly” or easy to interface to a variety of popular
microprocessors. These microprocessors include the
Am29000, 80x86, 680x0, Z8000 and LSI-11. The
C-LANCE has a 24-bit wide linear address space when
it is in the Bus Master Mode. A programmable mode of
operation allows byte addressing in one of two ways:
aByte/Word control signal compatible with the 80x86
and Z8000 or an Upper Data Strobe and Lower Data
Address
Bits
16–23
A16–A23
CPU
DAL0–DAL15
ALE
Data and
Address
Bits 0–15
Buffer
Buffer
Strobe signal compatible with microprocessors such as
the 68000. A programmable polarity on the Address
Strobe signal eliminates the need for external logic. The
C-LANCE interfaces with both multiplexed and demultiplexed data busses and features control signals for
address/data bus transceivers. The C-LANCE is pin-forpin compatible with AMD’s LANCE device (Am7990).
Please refer to Appendix B for a complete comparison
between the C-LANCE and LANCE devices.
Control
A16–A23
DAL0 – DAL15
Buffer
ALE
A16–A23
DAL0–DAL15A16–A23Control
Figure 1. C-LANCE/CPU Interfacing Multiplexed Bus
Latch
Decoder
C-LANCE
ALE
ADR
CS
17881B-5
8
Am79C90
Data Bus
P R E L I M I N A R Y
Address
Bus
Data/Address
Bits 0-15
A0–A15
Latch
A16–A23
Buffer
A0–A23
Decode
ALE
Address
Bits 16-23
C-LANCE
CS
Figure 2. C-LANCE/CPU Interfacing Demultiplexed Bus
AMD
17881B-6
During initialization, the CPU loads the starting address
of the initialization block into two internal control registers. The C-LANCE has four internal control and status
registers (CSR0, 1, 2, 3) which are used for various
functions, such as the loading of the initialization block
address, and programming different modes and status
conditions. The host processor communicates with the
C-LANCE during the initialization phase, for demand
transmission, and periodically to read the status bits following interrupts. All other transfers to and from the
memory are automatically handled as DMA.
Interrupts to the microprocessor are generated by the
C-LANCE upon:
completion of its initialization routine
the reception of a packet
the transmission of a packet
transmitter timeout error
a missed packet
memory error
The cause of the interrupt is ascertained by reading
CSR0. Bit (06) of CSR0, (INEA), enables or disables
interrupts to the microprocessor. In systems where polling is used in place of interrupts, bit (07) of CSR0,
(INTR), indicates an interrupt condition.
The basic operation of the C-LANCE consists of two distinct modes: transmit and receive. In the transmit mode,
the C-LANCE chip directly accesses data (in a transmit
buffer) in memory. It prefaces the data with a preamble,
start frame delimiter (SFD), and calculates and appends
a 32-bit CRC. On transmission, the first byte of data
loads into the 48-byte Transmit FIFO; the C-LANCE
then begins to transmit preamble while simultaneously
loading the rest of the packet into Transmit FIFO for
transmission.
In the receive mode, packets are sent via the Am7992B
SlA to the C-LANCE. The packets are loaded into the
64-byte Receive FIFO for preparation of automatic
downloading into buffer memory. A CRC is calculated
and compared with the CRC appended to the data packet. If the calculated CRC does not agree with the packet
CRC, an error bit is set.
Addressing
Packets can be received using three different destination addressing schemes: physical, logical and
promiscuous.
The first type is a full comparison of the 48-bit destination address in the packet with the node address that
was programmed into the C-LANCE during an initialization cycle. There are two types of logical addresses.
One is group type mask where the 48-bit address in the
packet is put through a hash filter to map the 48-bit
physical addresses into 1 of 64 logical groups. If any of
these 64 groups have been preselected as the logical
address, then the 48-bit address is stored in main memory. At this time, a look up is performed by the host computer comparing the 48-bit incoming address with the
pre-stored 48-bit logical address. This mode can be
useful if sending packets to all of a particular type of device simultaneously (i.e., send a packet to all file servers
or all printer servers). Additional details on logical addressing can be found in the INITIALIZATION section
9Am79C90
AMD
P R E L I M I N A R Y
under “Logical Address Filter.” The second logical address is a broadcast address where all nodes on the network receive the packet. The last receive mode of
operation is referred to as “promiscuous mode” in which
a node will accept all packets on the medium regardless
of their destination address.
Collision Detection and Implementation
The Ethernet and IEEE 802.3 CSMA/CD network access algorithms are implemented completely within the
C-LANCE. In addition to listening for a clear medium before transmitting, Ethernet handles collisions in a predetermined way. Should two transmitters attempt to seize
the medium at the same time, they will collide and the
data on the medium will be garbled. The transmitting
nodes listen while they transmit, detect the collision,
then continue to transmit for a predetermined length of
time to “jam” the network and ensure that all nodes have
recognized the collision. The transmitting nodes then
delay a random amount of time according to the Ethernet “truncated binary backoff” algorithm in order that the
colliding nodes do not try to repeatedly access the network at the same time. The C-LANCE also offers a selectable Modified Backoff Algorithm for better
performance on busy networks. Up to 16 attempts to access the network are made by the C-LANCE before reporting an error due to excessive collisions.
Error Reporting and Diagnostics
Extensive error reporting is provided by the C-LANCE.
Error conditions reported relate either to the network as
a whole or to individual data packets. Network-related
errors are recorded as flags in the CSRs and are examined by the CPU following interrupt. Packet-related errors are written into descriptor entries corresponding to
the packet.
System errors include:
Babbling Transmitter
—Transmitter attempting to transmit more than
CRC
—Invalid data
Framing
—Packet did not end on a byte boundary
Overflow/Underflow
—Indicates abnormal latency in servicing a DMA
request
Buffer
—Insufficient buffer space available
The C-LANCE performs several diagnostic routines
which enhance the reliability and integrity of the system.
These include a CRC check and two loop back modes
(internal/external). Errors may be introduced into the
system to check error detection logic. A Time Domain
Reflectometer is incorporated into the C-LANCE to aid
system designers in locating faults in the Ethernet physical medium. Shorts and opens manifest themselves in
reflections which are sensed by the TDR.
10
Am79C90
P R E L I M I N A R Y
Transmit Descriptor for 1st Data Buffer
Transmit Descriptor for 2nd Data Buffer
Transmit Descriptor for 3rd Data Buffer
Transmit Descriptor for Nth Data Buffer
Receive Descriptor for 1st Data Buffer
Receive Descriptor for 2nd Data Buffer
Receive Descriptor for 3rd Data Buffer
Receive Descriptor for Nth Data Buffer
AMD
Initialization
Block
Transmit
Descriptor
Ring
(4 words
per entry)
Receive
Descriptor
Ring
(4 words
per entry)
Transmit Data Buffer #1
Transmit Data Buffer #2
Transmit Data Buffer #3
Transmit Data Buffer #N
Receive Data Buffer #1
Receive Data Buffer #2
Receive Data Buffer #3
Receive Data Buffer #N
Figure 2-1. C-LANCE/Processor Memory Interface
Transmit
Data
Buffers
Receive
Data
Buffers
17881B-7
11Am79C90
AMD
C-LANCE CSR Registers
Pointer to Initialization Block
Initialization
Block
Mode of Operation
Physical Address
Logical Address Filter
Pointer to Receive Ring
Number of Receive Entries (N)
Pointer to Transmit Ring
Number of Transmit Entries (M)
P R E L I M I N A R Y
Receive Descriptor Ring
Address of Receive Buffer 1
Buffer 1 Status
Buffer 1 Byte Count
Buffer 1 Message Count
Transmit Descriptor Ring
Address of Transmit Buffer 1
Buffer 1 Status
Buffer 1 Byte Count
Buffer 1 Error Status
Receive Buffer
Data
Packet
1
Data
2
2
2
2
N
N
N
N
2
2
2
2
Packet
2
Data
Packet
N
Transmit Buffer
Data
Packet
1
Data
Packet
2
Figure 2-2. C-LANCE Memory Management
Buffer Management
A key feature of the C-LANCE and its on-board DMA
channel is the flexibility and speed of communication
between the C-LANCE and the host microprocessor
through common memory locations. The basic organization of the buffer management is a circular queue of
tasks in memory called descriptor rings as shown in
Figures 2-1 and 2-2. There are separate descriptor rings
to describe transmit and receive operations. Up to 128
tasks may be queued up on a descriptor ring awaiting
execution by the C-LANCE. Each entry in a descriptor
ring holds a pointer to a data memory buffer and an entry
for the length of the data buffer. Data buffers can be
chained or cascaded to handle a long packet in multiple
data buffer areas. The C-LANCE searches the descriptor rings in a “lookahead” manner to determine the next
empty buffer in order to chain buffers together or to handle back-to-back packets. As each buffer is filled,
M
M
M
M
Data
Packet
M
17881B-8
the“own” bit is reset, allowing the host processor to
process the data in the buffer.
C-LANCE Interface
CSR bits such as ACON, BCON and BSWP are used for
programming the pin functions used for different interfacing schemes. For example, ACON is used to program the polarity of the Address Strobe signal
(ALE/AS).
BCON is used for programming the pins, for handling
either the BYTE/WORD method for addressing word organized, byte addressable memories where the BYTE
signal is decoded along with the least significant address bit to determine upper or lower byte, or an explicit
scheme in which two signals labeled as BYTE MASK
(BM0 and BM1) indicate which byte is addressed. When
12
Am79C90
P R E L I M I N A R Y
the BYTE scheme is chosen, the BM1 pin can be used
for performing the function BUSAKO.
BCON is also used to program pins for different DMA
modes. In a daisy chain DMA scheme, 3 signals are
used (BUSRQ, HLDA, BUSAKO). In systems using a
DMA controller for arbitration, only HOLD and HLDA are
used.
C-LANCE in Bus Slave Mode
The C-LANCE enters the Bus Slave Mode whenever CS
becomes active. This mode must be entered whenever
writing or reading the four status control registers
(CSR0, CSR1, CSR2, and CSR3) and the Register Address Pointer (RAP). RAP and CSR0 may be read or
written to at anytime, but the C-LANCE must be stopped
(by setting the stop bit in CSR0) for CSR1, CSR2, and
CSR3 access.
Read Sequence (Slave Mode)
At the beginning of a read cycle, CS, READ, and DAS
are asserted. ADR must be valid at this time. (If ADR is a
“1,” the contents of RAP are placed on the DAL lines.
Otherwise the contents of the CSR register addressed
by RAP are placed on the DAL lines.) After the data on
the DAL lines become valid, the C-LANCE asserts
READY, CS, READ, DAS, and ADR must remain stable
throughout the cycle. Refer to Figure 3.
AMD
Write Sequence (Slave Mode)
This cycle is similar to the read cycle, except that during
this cycle, READ is not asserted (READ is LOW). The
DAL buffers are tristated which configures these lines as
inputs. The assertion of READY by C-LANCE indicates
to the memory device that the data on the DAL lines
have been stored by C-LANCE in its appropriate CSR
register. CS, READ, DAS, ADR and DAL 15:00 must remain stable throughout the write cycle. Refer to
Figure4.
Note: Setting the STOP bit in the C-LANCE will generate a C-LANCE reset, which will cause all bus control
output signals (including
READY
) to float. To guarantee
slave write timing when the STOP bit is being set in
CSR0, the C-LANCE will latch the STOP bit and will wait
for the slave cycle to complete before resetting itself and
floating the output signals.
C-LANCE in Bus Master Mode
All data transfers from the C-LANCE in the bus Master
mode are timed by ALE, DAS, and READY. The automatic adjustment of the C-LANCE cycle by the READY
signal allows synchronization with variable cycle time
memory due either to memory refresh or to dual port access. Transfers are a minimum of 600 ns in length except for the first transfer of a bus mastership period in
which the minimum is 700 ns. Transfers can be increased in 100ns increments.
13Am79C90
AMD
DAL0–DAL15
DAS
READ
READY
(Output from
C-LANCE)
HOLD
P R E L I M I N A R Y
Read Data
See
Note 1
O.D.
CS
ADR
Note:
1. There are two types of delays which depend on which internal register is accessed.
Type 1 refers to access of CSR0, CSR3 and RAP.
Type 2 refers to access of CSR1 and CSR2 which are longer than Type 1 delay.
Figure 3. Bus Slave Read Timing
17881B-9
14
Am79C90
DAL0–DAL15
DAS
READ
READY
(Output from
C-LANCE)
HOLD
CS
P R E L I M I N A R Y
AMD
Write Data
O.D.
ADR
Figure 4. Bus Slave Write Timing
Read Sequence (Master Mode)
A read cycle is begun by placing a valid address on
DAL00 – DAL15 and A16 – A23. The BYTE MASK signals are asserted to indicate a word, upper byte or lower
byte memory reference. READ indicates the type of cycle. ALE or AS is pulsed, and the trailing edge of either
can be used to latch addresses. DAL00 – DAL15 go into
a 3-state mode, and DAS falls LOW to signal the beginning of the memory access. The memory responds by
placing READY LOW to indicate that the DAL lines have
valid data. The C-LANCE then latches memory data on
the rising edge of DAS, which in turn ends the memory
cycle and READY returns HIGH. Refer to Figure 5-1.
17881B-10
The bus transceiver controls, DALI and DALO, are used
to control the bus transceivers. DALI directs data toward
the C-LANCE, and DALO directs data or addresses
away from the C-LANCE. During a read cycle, DALO
goes inactive before DALI becomes active to avoid
“spiking” of the bus transceivers.
Write Sequence (Master Mode)
The write cycle is similar to the read cycle except that the
DAL00 – DAL15 lines change from containing addresses to data after either ALE or AS goes inactive.
After data is valid on the bus, DAS goes active. Data to
memory is held valid after DAS goes inactive. Refer to
Figure 5-2.
15Am79C90
AMD
TCLK
HOLD
HLDA
A16–A23
BM0, BM1
ALE
P R E L I M I N A R Y
T
WAIT
T0
0
T1 T2 T3 T4 T5 T6
100 200 300 400 500
Address, BM0, BM1
600
700
O.D.
DAS
READY
DAL0–DAL15
(Read)
DALO
(Read)
DALI
(Read)
READ
(Read)
Address
Data In
Figure 5-1. Bus Master Read Timing (Single DMA Cycle)
17881B-11
16
Am79C90
TCLK
HOLD
HLDA
A16–A23
BM0, BM1
ALE
P R E L I M I N A R Y
T
WAIT
T0
0 100 200 300 400 500 600
T1 T2 T3 T4 T5 T6
Address, BM0, BM1
AMD
700
O.D.
DAS
READY
DAL0–DAL15
(Write)
DALO
(Write)
DALI
(Write)
READ
(Write)
Address
Data Out
Figure 5-2. Bus Master Write Timing (Single DMA Cycle)
17881B-12
17Am79C90
AMD
P R E L I M I N A R Y
Differences Between Ethernet Versions 1
and 2
a.Version 2 specifies that the collision detect of the
transceiver must be activated during the interpacket gap time.
b.Version 2 specifies some network management
functions, such as reporting the occurrence of collisions, retries and deferrals.
c.Version 2 specifies that when transmission is ter-
minated, the differential transmit lines are driven to
0 volt differentially (half step).
Differences Between IEEE 802.3 and
Ethernet
a.IEEE 802.3 specifies a 2-byte length field rather
than a type field. The length field (802.3) describes
the actual amount of data in the frame.
b.IEEE 802.3 allows the use of a PAD field in the
data section of a frame, while Ethernet specifies
the minimum packet size at 64 bytes. The use of a
PAD allows the user to send and receive packets
which have less than 46 bytes of data.
A list of significant differences between Ethernet and
IEEE 802.3 at the physical layer include the following:
IEEE 802.3 Ethernet
End of Transmission Half Step Full Step (Rev 1)
State or
Half Step (Rev 2)
Common Mode Voltage ±5.5 V 0 – +5 V
Common Mode CurrentLess than 1 mA 1.6 mA ±40%
Receive±, Collision±
Input Threshold ±160 mV ±175 mV
Fault Protection 16 V 0 V
18
Am79C90
P R E L I M I N A R Y
PROGRAMMING
This section defines the Control and Status Registers
and the memory data structures required to program the
Am79C90 (C-LANCE).
Programming the Am79C90 (C-LANCE)
The Am79C90 (C-LANCE) is designed to operate in an
environment that includes close coupling with local
memory and microprocessor (HOST). The Am79C90
C-LANCE is programmed by a combination of registers
and data structures resident within the C-LANCE and
memory registers. There are four Control and Status
Registers (CSRs) within the C-LANCE which are programmed by the HOST device. Once enabled, the
C-LANCE has the ability to access memory locations to
acquire additional operating parameters.
The Am79C90 has the ability to do independent buffer
management as well as transfer data packets to and
from the Ethernet. There are three memory structures
accessed by the Chip:
Initialization Block—12 words in contiguous memory starting on a word boundary. It also contains
the operating parameters necessary for device operation. The initialization block is comprised of:
—Mode of Operation
—Physical Address
—Logical Address Mask
—Location to Receive and Transmit Descriptor
Rings
—Number of Entries in Receive and Transmit
Descriptor Rings
Receive and Transmit Descriptor Rings—Two ring
structures, one for incoming and outgoing packets.
Each entry in the rings is 4 words long and each
entry must start on a quadword boundary. The Descriptor Rings are comprised of:
—The address of a data buffer
—The length of that data buffer
—Status information associated with the buffer
Data Buffers—Contiguous portions of memory
reserved for packet buffering. Data buffers may
begin on arbitrary byte boundaries.
In general, the programming sequence of the C-LANCE
may be summarized as:
Program the C-LANCE’s CSRs by a host device to
locate an initialization block in memory. The byte
control, byte address, and address latch enable
modes are also defined here.
AMD
The C-LANCE loads itself with the information contained within the initialization block.
The C-LANCE accesses the descriptor rings for
packet handling.
CONTROL AND STATUS REGISTERS
There are four Control and Status Registers (CSRs) on
the chip. The CSRs are accessed through two bus addressable ports, an address port (RAP) and a data port
(RDP).
Accessing the Control and Status
Registers
The CSRs are read (or written) in a two step operation.
The address of the CSR to be accessed is written into
the RAP during a bus slave transaction. During a subsequent bus slave transaction, the data being read from
(or written into) the RDP is read from (or written into) the
CSR selected in the RAP.
Once written, the address in RAP remains unchanged
until rewritten.
To distinguish the data port from the address port, a discrete input pin is provided.
ADR Input Pin Port
L Register Data Port (RDP)
H Register Address Port (RAP)
Register Data Port (RDP)
CSR DATA
17881B-13
Bit Name Description
15:00 CSR Data Writing data into RDP writes the data
into the CSR selected in RAP. Reading the data from the RDP reads the
data from the CSR selected in RAP.
CSR
1, CSR2 and CSR3 are acces-
sible only when the STOP bit of
CSR
0 is set.
If the STOP bit is not set while attempting to access CSR
CSR
3, the C-LANCE will return
READY, but a READ operation will
return undefined data. WRITE operation is ignored.
1, CSR2 or
015
19Am79C90
Loading...
+ 43 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.