TI_DSP_SRIO

1.The type of SRIO packageis determined by the combination of Ftype(format type) and Ttype(transaction type) fields in the packet

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-2 lists 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 5(message passage包),11(SWRITE包),区别仅在逻辑层:

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

Direct I/O Logical Specification(包含FType 6):Target memory address is specified in the transferred packet;Source 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端:

转载自:http://blog.csdn.net/yiyeguzhou100/article/details/35797539

原文地址:https://www.cnblogs.com/chengqi521/p/7793202.html