![Aeroflex Gaisler RT-SPW-ROUTER Скачать руководство пользователя страница 32](http://html1.mh-extra.com/html/aeroflex-gaisler/rt-spw-router/rt-spw-router_user-manual_2862505032.webp)
AEROFLEX GAISLER
32
RT-SPW-ROUTER
Copyright Aeroflex Gaisler AB
June 2012, Version 1.2
3.5.4.7.2 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).
The client using the channel has to correct the AHB error condition and enable the channel again. No
more AHB transfers are done again from the same unit (receiver or transmitter) which was active dur-
ing the AHB error until the error state is cleared and the unit is enabled again.
3.5.5
RMAP target
The Remote Memory Access Protocol (RMAP) is used to implement access to resources on the AHB
bus via the SpaceWire Link. Some common operations are reading and writing to memory, registers
and FIFOs. The port has an optional hardware RMAP target. This section describes the target imple-
mentation.
3.5.5.1
Fundamentals of the protocol
RMAP is a protocol which is designed to provide remote access via a SpaceWire network to memory
mapped resources on a SpaceWire node. It has been assigned protocol ID 0x01. It provides three
operations write, read and read-modify-write. These operations are posted operations which means
that a source does not wait for an acknowledge or reply. It also implies that any number of operations
can be outstanding at any time and that no timeout mechanism is implemented in the protocol. Time-
outs must be implemented in the user application which sends the commands. Data payloads of up to
16 Mb - 1 is supported in the protocol. A destination can be requested to send replies and to verify
data before executing an operation. A complete description of the protocol is found in the RMAP
standard.
3.5.5.2
Implementation
The port includes a target for RMAP commands which processes all incoming packets with protocol
ID = 0x01, type field (bit 7 and 6 of the 3rd byte in the packet) equal to 01b and an address falling in
the range set by the default address and mask register. When such a packet is detected it is not stored
to the DMA channel, instead it is passed to the RMAP receiver.
The target implements all three commands defined in the standard with some restrictions. Support is
only provided for 32-bit big-endian systems. This means that the first byte received is the msb in a
word. The target will not receive RMAP packets using the extended protocol ID which are always
dumped to the DMA channel.
The RMAP receiver processes commands. If they are correct and accepted the operation is performed
on the AHB bus and a reply is formatted. If an acknowledge is requested the RMAP transmitter auto-
matically send the reply. RMAP transmissions have priority over DMA channel transmissions.