Packet, Srio functional description – Texas Instruments TMS320TCI648x User Manual

Page 45

Advertising
background image

www.ti.com

acklD

rsv

prio

tt

ftype

ftype = 1011

destID sourcelD msglen

ssize

msgseg/xmbox double-word 0 double-word 1

...

double-word n-2

double-word n-1

CRC

PHY

LOG

TRA

LOG

TRA

PHY

5

3

2

2

4

8

8

4

4

4

64

64

(n-4)*64

64

64

16

16

n*64+16

16

4

2

10

n*64+64

letter

2

mbox

2

SRIO Functional Description

Figure 17. Message Request Packet

This enables the letter and mailbox fields to instead allow four concurrent single-segment messages to
sixty-four possible mailboxes (256 total locations) for a source and destination pair. The mailbox mapper
directs the inbound messages to the appropriate queue based on a pre-programmed routing table. It
bases the decision on the SOURCEID, MSGLEN (the size indicates whether the message is segmented),
MBOX, LETTER, and XMBOX fields of the RapidIO packet.

There are 32 programmable look-up table entries for mapping mailboxes to queues. Each entry consists
of two registers, RXU_MAP_Ln and RXU_MAP_Hn, which are shown in

Figure 18

. A detailed summary of

these register's field is in

Section 5.50

. In total, there are 64 registers, at address offsets 0800h–08FCh.

Each entry stores the queue number associated with the message’s intended mailbox/letter. If a
mailbox/letter is not supported or does not have a mapping table entry, the message is discarded and an
ERROR response sent. The mapping entries can explicitly call out a mailbox and letter combination, or
alternatively, the mask fields can be used to grant multiple mailbox/letter combinations access to a queue
using the same table entry. A masking value of 0 in the mailbox or letter mask fields indicates that the
corresponding bit in the mailbox or letter field will not be used to match for this queue mapping entry. For
example, a mailbox mask of all zeros would allow a mapping entry to be used for all incoming mailboxes.

The mapping table entry also provides a security feature to enable or disable access from specific external
devices to local mailboxes. The sourceID field indicates which external device has access to the mapping
entry and corresponding queue. A compare is performed between the sourceID of the incoming message
packet and each relevant mailbox/letter table mapping entry SOURCEID field. If they do not match, an
ERROR response is sent back to the sender, and the transaction is logged in the logical layer error
management capture registers, which sets an interrupt. A PROMISCUOUS bit allows this security feature
to be disabled. When the PROMISCUOUS bit is set, full access to the mapping entry from any sourceID is
allowed. Note that when the PROMISCUOUS bit is set, the mailbox/letter and corresponding mask bits
are still in effect. When the PROMISCUOUS bit is cleared, it equals a mask value of FFFFh, and only a
request with the matching sourceID is allowed access to the mailbox.

Each table entry also indicates if it used for single or multi-segment message mapping. Single segment
message mapping entries utilize all six bits of the mailbox and corresponding mask fields. Multi-segment
entries uses only the 2 LSBs. The number of simultaneous supported multi-segment messages is
determined by the number of dedicated RX queues as discussed further below. It is recommended to
dedicate a multi-segment mapping entry for each supported simultaneous letter. Essentially, letter masks
should be avoided for multi-segment mapping to reduce excessive retries. Note that it is possible to
configure the table entries such that incoming single segment and multi-segment messages are directed
to the same queue. To avoid this condition, properly program the mapping table entries.

SPRUE13A – September 2006

Serial RapidIO (SRIO)

45

Submit Documentation Feedback

Advertising