AX88796BLI ASIX [ASIX Electronics Corporation], AX88796BLI Datasheet - Page 21

no-image

AX88796BLI

Manufacturer Part Number
AX88796BLI
Description
Low-pin-count Non-PCI 8/16-bit 10/100M Fast Ethernet Controller
Manufacturer
ASIX [ASIX Electronics Corporation]
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
AX88796BLI
Manufacturer:
ASIX
Quantity:
20 000
4.2.3 Filling Packet to Transmit Buffer (Host fill data to memory)
4.2.4 Removing Packets from the Ring (Host read data from memory)
The Remote DMA channel is used to both assembles packets for transmission, and to remove received packets from
the Receive Buffer Ring. It may also be used as a general-purpose slave DMA channel for moving blocks of data or
commands between host memory and local buffer memory. There are two modes of operation, Remote Write and
Remote Read Packet.
Two register pairs are used to control the Remote DMA, a Remote Start Address (RSAR0, RSAR1) and a Remote
Byte Count (RBCR0, RBCR1) register pair. The Start Address Register pair points to the beginning of the block to
be moved while the Byte Count Register pair is used to indicate the number of bytes to be transferred. Full
handshake logic is provided to move data between local buffer memory (Embedded Memory) and a bi-directional
data port.
Remote Write
A Remote Write transfer is used to move a block of data from the host into local buffer memory. The Remote DMA
will read data from the I/O port and sequentially write it to local buffer memory beginning at the Remote Start
Address. The DMA Address will be incremented and the Byte Counter will be decremented after each transfer. The
DMA is terminated when the Remote Byte Count Register reaches a count of zero.
Remote Read
A Remote Read transfer is used to move a block of data from local buffer memory to the host. The Remote DMA
will sequentially read data from the local buffer memory, beginning at the Remote Start Address, and write data to
the I/O port. The DMA Address will be incremented and the Byte Counter will be decremented after each transfer.
The DMA is terminated when the Remote Byte Count Register reaches zero.
Packets are removed from the ring using the Remote DMA or an external device. When using the Remote DMA.
The Boundary Pointer can also be moved manually by programming the Boundary Register. Care should be taken to
keep the Boundary Pointer at least one buffer behind the Current Page Pointer. The following is a suggested method
for maintaining the Receive Buffer Ring pointers.
1. At initialization set up a software variable (next_pkt) to indicate where the next packet will be read. At the
2. When initializing the AX88796B set:
3. After a packet is DMAed from the Receive Buffer Ring, the Next Page Pointer (second byte in AX88796B
Note the size of the Receive Buffer Ring is reduced by one 256-byte buffer; this will not, however, impede the
operation of the AX88796B. The advantage of this scheme is that it easily differentiates between buffer full and
buffer empty.
It is full when BNRY = CPR.
It is empty when BNRY = CPR-1.
beginning of each Remote Read DMA operation, the value of next_pkt will be loaded into RSAR0 and RSAR1.
BNRY
CPR
next_pkt
receive packet buffer header) is used to update BNRY and next_pkt.
next_pkt
BNRY
If BNRY < PSTART then BNRY = PSTOP – 1
= PSTART
= PSTART + 1
= PSTART + 1
= Next Page Pointer
= Next Page Pointer - 1
21
AX88796BLF / AX88796BLI
ASIX ELECTRONICS CORPORATION

Related parts for AX88796BLI