1.一种pcie-srio数据交互处理方法,其特征在于,包括:在处理器的内存空间划分容量为128mb的空间用于数据,为nwrite/nread/message/swrite各划分16mb的空间;
其中,nwrite为srio协议中的写事务,其作用是向目标设备的存储器指定地址中写入数据;
nread为srio协议中的读事务,其作用是从目标设备的存储器指定地址中读出数据;
message为srio协议中的消息事务,在某些情况下,本地设备不具备访问目标设备的存储器的能力,通过消息(message)可以实现数据从本地设备到目标设备的传递;
swrite为srio协议中的大数据流写事务,其作用是通过类dma操作的方式来实现高效的大数据量迁移。
2.根据权利要求1所述的pcie-srio数据交互处理方法,其特征在于,nwrite操作时,其内部16mb空间以1024字节为单位划分为16384个存储单元,包括以下操作步骤:
步骤11,处理器写入需要发送的数据目标地址、数据包大小和数据内容写入到nwrite内存的第n个存储单元;
步骤12,处理器通过控制与状态处理单元通知系统有nwrite类型的操作需要处理;
步骤13,系统通过axi_mm主接口单元从nwrite内存的第n个存储单元中读取数据并发送给nwrite处理单元;
步骤14,nwrite处理单元对数据进行解析,按照srio协议所要求的格式进行打包并发送给srio接口;
步骤15,数据发送成功,通过控制与状态处理单元通知处理器;数据发送失败,通过控制与状态处理单元通知处理器;
步骤16,无论nwrite发送数据成功/失败,系统内部的nwrite操作计数器自动完成加1操作,以便于下次进行nwrite操作时自动从第n+1个存储单元获取数据(当当前处理的nwrite存储单元为16384时,则下一次处理的存储单元为1)。
3.根据权利要求1所述的pcie-srio数据交互处理方法,其特征在于,nread操作时,其内部16mb空间以1024字节为单位划分为16384个存储单元,包括以下操作步骤:
步骤21,处理器写入需要读取的数据目标地址、数据包大小和数据内容写入到nread内存的第n个存储单元;
步骤22,处理器通过控制与状态处理单元通知系统有nread类型的srio操作需要处理;
步骤23,系统通过axi_mm主接口单元从nread内存的第n个存储单元中读取数据并发送给nread处理单元;
步骤24,nread处理单元对数据进行解析,按照srio协议所要求的格式进行打包并发送给srio接口;
步骤25,远端设备通过srio接口将读取的数据结果发送给nread处理单元;
步骤26,nread处理单元将数据按照nread存储单元的数据存储结构进行打包处理;
步骤27,通过axi_mm主接口处理单元将nread处理单元打包好的数据写回到nread的第n个存储单元;
步骤28,通过控制与状态处理单元通知处理器nread操作完成;
步骤29,如果在超时时间内未接收到远端设备所返回的nread数据,通过控制与状态处理单元通知处理器nread操作超时;
步骤210,无论nread操作成功/失败,系统内部的nread操作计数器自动完成加1操作,以便于下次进行nread操作时自动从第n+1个存储单元获取数据(当当前处理的nread存储单元为16384时,则下一次处理的存储单元为1)。
4.根据权利要求1所述的pcie-srio数据交互处理方法,其特征在于,message操作时,其内部16mb空间以8192字节为单位划分为2048个存储单元,包括以下操作步骤:
步骤31,处理器写入message的邮箱号、优先级和数据内容写入到message内存的第n个存储单元;
步骤32,处理器通过控制与状态处理单元通知系统有message类型的srio操作需要处理;
步骤33,系统通过axi_mm主接口单元从message内存的第n个存储单元中读取数据并发送给message处理单元;
步骤34,message处理单元对数据进行解析,按照srio协议所要求的格式进行打包并发送给srio接口;
步骤35,远端设备通过srio接口将message接收应答发送给message处理单元;
步骤36,当所有message分段发送并得到响应后,message处理单元通过控制与状态处理单元通知处理器message操作完成;
步骤37,如果在超时时间内未接收到远端设备所返回的message应答,通过控制与状态处理单元通知处理器message操作超时;
步骤38,无论message操作成功/失败,系统内部的message操作计数器自动完成加1操作,以便于下次进行message操作时自动从第n+1个存储单元获取数据(当当前发送的message存储单元为2048时,则下一次处理的存储单元为1)。
5.根据权利要求1所述的pcie-srio数据交互处理方法,其特征在于,swrite操作时,其内部16mb空间以1m字节为单位划分为16个存储单元,包括以下操作步骤:
步骤41,处理器写入swrite的目标地址、优先级和数据内容写入到swrite内存的第n个存储单元;
步骤42,处理器通过控制与状态处理单元通知系统有swrite类型的srio操作需要处理;
步骤43,系统通过axi_mm主接口单元从swrite内存的第n个存储单元中读取数据并发送给swrite处理单元;
步骤44,swrite处理单元对数据进行解析,按照srio协议所要求的格式进行打包并发送给srio接口;
步骤45,数据发送成功,通过控制与状态处理单元通知处理器;数据发送失败,通过控制与状态处理单元通知处理器;
步骤46,无论swrite发送数据成功/失败,系统内部的swrite操作计数器自动完成加1操作,以便于下次进行swrite操作时自动从第n+1个存储单元获取数据(当当前处理的swrite存储单元为8时,则下一次处理的存储单元为1)。