![](http://datasheet.mmic.net.cn/110000/GT-96100A_datasheet_3491740/GT-96100A_317.png)
GT-96100A Advanced Communication Controller
Revision 1.0
317
A frame starts with a SOF descriptor and ends with a EOF descriptor. A frame can consist of one buffer or split
over many buffers. If a frame is stored in one buffer, the associated descriptor will have both the F and L bits set
to ‘1’. In a non-frame oriented protocol (e.g. BISYNC or UART), it is recommended that both F and L bits be set
to ‘1’ for each buffer.
13.7.2 Transmit SDMA Flow
The following steps are executed during a normal transmit SDMA process:
1. Before enabling a SDMA Tx channel the CPU must prepare a valid descriptor with the owner bit set to
‘1’.
2. The CPU must then write the first descriptor address to both SCTDP and SFTDP registers.
3. The CPU issues a Transmit Demand command. The SDMA controller will then fetch the first descriptor
and will start the SDMA process.
4. When buffer transmission is completed, the SDMA will close the buffer descriptor by setting the correct
transmit status and writing ‘0’ in the Owner Bit, returning the buffer to the CPU.
13.7.3 Retransmit in HDLC (LAP-D) mode
When working in collision mode (see MPSC section), the GT-96100A retransmits if collision occurs before the
SDMA fetches the 3rd descriptor. If the frame consists of more than two buffers, the user must assure that there
is enough data in the first two buffers to compensate for this behavior. The GT-96100A can buffer up to 256 bytes
in its internal Tx FIFO. This should be considered when preparing a LAP-D transmit frame.
13.7.4 Transmit SDMA Notes
The transmit SDMA process is frame oriented.
The Transmit SDMA does not clear the frame’s first descriptor ownership bit until the last descriptor associated
with this frame is closed. The transmit SDMA then writes ‘0’ to the first descriptor Owner bit and generate an
interrupt if the EI bit of the first descriptor is set.
The transmit SDMA stops the DMA process whenever it reaches a descriptor with NULL (0x00000000) value in
the NextDescriptorPointer (NDP) field or when it fetches a descriptor with Owner Bit set to ‘0’.
When the transmit SDMA controller encouters a NULL NDP value or a Not-Owned descriptor with it's First
field bit set, after the last descriptor of a frame, the transmit idles. The TxD bit is cleared and the transmit SDMA
controller return to IDLE state.
When the transmit SDMA controller encouter a NULL NDP value, or a Not-Owned descriptor with it's First
field bit set, in the middle of a frame or a Not-Owned descriptor with it's First field bit reset, after the last descrip-
tor of a frame, the transmit aborts. The TxD bit is cleared, a Tx RESOURCE ERROR maskable interrupt is gen-
erated and the transmit SDMA controller return to IDLE state.
When the transmit SDMA controller encouters a Not-Owned descriptor with it's First field bit reset, in the mid-
dle of a frame, the transmit stops. The TxD bit is not cleared and the transmit SDMA controller waits for an
Abort transmit command. In such cases, the SDMA controller clears the TxD bit before returning to IDLE state.
In normal operation, the transmit SDMA never expects to find a NULL NextDescriptorPointer or Not-Owned
descriptor in the middle of a frame. When this occurs, the transmit SDMA controller aborts, the TxD bit is
cleared and a Tx RESOURCE ERROR maskable interrupt is generated.