
GR716-DS-UM, May 2019, Version 1.29
286
www.cobham.com/gaisler
GR716
is used to delimit messages (commands). It should be asserted while a message is being input, and
deasserted in between. In addition, the message delimiter should define the octet boundaries in the
data stream, the first octet explicitly and the following octets each subsequent eight bit clock cycles.
The delimiter should be de-asserted for at least eight bit periods between messages.
The handshaking between the PacketWire link and the interface is implemented with a busy port.
When a message is sent, the busy signal on the PacketWire link will be asserted as soon as the first
data bit is detected, it will then be deasserted as soon as the interface is ready to receive the next octet.
This gives the transmitter ample time to stop transmitting after the completion of the first octet and
wait for the busy signal deassertion before starting the transmission of the next octet. The handshak-
ing is continued through out the message. At the end of message, the busy signal will be asserted until
the completion of the message.
31.3
Operation
31.4
Operation
31.4.1 Introduction
The DMA interface provides a means for the user to receive blocks of data of arbitrary length (maxi-
mum 65535 bytes), normally these are packet structures such as CCSDS Space Packets. It also sup-
ports reception of one or more blocks of data into a fixed length field such as a CCSDS Telemetry
Transfer Frame Data Field (framing mode).
31.4.2 Descriptor setup
The DMA interface is used for receiving data. The reception is done using descriptors located in
memory. A single descriptor is shown in tables 345 through 346. The address field of the descriptor
should point to the start of where the received data is to be stored. The address need not be word-
aligned. If the interrupt enable (IE) bit is set, an interrupt will be generated when the transfer has com-
pleted (this requires that the interrupt enable bit in the control register is also set). The interrupt will be
generated regardless of whether the transfer was successful or not. The wrap (WR) bit is also a control
bit that should be set before reception and it will be explained later in this section..
Table 345.
GRPWRX descriptor word 0 (address offset 0x0)
31
16 15
9
8
7
6
4
3
2
1
0
LEN
RESERVED
CERR
OV
RESERVED
FHP
WR
IE
EN
31: 16
(LEN) - Length in bytes (note that length is limited to 2048 bytes for framing mode)
In packet mode, the LEN field is written by the hardware after the reception.
In framing mode, the LEN field is written by the software before reception.
15: 9
RESERVED
8:
Cyclic Redundancy Code Error (CERR) - (read only) Set to one when a CRC error was detected in a
packet (speculative, only useful if CRC is present in received packet)
7:
Overrun (OV) - (read only) Overrun detected during transmission.
6: 3
RESERVED
3:
First Header Pointer (FHP) - First Header Pointer to be stored (2 bytes)
2:
Wrap (WR) - Set to one to make the descriptor pointer wrap to zero after this descriptor has been
used. If this bit is not set the pointer will increment by 16. The pointer automatically wraps to zero
when the 16 kB boundary of the descriptor table is reached.
1:
Interrupt Enable (IE) - an interrupt will be generated when data for this descriptor has been
received provided that the receive interrupt enable bit in the control register is set. The interrupt
is generated regardless if the data was transferred successfully or if it terminated with an error.
0:
Enable (EN) - Set to one to enable the descriptor. Should always be set last of all the descriptor
fields.