
Philips Semiconductors
Preliminary specification
PDI1394L41
1394 content protection AV link layer controller
2000 Dec 01
34
12.6.2.7
Asynchronous Receive Packet Formats
This section describes the asynchronous receive packet formats. Four basic asynchronous data packet formats and one confirmation format exist:
Table 2. Asynchronous Data Packet Formats
ITEM
FORMAT
USAGE
TRANSACTION CODE
1
No packet data
Quadlet read requests
4
1
No-packet data
Quadlet/block write responses
2
Quadlet packet
Quadlet write requests
0
2
Quadlet packet
Quadlet read responses
6
Block read requests
5
Block write requests
1
3
Block Packet
Block read responses
7
Lock requests
9
Lock responses
Bhex
4
Self-ID / PHY packet
Concatenated self-ID / PHY packets
Ehex
5
Confirmation packet
Confirmation of packet transmission
8
Each packet format uses several fields. More information about most of these fields can be found in the 1394 specification.
Table 3.
Asynchronous Receive Fields
Field Name
Description
destinationID
This field is the concatenation of busNumbers (or all ones for “l(fā)ocal bus”) and nodeNumbers (or all ones for
broadcast) for this node.
tLabel
This field is the transaction label, which is used to pair up a response packet with its corresponding request packet.
tLables are also used as identifiers to associate a Link data confirmation (see 12.6.2.13) with the corresponding
request, response, or asynchronous stream packet.
rt
The retry code of the received packet; see the 1394 specification.
tCode
The transaction code for this packet.
priority
The priority level for this packet (0000 for cable environment).
sourceID
This is the node ID of the sender of this packet.
destinationOffsetHigh,
destinationOffsetLow
The concatenation of these two field addresses a quadlet in this node’s address space.
rCode
Response code for the received packet; see the 1394 specification.
quadlet data
For quadlet write requests and quadlet read responses, this field holds the data received.
dataLength
The number of bytes of data to be received in a block packet.
extendedTcode
If the tCode indicates a lock transaction, this specifies the actual lock action to be performed with the data in this
packet.
block data
The data received. If dataLength=0, no data will be written into the FIFO for this field. Regardless of the destination
or source alignment of the data, the first byte of the block will appear in the high order byte of the first quadlet.
padding
If the dataLength mod 4 is not zero, then zero-value bytes are added onto the end of the packet to guarantee that a
whole number of quadlets is sent.
u
Unsolicited response tag bit. This bit is set to one (1) if the received response was unsolicited.
ackSent
This field contains the acknowledge code that the link layer returned to the sender of the received packet. For
packets that do not need to be acknowledged (such as broadcasts) the field contains the acknowledge value that
would have been sent if an acknowledge had been required. The values for this field are listed in Table 4 (they also
can be found in the IEEE 1394 standard).
status
This field is used for asynchronous streams.
0000
Reserved.
0001
packet OK.
0010–1100
Reserved.
1101
Data CRC error and/or block size mismatch have been detected.
1110–1111
Reserved.