GR740-UM-DS, Nov 2017, Version 1.7
250
www.cobham.com/gaisler
GR740
16.5.4 Event Log
The event log is a ring of 32-bit entries, each entry having the format given in table 296. Note that for
data transfers, bits 23-0 in the event log are identical to bits 23-0 in the descriptor status word.
16.5.5 Subaddress table format
Table 297.
GR1553B RT Subaddress table entry for subaddress number N, 0<N<31
Table 298.
GR1553B RT Subaddress table control word (offset 0x00)
Table 296.
GR1553B RT Event Log entry format
31
30
29
28
24
23
10
9
8
3
2
0
IRQSR
TYPE
SAMC
TIMEL
BC
SZ
TRES
31
IRQ Source (IRQSRC) - Set to ‘1’ if this transfer caused an interrupt
30 : 29
Transfer type (TYPE) - 00 - Transmit data, 01 - Receive data, 10 - Mode code
28 : 24
Subaddress / Mode code (SAMC) - If TYPE=00/01 this is the transfer subaddress, If TYPE=10, this is the
mode code
23 : 10
TIMEL - Low 14 bits of time tag counter.
9
Broadcast (BC) - Set to 1 if request was to the broadcast address
8 : 3
Transfer size (SZ) - Count in 16-bit words (0-32)
2 : 0
Transfer result (TRES)
000 = Success
001 = Superseded (canceled because a new command was given on the other bus)
010 = DMA error or memory timeout occurred
011 = Protocol error (improperly timed data words or decoder error)
100 = The busy bit or message error bit was set in the transmitted status word and no data was sent
101 = Transfer aborted due to loop back checker error
Offset
Value
DMA R/W
0x10*N + 0x00
Subaddress N control word (table 298)
R
0x10*N + 0x04
Transmit descriptor pointer, 16-byte aligned (0x3 to indicate invalid pointer)
R/W
0x10*N + 0x08
Receive descriptor pointer, 16-byte aligned (0x3 to indicate invalid pointer)
R/W
0x10*N + 0x0C
Unused
-
Note: The table entries for mode code subaddresses 0 and 31 are never accessed by the core.
31
19
18
17
16
15
14
13
12
8
7
6
5
4
0
0 (reserved)
WRAP
IGNDV BCRXE
RXEN
RXLOG RXIRQ
RXSZ
TXEN
TXLOG TXIRQ
TXSZ
31 : 19
Reserved - set to 0 for forward compatibility
18
Auto-wraparound enable (WRAP) - Enables a test mode for this subaddress, where transmit transfers send back the
last received data. This is done by copying the finished transfer’s descriptor pointer to the transmit descriptor pointer
address after each successful transfer.
Note: If WRAP=1, you should not set TXSZ > RXSZ as this might cause reading beyond buffer end
17
Ignore data valid bit (IGNDV) - If this is ‘1’ then receive transfers will proceed (and overwrite the buffer) if the receive
descriptor has the data valid bit set, instead of not responding to the request.
This can be used for descriptor rings where you don’t care if the oldest data is overwritten.
16
Broadcast receive enable (BCRXE) - Allow broadcast receive transfers to this subaddress
15
Receive enable (RXEN) - Allow receive transfers to this subaddress
14
Log receive transfers (RXLOG) - Log all receive transfers in event log ring (only used if RXEN=1)
13
Interrupt on receive transfers (RXIRQ) - Each receive transfer will cause an interrupt (only if also RXEN,RXLOG=1)
12 : 8
Maximum legal receive size (RXSZ) to this subaddress - in16-bit words, 0 means 32
7
Transmit enable (TXEN) - Allow transmit transfers from this subaddress
6
Log transmit transfers (TXLOG) - Log all transmit transfers in event log ring (only if also TXEN=1)
5
Interrupt on transmit transfers (TXIRQ) - Each transmit transfer will cause an interrupt (only if TXEN,TXLOG=1)
4 : 0
Maximum legal transmit size (TXSZ) from this subaddress - in 16-bit words, 0 means 32