PCIe总线的数据传输方法、系统及电子设备技术方案

技术编号:29789465 阅读:9 留言:0更新日期:2021-08-24 18:08
本申请公开了PCIe总线的数据传输方法、系统及电子设备,PCIe总线的数据传输方法包括:用DMA传描述符,其中描述符包括文件结束标志;收到第一个描述符开始根据描述符类型发起DMA读或写请求,发完最后一个描述符产生中断;当DMA读或写请求条件同时满足时采取轮询与优先级并举的方式处理,把DMA读请求采用RAM指针的方式进行调度。通过上述方式,本申请所有DMA请求都由FPGA发起,不会因为SOC的不同而需要修改DMA的驱动,同时还考虑了DMA读写请求区域同时有效的情况,扩展了DMA的应用场景,通用性得到明显提成,且不会耗费大量的处理器资源。

【技术实现步骤摘要】
PCIe总线的数据传输方法、系统及电子设备
本申请涉及高速接口
,尤其涉及PCIe总线的数据传输方法、系统及电子设备
技术介绍
PeripheralComponentInterconnectExpress简称PCIe,是一种高速串行计算机扩展总线标准,是PCI规格的延伸。PCIe总线最初是针对高速的声音与影像数据流处理所设计,后来用以提升量测装置到计算机内存的数据传输率。因PCIe总线的高性能和高带宽(目前最新的GEN5标准,一个通道单向速度可达到32Gbit/s,而且还有相当大的发展潜力,同时PCIe支持x1、x2、x4、x8、x16、x32多种通道模式伸缩性非常强,可以满足不同系统设备对数据传输带宽的不同需求),所以几乎取代了以往所有的内部总线(包括AGP和PCI)。现在英特尔和AMD已采用单芯片组技术,取代原有的南桥/北桥。PCIe总线使用了高速差分总线,并采用了业界流行的端到端连接方式,每个设备都有自己的专用连接,不需要向整个总线请求带宽。同时,它还使用了一些在网络通信中使用的技术,如支持多种数据路由方式,基于多通路的数据传递方式,和基于报文的数据传送方式,并充分考虑了在数据传送中穿线的服务质量QoS问题。在以CPU为主控器的PCIe接口数据处理系统中,数据的传输通常采用DMA(DirectMemoryAccess,直接存储器访问)方式。DMA是一种快速传送数据的机制,由DMA控制器实现,允许不同速度的硬件装置来沟通,而不需要依赖于CPU的大量中断负载;DMA的应用能够有效减轻处理器的负担,可以大大提高速度传输的效率,从而提高系统性能。当前在FPGA(FieldProgrammableGateArray,现场可编程逻辑门阵列)内实现PCIeDMA设计方案中,大多通过CPU传输大量的描述符,一个描述符对应的内存最大4KB,收完描述符后开始DMA传输,传输完所有描述符对应的数据产生中断,没有考虑处理DMA读写同时请求的情况。目前,CPU传输描述符可以有两种方式:第一种DMA方式,RC端DMA跟SOC绑定了,换一类SOC可能DMA就不一样,通用性不强;第二种非DMA方式,一次传输不到一个描述符,如果描述符较多会耗费大量的处理器资源。
技术实现思路
本申请提供PCIe总线的数据传输方法、系统及电子设备,以解决现有技术中传输描述符通用性不强或者耗费处理器资源过大的问题。为解决上述技术问题,本申请提出一种PCIe总线的数据传输方法,包括:用DMA传描述符,其中描述符包括文件结束标志;收到第一个描述符开始根据描述符类型发起DMA读或写请求,发完最后一个描述符产生中断;当DMA读或写请求条件同时满足时采取轮询与优先级并举的方式处理,把DMA读请求采用RAM指针的方式进行调度。可选地,根据系统存能申请的最大值设置描述符大小。可选地,用DMA传描述符,包括:通过驱动预先确定描述符并放入系统内存;获得描述符的参数,参数包括TLP的起始地址和长度;将参数整理组包,根据参数组包发起DMA读写请求。可选地,收到第一个描述符开始根据描述符类型发起DMA读写请求之前,包括:系统内存返回的描述符根据预设的参数判断类型,并把它存入相应的FIFO中;当检测到FIFO非空时,从FIFO中读出描述符,并分离出每个TLP的长度、起始地址和文件结束标志。可选地,收到第一个描述符开始根据描述符类型发起DMA读写请求,发完最后一个描述符产生中断,包括:TX_ENGING模块组包发起DMA数据读写请求,当读写一个文件结束时通过MSI_INT模块发起中断。为解决上述技术问题,本申请提出一种PCIe总线的数据传输系统,应用上述的PCIe总线的数据传输方法,PCIe总线的数据传输系统包括:PARA_CFG模块,连接PCIe的轻量级数据总线接口,用于接收驱动传输的描述符的参数,其中,参数包括TLP的起始地址和长度;或者回传调试信息给驱动,其中,调试信息包括TLP发送过程中的错误信息和程序当前运行的状态信息;PRA_ACQ模块,连接PCIe的配置总线接口,在RC与EP协商完成后,系统软件更新配置空间中的能力寄存器,然后通过数据总线告知FPGA开始读配置空间,FPGA通过配置总线获取MAX_Payload_Size和MAX_Read_Request_Size的值,依据MAX_Payload_Size和MAX_Read_Request_Size判断每次DMA请求的最大有效负载;DSCP_CAL模块,用于根据轻量级数据总线获取的描述符存储地址和长度参数,计算出每个TLP的地址和长度,并送给TX_DSCP模块。可选地,若TX_ENGING模块组包发起DMA数据读请求,系统内存返回的数据进入RX_ENGINE模块,接着根据读请求TAG的顺序写入各自RAM段,随后其它模块顺序读出使用。可选地,DSCP_CAL模块还用于在描述符存储参数全部收到时,提取出TLP公共参数、描述符存储块地址和块长度,计算出TLP的基地址和长度并锁存,在接收到请求读描述符信号时,进一步判断是否为最后一个TLP。可选地,TX_ENGINE模块,连接PCIe的TX1接口,用于接收从描述符中提取的参数,在DMA写请求时,获取TLP基地址、长度、和参数组成TLP包,然后从TX_ARB模块中提取起始号,开始执行DMA写请求。为解决上述技术问题,本申请提出一种电子设备,包括存储器和处理器,存储器连接处理器,存储器存储有计算机程序,计算机程序被处理器执行时实现上述的方法。本申请提出PCIe总线的数据传输方法、系统及电子设备,PCIe总线的数据传输方法包括:用DMA传描述符,其中描述符包括文件结束标志;收到第一个描述符开始根据描述符类型发起DMA读或写请求,发完最后一个描述符产生中断;当DMA读或写请求条件同时满足时采取轮询与优先级并举的方式处理,把DMA读请求采用RAM指针的方式进行调度。通过上述方式,本申请所有DMA请求都由FPGA发起,不会因为SOC的不同而需要修改DMA的驱动,同时还考虑了DMA读写请求区域同时有效的情况,扩展了DMA的应用场景,通用性得到明显提成,且不会耗费大量的处理器资源。附图说明为了更清楚地说明本申请的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请PCIe总线的数据传输方法一实施例的流程示意图;图2是本申请PCIe总线的数据传输系统一实施例的结构示意图;图3是描述符读取TLP提取一实施例的流程示意图;图4为TLP计算一实施例的流程示意图;图5为DMA数据读请求一实施例的流程示意图;图6是DMA读写请求仲裁一实施例的流程示意图。具体实施方式为使本领域的技术人员更好地理解本申请的技术方案,下面结合附图和具体实施方式对本文档来自技高网
...

