1 transferring odd-byte-aligned data, Figure 17. odd-byte aligned data, 2 random access to cs8900a memory – Cirrus Logic CS8900A User Manual

Page 73: 9 memory mode operation, Table 17. receive/transmit memory locations, 1 accesses in memory mode, Cs8900a

Advertising
background image

DS271F5

73

CS8900A

Crystal LAN™ Ethernet Controller

CIRRUS LOGIC PRODUCT DATASHEET

byte address must be followed by a byte
access to an odd-byte address before the
host may execute a word access (this will
realign the word transfers to even-byte
boundaries). On the other hand, a byte ac-
cess to an odd-byte address may be fol-
lowed by a word access.

Failure to observe these three rules may
cause data corruption.

4.8.1 Transferring Odd-Byte-Aligned Data

Some applications gather transmit data from
more than one section of host memory. The
boundary between the various memory loca-
tions may be either even- or odd-byte aligned.
When such a boundary is odd-byte aligned,
the host should transfer the last byte of the first
block to an even address, followed by the first
byte of the second block to the following odd
address. It can then resume word transfers.
An example of this is shown in Figure 17.

4.8.2 Random Access to CS8900A Mem-
ory

The first 118 bytes of a receive frame held in
the CS8900A’s on-chip memory may be ran-
domly accessed in Memory mode. After the
first 118 bytes, only sequential access of re-
ceived data is allowed. Either byte or word ac-
cess is permitted, as long as all word accesses
are executed to even-byte boundaries.

4.9 Memory Mode Operation

To configure the CS8900A for Memory Mode,
the PacketPage memory must be mapped into
a contiguous 4-kbyte block of host memory.
The block must start at an X000h boundary,
with the PacketPage base address mapped to
X000h. When the CS8900A comes out of re-
set, its default configuration is I/O Mode. Once
Memory Mode is selected (by setting the
Memory E bit (BusCTL Register)), all of the
CS8900A’s registers can be accessed directly.

In Memory Mode, the CS8900A supports
Standard or Ready Bus cycles without intro-
ducing additional wait states.

Memory moves can use MOVD (double-word
transfers) as long as the CS8900A’s memory
base address is on a double word boundary.
Since 286 processors don’t support the MOVD
instruction, word and byte transfers must be
used with a 286.

4.9.1 Accesses in Memory Mode

The CS8900A allows Read/Write access to
the internal PacketPage memory, and Read
access of the optional Boot PROM. (See
Section 3.7 on page 27 for a description of the
optional Boot PROM.)

A memory access occurs when all of the fol-
lowing are true:

Word Transfer
Word Transfer

Byte Transfer

Word Transfer
Word Transfer

Byte Transfer

Word Transfer

Word Transfer

First Block of Data

Second Block of Data

Figure 17. Odd-Byte Aligned Data

Description Mnemonic Read/Write

Location:

PocketPage

base +

Receive

Status

RxStatus

Read-only

0400h-0401h

Receive

Length

RxLength

Read-only

0402h-0403h

Receive

Frame

RxFrame

Read-only starts at 0404h

Transmit

Frame

TxFrame

Write-only starts at 0A00h

Table 17. Receive/Transmit Memory Locations

Advertising