
CD2431 — Advanced Multi-Protocol Communications Controller
46
Datasheet
The CD2431 keeps track of which buffer (A or B) is to be used next in the status bits — Ntbuf for
transmit and Nrbuf for receive. The relationship between the 2431own bit and the ‘next’ bits is
shown later. The receive buffers are handled in the same way using the Nrbuf (next receive buffer).
Chaining is used to break up relatively long frames into shorter blocks in memory, and is useful
where there are frequent smaller frames and occasional long frames. Chaining allows more
efficient use of the user RAM.
The EOF Status bit controls chaining in Synchronous modes. Chaining applies to both transmit and
receive. For transmit, the host determines the EOF bit; for receive, the CD2431 determines the
EOF bit.
In Transmit DMA when the first buffer is supplied to the CD2431, it is treated as the start of frame
— the CRC is reset and leading pad/flag/syn characters are transmitted, followed by the data. If the
EOF bit is set, the CRC and closing flag/syn is appended, and the next buffer is again treated as the
start of frame. If the EOF bit is not set, the CD2431 treats the buffer as the first part of a larger
frame and chains into the next buffer (does not reset CRC); this process continues until a buffer is
supplied with the EOF bit set.
5.4.5
Transmit DMA Transfer
As in receive data transfers, two buffers are available for DMA transmit transfers. The A/
BTBADR
and A/BTBCNT (Transmit Buffer Address and Transmit Buffer Count registers)
contain the start address of and the byte count in the buffers. These registers are set by the host
when initiating a transfer. The CD2431 makes a copy of the registers to perform the transfer,
leaving the originals unchanged. The transfer of buffers between the host and the CD2431 is
controlled by the A/BTBSTS (Transmit Buffer Status) registers.
Buffers can contain either complete frames or blocks of data, linked together to form a complete
frame or a block, or used in an Append mode to transmit data as it arrives from another process.
The first two transfer types are Block mode transfers, the last is the Append mode, and both are
described later. The management of the buffers reduces the processor overhead associated with
short data transfers and increases the minimum response time requirements for frame-based
transmissions.
Table 3.
A and B Buffers and Chaining
Ntbuf
2431own
Buffer A
2431own
Buffer B
Transmit Action
0
Send nothing
0
1
0
Host sets up buffer A
1
0
CD2431 accepts buffer A and marks B as next
1
0
CD2431 completes A Tx, and passes it to host
1
0
1
Host sets up buffer B
0
1
CD2431 accepts B and marks A as next
0
1
Host sets up buffer A
11
0
CD2431 completes B Tx, passes to host, accepts A and
marks B as next
1
0
CD2431 completes A Tx and passes it to host
. A/B is used as a Buffer register abbreviation indicating A buffer / B buffer followed by the register acronym.