【技术保护点】
1.一种PCIe总线的数据传输方法,其特征在于,包括:/n用DMA传描述符,其中所述描述符包括文件结束标志;/n收到第一个所述描述符开始根据所述描述符类型发起DMA读或写请求,发完最后一个所述描述符产生中断;/n当DMA读或写请求条件同时满足时采取轮询与优先级并举的方式处理,把DMA读请求采用RAM指针的方式进行调度。/n

【技术特征摘要】
20210415 CN 20211040435041.一种PCIe总线的数据传输方法,其特征在于,包括:
用DMA传描述符,其中所述描述符包括文件结束标志;
收到第一个所述描述符开始根据所述描述符类型发起DMA读或写请求,发完最后一个所述描述符产生中断;
当DMA读或写请求条件同时满足时采取轮询与优先级并举的方式处理,把DMA读请求采用RAM指针的方式进行调度。


2.根据权利要求1所述的PCIe总线的数据传输方法,其特征在于,包括:
根据系统存能申请的最大值设置描述符大小。


3.根据权利要求1所述的PCIe总线的数据传输方法,其特征在于,所述用DMA传描述符,包括:
通过驱动预先确定描述符并放入系统内存;
获得所述描述符的参数,所述参数包括TLP的起始地址和长度;
将所述参数整理组包,根据参数组包发起DMA读写请求。


4.根据权利要求3所述的PCIe总线的数据传输方法,其特征在于,所述收到第一个所述描述符开始根据所述描述符类型发起DMA读写请求之前,包括:
所述系统内存返回的描述符根据预设的参数判断类型,并把它存入相应的FIFO中;
当检测到所述FIFO非空时,从所述FIFO中读出描述符,并分离出每个TLP的长度、起始地址和文件结束标志。


5.根据权利要求1所述的PCIe总线的数据传输方法,其特征在于,所述收到第一个所述描述符开始根据所述描述符类型发起DMA读写请求,发完最后一个所述描述符产生中断,包括:
TX_ENGING模块组包发起DMA数据读写请求,当读写一个文件结束时通过MSI_INT模块发起中断。


6.一种PCIe总线的数据传输系统,其特征在于,应用上述权利要求1-5任一项所述的PCIe总线的数据传输方法,所述PCIe总线的数据传输系统包括:
PARA_CFG模块,连接PCIe的轻量级数据总线接口,用于...

【专利技术属性】
技术研发人员:王炳松边立剑
申请(专利权)人:上海安路信息科技股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1