
GR716-DS-UM, May 2019, Version 1.29
311
www.cobham.com/gaisler
GR716
33.7.5 The transmission process
When the transmitter enable bit in the DMA channel control/status register is set the core starts read-
ing descriptors immediately. The number of bytes indicated are read and transmitted. When a trans-
mission has finished, status will be written to the first field of the descriptor and a packet sent bit is set
in the DMA control register. If an interrupt was requested it will also be generated. Then a new
descriptor is read and if enabled a new transmission starts, otherwise the transmit enable bit is cleared
and nothing will happen until it is enabled again.
33.7.6 The descriptor table address register
The internal pointer which is used to keep the current position in the descriptor table can be read and
written through the APB interface. This pointer is set to zero during reset and is incremented each
time a descriptor is used. It wraps automatically when the limit for the descriptor table is reached, or it
can be set to wrap earlier by setting a bit in the current descriptor.
The descriptor table register can be updated with a new table anytime when no transmission is active.
No transmission is active if the transmit enable bit is zero and the complete table has been sent or if
the table is aborted (explained below). If the table is aborted one has to wait until the transmit enable
bit is zero before updating the table pointer.
33.7.7 Error handling
Abort Tx
The DMA control register contains a bit called Abort TX which if set causes the current transmission
to be aborted, the packet is truncated and an EEP is inserted. This is only useful if the packet needs to
be aborted because of congestion on the SpaceWire network. If the congestion is on the AHB bus this
will not help (This should not be a problem since AHB slaves should have a maximum of 16 wait-
states). The aborted packet will have its LE bit set in the descriptor. The transmit enable register bit is
also cleared and no new transmissions will be done until the transmitter is enabled again.
AHB error
When an AHB error is encountered during transmission the currently active DMA channel is disabled
and the transmitter goes to the idle mode. A bit in the DMA channel’s control/status register is set to
indicate this error condition and, if enabled, an interrupt will also be generated. Further error handling
depends on what state the transmitter DMA engine was in when the AHB error occurred. If the
descriptor was being read the packet transmission had not been started yet and no more actions need
to be taken.
If the AHB error occurs during packet transmission the packet is truncated and an EEP is inserted.
Lastly, if it occurs when status is written to the descriptor the packet has been successfully transmitted
but the descriptor is not written and will continue to be enabled (this also means that no error bits are
set in the descriptor for AHB errors).
31: 24
RESERVED
23: 0
Data length (DATALEN) - Length in bytes of data part of packet. If set to zero, no data will be sent.
If both data- and header-lengths are set to zero no packet will be sent.
Table 371.
GRSPW2 transmit descriptor word 3(address offset 0xC)
31
0
DATAADDRESS
31: 0
Data address (DATAADDRESS) - Address from where data is read. Does not need to be word
aligned.
Table 370.
GRSPW2 transmit descriptor word 2 (address offset 0x8)