CN107707626A - 基于fpga的数据采集卡、数据采集系统及数据采集方法 - Google Patents
基于fpga的数据采集卡、数据采集系统及数据采集方法 Download PDFInfo
- Publication number
- CN107707626A CN107707626A CN201710792885.7A CN201710792885A CN107707626A CN 107707626 A CN107707626 A CN 107707626A CN 201710792885 A CN201710792885 A CN 201710792885A CN 107707626 A CN107707626 A CN 107707626A
- Authority
- CN
- China
- Prior art keywords
- gps
- data
- information
- nanosecond
- fpga
- 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
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/35—Constructional details or hardware or software details of the signal processing chain
- G01S19/37—Hardware or software details of the signal processing chain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
- H04L12/40176—Flexible bus arrangements involving redundancy
- H04L12/40182—Flexible bus arrangements involving redundancy by using a plurality of communication lines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
本发明提供一种基于FPGA的数据采集卡、数据采集系统及数据采集方法,其中,所述基于FPGA的数据采集卡包括:在FPGA上基于软核构建的多个总线控制模块和多个传感器采集模块,其中,所述多个总线控制模块用于分别采集多个总线设备上的总线数据,所述多个传感器采集模块用于分别采集多个传感器上的传感器数据;在FPGA上的控制器,所述控制器用于将采集到的所述总线数据和所述传感器数据发送给连接至所述数据采集卡的处理设备。基于本发明的方案,实现了针对E2E的用于数据采集的一体化硬件方案,能够在保证系统稳定性的前提下,提高系统的可扩展性。
Description
技术领域
本发明涉及数据采集技术领域,尤其涉及一种基于FPGA的数据采集卡、数据采集系统及数据采集方法。
背景技术
现有技术中,当数据采集系统中具有多个总线设备、多个传感器时,为了采集该多个总线设备及多个传感器上的数据,需要采用多个总线数据采集卡及多个传感器数据采集卡。例如,现有的自动驾驶方案中,对于多个毫米波雷达、多个摄像头的情形,需要采用多个CAN(Controller Area Network,控制器局域网络)采集卡及多个视频采集卡,其中,一个CAN采集卡用于采集一个CAN设备上的总线数据,一个视频采集卡用于采集一个摄像头上的视频数据。上述现有技术的方案中,总线设备和传感器的数量越多,需要投入的硬件成本越高,例如,在一般的嵌入式系统中,通常不需要大量CAN总线信号,而增加CAN采集卡需要投入很大的硬件成本,且扩展性并不高;并且,现有的数据采集系统的灵活性极低,例如,当传感器数量需要增加或减少时,需要人工增加或减少传感器采集卡的数量。
发明内容
本发明的目的是提出一种基于FPGA(Field-Programmable Gate Array,即现场可编程门阵列)的数据采集卡、数据采集系统及数据采集方法。
根据本发明的一个方面,提供一种基于FPGA的数据采集卡,其中,所述数据采集卡包括:
在FPGA上基于软核构建的多个总线控制模块和多个传感器采集模块,其中,所述多个总线控制模块用于分别采集多个总线设备上的总线数据,所述多个传感器采集模块用于分别采集多个传感器上的传感器数据;
在FPGA上的控制器,所述控制器用于将采集到的所述总线数据和所述传感器数据发送给连接至所述数据采集卡的处理设备。
优选地,所述数据采集卡与GPS(Global Positioning System,全球定位系统)接收机相连接,所述数据采集卡还包括:GPS处理模块,用于接收来自所述GPS接收机的GPS数据信息和PPS(Pulse Per Second)秒脉冲信号,根据所述GPS数据信息和所述PPS秒脉冲信号,获得GPS位置信息和纳秒级GPS时间信息,并将所述GPS位置信息和所述纳秒级GPS时间信息提供给所述多个总线控制模块和所述多个传感器采集模块;其中,所述多个总线控制模块将所述总线数据与所述GPS位置信息、所述纳秒级GPS时间信息进行融合,并将融合后的数据提供给所述控制器;所述多个传感器采集模块将所述传感器数据与所述GPS位置信息、所述纳秒级GPS时间信息进行融合,并将融合后的数据提供给所述控制器。
根据本发明的另一方面,提供一种基于FPGA的数据采集系统,所述数据采集系统包括本发明所述的基于FPGA的数据采集卡,以及与所述数据采集卡相连接的处理设备、多个总线设备、多个传感器。
优选地,所述基于FPGA的数据采集卡包括GPS处理模块,所述数据采集系统还包括与所述数据采集卡相连接的GPS接收机。
根据本发明的再一方面,提供一种基于FPGA的数据采集方法,其中,该方法包括:
在FPGA上基于软核构建多个总线控制模块以及多个传感器采集模块;
所述多个总线控制模块分别采集多个总线设备上的总线数据,并将采集到的总线数据通过在FPGA上的控制器发送给处理设备;
所述多个传感器采集模块分别采集多个传感器上的传感器数据,并将采集到的传感器数据通过所述控制器发送给所述处理设备。
优选地,该方法还包括:接收来自GPS接收机的GPS数据信息和PPS秒脉冲信号,根据所述GPS数据信息和所述PPS秒脉冲信号,获得GPS位置信息和纳秒级GPS时间信息,并将所述GPS位置信息和所述纳秒级GPS时间信息提供给所述多个总线控制模块和所述多个传感器采集模块;
其中,所述将采集到的总线数据通过在FPGA上的控制器发送给处理设备的操作进一步包括:
所述多个总线控制模块将所述总线数据与所述GPS位置信息、所述纳秒级GPS时间信息进行融合,并将融合后的数据提供给所述控制器;
其中,所述将采集到的传感器数据通过所述控制器发送给所述处理设备的操作进一步包括:
所述多个传感器采集模块将所述传感器数据与所述GPS位置信息、所述纳秒级GPS时间信息进行融合,并将融合后的数据提供给所述控制器。
与现有技术相比,本发明具有以下优点:利用了FPGA可编程的特性,能够通过FPGA的软核复用功能来构建多个总线控制模块和多个传感器采集模块,来采集多个总线设备上的总线数据及多个传感器上的传感器数据,实现了针对E2E(End to End,端到端)的用于数据采集的一体化硬件方案,极大地节省了硬件成本,并且,能够在保证系统稳定性的前提下,提高系统的可扩展性,且能够降低各模块的耦合性,可在不增加多余成本的情况下,很容易的增加或减少总线控制模块和/或传感器采集模块的数量,以适应数据采集系统中的总线设备和传感器的数量变化;此外,该数据采集卡通过连接GPS接收机,能够将实时的GPS数据信息和PPS秒脉冲信号连接到FPGA中,从而在FPGA中维护一个高精度的纳秒级GPS时间信息;可将采集到的总线数据和/或传感器数据与GPS位置信息、纳秒级GPS时间信息进行融合,并将融合后的数据通过控制器发送给处理设备,从而保证整个数据采集系统的时间精确对准,为E2E方案后期的数据处理提供非常精准的数据。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明一个优选实施例的基于FPGA的数据采集卡的结构示意图;
图2为本发明一个示例的GPS时间模块的结构示意图;
图3为本发明一个优选实施例的基于FPGA的数据采集系统的结构示意图;
图4为本发明一个优选实施例的基于FPGA的数据采集方法的流程示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。
图1为本发明一个优选实施例的基于FPGA的数据采集卡的结构示意图。其中,该基于FPGA的数据采集卡包括在FPGA上基于软核构建的m个总线控制模块和n个传感器采集模块,以及在FPGA上的控制器。
其中,所述m个总线控制模块用于分别采集m个总线设备上的总线数据,总线控制模块的数量取决于连接至所述数据采集卡的总线设备的数量,一个总线设备对应一个总线控制模块。其中,所述总线设备可使用任何现场总线实现与所述数据采集卡之间的互联,优选地,所述总线设备为CAN设备,CAN设备基于CAN总线实现与所述数据采集卡之间的互联。其中,所述m个总线设备可使用相同或不同的现场总线。
其中,所述n个传感器采集模块用于分别采集n个传感器上的传感器数据,传感器采集模块的数量取决于连接至所述数据采集卡的传感器的数量,一个传感器对应一个传感器采集模块。其中,所述n个传感器可为相同或不同的类型或型号,如n个传感器为n个同一型号的摄像头,又如,n(n=5)个传感器中包括2个摄像头、1个车速传感器、1个超声波测距仪、1个转向传感器。
需要说明的是,实际应用中,基于实际需求(系统中总线设备的数量和传感器的数量)确定需要在所述数据采集卡中通过FPGA的软核复用功能构建的总线控制模块的数量和传感器采集模块的数量。作为一个优选方案,所述数据采集卡中可进一步包括在FPGA上基于软核构建的监测单元,该监测单元用于通过监测FPGA上的输入端口数据,来智能判断当前实际连接至该数据采集卡的总线设备数量和传感器数量(例如,通过所述输入端口数据判断与各个传感器之间是否正常连通,若不能与其中一个传感器正常连通,则无需为该传感器构建相应的传感器采集模块,即将能够正常连通的传感器的数量确定为传感器采集模块的数量;又例如,通过所述输入端口数据获得当前连接至数据采集卡的传感器数量),并基于判断得到的总线设备数量和传感器数量来实时调整总线控制模块的数量和传感器采集模块的数量。其中,所述监测单元可在基于软核构建总线控制模块和传感器采集模块之前执行操作,也可在数据采集卡工作过程中周期性地执行操作。
其中,所述控制器用于将采集到的所述总线数据和所述传感器数据发送给连接至所述数据采集卡的处理设备。需要说明的是,所述控制器可以分别将所述总线数据和所述传感器数据发送给连接至所述数据采集卡的处理设备,或者,将所述总线数据和所述传感器数据融合后的数据发送给所述处理设备,其中,将所述总线数据和所述传感器数据融合的操作可由控制器来执行,或者由FPGA上的其他单元来执行。
优选地,所述控制器为PCIE控制器,其基于PCIE(Peripheral ComponentInterconnect-Express)与处理设备相连接。作为一个示例,数据采集卡中的PCIE控制器与外部的处理设备通过PCIE x4互相连接,能够实现高达12Gbps的带宽,最多可以满足20路200w RawRGB视频数据的采集,或者10000路1M(兆)带宽的总线数据采集。
作为一种优选方案,所述数据采集卡与GPS接收机相连接,所述数据采集卡还包括:
GPS处理模块,用于接收来自所述GPS接收机的GPS数据信息和PPS秒脉冲信号,根据所述GPS数据信息和所述PPS秒脉冲信号,获得GPS位置信息和纳秒级GPS时间信息,并将所述GPS位置信息和所述纳秒级GPS时间信息提供给所述多个总线控制模块和所述多个传感器采集模块;
其中,所述多个总线控制模块将所述总线数据与所述GPS位置信息、所述纳秒级GPS时间信息进行融合,并将融合后的数据提供给所述控制器;所述多个传感器采集模块将所述传感器数据与所述GPS位置信息、所述纳秒级GPS时间信息进行融合,并将融合后的数据提供给所述控制器。
其中,所述GPS接收机通过串口信号将所述GPS数据信息发送给所述GPS处理模块,且所述GPS接收机每1秒发出一个PPS秒脉冲信号。其中,所述GPS数据信息包括GPS位置信息以及GPS时间相关信息。其中,所述GPS位置信息包括任何用于指示GPS位置的信息,如经度、纬度等;所述GPS时间相关信息包括任何与GPS时间相关的信息,如GPS周秒信息、UTC(Coordinated Universal Time,协调世界时)时间等。
其中,所述纳秒级GPS时间信息用于指示纳秒级的时间,如,所述纳秒级GPS时间信息可直接为一个纳秒级的时间值(如第1000周第10秒第500纳秒),又如,所述纳秒级GPS时间信息包括一个GPS周秒信息(如第1000周第10秒)和一个GPS纳秒信息(如500纳秒),则该GPS周秒信息和GPS纳秒信息结合即可表示纳秒级的时间。
作为一个示例,每个总线控制模块将该总线控制模块采集到的总线数据与接收到的GPS位置信息、所述纳秒级GPS时间信息进行融合,并将融合后的数据提供给控制器,以通过控制器将该融合后的数据发送给处理设备;每个传感器采集模块将该传感器采集模块采集到的传感器数据与接收到的GPS位置信息、所述纳秒级GPS时间信息进行融合,并将融合后的数据提供给控制器,以通过控制器将该融合后的数据发送给处理设备。
需要说明的是,上述示例中是由每个总线控制模块或每个传感器采集模块来执行融合操作,本领域技术人员应能理解,也可在FPGA上构建其他模块来专用于执行上述融合操作。
优选地,所述GPS处理模块进一步包括:
GPS帧解析模块,用于接收来自所述GPS接收机的GPS数据信息,从所述GPS数据信息中解析获得GPS位置信息和GPS周秒信息,并将所述GPS位置信息提供给GPS位置模块,将所述GPS周秒信息提供给GPS时间模块;
GPS位置模块,用于将接收到的所述GPS位置信息提供给所述多个总线控制模块和所述多个传感器采集模块;
GPS时间模块,用于接收来自所述GPS接收机的PPS秒脉冲信号,根据所述PPS秒脉冲信号以及来自PLL(Phase Locked Loop,锁相环)的1Ghz时钟信号确定GPS纳秒信息,并根据所述GPS纳秒信息以及接收到的所述GPS周秒信息获得所述纳秒级GPS时间信息。
其中,所述GPS帧解析模块分别与所述GPS位置模块和所述GPS时间模块相连接,所述GPS位置模块和所述GPS时间模块均与所述多个总线控制模块和所述多个传感器采集模块相连接。
其中,可将GPS纳秒信息和GPS周秒信息一起作为所述纳秒级GPS时间信息,或者,根据GPS纳秒信息和GPS周秒信息计算得到一个纳秒级的时间值,并将该纳秒级的时间值作为所述纳秒级GPS时间信息。
作为一种优选方案,所述GPS时间模块进一步包括PPS处理模块、GPS周秒寄存器和GPS纳秒寄存器。其中,所述PPS处理模块用于接收来自GPS接收机的PPS秒脉冲信号,根据所述PPS秒脉冲信号以及来自PLL的1Ghz时钟信号确定GPS纳秒信息,并实时地将所确定的GPS纳秒信息提供给GPS纳秒寄存器。所述GPS周秒寄存器用于接收来自GPS帧解析模块的GPS周秒信息并存储,所述GPS纳秒寄存器用于接收来自PPS处理模块的纳秒信息并存储。
图2为本发明一个示例的GPS时间模块的结构示意图,其中,虚线框表示GPS时间模块,该GPS时间模块包括PPS处理模块、GPS周秒寄存器和GPS纳秒寄存器,其中,GPS接收机通过串口与GPS帧解析模块相连接,所述GPS帧解析模块与所述GPS周秒寄存器相连接,所述GPS接收机发出的秒脉冲信息与PLL发出的1Ghz时钟信号均被传输至PPS处理模块,所述PPS处理模块与GPS纳秒寄存器相连接。
具体地,GPS接收机通过串口信号将GPS数据信息发送至GPS帧解析模块,GPS帧解析模块将对GPS数据信息进行解析得到的GPS周秒信息提供给GPS周秒寄存器。GPS接收机每一秒发出一个PPS秒脉冲信号,当PPS处理模块接收到一个PPS秒脉冲信号时,将当前记录的GPS纳秒信息清零,之后,PPS处理模块每接收到来自PLL的一个时钟(即1纳秒),便将当前的GPS纳秒信息加上1纳秒,同时将最新的GPS纳秒信息提供给GPS纳秒寄存器;当PPS处理模块接收到下一个PPS秒脉冲信号时,重复执行上述操作,从而能够提供精确的GPS纳秒信息。
作为一种优选方案,所述数据采集卡还包括融合模块,该融合模用于将来自所述多个总线控制模块的融合后的数据与来自所述多个传感器采集模块的融合后的数据进行再次融合,并将再次融合后的数据通过所述控制器发送给所述处理设备。
根据本实施例的基于FPGA的数据采集卡,利用了FPGA可编程的特性,能够通过FPGA的软核复用功能来构建多个总线控制模块和多个传感器采集模块,来采集多个总线设备上的总线数据及多个传感器上的传感器数据,实现了针对E2E的用于数据采集的一体化硬件方案,极大地节省了硬件成本,并且,能够在保证系统稳定性的前提下,提高系统的可扩展性,且能够降低各模块的耦合性,可在不增加多余成本的情况下,很容易的增加或减少总线控制模块和/或传感器采集模块的数量,以适应数据采集系统中的总线设备和传感器的数量变化;此外,该数据采集卡通过连接GPS接收机,能够将实时的GPS数据信息和PPS秒脉冲信号连接到FPGA中,从而在FPGA中维护一个高精度的纳秒级GPS时间信息;可将采集到的总线数据和/或传感器数据与GPS位置信息、纳秒级GPS时间信息进行融合,并将融合后的数据通过控制器发送给处理设备,从而保证整个数据采集系统的时间精确对准,为E2E方案后期的数据处理提供非常精准的数据。
本发明还提供了一种基于FPGA的数据采集系统,所述数据采集系统包括基于FPGA的数据采集卡,以及与所述数据采集卡相连接的处理设备、多个总线设备、多个传感器。其中,所述数据采集卡包括在FPGA上基于软核构建的多个总线控制模块和多个传感器采集模块,以及在FPGA上的控制器。该数据采集系统中的各个单元执行的操作已在前述实施例中予以详细描述,在此不再赘述。
本发明还提供了另一种基于FPGA的数据采集系统,所述数据采集系统包括基于FPGA的数据采集卡,以及与所述数据采集卡相连接的GPS接收机、处理设备、多个总线设备、多个传感器。其中,所述数据采集卡包括在FPGA上基于软核构建的多个总线控制模块和多个传感器采集模块、在FPGA上的控制器以及前述GPS处理模块。该数据采集系统中的各个单元执行的操作已在前述实施例中予以详细描述,在此不再赘述。
作为一个示例,图3为本发明一个优选实施例的基于FPGA的数据采集系统的结构示意图。该数据采集系统包括基于FPGA的数据采集卡,以及与该数据采集卡相连接的m个CAN设备、n个传感器、GPS接收机、CPU(Central Processing Unit,中央处理器)(在此CPU相当于处理设备)。其中,所述数据采集卡包括:基于软核构建的m个总线控制模块(总线控制模块1,总线控制模块2,…,总线控制模块m),基于软核构建的n个传感器采集模块(传感器采集模块1,传感器采集模块2,…,传感器采集模块n),PCIE控制器,以及GPS处理模块;该GPS处理模块进一步包括GPS帧解析模块,GPS位置模块、GPS时间模块。
图4为本发明一个优选实施例的基于FPGA的数据采集方法的流程示意图。该方法包括步骤S1、步骤S2和步骤S3。
在步骤S1中,在FPGA上基于软核构建多个总线控制模块以及多个传感器采集模块。
其中,所述多个总线控制模块用于分别采集多个总线设备上的总线数据,总线控制模块的数量取决于连接至所述数据采集卡的总线设备的数量,一个总线设备对应一个总线控制模块。其中,所述总线设备可使用任何现场总线实现与所述数据采集卡之间的互联,优选地,所述总线设备为CAN设备,CAN设备基于CAN总线实现与所述数据采集卡之间的互联。其中,所述多个总线设备可使用相同或不同的现场总线。
其中,所述多个传感器采集模块用于分别采集多个传感器上的传感器数据,传感器采集模块的数量取决于连接至所述数据采集卡的传感器的数量,一个传感器对应一个传感器采集模块。其中,所述多个传感器可为相同或不同的类型或型号,如n个传感器为n个同一型号的摄像头,又如,n(n=5)个传感器中包括2个摄像头、1个车速传感器、1个超声波测距仪、1个转向传感器。
需要说明的是,实际应用中,基于实际需求(系统中总线设备的数量和传感器的数量)确定需要通过FPGA的软核复用功能构建的总线控制模块的数量和传感器采集模块的数量。作为一个优选方案,还可在FPGA上基于软核构建监测单元,该监测单元用于通过监测FPGA上的输入端口数据,来智能判断当前实际连接至FPGA的总线设备数量和传感器数量(例如,通过所述输入端口数据判断与各个传感器之间是否正常连通,若不能与其中一个传感器正常连通,则无需为该传感器构建相应的传感器采集模块,即将能够正常连通的传感器的数量确定为传感器采集模块的数量;又例如,通过所述输入端口数据获得当前连接至FPGA的传感器数量),并基于判断得到的总线设备数量和传感器数量来实时调整总线控制模块的数量和传感器采集模块的数量。其中,所述监测单元可在步骤S1之前执行操作,也可在步骤S1之后周期性地执行操作。
在步骤S1之后,执行以下步骤S2和步骤S3来基于FPGA实现数据采集。
在步骤S2中,所述多个总线控制模块分别采集多个总线设备上的总线数据,并将采集到的总线数据通过在FPGA上的控制器发送给处理设备。
优选地,所述控制器为PCIE控制器,其基于PCIE与处理设备相连接。作为一个示例,数据采集卡中的PCIE控制器与外部的处理设备通过PCIE x4互相连接,能够实现高达12Gbps的带宽,最多可以满足20路200w RawRGB视频数据的采集,或者10000路1M带宽的总线数据采集。
在步骤S3中,所述多个传感器采集模块分别采集多个传感器上的传感器数据,并将采集到的传感器数据通过所述控制器发送给所述处理设备。
需要说明的是,所述步骤S2和步骤S3的执行并无先后顺序。
需要说明的是,所述步骤S2和所述步骤S3可以相结合。例如,所述多个总线控制模块分别采集多个总线设备上的总线数据,并将采集到的总线数据发送至控制器;所述多个传感器采集模块分别采集多个传感器上的传感器数据,并将采集到的传感器数据发送至控制器;所述总线数据和所述传感器数据被分别通过控制器发送给处理设备,或者,将所述总线数据和所述传感器数据进行融合,并将融合后的数据通过控制器发送给处理设备。
作为一种优选方案,该方法还包括步骤S4(图未示)。
在步骤S4中,FPGA上接收来自GPS接收机的GPS数据信息和PPS秒脉冲信号,根据所述GPS数据信息和所述PPS秒脉冲信号,获得GPS位置信息和纳秒级GPS时间信息,并将所述GPS位置信息和所述纳秒级GPS时间信息提供给所述多个总线控制模块和所述多个传感器采集模块。
所述将采集到的总线数据通过在FPGA上的控制器发送给处理设备的操作进一步包括:所述多个总线控制模块将所述总线数据与所述GPS位置信息、所述纳秒级GPS时间信息进行融合,并将融合后的数据提供给所述控制器。所述将采集到的传感器数据通过所述控制器发送给所述处理设备的操作进一步包括:所述多个传感器采集模块将所述传感器数据与所述GPS位置信息、所述纳秒级GPS时间信息进行融合,并将融合后的数据提供给所述控制器。
其中,所述GPS接收机通过串口信号将所述GPS数据信息发送至FPGA,且所述GPS接收机每1秒发出一个PPS秒脉冲信号。其中,所述GPS数据信息包括GPS位置信息以及GPS时间相关信息。其中,所述GPS位置信息包括任何用于指示GPS位置的信息,如经度、纬度等;所述GPS时间相关信息包括任何与GPS时间相关的信息,如GPS周秒信息、UTC时间等。
其中,所述纳秒级GPS时间信息用于指示纳秒级的时间,如,所述纳秒级GPS时间信息可直接为一个纳秒级的时间值(如第1000周第10秒第500纳秒),又如,所述纳秒级GPS时间信息包括一个GPS周秒信息(如第1000周第10秒)和一个GPS纳秒信息(如500纳秒),则该GPS周秒信息和GPS纳秒信息结合即可表示纳秒级的时间。
作为一个示例,每个总线控制模块将该总线控制模块采集到的总线数据与接收到的GPS位置信息、所述纳秒级GPS时间信息进行融合,并将融合后的数据提供给控制器,以通过控制器将该融合后的数据发送给处理设备;每个传感器采集模块将该传感器采集模块采集到的传感器数据与接收到的GPS位置信息、所述纳秒级GPS时间信息进行融合,并将融合后的数据提供给控制器,以通过控制器将该融合后的数据发送给处理设备。
需要说明的是,上述示例中是由每个总线控制模块或每个传感器采集模块来执行融合操作,本领域技术人员应能理解,也可在FPGA上构建其他模块来专用于执行上述融合操作。
作为一种优选方案,所述接收来自GPS接收机的GPS数据信息和PPS秒脉冲信号,根据所述GPS数据信息和所述PPS秒脉冲信号,获得GPS位置信息和纳秒级GPS时间信息的操作包括:
接收来自所述GPS接收机的GPS数据信息,并从所述GPS数据信息中解析获得GPS位置信息和GPS周秒信息;
将所述GPS位置信息提供给所述多个总线控制模块和所述多个传感器采集模块;
接收来自所述GPS接收机的PPS秒脉冲信号,根据所述PPS秒脉冲信号以及来自PLL的1Ghz时钟信号确定GPS纳秒信息,并根据所述GPS纳秒信息以及接收到的所述GPS周秒信息获得所述纳秒级GPS时间信息。
其中,可将GPS纳秒信息和GPS周秒信息一起作为所述纳秒级GPS时间信息,或者,根据GPS纳秒信息和GPS周秒信息计算得到一个纳秒级的时间值,并将该纳秒级的时间值作为所述纳秒级GPS时间信息。
优选地,FPGA上包括GPS周秒寄存器和GPS纳秒寄存器,所述GPS周秒寄存器用于接收GPS周秒信息并存储,所述GPS纳秒寄存器用于接收纳秒信息并存储。GPS接收机通过串口信号将GPS数据信息发送至FPGA,在FPGA上将对GPS数据信息进行解析得到的GPS周秒信息提供给GPS周秒寄存器。GPS接收机每一秒发出一个PPS秒脉冲信号,当接收到一个PPS秒脉冲信号时,在FPGA上将当前记录的GPS纳秒信息清零,之后,每接收到来自PLL的一个时钟(即1纳秒),便将当前的GPS纳秒信息加上1纳秒,同时将最新的GPS纳秒信息提供给GPS纳秒寄存器;当接收到下一个PPS秒脉冲信号时,重复执行上述操作,从而能够提供精确的GPS纳秒信息。
作为一种优选方案,该方法还包括:将来自所述多个总线控制模块的融合后的数据与来自所述多个传感器采集模块的融合后的数据进行再次融合,并将再次融合后的数据通过所述控制器发送给所述处理设备。
根据本实施例的方法,能够通过FPGA的软核复用功能来构建多个总线控制模块和多个传感器采集模块,来采集多个总线设备上的总线数据及多个传感器上的传感器数据,实现了针对E2E的用于数据采集的一体化硬件方案,极大地节省了硬件成本,并且,能够在保证系统稳定性的前提下,提高系统的可扩展性,且能够降低各模块的耦合性,可在不增加多余成本的情况下,很容易的增加或减少总线控制模块和/或传感器采集模块的数量,以适应数据采集系统中的总线设备和传感器的数量变化;此外,通过连接GPS接收机,能够将实时的GPS数据信息和PPS秒脉冲信号连接到FPGA中,从而在FPGA中维护一个高精度的纳秒级GPS时间信息;可将采集到的总线数据和/或传感器数据与GPS位置信息、纳秒级GPS时间信息进行融合,并将融合后的数据通过控制器发送给处理设备,从而保证整个数据采集系统的时间精确对准,为E2E方案后期的数据处理提供非常精准的数据。
需要说明的是,本文所讨论的方法(其中一些通过流程图示出)是通过硬件、硬件描述语言(如Verilog HDL)或者其组合来实施的。
需要说明的是,本发明所述的基于FPGA的数据采集卡、数据采集系统及数据采集方法适用于任何多传感器数据采集的应用场景,如基于E2E的自动驾驶方案等。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (11)
1.一种基于FPGA的数据采集卡,其中,所述数据采集卡包括:
在FPGA上基于软核构建的多个总线控制模块和多个传感器采集模块,其中,所述多个总线控制模块用于分别采集多个总线设备上的总线数据,所述多个传感器采集模块用于分别采集多个传感器上的传感器数据;
在FPGA上的控制器,所述控制器用于将采集到的所述总线数据和所述传感器数据发送给连接至所述数据采集卡的处理设备。
2.根据权利要求1所述的数据采集卡,其中,所述数据采集卡与GPS接收机相连接,所述数据采集卡还包括:
GPS处理模块,用于接收来自所述GPS接收机的GPS数据信息和PPS秒脉冲信号,根据所述GPS数据信息和所述PPS秒脉冲信号,获得GPS位置信息和纳秒级GPS时间信息,并将所述GPS位置信息和所述纳秒级GPS时间信息提供给所述多个总线控制模块和所述多个传感器采集模块;
其中,所述多个总线控制模块将所述总线数据与所述GPS位置信息、所述纳秒级GPS时间信息进行融合,并将融合后的数据提供给所述控制器;所述多个传感器采集模块将所述传感器数据与所述GPS位置信息、所述纳秒级GPS时间信息进行融合,并将融合后的数据提供给所述控制器。
3.根据权利要求2所述的数据采集卡,其中,所述GPS处理模块进一步包括:
GPS帧解析模块,用于接收来自所述GPS接收机的GPS数据信息,从所述GPS数据信息中解析获得GPS位置信息和GPS周秒信息,并将所述GPS位置信息提供给GPS位置模块,将所述GPS周秒信息提供给GPS时间模块;
GPS位置模块,用于将接收到的所述GPS位置信息提供给所述多个总线控制模块和所述多个传感器采集模块;
GPS时间模块,用于接收来自所述GPS接收机的PPS秒脉冲信号,根据所述PPS秒脉冲信号以及来自PLL的1Ghz时钟信号确定GPS纳秒信息,并根据所述GPS纳秒信息以及接收到的所述GPS周秒信息获得所述纳秒级GPS时间信息。
4.根据权利要求3所述的数据采集卡,其中,所述GPS时间模块进一步包括:
PPS处理模块,用于接收来自GPS接收机的PPS秒脉冲信号,根据所述PPS秒脉冲信号以及来自PLL的1Ghz时钟信号确定GPS纳秒信息,并实时地将所确定的GPS纳秒信息提供给GPS纳秒寄存器;
GPS周秒寄存器,用于接收来自GPS帧解析模块的GPS周秒信息并存储;
GPS纳秒寄存器,用于接收来自PPS处理模块的纳秒信息并存储。
5.根据权利要求2至4中任一项所述的数据采集卡,所述数据采集卡还包括融合模块,所述融合模块用于将来自所述多个总线控制模块的融合后的数据与来自所述多个传感器采集模块的融合后的数据进行再次融合,并将再次融合后的数据提供给所述控制器。
6.一种基于FPGA的数据采集系统,所述数据采集系统包括如权利要求1所述的基于FPGA的数据采集卡,以及与所述数据采集卡相连接的处理设备、多个总线设备、多个传感器。
7.一种基于FPGA的数据采集系统,所述数据采集系统包括如权利要求2至5中任一项所述的基于FPGA的数据采集卡,以及与所述数据采集卡相连接的GPS接收机、处理设备、多个总线设备、多个传感器。
8.一种基于FPGA的数据采集方法,其中,该方法包括:
在FPGA上基于软核构建多个总线控制模块以及多个传感器采集模块;
所述多个总线控制模块分别采集多个总线设备上的总线数据,并将采集到的总线数据通过在所述FPGA上的控制器发送给处理设备;
所述多个传感器采集模块分别采集多个传感器上的传感器数据,并将采集到的传感器数据通过所述控制器发送给所述处理设备。
9.根据权利要求8所述的方法,其中,该方法还包括:
在所述FPGA上接收来自GPS接收机的GPS数据信息和PPS秒脉冲信号,根据所述GPS数据信息和所述PPS秒脉冲信号,获得GPS位置信息和纳秒级GPS时间信息,并将所述GPS位置信息和所述纳秒级GPS时间信息提供给所述多个总线控制模块和所述多个传感器采集模块;
其中,所述将采集到的总线数据通过在所述FPGA上的控制器发送给处理设备的操作进一步包括:
所述多个总线控制模块将所述总线数据与所述GPS位置信息、所述纳秒级GPS时间信息进行融合,并将融合后的数据提供给所述控制器;
其中,所述将采集到的传感器数据通过所述控制器发送给所述处理设备的操作进一步包括:
所述多个传感器采集模块将所述传感器数据与所述GPS位置信息、所述纳秒级GPS时间信息进行融合,并将融合后的数据提供给所述控制器。
10.根据权利要求9所述的方法,其中,所述接收来自GPS接收机的GPS数据信息和PPS秒脉冲信号,根据所述GPS数据信息和所述PPS秒脉冲信号,获得GPS位置信息和纳秒级GPS时间信息的操作包括:
接收来自所述GPS接收机的GPS数据信息,并从所述GPS数据信息中解析获得GPS位置信息和GPS周秒信息;
将所述GPS位置信息提供给所述多个总线控制模块和所述多个传感器采集模块;
接收来自所述GPS接收机的PPS秒脉冲信号,根据所述PPS秒脉冲信号以及来自PLL的1Ghz时钟信号确定GPS纳秒信息,并根据所述GPS纳秒信息以及接收到的所述GPS周秒信息获得所述纳秒级GPS时间信息。
11.根据权利要求9或10所述的方法,其中,该方法还包括:
在所述FPGA上将来自所述多个总线控制模块的融合后的数据与来自所述多个传感器采集模块的融合后的数据进行再次融合,并将再次融合后的数据通过所述控制器发送给所述处理设备。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710792885.7A CN107707626B (zh) | 2017-09-05 | 2017-09-05 | 基于fpga的数据采集卡、数据采集系统及数据采集方法 |
EP18854861.4A EP3681129A4 (en) | 2017-09-05 | 2018-06-05 | FPGA BASED DATA ACQUISITION CARD, DATA ACQUISITION SYSTEM AND DATA ACQUISITION METHOD |
US16/632,322 US20200209405A1 (en) | 2017-09-05 | 2018-06-05 | Fpga based data acquisition card, data acquisition system and data acquisition method |
PCT/CN2018/089950 WO2019047575A1 (zh) | 2017-09-05 | 2018-06-05 | 基于fpga的数据采集卡、数据采集系统及数据采集方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710792885.7A CN107707626B (zh) | 2017-09-05 | 2017-09-05 | 基于fpga的数据采集卡、数据采集系统及数据采集方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107707626A true CN107707626A (zh) | 2018-02-16 |
CN107707626B CN107707626B (zh) | 2020-04-07 |
Family
ID=61172087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710792885.7A Active CN107707626B (zh) | 2017-09-05 | 2017-09-05 | 基于fpga的数据采集卡、数据采集系统及数据采集方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20200209405A1 (zh) |
EP (1) | EP3681129A4 (zh) |
CN (1) | CN107707626B (zh) |
WO (1) | WO2019047575A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019047575A1 (zh) * | 2017-09-05 | 2019-03-14 | 百度在线网络技术(北京)有限公司 | 基于fpga的数据采集卡、数据采集系统及数据采集方法 |
CN110780608A (zh) * | 2019-11-26 | 2020-02-11 | 北京百度网讯科技有限公司 | 仿真测试方法及装置 |
CN111279280A (zh) * | 2018-08-24 | 2020-06-12 | 百度时代网络技术(北京)有限公司 | 用于在传感器之间传送数据的数据传送逻辑与自动驾驶车辆的规划和控制 |
CN111710058A (zh) * | 2020-06-16 | 2020-09-25 | 长安大学 | 一种无人驾驶车辆黑匣子系统及其数据获取方法 |
CN113428096A (zh) * | 2021-08-27 | 2021-09-24 | 武汉元丰汽车电控系统股份有限公司 | 数据采集卡、设备和方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3848807A1 (en) * | 2020-01-07 | 2021-07-14 | Aptiv Technologies Limited | Data processing system and method for configuring and operating a data processing system |
WO2022067683A1 (zh) * | 2020-09-30 | 2022-04-07 | 浙江宇视科技有限公司 | 图像传输方法、装置、设备和介质 |
CN113568853A (zh) * | 2021-06-29 | 2021-10-29 | 通号城市轨道交通技术有限公司 | 数据采集装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070069083A1 (en) * | 2005-06-20 | 2007-03-29 | United States Of America As Represented By The Administrator Of The National Aeronautics And Spac | Self-Contained Avionics Sensing And Flight Control System For Small Unmanned Aerial Vehicle |
CN203241544U (zh) * | 2013-04-08 | 2013-10-16 | 广东省智源工程抗震科技公司 | 多通道数据采集器 |
CN103472834A (zh) * | 2013-09-16 | 2013-12-25 | 苏州工业园区职业技术学院 | 基于双核两轮微电脑鼠超快速冲刺控制器 |
CN104655134A (zh) * | 2013-11-22 | 2015-05-27 | 哈尔滨功成科技创业投资有限公司 | 一种基于gps时标的多传感器数据采集系统 |
CN105824054A (zh) * | 2016-03-18 | 2016-08-03 | 上海海事大学 | 基于fpga的多通道航空磁力测量数据采集系统 |
CN206002886U (zh) * | 2016-07-27 | 2017-03-08 | 北京神州飞航科技有限责任公司 | Can总线hub板卡 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107707626B (zh) * | 2017-09-05 | 2020-04-07 | 百度在线网络技术(北京)有限公司 | 基于fpga的数据采集卡、数据采集系统及数据采集方法 |
-
2017
- 2017-09-05 CN CN201710792885.7A patent/CN107707626B/zh active Active
-
2018
- 2018-06-05 EP EP18854861.4A patent/EP3681129A4/en active Pending
- 2018-06-05 WO PCT/CN2018/089950 patent/WO2019047575A1/zh unknown
- 2018-06-05 US US16/632,322 patent/US20200209405A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070069083A1 (en) * | 2005-06-20 | 2007-03-29 | United States Of America As Represented By The Administrator Of The National Aeronautics And Spac | Self-Contained Avionics Sensing And Flight Control System For Small Unmanned Aerial Vehicle |
CN203241544U (zh) * | 2013-04-08 | 2013-10-16 | 广东省智源工程抗震科技公司 | 多通道数据采集器 |
CN103472834A (zh) * | 2013-09-16 | 2013-12-25 | 苏州工业园区职业技术学院 | 基于双核两轮微电脑鼠超快速冲刺控制器 |
CN104655134A (zh) * | 2013-11-22 | 2015-05-27 | 哈尔滨功成科技创业投资有限公司 | 一种基于gps时标的多传感器数据采集系统 |
CN105824054A (zh) * | 2016-03-18 | 2016-08-03 | 上海海事大学 | 基于fpga的多通道航空磁力测量数据采集系统 |
CN206002886U (zh) * | 2016-07-27 | 2017-03-08 | 北京神州飞航科技有限责任公司 | Can总线hub板卡 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019047575A1 (zh) * | 2017-09-05 | 2019-03-14 | 百度在线网络技术(北京)有限公司 | 基于fpga的数据采集卡、数据采集系统及数据采集方法 |
CN111279280A (zh) * | 2018-08-24 | 2020-06-12 | 百度时代网络技术(北京)有限公司 | 用于在传感器之间传送数据的数据传送逻辑与自动驾驶车辆的规划和控制 |
CN111279280B (zh) * | 2018-08-24 | 2023-08-04 | 百度时代网络技术(北京)有限公司 | 用于在传感器之间传送数据的数据传送逻辑与自动驾驶车辆的规划和控制 |
CN110780608A (zh) * | 2019-11-26 | 2020-02-11 | 北京百度网讯科技有限公司 | 仿真测试方法及装置 |
CN110780608B (zh) * | 2019-11-26 | 2023-03-10 | 北京百度网讯科技有限公司 | 仿真测试方法及装置 |
CN111710058A (zh) * | 2020-06-16 | 2020-09-25 | 长安大学 | 一种无人驾驶车辆黑匣子系统及其数据获取方法 |
CN113428096A (zh) * | 2021-08-27 | 2021-09-24 | 武汉元丰汽车电控系统股份有限公司 | 数据采集卡、设备和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107707626B (zh) | 2020-04-07 |
US20200209405A1 (en) | 2020-07-02 |
EP3681129A4 (en) | 2021-03-24 |
EP3681129A1 (en) | 2020-07-15 |
WO2019047575A1 (zh) | 2019-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107707626A (zh) | 基于fpga的数据采集卡、数据采集系统及数据采集方法 | |
CN109905194A (zh) | 一种车载终端系统和同步数据获取方法、装置 | |
CN102622879B (zh) | 交通信息提供装置 | |
CN109725572A (zh) | 一种多传感器精准时钟同步系统及方法 | |
CN104952247B (zh) | 基于双通信数据的拥堵等级分析平台 | |
CN106707736A (zh) | 一种汽车仪表时钟精度测量方法和装置 | |
CN104764442A (zh) | 测定轻小型无人机中航测相机曝光时刻的方法及装置 | |
CN107976182A (zh) | 一种多传感器融合建图系统及其方法 | |
EP3659133A1 (en) | Adaptive traffic control using vehicle trajectory data | |
CN105388751B (zh) | 一种用于动车组中防时钟跳变的方法与系统 | |
CN105096590A (zh) | 交通信息生成方法和交通信息生成设备 | |
CN102101487B (zh) | 列车追踪状态的获取方法和系统 | |
CN1937000A (zh) | 城市交叉路口远程监控及车流识别检测方法 | |
CN113129382B (zh) | 一种确定坐标转换参数的方法及装置 | |
CN105608919A (zh) | 车站位置的确定方法及装置 | |
US11302188B2 (en) | Communication apparatus and computer readable medium | |
CN103906220A (zh) | 一种服务器授时方法、系统及gps云管理服务器 | |
CN103247181A (zh) | 基于视频车辆队长检测的红绿灯智能控制器及其控制方法 | |
CN103067102A (zh) | Ads-b测试信号源 | |
CN110035129A (zh) | 一种高速公路车辆管理系统及其工作方法 | |
CN114006672A (zh) | 一种车载多传感器数据同步采集方法及系统 | |
CN203705634U (zh) | 智能分布式环境噪声定位监测与预警系统 | |
CN206311927U (zh) | 一种通讯管理设备 | |
CN113353090A (zh) | 数据同步系统、方法、定位系统及无人驾驶设备 | |
CN113223299B (zh) | 一种可以构建交通结构化数据库的地磁检测设备及系统 |
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 | ||
GR01 | Patent grant |