CN105701060B - 基于fpga的高速实时数据记录系统 - Google Patents

基于fpga的高速实时数据记录系统 Download PDF

Info

Publication number
CN105701060B
CN105701060B CN201610124203.0A CN201610124203A CN105701060B CN 105701060 B CN105701060 B CN 105701060B CN 201610124203 A CN201610124203 A CN 201610124203A CN 105701060 B CN105701060 B CN 105701060B
Authority
CN
China
Prior art keywords
data
real
administrative unit
communicated
card
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.)
Expired - Fee Related
Application number
CN201610124203.0A
Other languages
English (en)
Other versions
CN105701060A (zh
Inventor
李震
孙国斌
郝玉福
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CRRC Qingdao Sifang Rolling Stock Research Institute Co Ltd
Original Assignee
CRRC Qingdao Sifang Rolling Stock Research Institute Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CRRC Qingdao Sifang Rolling Stock Research Institute Co Ltd filed Critical CRRC Qingdao Sifang Rolling Stock Research Institute Co Ltd
Priority to CN201610124203.0A priority Critical patent/CN105701060B/zh
Publication of CN105701060A publication Critical patent/CN105701060A/zh
Application granted granted Critical
Publication of CN105701060B publication Critical patent/CN105701060B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明涉及一种基于FPGA的高速实时数据记录系统,包括FPGA芯片、NVRAM阵列、NAND Flash、SD卡和RTC实时时钟电路,FPGA芯片内部设有双口RAM、分别与双口RAM连接的并行总线控制单元和PCI‑E控制单元、数据管理单元、与NVRAM阵列进行通讯的NVRAM管理单元、与NAND Flash进行通讯的NAND Flash管理单元、与SD卡进行通讯的SD卡管理单元、与RTC实时时钟电路进行通讯的RTC管理单元,并行总线控制单元和PCI‑E控制单元均与实时控制系统的应用主机进行通讯。本发明能够实现大量数据高速实时存储,在数据存储过程中实现数据分类,进行突发故障的触发存储,具备实时读写及断电存储数据不丢失的特性。

Description

基于FPGA的高速实时数据记录系统
技术领域
本发明涉及电子控制技术领域,具体地说,涉及一种高速实时数据记录系统。
背景技术
实时控制系统对系统的响应时间有严格的要求。在一些实时控制系统中,主处理器不仅需要处理各种复杂运算和任务调度,同时还需要对各个通讯接口进行管理,这对主处理器的性能提出了很高的要求。
在动车组车载实时控制系统中,主处理器不但需要运行系统逻辑、执行复杂算法以及与各个执行单元保持高速实时通讯,还需要处理以太网、MVB网络、CAN网络、RS485网络,因此主处理器处理的信息量相当庞大。在如此庞大的数据量中,需要对很多关键数据进行实时记录和对故障数据的抓取,如果由主处理器完成所有数据的分类、存储的管理工作,势必会加重主处理器的负担,影响主处理器的实时响应。
发明内容
本发明的目的在于针对现有实时控制系统中存在的主处理器因实时记录和处理数据导致实时响应慢等上述不足,提供一种基于FPGA的高速实时数据记录系统,该系统能够进行大量数据的分类和非易失性实时存储,减轻主处理器的负担,使主处理器的实时响应不受影响。
本发明的技术方案为:一种基于FPGA的高速实时数据记录系统,包括FPGA芯片、NVRAM阵列、NAND Flash、SD卡和RTC实时时钟电路,FPGA芯片内部设有双口RAM、控制单元和管理单元;所述控制单元包括与双口RAM连接的并行总线控制单元和与双口RAM连接的PCI-E控制单元,并行总线控制单元和PCI-E控制单元均可与实时控制系统的应用主机进行通讯;所述管理单元包括数据管理单元、与NVRAM阵列进行通讯的NVRAM管理单元、与NANDFlash进行通讯的NAND Flash管理单元、与SD卡进行通讯的SD卡管理单元、与RTC实时时钟电路进行通讯的RTC管理单元,NVRAM管理单元、NAND Flash管理单元、SD卡管理单元、RTC管理单元均与数据管理单元连接,数据管理单元、NVRAM管理单元、NAND Flash管理单元、SD卡管理单元均与双口RAM连接。FPGA芯片通过内部设有的双口RAM、控制单元和管理单元实现对大量数据进行高速实时存储和管理分类,管理NVRAM阵列、NAND Flash、SD卡和RTC实时时钟电路,实现与实时控制系统应用主机之间进行高速数据传输,支持RTC实时时钟电路,在数据存储过程中进行实时时间信息的添加。本发明设有NVRAM阵列,可实现数据的高速 缓存,并可以保证缓存的数据断电不丢失。
作为优选,所述双口RAM包括命令寄存器和两个数据存储区,用于数据的存储及对数据的读写。
作为优选,所述FPGA芯片设有并行总线接口、PCI-E总线接口和SD卡接口。
作为优选,所述并行总线控制单元通过并行总线接口由并行总线与实时控制系统的应用主机进行通讯,通过高速并行总线完成本发明数据记录系统与实时控制系统的应用主机之间的高速数据传输。
作为优选,所述PCI-E控制单元通过PCI-E总线接口由PCI-E总线与实时控制系统的应用主机进行通讯,通过PCI-E总线完成本发明数据记录系统与实时控制系统的应用主机之间的高速数据传输,应用主机的最高读写速度可达250MB/S。
作为优选,所述NVRAM管理单元通过并行总线接口由并行总线与NVRAM阵列进行通讯。
作为优选,所述NAND Flash管理单元通过并行总线接口由并行总线与NAND Flash进行通讯。
作为优选,所述SD卡管理单元通过SPI总线接口由SPI总线与SD卡进行通讯,SD卡可拆装,方便现场调试,SD卡中记录的信息可以使用个人电脑读取。
本发明的有益效果为:1、本发明FPGA芯片内部设有双口RAM、控制单元和管理单元,能够实现大量数据高速实时存储,数据吞吐率可达205MB/S,在数据存储过程中进行突发故障的触发存储,具有优异的实时读写性能。2、本发明设有NVRAM阵列,FPGA芯片一旦发现写指令,则将相应存储区中的内容高速缓存到NVRAM阵列,实现数据的高速缓存,并保证缓存的数据断电不丢失,具备断电存储数据不丢失的特性,在此数据存储过程中实现数据分类。3、本发明设有RTC实时时钟电路,在数据存储过程中进行实时时间信息的添加。
附图说明
图1为本发明具体实施例的结构框图。
图2为本发明具体实施例的工作流程图。
图3为本发明具体实施例双口RAM的结构图。
具体实施方式
下面结合附图说明本发明的具体实施方式:
如图1所示,一种基于FPGA的高速实时数据记录系统,包括FPGA芯片、NVRAM阵列、NAND Flash、SD卡和RTC实时时钟电路,FPGA芯片内部设有双口RAM、控制单元和管理单元;所述控制单元包括与双口RAM连接的并行总线控制单元和与双口RAM连接的PCI-E控制单元,并行总线控制单元和PCI-E控制单元均与实时控制系统的应用主机进行通讯;所述管理单元包括数据管理单元、与NVRAM阵列进行通讯的NVRAM管理单元、与NAND Flash进行通讯的NAND Flash管理单元、与SD卡进行通讯的SD卡管理单元、与RTC实时时钟电路进行通讯的RTC管理单元,NVRAM管理单元、NAND Flash管理单元、SD卡管理单元、RTC管理单元均与数据管理单元连接,数据管理单元、NVRAM管理单元、NAND Flash管理单元、SD卡管理单元均与双口RAM连接。其中,FPGA芯片对NVRAM阵列、NAND Flash、SD卡和RTC实时时钟电路进行管理,并实现同实时控制系统之间的高速数据传输,NVRAM阵列的作用是为了数据的高速缓存,并可以保证缓存的数据断电不丢失。
本实施例中,如图3所示,所述双口RAM包括命令寄存器和两个等大数据存储区,总大小为2048*32bits,用于数据的存储及对数据的读写。
本实施例中,所述FPGA芯片设有并行总线接口、PCI-E总线接口和SD卡接口,FPGA芯片通过上述总线接口实现与FPGA芯片外部装置的通讯。
本实施例中,所述并行总线控制单元通过并行总线接口由并行总线与实时控制系统的应用主机进行通讯,通过高速并行总线完成本发明数据记录系统与实时控制系统的应用主机之间的高速数据传输。
本实施例中,所述PCI-E控制单元通过PCI-E总线接口由PCI-E总线与实时控制系统的应用主机进行通讯,通过PCI-E总线完成本发明数据记录系统与实时控制系统的应用主机之间的高速数据传输。对于应用主机而言,本实施例中所述的数据记录系统为一个带有命令字的RAM存储器,使用PCI-E总线进行通讯时,应用主机的最高读写速度可达250MB/S。
本实施例中,所述NVRAM管理单元通过并行总线接口由并行总线与NVRAM阵列进行通讯,NVRAM阵列为由4片NVRAM组成32Mbits存储阵列,总线宽度64bits,存储深度512K,读写速度可达1.4Gbps。
本实施例中,所述NAND Flash管理单元通过并行总线接口由并行总线与NANDFlash进行通讯,使用的NAND Flash为8位总线宽度的NAND Flash芯片,存储容量为16Gbits。
本实施例中,所述SD卡管理单元通过SPI总线接口由SPI总线与SD卡进行通讯,SD卡可拆装,方便现场调试,SD卡中记录的信息可以使用个人电脑读取。
如2所示为本发明实施例基于FPGA的高速实时数据记录系统的工作流程图,其具体的工作流程如下:
系统上电后,首先读取上一次数据存储的状态信息和系统配置信息。这些信息存储在NVRAM的固定地址。状态信息由FPGA芯片自动更新。系统配置信息由应用主机通过PCI-E总线或并行总线写入双口RAM的命令寄存器,并由FPGA芯片内部的NVRAM管理单元存储到NVRAM阵列的固定地址空间。读取的状态信息和配置信息会更新到FPGA芯片内部的数据管理单元的相关寄存器中。
数据记录系统的写入过程为:状态信息和配置信息更新完成后,FPGA芯片开始查询双口RAM命令寄存器中的内容。应用主机先将需要存储数据顺序写入双口RAM中的一个数据存储区,即第一数据存储区A(或第二数据存储区B),写完后应用主机将写命令和写入数据的属性写入命令寄存器。应用主机写完命令寄存器后,可以继续向另一个数据存储区写入数据,即第二数据存储区B(或第一数据存储区A),每次写完数据存储区,更新一次双口RAM的命令寄存器中的命令值。FPGA芯片实时监测命令寄存器中的命令值,一旦发现写指令,则将相应存储区的内容高速缓存到NVRAM阵列,在此过程中实现对数据的分类。分类后的数据如果符合故障触发的条件,则FPGA芯片在分类数据中添加故障触发标记信息,标记信息包含故障发生的时间、本包故障数据的序列号、故障变量信息等。如果没有故障触发,则只添加RTC信号和本包数据存储序列号等信息。
处理的数据被写入NVRAM阵列的高速缓存区,高速缓存完成后,FPGA芯片更新双口RAM的命令寄存器中的状态值,应用主机可根据状态值变化判断数据记录系统的运行状态。当缓存到NVRAM阵列中的数据长度达到预设定标准,则FPGA芯片使用批量写入的方法,将NVRAM阵列中的数据批量写入NAND Flash或SD卡。
数据记录系统的读出过程为:应用主机首先向双口RAM的命令寄存器写入读数据命令,命令包含读取的介质类型、读取数据的长度N、读取数据的起始地址。数据记录系统一旦检测到读数据指令,则根据应用主机的要求从相应介质读取1016个32位字数据,如果N不大于1016个字,则读取长度为N。读取的数据直接放到双口RAM的一个数据存储区,即第一数据存储区A(或第二数据存储区B),写入完成后,FPGA芯片更新双口RAM的命令寄存器相应的状态值,状态值包括第一数据存储区A和第二数据存储区B的读取数据的包数,即第几次读取。应用主机会检测双口RAM的命令寄存器中状态信息的变化,一旦检测到某一个存储区数据准备好,立刻更新命令寄存器,告诉FPGA芯片可以继续读取介质,然后开始高速读取此存储区的数据。FPGA芯片检测到应用主机发的响应命令,继续读取介质,并将读取的数据存放到双口RAM另一个数据存储区,即第二数据存储区B(或第一数据存储区A)。如此循环,直到数据完全读完。
写入和读出过程使用了双口RAM的2个数据存储区,实现对双口RAM存储区的乒乓控 制。这样做可以极大的降低中间环节操作的时间,方便应用主机的操作,降低写入和读出的延时时间,提高双口RAM的利用率,因而提高数记录系统整体的工作效率。
上述实施例用来解释本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明做出的任何修改和改变,都落入本发明的保护范围。

Claims (7)

1.一种基于FPGA的高速实时数据记录系统,其特征在于:包括FPGA芯片、NVRAM阵列、NAND Flash、SD卡和RTC实时时钟电路,FPGA芯片内部设有双口RAM、控制单元和管理单元;所述控制单元包括与双口RAM连接的并行总线控制单元和与双口RAM连接的PCI-E控制单元,并行总线控制单元和PCI-E控制单元均与实时控制系统的应用主机进行通讯;所述管理单元包括数据管理单元、与NVRAM阵列进行通讯的NVRAM管理单元、与NAND Flash进行通讯的NAND Flash管理单元、与SD卡进行通讯的SD卡管理单元、与RTC实时时钟电路进行通讯的RTC管理单元,NVRAM管理单元、NAND Flash管理单元、SD卡管理单元、RTC管理单元均与数据管理单元连接,数据管理单元、NVRAM管理单元、NAND Flash管理单元、SD卡管理单元均与双口RAM连接;所述双口RAM包括命令寄存器和两个数据存储区;数据记录系统写入数据时,在读取的状态信息和系统配置信息更新完成后,FPGA芯片开始查询双口RAM命令寄存器中的内容,应用主机先将需要存储数据顺序写入双口RAM中的一个数据存储区,即第一数据存储区A或第二数据存储区B,写完后应用主机将写命令和写入数据的属性写入命令寄存器,应用主机写完命令寄存器后,继续向另一个数据存储区写入数据,即第二数据存储区B或第一数据存储区A,每次写完数据存储区,更新一次双口RAM的命令寄存器中的命令值,FPGA芯片实时监测命令寄存器中的命令值,一旦发现写指令,则将相应存储区的内容高速缓存到NVRAM阵列,在此过程中实现对数据的分类。
2.如权利要求1所述的基于FPGA的高速实时数据记录系统,其特征在于:所述FPGA芯片设有并行总线接口、PCI-E总线接口和SD卡接口。
3.如权利要求2所述的基于FPGA的高速实时数据记录系统,其特征在于:所述并行总线控制单元通过并行总线接口由并行总线与实时控制系统的应用主机进行通讯。
4.如权利要求2所述的基于FPGA的高速实时数据记录系统,其特征在于:所述PCI-E控制单元通过PCI-E总线接口由PCI-E总线与实时控制系统的应用主机进行通讯。
5.如权利要求2所述的基于FPGA的高速实时数据记录系统,其特征在于:所述NVRAM管理单元通过并行总线接口由并行总线与NVRAM阵列进行通讯。
6.如权利要求2所述的基于FPGA的高速实时数据记录系统,其特征在于:所述NANDFlash管理单元通过并行总线接口由并行总线与NAND Flash进行通讯。
7.如权利要求2所述的基于FPGA的高速实时数据记录系统,其特征在于:所述SD卡管理单元通过SPI总线接口由SPI总线与SD卡进行通讯。
CN201610124203.0A 2016-03-04 2016-03-04 基于fpga的高速实时数据记录系统 Expired - Fee Related CN105701060B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610124203.0A CN105701060B (zh) 2016-03-04 2016-03-04 基于fpga的高速实时数据记录系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610124203.0A CN105701060B (zh) 2016-03-04 2016-03-04 基于fpga的高速实时数据记录系统

Publications (2)

Publication Number Publication Date
CN105701060A CN105701060A (zh) 2016-06-22
CN105701060B true CN105701060B (zh) 2019-02-12

Family

ID=56220788

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610124203.0A Expired - Fee Related CN105701060B (zh) 2016-03-04 2016-03-04 基于fpga的高速实时数据记录系统

Country Status (1)

Country Link
CN (1) CN105701060B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109789878B (zh) * 2016-10-03 2022-04-29 日立安斯泰莫株式会社 车载电子控制装置
CN108733482A (zh) * 2018-03-27 2018-11-02 华为技术有限公司 信息获取的方法、处理器以及通信装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201918169U (zh) * 2010-12-14 2011-08-03 南车南京浦镇车辆有限公司 机车车辆车载固态高速数字信号存储系统
CN102945291A (zh) * 2012-08-03 2013-02-27 南京理工大学 基于pci-e的高速图像采集存储卡

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8949502B2 (en) * 2010-11-18 2015-02-03 Nimble Storage, Inc. PCIe NVRAM card based on NVDIMM

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201918169U (zh) * 2010-12-14 2011-08-03 南车南京浦镇车辆有限公司 机车车辆车载固态高速数字信号存储系统
CN102945291A (zh) * 2012-08-03 2013-02-27 南京理工大学 基于pci-e的高速图像采集存储卡

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《基于FPGA的双口RAM实现及应用》;秦鸿刚 等;《电子设计工程》;20100205;第72-74页

Also Published As

Publication number Publication date
CN105701060A (zh) 2016-06-22

Similar Documents

Publication Publication Date Title
CN108958800B (zh) 一种基于fpga硬件加速的ddr管理控制系统
CN109085997A (zh) 用于非易失性存储器的存储器高效持续键值储存
CN104503703B (zh) 缓存的处理方法和装置
US8266371B2 (en) Non-volatile storage device, host device, non-volatile storage system, data recording method, and program
CN110389712B (zh) 数据写入方法及其装置、固态硬盘和计算机可读存储介质
CN107025130A (zh) 处理节点、计算机系统及事务冲突检测方法
US20230092562A1 (en) System, device, and method for memory interface including reconfigurable channel
CN105701060B (zh) 基于fpga的高速实时数据记录系统
CN108572932A (zh) 多平面nvm命令融合方法与装置
CN117632043B (zh) Cxl内存模组、控制芯片、数据处理方法、介质和系统
CN107250995A (zh) 存储器管理设备
CN107846327A (zh) 一种网管性能数据的处理方法及装置
CN110321300A (zh) 一种信号处理数据高速记录与回放模块的实现方法
CN109815157B (zh) 编程命令处理方法与装置
CN107229580A (zh) 顺序流检测方法与装置
CN108628759A (zh) 乱序执行nvm命令的方法与装置
CN109710547B (zh) 一种工业物联网中的缓冲内存管理设计与实现方法
JP6100927B2 (ja) 情報処理装置
CN110968527B (zh) Ftl提供的缓存
TWI534619B (zh) 動態邏輯分段方法以及使用該方法的裝置
US11860781B1 (en) Clean engine for write-back cache memory
CN106527962A (zh) 内部数据搬移方法以及使用该方法的装置
CN111290975A (zh) 使用统一缓存处理读命令与预读命令的方法及其存储设备
CN111290974A (zh) 用于存储设备的缓存淘汰方法与存储设备
CN106205707A (zh) 存储器装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190212

CF01 Termination of patent right due to non-payment of annual fee