Figure 20-6 describes the structure of the packet
in
memory.
BO
Tables (Memory)
Memory
.
...
Descriptor 0
...
MAL
BOTabie
Descriptor 1
.......
<
..
Pointer Register
.......
....
f
Buffer Pointer
...
-
Data Buffer
.....•..
MAL Channel 3
-
•...
Table Pointer
·····1
···1····
...
.....
•••••
.....
..
I····
•.•.
>
•••...•••••
....
.
.
W=1
I
Buffer Pointer
If-I-
•
W=1
means the wrap bit is set for this descriptor
Figure 20-6. Packet Memory Structure
20.4 Transmit Software Interface
Once a channel is enabled
in
MAL (this is done by setting the appropriate bit
in
the Channel Active
Register), a
channel may request service from MAL. When the first transmit request comes
in
from a
COMMAC TX channel, MAL finds the starting address of the buffer descriptor table for the channel by
looking
in
the corresponding Transmit Channel Table Pointer Register. If the first descriptor is marked
as ready, MAL
will start processing the associated buffer.
When MAL begins processing a packet, it writes the contents of the descriptor status/control
field into
the
COMMAC. This information, (depending on communication core implementation), may be used by
the communication core to configure each packet transfer.
Once all data from the current buffer has been transferred to the communication core on the channel,
MAL moves on to the next buffer descriptor
in
the table.
If
a given buffer descriptor indicates that it contains the last section of the current packet, MAL informs
the
channel that the last data transferred to the channel completed the transfer of a data packet. At
this point, the
COMMAC asks MAL to read the packet status. MAL then writes this information back
into the status/control
field of the last buffer descriptor of the packet.
Preliminary
Memory Access Layer 20-9