CN115080491A - 一种基于fpga的pci总线数据采集系统 - Google Patents
一种基于fpga的pci总线数据采集系统 Download PDFInfo
- Publication number
- CN115080491A CN115080491A CN202210709347.8A CN202210709347A CN115080491A CN 115080491 A CN115080491 A CN 115080491A CN 202210709347 A CN202210709347 A CN 202210709347A CN 115080491 A CN115080491 A CN 115080491A
- Authority
- CN
- China
- Prior art keywords
- module
- data
- local bus
- chip
- pci
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 239000000872 buffer Substances 0.000 claims abstract description 34
- 238000004891 communication Methods 0.000 claims abstract description 14
- 230000003139 buffering effect Effects 0.000 claims abstract description 4
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000005070 sampling Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 6
- 230000000630 rising effect Effects 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000000034 method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 210000001503 joint Anatomy 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000008140 language development Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
本发明涉及数据采集技术领域,具体公开了一种基于FPGA的PCI总线数据采集系统,其中,包括上位机和与上位机实现通信连接的板卡,板卡包括PCI芯片、FPGA和ADC芯片,FPGA包括本地总线接口模块、指令判断模块、缓存模块和配置模块;本地总线接口模块用于对上位机通过PCI芯片下发的指令数据进行解析得到读写请求信号;指令判断模块用于将读写请求信号下发至缓存模块,并将缓存模块中的缓存信号以及ADC芯片的采集数据反馈至本地总线接口模块;缓存模块用于缓存ADC芯片的采集数据;配置模块用于根据上位机的配置数据对ADC芯片进行配置。本发明提供的基于FPGA的PCI总线数据采集系统解决了数据采集卡与上位机实时传输数据问题。
Description
技术领域
本发明涉及数据采集技术领域,尤其涉及一种基于FPGA的PCI总线数据采集系统。
背景技术
随着软件无线电技术的快速发展,用户在同一硬件平台可以通过配置不同的应用软件来满足不同时期、不同环境的功能要求,而无需改变硬件环境。目前,软件无线电技术用在数据采集系统上,较为广泛。得益于FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)技术兴起,可以以FPGA为核心,做成数据采集卡,挂载多种ADC(模拟转数字)信号处理芯片,其丰富的外围接口、寄存器硬件资源,加上极强的并行能力,可以很灵活的进行驱动配置并传输信号数据。
当前,为满足数据采集系统的高速化和通用化要求,并解决数据采集卡与计算机实时传输数据问题,可以用PCI(Peripheral Component Interconnect,外设部件互联)总线作为FPGA与计算机的通信接口。PCI总线以其高性能、低成本、高速率等优势,已超越其他总线,成为计算机主流总线标准,且用PCI总线作为数据采集卡的总线接口,也便于上位机的开发。而当前并不存在一种实时性高且通用化的PCI总线数据采集方式,因此,如何能够提供一种实时性高且通用化的PCI总线数据采集方式成为本领域技术人员亟待解决的技术问题。
发明内容
本发明提供了一种基于FPGA的PCI总线数据采集系统,解决相关技术中存在的缺乏实时性高且通用化的PCI总线数据采集的问题。
作为本发明的一个方面,提供一种基于FPGA的PCI总线数据采集系统,其中,包括上位机和与上位机实现通信连接的板卡,所述板卡包括PCI芯片、FPGA和ADC芯片,所述PCI芯片和所述ADC芯片均与所述FPGA通信连接,所述FPGA包括本地总线接口模块、指令判断模块、缓存模块和配置模块,所述指令判断模块与所述总线接口模块通信连接,所述配置模块和所述缓存模块均与所述指令判断模块通信连接;
所述本地总线接口模块用于对上位机通过PCI芯片下发的指令数据进行解析得到读写请求信号,以及将所述指令判断模块反馈的所述缓存模块中的缓存信号以及所述ADC芯片的采集数据通过所述PCI芯片上传至所述上位机;
所述指令判断模块用于将所述读写请求信号下发至所述缓存模块,并将所述缓存模块中的缓存信号以及所述ADC芯片的采集数据反馈至所述本地总线接口模块;
所述缓存模块用于缓存所述ADC芯片的采集数据;
所述配置模块用于根据所述上位机的配置数据对所述ADC芯片进行配置。
进一步地,所述本地总线接口模块用于对上位机通过PCI芯片下发的指令数据进行解析得到读写请求信号,包括:
所述本地总线接口模块用于将所述PCI芯片的接口配置成本地总线从模式,以及在所述PCI芯片的接口为本地从模式下按照读写时序对所述上位机下发的指令数据进行解析得到读写请求信号。
进一步地,所述ADC芯片包括第一ADC芯片和第二ADC芯片,所述第一ADC芯片和第二ADC芯片均能够采集数据。
进一步地,所述缓存模块包括数据缓存模块和时钟缓存模块,所述数据缓存模块用于实现对所述第一ADC芯片的采集数据和所述第二ADC芯片的采集数据均进行缓存,所述时钟缓存模块用于将所述第一ADC芯片的采集数据和所述第二ADC芯片的采集数据进行数据时钟同步。
进一步地,所述指令判断模块用于将所述读写请求信号下发至所述缓存模块,包括:
所述指令判断模块用于根据所述写请求信号将所述指令数据发送至数据缓存模块进行缓存。
进一步地,所述配置模块用于根据所述上位机的配置数据对所述第一ADC芯片和所述第二ADC芯片分别进行模式配置和数据采集配置。
进一步地,所述PCI芯片的本地总线包括:本地总线请求信号、本地总线应答信号、同步时钟信号、起始有效地址信号、读写指示信号、传输结束标志信号、数据有效标志信号、数据线信号和地址线信号。
进一步地,所述本地总线接口模块的工作状态包括初始态、单触发写状态、突发读状态和结束态,
当所述PCI芯片的本地总线满足所述起始有效地址信号等于0、读写指示信号等于1且传输结束标志信号等于1时,所述本地总线接口模块从所述初始态跳转至所述单触发写状态;
当所述PCI芯片的本地总线满足所述本地总线请求信号等于1且本地总线应答信号等于0时,所述本地总线接口模块从所述单触发写状态跳转至所述结束态;
当所述PCI芯片的本地总线满足所述起始有效地址信号等于0、读写指示信号等于0且传输结束标志信号等于1时,所述本地总线接口模块从所述初始态跳转至所述突发读状态;
当所述PCI芯片的本地总线满足所述本地总线请求信号等于1且本地总线应答信号等于0时,所述本地总线接口模块从所述突发读状态跳转至所述结束态;
当所述PCI芯片的本地总线满足下一个时钟信号的上升沿,所述本地总线接口模块从所述结束态跳转回到所述初始态。
进一步地,所述缓存模块用于实现对所述ADC芯片的采集数据的缓存,包括:
当所述PCI芯片向位于所述FPGA内的RAM存储器的指定地址内写入指令数据后,所述缓存模块能够接收到所述指令判断模块传输的所述指令数据;
所述缓存模块能够根据复位标志寄存器的值启动所述RAM存储器,并存储所述ADC芯片的采样数据;
所述缓存模块能够根据所述RAM存储器的地址判断所述ADC芯片的采样数据是否写完,并在确定所述ADC芯片的采样数据写完时更新所述复位寄存器的值。
本发明提供的基于FPGA的PCI总线数据采集系统,基于FPGA的硬件环境搭建,通过PCI总线对ADC芯片进行采集控制及数据传输,通过借助于FPGA的强大挂载能力,以及其灵活的编程语言开发能力,解决了数据采集卡与计算机实时传输数据问题。与现有技术相比,通用化程度较高,能适应市面上绝大多数的ADC芯片,以FPGA为核心进行PCI总线数据采集。另外,在上位机端下发控制命令,通过PCI本地总线动态改变ADC工作模式,然后启动数据缓存,有效的保证PCI总线数据采集的可控性。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1为本发明提供的基于FPGA的PCI总线数据采集系统的结构框图。
图2为本发明提供的FPGA的结构框图。
图3为本发明提供的本地总线接口模块的状态跳转图。
图4为本发明提供的第一数据缓存模块的实现流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互结合。下面将参考附图并结合实施例来详细说明本发明。
为了使本领域技术人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包括,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本实施例中提供了一种基于FPGA的PCI总线数据采集系统,图1是根据本发明实施例提供的基于FPGA的PCI总线数据采集系统的结构框图,图2为图1中的FPGA的具体结构框图,如图1和图2所示,包括:上位机100和与上位机100实现通信连接的板卡200,所述板卡200包括PCI芯片210、FPGA 220和ADC芯片,所述PCI芯片210和所述ADC芯片均与所述FPGA220通信连接,所述FPGA220包括本地总线接口模块pci_local、指令判断模块cmd_judge、缓存模块和配置模块,所述指令判断模块cmd_judge与所述总线接口模块pci_local通信连接,所述配置模块和所述缓存模块均与所述指令判断模块通信连接;
所述本地总线接口模块pci_local用于对上位机通过PCI芯片210下发的指令数据进行解析得到读写请求信号,以及将所述指令判断模块cmd_judge反馈的所述缓存模块中的缓存信号以及所述ADC芯片的采集数据通过所述PCI芯片210上传至所述上位机100;
所述指令判断模块cmd_judge用于将所述读写请求信号下发至所述缓存模块,并将所述缓存模块中的缓存信号以及所述ADC芯片的采集数据反馈至所述本地总线接口模块pci_local;
所述缓存模块用于缓存所述ADC芯片的采集数据;
所述配置模块用于根据所述上位机的配置数据对所述ADC芯片进行配置。
在本发明实施例中,PCI芯片210有两套数据总线,其中PCI总线与上位机100连接,实现上位机100对PCI芯片210的主控制,PCI芯片210的本地总线与FPGA220对接,FPGA220作为PCI从设备的控制器,控制PCI本地总线的指令和数据交互。FPGA与ADC芯片连接,ADC芯片的模式配置由上位机100配置并由FPGA加载,ADC芯片采集的数据送入FPGA220,再通过PCI芯片210上传给上位机100。
综上,本发明实施例提供的基于FPGA的PCI总线数据采集系统,基于FPGA的硬件环境搭建,通过PCI总线对ADC芯片进行采集控制及数据传输,通过借助于FPGA的强大挂载能力,以及其灵活的编程语言开发能力,解决了数据采集卡与计算机实时传输数据问题。与现有技术相比,通用化程度较高,能适应市面上绝大多数的ADC芯片,以FPGA为核心进行PCI总线数据采集。另外,在上位机端下发控制命令,通过PCI本地总线动态改变ADC工作模式,然后启动数据缓存,有效的保证PCI总线数据采集的可控性。
具体地,在本发明实施例中,如图1和图2所示,所述ADC芯片包括第一ADC芯片230和第二ADC芯片240,所述第一ADC芯片230和第二ADC芯片240均能够采集数据。
在本发明实施例中,所述本地总线接口模块pci_local用于对上位机100通过PCI芯片210下发的指令数据进行解析得到读写请求信号,包括:
所述本地总线接口模块pci_local用于将所述PCI芯片210的接口配置成本地总线从模式,以及在所述PCI芯片210的接口为本地从模式下按照读写时序对所述上位机100下发的指令数据进行解析得到读写请求信号。
具体地,所述本地总线接口模块pci_local,用于对PCI本地总线的复位及接口控制。将PCI总线配置成本地总线从模式后,所述本地总线接口模块pci_local与PCI本地总线对接,按照读写时序进行数据解析,基于拟定协议,建立FPGA与PCI总线之间的数据与指令传输。把解析出的写请求和读请求信号都给下一指令判断模块cmd_judge。
在本发明实施例中,所述指令判断模块cmd_judge用于将所述读写请求信号下发至所述缓存模块,包括:
所述指令判断模块cmd_judge用于根据所述写请求信号将所述指令数据发送至数据缓存模块进行缓存。
具体地,所述指令判断模块cmd_judge,用于对PCI本地总线读写操作的数据引导,以及ADC的控制指令下发。基于拟定协议,把需要写入特定地址的指令数据,传给数据采集缓存模块,启动数据缓存,以及把采集数据和缓存满信号标志位送入PCI本地总线接口,上传给上位机。所述模块更多的是对PCI本地总线端指令的调度和分配,且完成与多模块的对接工作。
在本发明实施例中,所述缓存模块包括数据缓存模块和时钟缓存模块,所述数据缓存模块用于实现对所述第一ADC芯片的采集数据和所述第二ADC芯片的采集数据均进行缓存,所述时钟缓存模块用于将所述第一ADC芯片的采集数据和所述第二ADC芯片的采集数据进行数据时钟同步。
具体地,所述数据缓存模块具体可以包括第一数据缓存模块data_buf0和第二数据缓存模块data_buf1,所述时钟缓存模块具体可以包括第一时钟缓存模块clk_buf0和第二时钟缓存模块clk_buf1。如图2所示,所述第一数据缓存模块data_buf0和第二数据缓存模块data_buf1均与所述指令判断模块cmd_judge连接,所述第一时钟缓存模块clk_buf0与所述第一数据缓存模块data_buf0连接,所述第二时钟缓存模块clk_buf1与所述第二数据缓存模块data_buf1连接。
在本发明实施例中,所述配置模块用于根据所述上位机的配置数据对所述第一ADC芯片和所述第二ADC芯片分别进行模式配置和数据采集配置。
具体地,如图2所示,所述配置模块包括第一配置模块adc_ctrl0和第二配置模块adc_ctrl1,所述第一配置模块adc_ctrl0分别与所述指令判断模块cmd_judge和所述第一时钟缓存模块clk_buf0连接,所述第二配置模块adc_ctrl1分别与所述指令判断模块cmd_judge和所述第一时钟缓存模块clk_buf1连接。
还应当理解的是,所述第一ADC芯片230与所述第一配置模块adc_ctrl0连接,所述第二ADC芯片与所述第二配置模块adc_ctrl1连接。
具体地,所述第一配置模块adc_ctrl0用于FPGA对第一ADC芯片的模式配置以及数据采集配置,第二配置模块adc_ctrl1模块用于FPGA对第二ADC芯片的模式配置以及数据采集控制。模式配置指令由PCI总线下发,经过FPGA解析后,送入指令判断模块cmd_judge。根据相应的寄存器地址,激活相应ADC芯片的配置。所述第一配置模块adc_ctrl0和第二配置模块adc_ctrl1也接收两片ADC芯片的模拟转数字的数据采集,以并行的方式送入FPGA。
进一步具体地,具体地模式配置及数据采用配置,如配置采样频率、内部或外部DDS(信号发生器)、扫频模式、dma传输模式等,详细配置方法根据ADC芯片手册进行设置。正交采样数据以I路和Q路分别以并行的方式传给第一时钟缓存模块clk_buf0和第二时钟缓存模块clk_buf1。
在本发明实施例中,第一时钟缓存模块clk_buf0用于第一ADC芯片数据采集后的数据同步,第二时钟缓存模块clk_buf1用于第二ADC芯片数据采集后的数据同步。由于ADC的多路数据采样频率可配置,送入FPGA的数据同步时钟也非固定化,所以需要匹配成FPGA工作频率,避免出现亚稳态,也便于存储数据。
具体地,由于ADC芯片的IQ两路数据采样频率从20~60Mhz动态变化,考虑后续数据处理以固定频率进行,所以先分别调用FPGA里两个fifo缓存器,fifo的输入频率接ADC采样频率,fifo的输出频率接固定频率80Mhz,这样操作把ADC采样数据进行了跨时钟域处理,避免时钟不匹配情况,且输出时钟比输入时钟更快,fifo不会溢出。
在本发明实施例中,所述第一数据缓存模块data_buf0用于FGPA对第一ADC芯片的数据存储,所述第二数据缓存模块data_buf1用于FPGA对第二ADC芯片的数据存储。考虑到后续要对采集的数据进行抽样分析,所以缓存一段连续的采样值到对应的数据缓存模块。在PCI本地总线下发启动缓存信号后,指令判断模块cmd_judge支配数据缓存模块进行ADC的数据存储。PCI本地总线下发读取信号后,指令判断模块cmd_judge读取数据缓存模块中的ADC缓存数据。
在本发明实施例中,所述PCI芯片210的本地总线包括:本地总线请求信号lhold、本地总线应答信号lholda、同步时钟信号lclk、起始有效地址信号ads、读写指示信号lwr、传输结束标志信号blast、数据有效标志信号ready、数据线信号ld和地址线信号la。
具体地,如图3所示,所述本地总线接口模块的工作状态包括初始态IDLE、单触发写状态SINGLE_WR、突发读状态Burst_RD和结束态STOP,当所述PCI芯片的本地总线满足所述起始有效地址信号等于0、读写指示信号等于1且传输结束标志信号等于1时,所述本地总线接口模块从所述初始态IDLE跳转至所述单触发写状态SINGLE_WR;
当所述PCI芯片的本地总线满足所述本地总线请求信号等于1且本地总线应答信号等于0时,所述本地总线接口模块从所述单触发写状态SINGLE_WR跳转至所述结束态STOP;
当所述PCI芯片的本地总线满足所述起始有效地址信号等于0、读写指示信号等于0且传输结束标志信号等于1时,所述本地总线接口模块从所述初始态IDLE跳转至所述突发读状态Burst_RD;
当所述PCI芯片的本地总线满足所述本地总线请求信号等于1且本地总线应答信号等于0时,所述本地总线接口模块从所述突发读状态Burst_RD跳转至所述结束态STOP;
当所述PCI芯片的本地总线满足下一个时钟信号的上升沿,所述本地总线接口模块从所述结束态STOP跳转回到所述初始态IDLE。
通过图3所示的状态跳转图,本地总线接口模块pci_local与PCI本地总线对接,按照读写时序进行数据解析,基于拟定协议,建立FPGA与PCI本地总线之间的数据与指令传输。按照以上状态跳转,完成PCI本地总线与FPGA之间的数据与指令传输。
在本发明实施例中,所述缓存模块用于实现对所述ADC芯片的采集数据的缓存,包括:
当所述PCI芯片向位于所述FPGA内的RAM存储器的指定地址内写入指令数据后,所述缓存模块能够接收到所述指令判断模块传输的所述指令数据;
所述缓存模块能够根据复位标志寄存器的值启动所述RAM存储器,并存储所述ADC芯片的采样数据;
所述缓存模块能够根据所述RAM存储器的地址判断所述ADC芯片的采样数据是否写完,并在确定所述ADC芯片的采样数据写完时更新所述复位寄存器的值。
如图4所示,为所述第一数据缓存模块data_buf0的实现流程图,用于FPGA分布对第一ADC芯片采样数据进行存储。考虑到后续要对采集的数据进行连续抽样分析,建议缓存一段连续的采样数据到所述第一数据缓存模块data_buf0。所述第一数据缓存模块data_buf0调用FPGA里的BRAM存储器,PCI本地总线往地址32'h0800_0000写入8'hAA后,指令判断模块cmd_judge把指令传输给所述缓存模块,以启动BRAM,缓存第一片ADC芯片的采样数据。同时,复位标志寄存器reg0为8'h00,地址为32'h0800_0001,表示BRAM未写完。当BRAM写完地址0~65535后,所述第一数据缓存模块data_buf0更新reg0为8'hFF,表示BRAM已存满,PCI本地总线会轮询该寄存器,判断是8'hFF,则读出BRAM全部缓存数据。PCI本地总线处理完ADC缓存数数据后,会重新往地址32'h0800_0000写入8'hAA,再启动BRAM缓存,后续往返操作即可。所述第二数据缓存模块data_buf1的启动写地址为32'h0800_0002,标志寄存器地址为32'h0800_0003,实现流程与第一数据缓存模块data_buf0相同,此处不再赘述。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (9)
1.一种基于FPGA的PCI总线数据采集系统,其特征在于,包括上位机和与上位机实现通信连接的板卡,所述板卡包括PCI芯片、FPGA和ADC芯片,所述PCI芯片和所述ADC芯片均与所述FPGA通信连接,所述FPGA包括本地总线接口模块、指令判断模块、缓存模块和配置模块,所述指令判断模块与所述总线接口模块通信连接,所述配置模块和所述缓存模块均与所述指令判断模块通信连接;
所述本地总线接口模块用于对上位机通过PCI芯片下发的指令数据进行解析得到读写请求信号,以及将所述指令判断模块反馈的所述缓存模块中的缓存信号以及所述ADC芯片的采集数据通过所述PCI芯片上传至所述上位机;
所述指令判断模块用于将所述读写请求信号下发至所述缓存模块,并将所述缓存模块中的缓存信号以及所述ADC芯片的采集数据反馈至所述本地总线接口模块;
所述缓存模块用于缓存所述ADC芯片的采集数据;
所述配置模块用于根据所述上位机的配置数据对所述ADC芯片进行配置。
2.根据权利要求1所述的系统,其特征在于,所述本地总线接口模块用于对上位机通过PCI芯片下发的指令数据进行解析得到读写请求信号,包括:
所述本地总线接口模块用于将所述PCI芯片的接口配置成本地总线从模式,以及在所述PCI芯片的接口为本地从模式下按照读写时序对所述上位机下发的指令数据进行解析得到读写请求信号。
3.根据权利要求1所述的系统,其特征在于,所述ADC芯片包括第一ADC芯片和第二ADC芯片,所述第一ADC芯片和第二ADC芯片均能够采集数据。
4.根据权利要求3所述的系统,其特征在于,所述缓存模块包括数据缓存模块和时钟缓存模块,所述数据缓存模块用于实现对所述第一ADC芯片的采集数据和所述第二ADC芯片的采集数据均进行缓存,所述时钟缓存模块用于将所述第一ADC芯片的采集数据和所述第二ADC芯片的采集数据进行数据时钟同步。
5.根据权利要求4所述的系统,其特征在于,所述指令判断模块用于将所述读写请求信号下发至所述缓存模块,包括:
所述指令判断模块用于根据所述写请求信号将所述指令数据发送至数据缓存模块进行缓存。
6.根据权利要求3所述的系统,其特征在于,所述配置模块用于根据所述上位机的配置数据对所述第一ADC芯片和所述第二ADC芯片分别进行模式配置和数据采集配置。
7.根据权利要求1所述的系统,其特征在于,所述PCI芯片的本地总线包括:本地总线请求信号、本地总线应答信号、同步时钟信号、起始有效地址信号、读写指示信号、传输结束标志信号、数据有效标志信号、数据线信号和地址线信号。
8.根据权利要求7所述的系统,其特征在于,所述本地总线接口模块的工作状态包括初始态、单触发写状态、突发读状态和结束态,
当所述PCI芯片的本地总线满足所述起始有效地址信号等于0、读写指示信号等于1且传输结束标志信号等于1时,所述本地总线接口模块从所述初始态跳转至所述单触发写状态;
当所述PCI芯片的本地总线满足所述本地总线请求信号等于1且本地总线应答信号等于0时,所述本地总线接口模块从所述单触发写状态跳转至所述结束态;
当所述PCI芯片的本地总线满足所述起始有效地址信号等于0、读写指示信号等于0且传输结束标志信号等于1时,所述本地总线接口模块从所述初始态跳转至所述突发读状态;
当所述PCI芯片的本地总线满足所述本地总线请求信号等于1且本地总线应答信号等于0时,所述本地总线接口模块从所述突发读状态跳转至所述结束态;
当所述PCI芯片的本地总线满足下一个时钟信号的上升沿,所述本地总线接口模块从所述结束态跳转回到所述初始态。
9.根据权利要求1所述的系统,其特征在于,所述缓存模块用于实现对所述ADC芯片的采集数据的缓存,包括:
当所述PCI芯片向位于所述FPGA内的RAM存储器的指定地址内写入指令数据后,所述缓存模块能够接收到所述指令判断模块传输的所述指令数据;
所述缓存模块能够根据复位标志寄存器的值启动所述RAM存储器,并存储所述ADC芯片的采样数据;
所述缓存模块能够根据所述RAM存储器的地址判断所述ADC芯片的采样数据是否写完,并在确定所述ADC芯片的采样数据写完时更新所述复位寄存器的值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210709347.8A CN115080491B (zh) | 2022-06-22 | 2022-06-22 | 一种基于fpga的pci总线数据采集系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210709347.8A CN115080491B (zh) | 2022-06-22 | 2022-06-22 | 一种基于fpga的pci总线数据采集系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115080491A true CN115080491A (zh) | 2022-09-20 |
CN115080491B CN115080491B (zh) | 2024-09-20 |
Family
ID=83252639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210709347.8A Active CN115080491B (zh) | 2022-06-22 | 2022-06-22 | 一种基于fpga的pci总线数据采集系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115080491B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101276318A (zh) * | 2008-05-12 | 2008-10-01 | 北京航空航天大学 | 基于pci-e总线的直接存取数据传输控制装置 |
CN101408902A (zh) * | 2008-10-06 | 2009-04-15 | 南京大学 | 基于fpga和usb总线的高速数据采集与传输方法 |
CN202394225U (zh) * | 2011-12-15 | 2012-08-22 | 扬州通信设备有限公司 | 基于pci总线的高速数据采集模块 |
CN103353725A (zh) * | 2013-03-19 | 2013-10-16 | 中国科学院声学研究所 | 采用fpga实现基于pci接口协议的阵列式可扩展数据采集系统 |
CN203596011U (zh) * | 2013-12-17 | 2014-05-14 | 成都国蓉科技有限公司 | 一种高速数据采集模块 |
RU164156U1 (ru) * | 2015-12-29 | 2016-08-20 | Общество с ограниченной ответственностью "ПетроЛайт" | Высокоскоростная многоканальная плата сбора данных |
CN107367985A (zh) * | 2017-07-27 | 2017-11-21 | 安徽工程大学 | 一种多通道实时数据采集系统 |
CN208903100U (zh) * | 2018-10-12 | 2019-05-24 | 国营芜湖机械厂 | 一种基于pci总线的总温传感器数据采集卡 |
-
2022
- 2022-06-22 CN CN202210709347.8A patent/CN115080491B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101276318A (zh) * | 2008-05-12 | 2008-10-01 | 北京航空航天大学 | 基于pci-e总线的直接存取数据传输控制装置 |
CN101408902A (zh) * | 2008-10-06 | 2009-04-15 | 南京大学 | 基于fpga和usb总线的高速数据采集与传输方法 |
CN202394225U (zh) * | 2011-12-15 | 2012-08-22 | 扬州通信设备有限公司 | 基于pci总线的高速数据采集模块 |
CN103353725A (zh) * | 2013-03-19 | 2013-10-16 | 中国科学院声学研究所 | 采用fpga实现基于pci接口协议的阵列式可扩展数据采集系统 |
CN203596011U (zh) * | 2013-12-17 | 2014-05-14 | 成都国蓉科技有限公司 | 一种高速数据采集模块 |
RU164156U1 (ru) * | 2015-12-29 | 2016-08-20 | Общество с ограниченной ответственностью "ПетроЛайт" | Высокоскоростная многоканальная плата сбора данных |
CN107367985A (zh) * | 2017-07-27 | 2017-11-21 | 安徽工程大学 | 一种多通道实时数据采集系统 |
CN208903100U (zh) * | 2018-10-12 | 2019-05-24 | 国营芜湖机械厂 | 一种基于pci总线的总温传感器数据采集卡 |
Also Published As
Publication number | Publication date |
---|---|
CN115080491B (zh) | 2024-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109946666B (zh) | 基于MPSoC的毫米波雷达信号处理系统 | |
CN106874224B (zh) | 自动搬运且适应器件的多线SPI-Flash控制器 | |
CN110213143B (zh) | 一种1553b总线ip核及监视系统 | |
EP3249543A1 (en) | Interface signal remapping method based on fpga | |
CN114168520B (zh) | 光纤通信总线装置、设备和系统 | |
CN109800193B (zh) | 一种ahb总线访问片上sram的桥接装置 | |
CN102831090A (zh) | 一种用于星载dsp与fpga通讯接口的地址线及其优化方法 | |
CN111506249B (zh) | 一种基于zynq平台的数据交互系统及方法 | |
CN109857702B (zh) | 一种基于机器人的激光雷达数据读写控制系统及芯片 | |
CN101923440A (zh) | 一种高速异步数据采集系统 | |
CN104714907A (zh) | 一种pci总线转换为isa和apb总线设计方法 | |
CN203858321U (zh) | 一种基于dsp和cpld的配电故障录波器 | |
CN109542481B (zh) | 一种多模式多功能测试仪器自动配置装置和方法 | |
CN114138297A (zh) | 一种基于zynq的fpga雷达数据调试系统及调试方法 | |
CN114257245A (zh) | 一种基于dsp-fpga的多通道ad采集系统 | |
CN207503222U (zh) | 一种基于PCIe3.0接口的信号采集和实时信号处理模块 | |
CN115080491B (zh) | 一种基于fpga的pci总线数据采集系统 | |
CN115632903B (zh) | 一种虚拟外设通信总线控制方法、装置及计算机设备 | |
CN101998135A (zh) | 移动电视信号采集及播放系统、控制方法 | |
CN111290889B (zh) | 基于fpga的面向通用处理器的测试方法及系统 | |
CN115687012A (zh) | 一种总线监测模块、监测方法和相关设备 | |
CN103092800A (zh) | 一种数据转换实验平台 | |
CN107911610A (zh) | 一种应用于图像采集模块的数据处理系统 | |
CN207835492U (zh) | 一种双缓存载波解调系统 | |
CN108595357B (zh) | 基于fpga的dm365数据传输接口电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |