一种采集端启动PCI-E总线DMA上传数据的方法技术

技术编号:8532821 阅读:262 留言:0更新日期:2013-04-04 15:49
本发明专利技术提供了一种采集端启动PCI-E总线DMA上传数据的方法,包含硬件部分和软件部分,硬件部分含有PC机、PCI-E接口,及由FPGA、DDR对、数据采集接口、高速A/D转换器组成的采集端,采集端通过PCI-E接口与PC机相连,而采集端内部各个组成部分协同工作进行数据的高速采集并完成数据的DMA高速上传;软件部分含有FPGA内部的软件及PC机中的上位机,FPGA内部的软件完成PCI-E总线的协议控制、时序控制,并设计了数据存储的状态监控机制与采集端启动DMA模式上传数据的机制,通过对数据存储状态的监控判断是否满足DMA上传条件,若满足则进行DMA上传。本发明专利技术操作性强、避免了数据的空读与误读、减轻了PC机的负载、减少了FPGA资源的利用。

【技术实现步骤摘要】
—种采集端启动PC1-E总线DMA上传数据的方法
本专利技术高速串行总线互联及数据采集
具体涉及一种采集端启动PC1-E 总线DMA上传数据的方法。
技术介绍
随着科学的发展和技术的进步,目前的PCI总线和PC1-X总线在许多情况下已经 不能满足数据传输速度的要求,特别是在高速数据采集系统中数据上传给上位机的技术需 求,因此PC1-E总线逐步代替PCI总线,并在各个场合得到广泛的应用。在高速数据采集 中,数据的上传通常要用PC1-E总线的DMA传输模式才能数据传输的要求。在一般的传输 过程中,都是一台PC机作为上位机设备,利用FPGA作为数据采集的终端设备,负责数据采 集的控制、数据整理、数据预处理、数据上传等操作,上位机需要读取数据时,都是上位机通 过PC1-E总线主动发送命令给FPGA,即给采集端,然后FPGA送数据,在高速数据采集中,要 及时的把采集的数据进行上传,也是采用该方法,上位机先写命令给FPGA,然后再读取上传 的数据。这样做存在许多的缺点由于PC1-E总线的特殊性,不能准确的判断数据采集系统 中采集端中的存储器中是否有数据或者数据是否具备读取的条件,经常读不到数据或者读 取的数据一直是同一个,造成空读以及误读;操作复杂,不方便;对上位机及数据采集系统 中采集端的资源不能很好的利用,造成资源浪费。针对上述缺点,本专利技术提出并设计了一种 采集端启动PC1-E总线DMA上传数据的方法。中国专利文献库公布了一种名称为《一种基于PC1-E接口的LTE基带终端模拟系 统》(专利申请号201010619073. O)的专利技术专利申请技术,该专利技术专利申请技术公开了一种 基于PC1-E接口的LTE基带终端模拟系统,该模拟系统包括PC主机,用于根据测试模式和 配置参数来控制基带终端仿真器,并转发上行和下行数据;基带终端仿真器,用于对模拟系 统的物理层进行测试,包括数字信号处理器,用于处理LTE基带终端通信协议和相关的应 用协议;现场可编程门阵列,用于并行处理高速数字信号和高重复性的数据运算;PCI_E接 口,用于连接PC主机和基带终端仿真器;eN0deB板,用于将下行数据发送至基带终端仿真 器,并接收来自基带终端仿真器的数据和性能反馈统计。与现有技术相比,本专利技术的模拟系 统既保证eNodeB设备的各项测试指标,提高测试的效率,又可节约测试成本和占用空间。 其不足之处在于该专利技术专利没有解决数据高速上传的时候的PC机负荷过重、资源浪费、数 据的空读与误读等问题,PC1-E总线通信操作复杂,同时在PC主机通过PC1-E总线读取数 据的时候还得发送相应指令,造成传输效率的降低。
技术实现思路
为了解决高速数据采集系统中通过PC1-E总线实现大量数据上传给PC机需要PC 机启动而造成的空读、误读,操作复杂,资源浪费,使得PC机负载增加等缺点,提升高速数 据采集系统中数据上传的效率,避免空读与误读,提升FPGA及PC机的资源利用率,减轻PC 机的负载,使采集的数据上传简单易用,本专利技术提供一种采集端启动PC1-E总线DMA上传数据的方法。本专利技术的采集端启动PC1-E总线DMA上传数据的方法包括硬件部分和控制软件, 硬件部分中的FPGA、DDR对、数据采集接口、高速A/D转换器组成了数据采集系统的采集端; PC机通过PC1-E接口与FPGA相连,FPGA通过IO 口分别与DDR对、数据采集接口相连,高速 A/D转换器把采集到的信号转换成数字信号,并通过数据采集接口送给FPGA,在FPGA里预 处理后,这些数据存储到DDR对或FPGA内部存储空间里,存储到一定数量后上传给PC机; 控制软件由FPGA内部软件及PC机中的上位机组成,FPGA内部软件中的PC1-E硬核执行代 码实现PC1-E通信,把采集到的数据上传给PC机中的上位机或把上位机传递的指令及数据 下发给FPGA ;DMA写模块分别与PC1-E内部存储空间和DMA控制寄存器连接,PC1-E内部存 储空间与DDR对状态接口模块分别与PC1-E内部存储空间或DDR对的状态寄存器、DMA控 制寄存器连接,PC1-E内部存储空间与DDR对状态接口模块读取PC1-E内部存储空间和DDR 对状态寄存器的值,并把这个值送给PC1-E终端控制模块,PC1-E终端控制模块由这个值来 控制DMA控制寄存器,利用DMA控制寄存器控制DMA写模块,从而控制PC1-E内部存储空间 或DDR对把数据通过PC1-E总线上传给PC机中的内存空间。所述的采集端启动DMA上传数据的过程有如下步骤a)先利用上位机对高速数据采集系统中采集端的控制值进行写配置;b)上位机启动高速数据采集系统进行数据采集;c)在数据采集的过程中,利用PC1-E内部存储空间与DDR对状态接口模块对PC1-E内 部存储空间或者DDR对的状态进行监控,并读取状态值;d)PC1-E内部存储空间与DDR对状态接口模块把该实时读取的状态信息传递给PC1-E 终端控制模块,PC1-E终端控制模块判断该状态是否是达到DMA模式上传数据的状态,若是 则写相应的DMA模式上传的寄存器值给DMA控制寄存器,DMA控制寄存器控制DMA写模块进 而实现PC1-E内部存储空间或者给DDR对中的某个DDR数据利用DMA模式上传给PC机;e)此次DMA模式数据上传完毕后,上传一个结束标志给PC机中上位机任意指定的内存 地址位置,该结束标志是一个32bit数据;f)上位机(8)获取该标志后对内存中的数据进行读取;g)如果上位机没有给出结束命令则返回C),如果要从新设置状态则返回a)。所述的PC1-E内部存储空间或DDR对的状态寄存器可以选择设置,其设置值可以 根据存入PC1-E内部存储空间或DDR对的个数进行判定,判断该状态寄存器的状态与上位 机给出的状态一样,则开始上传,不同则保持当前状态。所述的DDR对主要用来挂在FPGA上,为二个或者四个或八个,PC机中的上位机读 取DDR对中的数据时采用乒乓操作。所述的PC1-E的硬核执行代码形成FPGA内部符合PC1-E技术指标的接口逻辑与 协议,实现PC1-E的通信。本专利技术中的FPGA是指Xilinx公司或者Altera公司产品中具有PC1-E总线IP核 的FPGA,主要对PC1-E接口、DDR对、数据采集接口、高速A/D转换器进行控制。 本专利技术中的PC机一般是指X86架构、具有存储器、内存等单元的主控系统,可以在 该系统中对高速数据采集系统进行操作与处理。本专利技术中的PC1-E接口还包括电气相同而物理结构不同的CPC1-E接口,一般是四通道或八通道,目前特指PC1-E1. O和PC1-E2. O,总线频率为1. 25GHz或者2. 5GHz。本专利技术中的DDR对主要用来挂在FPGA上,为二个或者四个或八个,对高速数据采 集系统多采集的数据进行快速存取,中快速存取的过程中,FPGA中任意设置一个内部状态 寄存器,针对DDR对中的DDR的状态进行描述,描述的实现方法可以对存储的数据个数进行 计数,其状态为空、半满、满。PC机中的上位机读取DDR对中的数据时可以进行乒乓操作, 来避免丢数等问题的出现。本专利技术中所述的PC1-E内部存储空间或DDR对的状态寄存器可以随便设置,其值 可以根据存入PC1-E内部存储空本文档来自技高网
...

【技术保护点】
一种采集端启动PCI?E总线DMA上传数据的方法,包括硬件部分和控制软件,硬件部分中的FPGA(4)、DDR对(5)、数据采集接口(6)、高速A/D转换器(7)组成了数据采集系统的采集端(3);PC机(1)通过PCI?E接口(2)与FPGA(4)相连,?FPGA(4)通过IO口分别与?DDR对(5)、数据采集接口(6)相连,高速A/D转换器(7)把采集到的信号转换成数字信号,并通过数据采集接口(6)送给FPGA(4),在FPGA(4)里预处理后,这些数据存储到DDR对(5)或FPGA内部存储空间(10)里,存储到一定数量后上传给PC机(1);控制软件含有FPGA(4)内部软件及PC机(1)中的上位机(8),FPGA(4)内部软件中的PCI?E硬核执行代码(9)实现PCI?E通信,把采集到的数据上传给PC机(1)中的上位机(8)或把上位机(8)传递的指令及数据下发给FPGA(4);DMA写模块(11)分别与PCI?E内部存储空间(10)和DMA控制寄存器(12)?连接,PCI?E内部存储空间与DDR对状态接口模块(14)?分别与PCI?E内部存储空间(10)或DDR对(5)的状态寄存器、DMA控制寄存器(12)?连接,PCI?E内部存储空间与DDR对状态接口模块(14)读取PCI?E内部存储空间(10)和DDR对(5)状态寄存器的值,并把这个值送给PCI?E终端控制模块(13),PCI?E终端控制模块(13)由这个值来控制DMA控制寄存器(12),利用DMA控制寄存器(12)控制DMA写模块(11),从而控制PCI?E内部存储空间(10)或DDR对(5)把数据通过PCI?E总线上传给PC机(1)中的内存空间。...

【技术特征摘要】
1.一种采集端启动PC1-E总线DMA上传数据的方法,包括硬件部分和控制软件,硬件部分中的FPGA (4 )、DDR对(5 )、数据采集接口( 6 )、高速A/D转换器(7 )组成了数据采集系统的采集端(3);PC机(I)通过PC1-E接口(2)与FPGA (4)相连,FPGA (4)通过IO 口分别与DDR对(5)、数据采集接口(6)相连,高速A/D转换器(7)把采集到的信号转换成数字信号,并通过数据采集接口(6)送给FPGA (4),在FPGA (4)里预处理后,这些数据存储到DDR 对(5)或FPGA内部存储空间(10)里,存储到一定数量后上传给PC机(I);控制软件含有FPGA (4)内部软件及PC机(I)中的上位机(8),FPGA (4)内部软件中的PC1-E硬核执行代码(9)实现PC1-E通信,把采集到的数据上传给PC机(I)中的上位机(8)或把上位机⑶传递的指令及数据下发给FPGA (4);DMA写模块(11)分别与PC1-E内部存储空间(10)和DMA控制寄存器(12)连接,PC1-E内部存储空间与DDR对状态接口模块 (14)分别与PC1-E内部存储空间(10)或DDR对(5)的状态寄存器、DMA控制寄存器(12) 连接,PC1-E内部存储空间与DDR对状态接口模块(14)读取PC1-E内部存储空间(10)和 DDR对(5)状态寄存器的值,并把这个值送给PC1-E终端控制模块(13),PC1-E终端控制模块(13)由这个值来控制DMA控制寄存器(12),利用DMA控制寄存器(12)控制DMA写模块(11),从而控制PC1-E内部存储空间(10)或DDR对(5)把数据通过PC1-E总线上传给PC机 (O中的内存空间。2.根据权利要求1所述的一种采集端启动PC1-E总线DMA上传数据的方法,其特征在于所述的采集...

【专利技术属性】
技术研发人员:严发宝陈刚张京陈先玉陈航周勇
申请(专利权)人:绵阳市维博电子有限责任公司
类型:发明
国别省市:

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

1