CN115392294A - 一种基于fpga的数字采样系统 - Google Patents
一种基于fpga的数字采样系统 Download PDFInfo
- Publication number
- CN115392294A CN115392294A CN202210921526.8A CN202210921526A CN115392294A CN 115392294 A CN115392294 A CN 115392294A CN 202210921526 A CN202210921526 A CN 202210921526A CN 115392294 A CN115392294 A CN 115392294A
- Authority
- CN
- China
- Prior art keywords
- unit
- data
- ddr
- control unit
- waveform
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Analogue/Digital Conversion (AREA)
Abstract
一种基于FPGA的数字采样模块逻辑系统,属于数字采集技术领域,解决基于FPGA的数字采集的通用性低的问题。本发明的系统包括:所述系统包括FPGA、数字采样模拟前端和DDR,所述FPGA包括数字信号处理单元、数据计数单元、触发单元、波形计算单元、主状态机、DDR控制单元和寄存器读写控制单元。本发明适用于基于FPGA的数字采样模块的系统架构设计,能满足大多数示波记录仪的数字采集模块的功能需求,并且有较高的可拓展性和发展空间。在此设计的架构下,能够满足高速、低速等不同速率信号输入下的数字降采样处理、触发生成、不同存储模式、不同采样时机控制等要求,并且实现数据的实时存储、波形计算、深存储、内存分割和数据上传等功能。
Description
技术领域
本申请涉及数字采集技术领域,尤其涉及基于FPGA的数字采样模块逻辑系统。
背景技术
随着现代电子技术和信息处理的飞速发展,现代测试仪器的采集和显示功能越来越多样化,尤其是功能强大的示波记录仪,其采样率和带宽都得到了飞速增长,多个模块的灵活拼接,可以测量和采集多领域的电信号和物理信号,以及友好的人机交互界面供用户从多角度观察波形变化。
就目前存在的关于数字采集模块的设计进行归纳和总结,大多只是针对某些方向进行了优化和创意,没有形成统一的、标准的设计思路。虽然各具特点但是不具备通用性,基于FPGA的数字采集模块的通用性具体体现以下几个功能:
(1)支持多种速率采样率波形输入,并且能够实现降采样、滤波等对输入信号的简单处理;
(2)支持模拟前端器件的可控制性,对于前端的滤波器、增益衰减等模拟器件的控制;
(3)支持多通道数字信号采集通道输入;
(4)含有支持多种触发模式的触发通道,并且各个触发通道之间能够进行一些相关的逻辑组合和计算。同时也包括通过PXIe触发线在不同数字采集模块之间的触发功能;
(5)支持对于波形特性的实时计算单元;
(6)支持板载DDR存储和PXIe数据高速传输。
发明内容
本发明目的是为了解决现有基于FPGA的数字采集的通用性低的问题,提供了一种基于FPGA的数字采样系统。
本发明是通过以下技术方案实现的,提供一种基于FPGA的数字采样系统,所述系统包括FPGA、数字采样模拟前端和DDR,所述FPGA包括数字信号处理单元、数据计数单元、触发单元、波形计算单元、主状态机、DDR控制单元和寄存器读写控制单元;
所述数字信号处理单元用于对多路ADC采集到的实时波形进行初步处理和分析处理,所述初步处理具体包括对所述多路ADC采集到的实时波形进行初级降噪,获取初级降噪信号,所述分析处理具体包括对所述多路ADC采集到的实时波形进行分析处理,获取瞬时波形和包络波形;
所述数字信号处理单元将所述初级降噪信号发送给所述触发单元,将所述瞬时波形和包络波形发送给所述数据计数单元;
所述触发单元用于通过对输入数据的分析,在要求的点位标记触发点,以实现对信号加触发的目的,并将生成的触发信号发送给所述数据计数单元和所述主状态机;
所述数据计数单元用于将从所述数字信号处理单元接收到的信号和所述触发信号进行延时对齐,以及对各种模式下的数据点数进行计数控制,获取计数结果;
所述数据计数单元将所述延时对齐后的数据和所述计数结果发送给所述DDR控制单元,将所述延时对齐后的数据发送给所述波形计算单元;
所述波形计算单元用于对输入数据进行实时波形的计算,将计算结果发送给所述寄存器读写控制单元;
所述主状态机用于根据所述计数结果和触发信号,确定数据写入所述DDR控制单元的时间,并将该时间信号发送给所述DDR控制单元;
所述DDR控制单元用于根据所述主状态机和所述数据计数单元传入的数据进行DDR读写的控制,并将产生的地址包发送给所述寄存器读写控制单元;
所述寄存器读写控制单元用于将AXI-Lite协议解析的寄存器读写控制指令,分发到其他单元中去,还用于将输入数据上传。
进一步地,所述数字信号处理单元包括抗混叠滤波单元、降采样抽点单元和包络提取单元;
所述抗混叠滤波单元包括低通滤波器组,用于对信号进行低通滤波以防止在抽点后的频谱混叠问题,并将滤波后的信号发送给所述降采样抽点单元;
所述降采样抽点单元用于对滤波后的信号进行点数等间隔抽取,将所述等间隔抽取的波形作为瞬时波形进行输出,所述间隔可配置;
所述包络提取单元用于接收所述瞬时波形,并对所述瞬时波形按照预设的包络采样率进行提取,提取出预设采样时间段内的最大值和最小值并输出包络波形。
进一步地,所述数字信号处理单元还包括初级降噪单元,所述初级降噪单元用于对多路ADC采集到的实时波形进行初级降噪,并将所述初级降噪后的数据发送给所述触发单元。
进一步地,所述寄存器读写控制单元中的输入数据包括所述波形计算单元输出的计算结果和所述DDR控制单元产生的地址包。
进一步地,所述DDR控制单元包括DDR地址与数据的控制单元、地址FIFO与数据FIFO缓存单元和DDR写控制单元;
所述DDR地址与数据的控制单元包括DDR地址控制单元和数据控制单元;
所述DDR地址控制单元用于根据数据计数单元传入的计数结果进行分析和解析,确定每次向DDR写入地址的大小,并将所述向DDR写入地址的大小发送给所述地址FIFO与数据FIFO缓存单元;
所述数据控制单元用于将传入的波形信号进行拼接后写入DDR中,并将所述拼接后的波形信号发送给所述地址FIFO与数据FIFO缓存单元;
所述地址FIFO与数据FIFO缓存单元用于对输入数据进行钟域转换和位宽转换,还用于保存未被DDR写入的波形,将所述转换后的数据和所述保存的数据发送给所述DDR写控制单元;
所述DDR写控制单元用于将输入数据转换成符合AXI协议的数据格式并控制DDR的读写。
进一步地,所述DDR写控制单元中,在所述将输入数据转换成符合AXI协议的数据格式之前,还包括:
检测数据FIFO和地址FIFO的empty信号,若empty信号不为1,则开始进行AXI协议的写操作。
进一步地,所述波形计算单元包括40种波形计算功能,通过配置可同时产生16种波形计算功能对应的波形数据。
进一步地,所述主状态机用于根据所述计数结果和触发信号,确定数据写入所述DDR控制单元的时间,具体包括:
所述主状态机用于根据从所述寄存器读写控制单元接收到的寄存器读写控制指令、所述计数结果和触发信号,确定数据写入所述DDR控制单元的时间。
进一步地,所述DDR控制单元将关键点的地址以既定格式进行上传。
进一步地,所述寄存器读写控制指令包括:对于各个功能模块的参数配置、采样模式配置、开始信号发送或停止信号发送中的一种或多种。
本发明的有益效果:
1.本发明的数字信号处理单元和DDR控制单元能够实现对多通道、不同采样率的输入数据进行数据处理、存储和上传,最大采样率支持200MSa/s;
2.本发明的主状态机和触发单元满足多种采样时机、不同触发条件的控制;
3.本发明的主状态机和DDR控制单元支持板载的深存储、实时波形存储、波形上传等功能;
4.本发明的主状态机能够达到正常模式、包络模式以及双捕获模式下的预触发、后触发、触发优先、重复触发、数据存储等功能。
5.本发明的波形计算单元能够实现复杂的波形特征计算功能,包括对于多个类型的特征量进行实时计算。
本发明适用于基于FPGA的数字采样模块的系统架构设计,能满足大多数示波记录仪的数字采集模块的功能需求,并且有较高的可拓展性和发展空间。在此设计的架构下,能够满足高速、低速等不同速率信号输入下的数字降采样处理、触发生成、不同存储模式、不同采样时机控制等要求,并且实现数据的实时存储、波形计算、深存储、内存分割和数据上传等功能。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的FPGA系统实现逻辑示意图;
图2为本发明的数字信号处理单元示意图;
图3为本发明的DDR控制单元逻辑示意图;
图4为本发明的地址上传包的格式示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
实施方式一、一种基于FPGA的数字采样系统,所述系统包括FPGA、数字采样模拟前端和DDR,所述FPGA包括数字信号处理单元、数据计数单元、触发单元、波形计算单元、主状态机、DDR控制单元和寄存器读写控制单元;
所述数字信号处理单元用于对多路ADC采集到的实时波形进行初步处理和分析处理,所述初步处理具体包括对所述多路ADC采集到的实时波形进行初级降噪,获取初级降噪信号,所述分析处理具体包括对所述多路ADC采集到的实时波形进行分析处理,获取瞬时波形和包络波形;
所述数字信号处理单元将所述初级降噪信号发送给所述触发单元,将所述瞬时波形和包络波形发送给所述数据计数单元;
所述触发单元用于通过对输入数据的分析,在要求的点位标记触发点,以实现对信号加触发的目的,并将生成的触发信号发送给所述数据计数单元和所述主状态机;
所述数据计数单元用于将从所述数字信号处理单元接收到的信号和所述触发信号进行延时对齐,以及对各种模式下的数据点数进行计数控制,获取计数结果;
所述数据计数单元将所述延时对齐后的数据和所述计数结果发送给所述DDR控制单元,将所述延时对齐后的数据发送给所述波形计算单元;
所述波形计算单元用于对输入数据进行实时波形的计算,将计算结果发送给所述寄存器读写控制单元;
所述主状态机用于根据所述计数结果和触发信号,确定数据写入所述DDR控制单元的时间,并将该时间信号发送给所述DDR控制单元;
所述DDR控制单元用于根据所述主状态机和所述数据计数单元传入的数据进行DDR读写的控制,并将产生的地址包发送给所述寄存器读写控制单元;
所述寄存器读写控制单元用于将AXI-Lite协议解析的寄存器读写控制指令,分发到其他单元中去,还用于将输入数据上传。
本实施方式中,1.本实施方式的数字信号处理单元和DDR控制单元能够实现对多通道、不同采样率的输入数据进行数据处理、存储和上传,最大采样率支持200MSa/s;
2.本实施方式的主状态机和触发单元满足多种采样时机、不同触发条件的控制;
3.本实施方式的主状态机和DDR控制单元支持板载的深存储、实时波形存储、波形上传等功能;
4.本实施方式的主状态机能够达到正常模式、包络模式以及双捕获模式下的预触发、后触发、触发优先、重复触发、数据存储等功能。
5.本实施方式的波形计算单元能够实现复杂的波形特征计算功能,包括对于多个类型的特征量进行实时计算。
本实施方式将数字采集模块要实现的功能进行划分,精细地划分到每个单元中,使得各个单元具体且专一地负责某一项或者某一些功能。此设计的好处是能够清晰地描绘出来各个功能所安置的模块,只要协调好模块之间的连接条件和输入输出信号的特征,就可以快捷且迅速的实现。
并且本实施方式可以优化各个模块之间的功能。例如,专门的计数单元、状态机控制、DDR存储控制等,这样可以将繁杂的工作拆分到不同的模块中,同时可以针对每个模块进行代码的简化、资源优化等操作,提高系统实现效率。
实施方式二,本实施方式是对实施方式一所述的一种基于FPGA的数字采样系统的进一步限定,本实施方式中,对所述数字信号处理单元,做了进一步限定,具体包括:
所述数字信号处理单元包括抗混叠滤波单元、降采样抽点单元和包络提取单元;
所述抗混叠滤波单元包括低通滤波器组,用于对信号进行低通滤波以防止在抽点后的频谱混叠问题,并将滤波后的信号发送给所述降采样抽点单元;
所述降采样抽点单元用于对滤波后的信号进行点数等间隔抽取,将所述等间隔抽取的波形作为瞬时波形进行输出,所述间隔可配置;
所述包络提取单元用于接收所述瞬时波形,并对所述瞬时波形按照预设的包络采样率进行提取,提取出预设采样时间段内的最大值和最小值并输出包络波形。
本实施方式中,抗混叠滤波单元可以根据数字采集模块所支持的最大采样率和功能的复杂程度进行灵活地设计修改:在低速时可以选择DSP串行的设计方法,降低资源的利用;高速采样时需要采用多个DSP并行的设计方法,提高计算速度;在采样频率和截止频率差距较大时,可以采取多个滤波器级联的方法以满足大跨度的滤波需求。
包络波形和瞬时波形的降采样程度和滤波器的截止频率均允许用户配置。
实施方式三,本实施方式是对实施方式二所述的一种基于FPGA的数字采样系统的进一步限定,本实施方式中,对所述数字信号处理单元,做了进一步限定,具体包括:
所述数字信号处理单元还包括初级降噪单元,所述初级降噪单元用于对多路ADC采集到的实时波形进行初级降噪,并将所述初级降噪后的数据发送给所述触发单元。
本实施方式的数字信号处理单元可以为触发单元提供相较于此单元降采样后输出的数据来说,更加接近于原始数据的数据,用这些数据作为触发的分析数据比较合适,以实现触发单元对不同触发条件的控制。
本实施方式将要实现的功能进行划分,精细地划分到每个单元中,使得各个单元具体且专一地负责某一项或者某一些功能,进而能够清晰地描绘出来各个功能所安置的模块,只要协调好模块之间的连接条件和输入输出信号的特征,就可以快捷且迅速的实现。
实施方式四,本实施方式是对实施方式一所述的一种基于FPGA的数字采样系统的进一步限定,本实施方式中,对所述寄存器读写控制单元中的输入数据,做了进一步限定,具体包括:
所述寄存器读写控制单元中的输入数据包括所述波形计算单元输出的计算结果和所述DDR控制单元产生的地址包。
本实施方式中的寄存器读写控制单元实现了对于功能模块产生的输出进行上传的功能。
实施方式五,本实施方式是对实施方式一所述的一种基于FPGA的数字采样系统的进一步限定,本实施方式中,对所述DDR控制单元,做了进一步限定,具体包括:
所述DDR控制单元包括DDR地址与数据的控制单元、地址FIFO与数据FIFO缓存单元和DDR写控制单元;
所述DDR地址与数据的控制单元包括DDR地址控制单元和数据控制单元;
所述DDR地址控制单元用于根据数据计数单元传入的计数结果进行分析和解析,确定每次向DDR写入地址的大小,并将所述向DDR写入地址的大小发送给所述地址FIFO与数据FIFO缓存单元;
所述数据控制单元用于将传入的波形信号进行拼接后写入DDR中,并将所述拼接后的波形信号发送给所述地址FIFO与数据FIFO缓存单元;
所述地址FIFO与数据FIFO缓存单元用于对输入数据进行钟域转换和位宽转换,还用于保存未被DDR写入的波形,将所述转换后的数据和所述保存的数据发送给所述DDR写控制单元;
所述DDR写控制单元用于将输入数据转换成符合AXI协议的数据格式并控制DDR的读写。
本实施方式中,所述DDR控制单元能够实现对多通道、不同采样率的输入数据存储和上传,支持板载的深存储、实时波形存储、波形上传等功能。
本实施方式中,保存一些尚未被DDR写入的波形,作一个缓冲的作用,从而在实时存储功能开启时,DDR数据上发的时候FIFO可以临时存一部分数据,避免了因为DDR数据不能同时读写而出现的死区问题。
实施方式六,本实施方式是对实施方式一所述的一种基于FPGA的数字采样系统的进一步限定,本实施方式中,对所述DDR写控制单元,做了进一步限定,具体包括:
所述DDR写控制单元中,在所述将输入数据转换成符合AXI协议的数据格式之前,还包括:
检测数据FIFO和地址FIFO的empty信号,若empty信号不为1,则开始进行AXI协议的写操作。
实施方式七,本实施方式是对实施方式一所述的一种基于FPGA的数字采样系统的进一步限定,本实施方式中,对所述波形计算单元,做了进一步限定,具体包括:
所述波形计算单元包括40种波形计算功能,通过配置可同时产生16种波形计算功能对应的波形数据。
本实施方式的40种波形测量功能包括例如最大值、最小值、平均值、有效值、周期、频率等等。能够实现复杂的波形特征计算功能,包括对于多个类型的特征量进行实时计算。
实施方式八,本实施方式是对实施方式一所述的一种基于FPGA的数字采样系统的进一步限定,本实施方式中,对所述主状态机用于根据所述计数结果和触发信号,确定数据写入所述DDR控制单元的时间,做了进一步限定,具体包括:
所述主状态机用于根据从所述寄存器读写控制单元接收到的寄存器读写控制指令、所述计数结果和触发信号,确定数据写入所述DDR控制单元的时间。
所述主状态机处理与数据存储相关的信号,所述数据存储相关的信号包括数据控制信号、模式配置信号、实时的触发和计数器信号。
本实施方式中,主要的设计思想是在状态机中处理寄存器读写控制指令中的模式配置信号、以及触发信号和数据点数的计数结果等信号。
主状态机需要根据存储时机配置的不同,去选择start、stop或者strat&stop的存储模式。Start模式是当触发信号来到时开始存储,存满设置的点数时停止,即计数结果达到设置的点数时停止;stop模式是人为控制来开始存储,遇到触发或者存满设置的点数时停止;start&stop模式是指遇到触发时开始存储,再次遇到触发或者存满设置的点数时停止。同时在start模式中可设置一段预触发长度,即可以提前存储触发开始点之前的一段波形;在stop模式中可以设置后触发,即可以存储在触发停止点之后的一段波形;在start&stop模式中即可以设置预触发,又可以设置后触发。同时在预触发设置时支持触发优先功能的设置,即在设定的预触发长度没有存满之前,是否接受触发信号:当触发优先开启时,即使没有存满设定的预触发长度,新的触发信号来的时候也可以看作预触发条件成立,当触发优先关闭时,等待存满设定的预触发长度后再来的触发信号才可以看作预触发条件成立。最终主状态机综合所有的配置条件、触发信号、数据点数计数结果之后,给DDR控制单元输入一个能代表开始和结束时间的信号。
实施方式九,本实施方式是对实施方式一所述的一种基于FPGA的数字采样系统的进一步限定,本实施方式中,对所述DDR控制单元,做了进一步限定,具体包括:
所述DDR控制单元将关键点的地址以既定格式进行上传。
本实施方式中,在控制地址的同时需要将关键点的地址以既定的格式上传到上位机中,以便于软件对于DDR存储的起止地址,预触发、后触发点,内存分割点等的位置进行获取。
实施方式十,本实施方式是对实施方式一所述的一种基于FPGA的数字采样系统的进一步限定,本实施方式中,对所述寄存器读写控制指令,做了进一步限定,具体包括:
所述寄存器读写控制指令包括:对于各个功能模块的参数配置、采样模式配置、开始信号发送或停止信号发送中的一种或多种。
本实施方式,可以实现对全部功能模块的设置,实现数字采集模块要实现的功能。
实施方式十一,本实施方式基于如上文所述的一种基于FPGA的数字采样系统的具体实施例,具体包括:
本实施方式所设计的数字采集模块主要包括FPGA和其余的数字采样模拟前端、DDR和PXIe等硬件器件。数字采样模拟前端用于将最初系统输入的数据由模拟信号转换为数字信号后,将转换后的数据输入到FPGA中;DDR实现了FPGA中数据的板载存储;PXIe负责将DDR中的数据取出并上发到上位机。此实施方式主要对FPGA的架构进行了设计,设计的核心为FPGA内部的逻辑设计,该部分采用Verilog语言实现。
FPGA的主要系统逻辑如图1所示。需要说明的是,图中的所有粗箭头均代表的是波形信号(本实施例中数据信号、信号、数据都是指波形信号)。细的箭头代表的是控制信号、计数信号、触发信号等其他相关信号的传输。上位机的寄存器配置是通过下面的“寄存器读写和控制单元”分发到各个模块的,每个模块都有寄存器。
此系统设计的主要思想是将数字采集模块要实现的功能进行划分,精细地划分到每个单元中,使得各个单元具体且专一地负责某一项或者某一些功能。此设计的好处是能够清晰地描绘出来各个功能所安置的模块,只要协调好模块之间的连接条件和输入输出信号的特征,就可以快捷且迅速的实现。
并且此系统设计思路可以优化各个模块之间的功能。例如,专门的计数单元、状态机控制、DDR存储控制等,这样可以将繁杂的工作拆分到不同的模块中,同时可以针对每个模块进行代码的简化、资源优化等操作,提高系统实现效率。以下是具体的系统功能描述:
1.数字信号处理单元
数字信号处理单元是负责对多路ADC采集到的实时波形进行分析和处理,以生成两路波形数据。ADC,Analog-to-Digital Converter的缩写,指模/数转换器或者模拟/数字转换器。
这两路数据的降采样程度和滤波器的截止频率均允许用户配置:包括一路可选择降采样率的瞬时波形和一路可选择降采样率的包络波形,包络波形不高于瞬时波形采样率。
包络波形可以实时监控数据的大概趋势,当特定情况出现的时候可以及时生成触发;
瞬时波形指的是实时采集到的波形,速度比趋势波形快,当特定情况出现时将特定点附近的瞬时波形存下以便于后续的查看和分析。
此单元的配置参数、滤波器的截止频率等参数均可以由用户通过上位机进行配置下发。主要的设计逻辑如图2所示。
此单元主要包含三个部分:抗混叠滤波单元、降采样抽点单元和包络提取单元。
1.1抗混叠滤波单元:
抗混叠滤波单元主要是由低通滤波器组构成,主要的作用是对信号进行低通滤波以防止在抽点后的频谱混叠问题。此模块可以根据数字采集模块所支持的最大采样率和功能的复杂程度进行灵活地设计修改:在低速时可以选择DSP串行的设计方法,降低资源的利用;高速采样时需要采用多个DSP并行的设计方法,提高计算速度;在采样频率和截止频率差距较大时,可以采取多个滤波器级联的方法以满足大跨度的滤波需求。
1.2降采样抽点单元:
降采样抽点单元的主要作用是对滤波后的信号进行点数等间隔抽取。所抽取的点数间隔可配置,为用户所需要的降采样的值。等间隔抽取后的波形即为降采样后的波形,可以直接作为瞬时波形输出。
同时若用户设定了包络波形的需求,此单元将输出一路数据给包络提取单元,以供包络波形的生成。
1.3包络提取单元:
包络提取单元的主要作用是对前面输出的瞬时波形按照用户所设定的包络采样率进行提取,提取出一定采样时间段内的最大值和最小值并输出包络波形。
2.数据计数单元
数据计数单元主要包括对于输入数据和触发信号的延时对齐和对各种模式下的数据点数进行计数控制。
由于降采样和触发的生成单元都有各自的群延迟,需要将数据信号和触发信号在时间上进行对齐操作。所以此模块的一个功能是根据用户不同的配置条件进行延迟和调整,使得数据信号和触发信号对齐。
数据计数单元的另一个作用是对于不同功能类型下的数据点数进行计数。此单元要支持不同功能类型的计数,包括内存分割的块数,预触发、后触发点数,瞬时波形、包络波形点数等各种点数的控制。各个计数器的起止通过主状态机的时机控制下发。
3.触发单元
触发单元的主要作用是通过对输入数据的分析,在要求的点位标记触发点,以实现对于信号加触发的目的。此模块的输入是数字信号处理单元经过初级降噪后的数据,相较于此单元降采样后输出的数据来说,这些数据更加接近于原始数据,所以用这些数据作为触发的分析数据比较合适。
触发单元可以根据不同的配置信息进行不同种类触发信号的生成,例如电平触发、周期触发、窗口触发、电压下降触发等等。
此模块生成的触发送入数据计数单元和主状态机,用于决定存储的开始和结束以及点数计数器的控制。
4.波形计算单元
波形计算单元是实现特定的波形计算功能的单元,此单元能同时对于多个类型的计算量进行实时波形的计算。此模块共有40种可以选择的波形测量功能,例如:最大值、最小值、平均值、有效值、周期、频率等等,用户可以通过配置选择同时测量最大支持16种。
此模块将实时地获取输入的波形并且经过短暂延迟后输出计算结果。通过上位机控制寄存器进行计算模式的配置,计算结果存入寄存器中通过上位机读取寄存器的方法获取。
5.主状态机
主状态机的主要作用是综合数据点数的计数结果和触发信号,来决定数据写入DDR的时间。
主要的设计思想是在状态机中处理所有的数据信号、寄存器下发的模式配置信号、触发信号和数据点数的计数结果等信号。
主状态机需要根据存储时机配置的不同,去选择start、stop或者strat&stop的存储模式。Start模式是当触发信号来到时开始存储,存满设置的点数时停止,即计数结果达到设置的点数时停止;stop模式是人为控制来开始存储,遇到触发或者计数结果达到设置的点数时停止;start&stop模式是指遇到触发时开始存储,再次遇到触发或者计数结果达到设置的点数时停止。同时在start模式中可设置一段预触发长度,即可以提前存储触发开始点之前的一段波形;在stop模式中可以设置后触发,即可以存储在触发停止点之后的一段波形;在start&stop模式中即可以设置预触发,又可以设置后触发。同时在预触发设置时支持触发优先功能的设置,即在计数结果没有达到设置的预触发长度点数之前,是否接受触发信号:当触发优先开启时,即使计数结果没有达到设置的预触发长度点数,新的触发信号来的时候也可以看作预触发条件成立,当触发优先关闭时,等待计数结果达到设定的预触发长度点数后再来的触发信号才可以看作预触发条件成立。最终主状态机综合所有的配置条件、触发信号、数据点数计数结果之后,给DDR控制单元输入一个能代表开始和结束时间的信号。
6.DDR控制单元
此模块需要根据主状态机和数据计数单元传入的数据进行DDR读写的控制。此单元包括DDR地址、数据的控制,地址FIFO、数据FIFO缓存和DDR写控制单元。主要的模块如图3所示。
DDR的控制单元需要根据采样模式的不同,选择将瞬时波形、包络波形还是两者的数据同时存入DDR中。
DDR地址控制需要根据数据计数单元传入的计数结果进行分析和解析,以确定每次向DDR写入的地址的大小;数据控制则需要将传入的波形信号先进行拼接再写入DDR中。
数据FIFO和地址FIFO的缓存,在能够满足时钟域转换、位宽转换的同时,还能够保存一部分波形,从而在实时存储功能开启时,DDR数据上发的时候FIFO可以临时存一部分数据,避免了因为DDR数据不能同时读写而出现的死区问题。
DDR写控制单元需要将FIFO输出的流数据格式直接转换成符合AXI协议的数据格式并控制DDR的读写。此单元可以检测数据FIFO和地址FIFO的empty信号,若empty信号不为1,则说明有需要读写的数据和地址信号,则开始进行AXI协议的写操作。
DDR控制单元在控制地址的同时需要将关键点的地址以既定的格式上传到上位机中,以便于软件对于DDR存储的起止地址,预触发、后触发点,内存分割点等的位置进行获取。地址包的格式如图4所示.
由图4可看出,地址包上传时,地址包中含有多种信息,包括地址值、地址种类、触发的ID以及内存分割的ID:地址值代表当前包所表示的地址实际写入的值;地址种类表示当前写入的地址值是开始地址、结束地址、预触发地址、后触发地址等地址类型中的哪一个;触发ID代表的是第几次触发;内存分割表示此段地址所代表的是哪段分割的内存。
7.寄存器读写控制单元
此单元主要的作用是将AXI-Lite协议解析的寄存器读写控制指令,分发到各个模块中去。包括上位机对于各个功能模块的参数配置,采样模式配置,开始、停止信号发送等所有的模式和命令的下发。同时也需要对于某些功能模块产生的输出进行上传,例如波形计算单元输出的计算数值,DDR地址控制单元产生的地址包等信息。
Claims (10)
1.一种基于FPGA的数字采样系统,所述系统包括FPGA、数字采样模拟前端和DDR,其特征在于,所述FPGA包括数字信号处理单元、数据计数单元、触发单元、波形计算单元、主状态机、DDR控制单元和寄存器读写控制单元;
所述数字信号处理单元用于对多路ADC采集到的实时波形进行初步处理和分析处理,所述初步处理具体包括对所述多路ADC采集到的实时波形进行初级降噪,获取初级降噪信号,所述分析处理具体包括对所述多路ADC采集到的实时波形进行分析处理,获取瞬时波形和包络波形;
所述数字信号处理单元将所述初级降噪信号发送给所述触发单元,将所述瞬时波形和包络波形发送给所述数据计数单元;
所述触发单元用于通过对输入数据的分析,在要求的点位标记触发点,以实现对信号加触发的目的,并将生成的触发信号发送给所述数据计数单元和所述主状态机;
所述数据计数单元用于将从所述数字信号处理单元接收到的信号和所述触发信号进行延时对齐,以及对各种模式下的数据点数进行计数控制,获取计数结果;
所述数据计数单元将所述延时对齐后的数据和所述计数结果发送给所述DDR控制单元,将所述延时对齐后的数据发送给所述波形计算单元;
所述波形计算单元用于对输入数据进行实时波形的计算,将计算结果发送给所述寄存器读写控制单元;
所述主状态机用于根据所述计数结果和触发信号,确定数据写入所述DDR控制单元的时间,并将该时间信号发送给所述DDR控制单元;
所述DDR控制单元用于根据所述主状态机和所述数据计数单元传入的数据进行DDR读写的控制,并将产生的地址包发送给所述寄存器读写控制单元;
所述寄存器读写控制单元用于将AXI-Lite协议解析的寄存器读写控制指令,分发到其他单元中去,还用于将输入数据上传。
2.根据权利要求1所述的一种基于FPGA的数字采样系统,其特征在于,所述数字信号处理单元包括抗混叠滤波单元、降采样抽点单元和包络提取单元;
所述抗混叠滤波单元包括低通滤波器组,用于对信号进行低通滤波以防止在抽点后的频谱混叠问题,并将滤波后的信号发送给所述降采样抽点单元;
所述降采样抽点单元用于对滤波后的信号进行点数等间隔抽取,将所述等间隔抽取的波形作为瞬时波形进行输出,所述间隔可配置;
所述包络提取单元用于接收所述瞬时波形,并对所述瞬时波形按照预设的包络采样率进行提取,提取出预设采样时间段内的最大值和最小值并输出包络波形。
3.根据权利要求2所述的一种基于FPGA的数字采样系统,其特征在于,所述数字信号处理单元还包括初级降噪单元,所述初级降噪单元用于对多路ADC采集到的实时波形进行初级降噪,并将所述初级降噪后的数据发送给所述触发单元。
4.根据权利要求1所述的一种基于FPGA的数字采样系统,其特征在于,所述寄存器读写控制单元中的输入数据包括所述波形计算单元输出的计算结果和所述DDR控制单元产生的地址包。
5.根据权利要求1所述的一种基于FPGA的数字采样系统,其特征在于,所述DDR控制单元包括DDR地址与数据的控制单元、地址FIFO与数据FIFO缓存单元和DDR写控制单元;
所述DDR地址与数据的控制单元包括DDR地址控制单元和数据控制单元;
所述DDR地址控制单元用于根据数据计数单元传入的计数结果进行分析和解析,确定每次向DDR写入地址的大小,并将所述向DDR写入地址的大小发送给所述地址FIFO与数据FIFO缓存单元;
所述数据控制单元用于将传入的波形信号进行拼接后写入DDR中,并将所述拼接后的波形信号发送给所述地址FIFO与数据FIFO缓存单元;
所述地址FIFO与数据FIFO缓存单元用于对输入数据进行钟域转换和位宽转换,还用于保存未被DDR写入的波形,将所述转换后的数据和所述保存的数据发送给所述DDR写控制单元;
所述DDR写控制单元用于将输入数据转换成符合AXI协议的数据格式并控制DDR的读写。
6.根据权利要求5所述的一种基于FPGA的数字采样系统,其特征在于,所述DDR写控制单元中,在所述将输入数据转换成符合AXI协议的数据格式之前,还包括:
检测数据FIFO和地址FIFO的empty信号,若empty信号不为1,则开始进行AXI协议的写操作。
7.根据权利要求1所述的一种基于FPGA的数字采样系统,其特征在于,所述波形计算单元包括40种波形计算功能,通过配置可同时产生16种波形计算功能对应的波形数据。
8.根据权利要求1所述的一种基于FPGA的数字采样系统,其特征在于,所述主状态机用于根据所述计数结果和触发信号,确定数据写入所述DDR控制单元的时间,具体包括:
所述主状态机用于根据从所述寄存器读写控制单元接收到的寄存器读写控制指令、所述计数结果和触发信号,确定数据写入所述DDR控制单元的时间。
9.根据权利要求1所述的一种基于FPGA的数字采样系统,其特征在于,所述DDR控制单元将关键点的地址以既定格式进行上传。
10.根据权利要求1所述的一种基于FPGA的数字采样系统,其特征在于,所述寄存器读写控制指令包括:对于各个功能模块的参数配置、采样模式配置、开始信号发送或停止信号发送中的一种或多种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210921526.8A CN115392294A (zh) | 2022-08-02 | 2022-08-02 | 一种基于fpga的数字采样系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210921526.8A CN115392294A (zh) | 2022-08-02 | 2022-08-02 | 一种基于fpga的数字采样系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115392294A true CN115392294A (zh) | 2022-11-25 |
Family
ID=84117980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210921526.8A Pending CN115392294A (zh) | 2022-08-02 | 2022-08-02 | 一种基于fpga的数字采样系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115392294A (zh) |
-
2022
- 2022-08-02 CN CN202210921526.8A patent/CN115392294A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107133011B (zh) | 一种示波记录仪的多通道数据存储方法 | |
CN101364097B (zh) | 一种高实时性的多通道数据采集系统 | |
US6297760B1 (en) | Data acquisition system comprising real-time analysis and storing means | |
EP3249543A1 (en) | Interface signal remapping method based on fpga | |
TWI452465B (zh) | Method of arranging and processing the electronic measuring device and its tandem parallel data | |
CN101799321A (zh) | 智能振动监测系统 | |
CN104077492A (zh) | 一种基于fpga的采样数据内插方法 | |
CN110687858A (zh) | 一种多通道脉冲信号的同步采集和传输系统 | |
CN108664425A (zh) | 一种基于高速模数转换和时间数字转换技术的数据采集系统 | |
CN111459052A (zh) | 多功能车辆总线仿真检测系统和方法 | |
CN208872796U (zh) | 一种基于pci接口的多通道通用示波卡及系统 | |
CN201072435Y (zh) | 逻辑分析仪 | |
CN112035302A (zh) | 一种总线数据的实时监控分析方法、装置及系统 | |
CN111143261A (zh) | 一种基于pcie高速数据采集系统 | |
CN110959121B (zh) | 用于集成电路的逻辑分析器 | |
CN115392294A (zh) | 一种基于fpga的数字采样系统 | |
CN111683310B (zh) | 一种可组网式数据采集分析系统及方法 | |
US8144828B2 (en) | Counter/timer functionality in data acquisition systems | |
CN102231140B (zh) | 一种基于双口ram的数据包络获取方法 | |
CN113806277B (zh) | 基于srio协议的fpga与dsp的数据传输系统 | |
CN108918937A (zh) | 一种基于pci接口的通用示波卡 | |
CN208872797U (zh) | 一种基于pci接口的通用示波卡及系统 | |
CN115240752A (zh) | 对芯片内闪存信号进行分析的装置、方法和电子设备 | |
CN202058148U (zh) | 轴芯轨迹分析仪 | |
CN108132636A (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 |