首页 > 代码库 > TI_DSP_SRIO - package type(包格式)

TI_DSP_SRIO - package type(包格式)

SRIO Packets

The RapidIOdata stream consists of data fields pertaining to the logical layer, thetransport layer, and the physical layer.

? The logical layer consists of the header (defining the type of access) and thepayload (if present).

? The transport layer is somewhat dependent on the physical topology in thesystem, and consists of source and destination IDs for the sending and receivingdevices.

? The physical layer is dependent on the physical interface (i.e. serial versus parallelRapidIO) and includes priority, acknowledgement, and error checking fields.

Operation Sequence

SRIO transactions are based on request and response packets. Packets are thecommunication element between endpoint devices in the system. A master or initiatorgenerates a request packet which is transmitted to a target. The target then generates aresponse packet back to the initiator to complete the transaction(NWRITE_R求情包,需要slave给出response). SRIO endpoints are typically not connected directly to each other but instead have intervening connection fabric devices.

SRIO packet Tyoe

The type of SRIO packageis determined by the combination of Ftype(format type) and Ttype(transaction type) fields in the packet.Table 2-2lists all supported combinations of Ftype/Ttype and the corresponding decoded actions on the packets.

如根据上图,涉及到DirectIO的包类型有:

#define DIOTYPE_NREAD    (0x24)       //Srio transfer type for a NREAD request packet

#define DIOTYPE_NWRITE   (0x54)      //Srio transfer type for a NWRITE packet

#define DIOTYPE_NWRITE_R (0x55)   // Srio transfer type for a NWRITE with response packer

#define DIOTYPE_SWRITE   (0x60)       //Srio transfer type for a SWRITE packet

#define DIOTYPE_DOORBELL (0xA0)   //Srio transfer type for a DOORBELL packet

举例,两种不同的包格式,FType 5message passage包),11SWRITE包),区别仅在逻辑层:

Message Passing Logical Specification(包含FType 11):Only device Ids and mailbox numbers are transferred in the packets, no memory addressesDestination Device is responsible for storing and managing memory space.

Direct I/O Logical Specification(包含FType 6):Target memory address is specified in the transferred packetSource device needs to know memory map of destination device.

对于上述FType 6的包,即SWRITE包,他是DirectIO操作的一种包。如在做DirectIO操作时,可以通过配置LSU_Reg5寄存器选择包格式,即选择了相应的操作,对于TI C66x DSP SRIO DirectIO操作,在master端只需要配置LSU寄存器,之后,硬件会自动打包,将LSU寄存器中的值对应到协议中去,按照协议中的包格式(如上图)形成传输包,再加上payload,发送给slave端: