CN105718404A - 一种基于fpga的方波发生器及方法 - Google Patents
一种基于fpga的方波发生器及方法 Download PDFInfo
- Publication number
- CN105718404A CN105718404A CN201610032859.XA CN201610032859A CN105718404A CN 105718404 A CN105718404 A CN 105718404A CN 201610032859 A CN201610032859 A CN 201610032859A CN 105718404 A CN105718404 A CN 105718404A
- Authority
- CN
- China
- Prior art keywords
- square
- wave
- data
- wave signal
- delay
- 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
- 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/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/38—Universal adapter
- G06F2213/3852—Converter between protocols
Abstract
本发明公开了一种基于FPGA的方波发生器及方法,该发生器包括总线控制模块,用于接收上位机发送的播放命令和播放地址;波形播放管理模块,用于接收并依据播放命令和播放地址从存储模块中读取原始波形数据,并对原始波形数据进行解码,得到波形数据,依据波形数据生成延时数据,并将波形数据和延时数据输出;并串转换单元,用于接收并行输入的波形数据并将波形数据串行输出,得到方波信号;延时链单元,用于对方波信号进行延时;多路选择控制器,用于接收延时数据,并依据延时数据确定方波信号在延时链单元上的输出节点,并从输出节点引出相应的延时后的方波信号并输出,实现了能够连续输出精度高且无死时间的方波信号。
Description
技术领域
本发明涉及方波发生技术领域,特别是涉及一种基于FPGA的方波发生器及方法。
背景技术
近年来,随着电子科学技术以及相关研究领域的快速发展,方波发生器在电子科学与技术、通讯、物理、化学、生物,甚至医学领域得到了广泛的应用。高速高精度的方波不仅可应用于超声波、雷达、医疗成像、通信、激光控制等场合,甚至在电子顺磁共振、核磁共振、质谱等前沿科研领域也有广泛应用。随着现代科学技术以及实验方法的快速发展,对高速高精度的方波发生功能提出了新的需求。
现有技术中,为了生成高速高精度的方波信号,常用有两种方案,一种是采用FPGA和高速串行化技术相结合的方式,利用高速时钟能够将方波的分辨率控制做到2ns。一般采用DDR存储波形数据,通过以太网或者PCI总线实现与上位机通讯传输波形参数,FPGA的数字逻辑部分将波形参数从DDR中读出,完成波形的解析后通过高速串行化技术将波形输出。但是基于高速时钟的方法虽能实现高速方波发生功能只能实现ns量级的方波时间精度,仍不能满足高精度的需求,且基于DDR3的波形数据存储架构,方波宽度的最低限制为12ns。另一种方案是基于游标卡尺方法或者高性能延时PLL(PhaseLockedLoop,锁定环)的DTC(DigitaltoTimeConvert,数字时间转换器),能够做到皮秒甚至亚皮秒量级的时间精度,但无论是游标卡尺型还是基于PLL的高精度DTC,其虽然能够输出时间精度非常高的方波脉冲,但是都具有一些比较大的局限性,抑或输出的脉冲的最大宽度有限,抑或输出脉冲的死时间非常长,死时间甚至可达微秒量级。
因此,如何提供一种能够连续输出精度高以及无死时间的动态范围大的方波发生器及方法是本领域技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种基于FPGA的方波发生器,实现了能够连续输出精度高且无死时间的方波信号;本发明的另一目的是提供一种基于FPGA的方波发生方法。
为解决上述技术问题,本发明提供了一种基于FPGA的方波发生器,包括:
总线控制模块,用于接收上位机发送的播放命令和播放地址,并将所述播放命令和所述播放地址输出;
波形播放管理模块,用于接收并依据所述播放命令和所述播放地址从存储模块中读取原始波形数据,并对所述原始波形数据进行解码,得到波形数据,依据所述波形数据生成延时数据,并将所述波形数据和所述延时数据输出;
并串转换单元,用于接收并行输入的所述波形数据并将所述波形数据串行输出,得到方波信号;
延时链单元,用于对所述方波信号进行延时;
多路选择控制器,用于接收所述延时数据,并依据所述延时数据确定所述方波信号在所述延时链单元上的输出节点,并从所述输出节点引出相应的延时后的方波信号并输出。
优选地,所述并串转换单元,具体用于按照系统时钟接收并行输入的所述波形数据,并按照高速时钟采用DDR方式串行输出所述方波信号,其中,所述高速时钟的频率是所述系统时钟的4倍。
优选地,所述延时数据包括所述方波信号的时间沿关系式t,其中:
其中,n1为当前方波信号到来之前的所有方波信号的总长度;
T为所述高速时钟的周期;
n2为所述延时链单元中输出信号的节点;
t0为所述延时链单元中,单个延时单元的延时时间;
所述延时链单元的长度不小于所述高速时钟的周期。
优选地,其中,n为正整数。
优选地,n取12,t0取50ps。
优选地,所述存储模块,具体用于通过所述总线控制模块接收所述上位机发送的存储命令、存储地址和所述原始波形数据,并依据所述存储命令对所述存储地址进行解码,并依据解码后的所述存储地址存储所述原始波形数据。
优选地,在所述存储模块中,所述原始波形数据中的每个方波信号占用80bit的数据,其中,32bit为每个方波信号保持高电平的时间信息,32bit为每个方波信号保持低电平的时间信息,8bit为每个方波信号的上升沿与所述高速时钟的时钟沿的延时时间信息,8bit为每个方波信号的下降沿与所述高速时钟的时钟沿的延时时间信息。
优选地,该方波发生器还包括:
时钟管理模块,用于接收外部输入的参考时钟,并依据所述参考时钟生成所述总线控制模块、所述波形播放管理模块、所述并串转换单元以及所述多路选择控制器的工作时钟,其中,所述工作时钟为所述系统时钟;还用于依据所述参考时钟生成所述并串转换单元的所述高速时钟。
优选地,所述总线控制模块为USB总线控制模块。
为解决上述技术问题,本发明还提供了一种基于FPGA的方波发生方法,包括:
接收上位机发送的播放命令和播放地址,并将所述播放命令和所述播放地址输出;
接收并依据所述播放命令和所述播放地址从存储模块中读取原始波形数据,并对所述原始波形数据进行解码,得到波形数据,依据所述波形数据生成延时数据,并将所述波形数据和所述延时数据输出;
接收并行输入的所述波形数据并将所述波形数据串行输出,得到方波信号;
对所述方波信号进行延时;
接收所述延时数据,并依据所述延时数据确定所述方波信号在所述延时链单元上的输出节点,并从所述输出节点引出相应的延时后的方波信号并输出。
本发明提供了一种基于FPGA的方波发生器及方法,该发生器中,并串转换单元将方波信号输出至延时链单元,延时链单元来对方波信号进行延时,多路选择控制器接收并依据延时数据确定方波信号在延时链单元上的输出节点,并从输出节点引出相应的延时后的方波信号并输出,利用延时链法对高速时钟进行时间内插,在提高方波信号时间分辨率的同时仍保留高速的特性,保证了无死时间的方波输出能力。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种基于FPGA的方波发生器的结构示意图;
图2为本发明提供的一种方波信号的存储结构示意图;
图3为本发明提供的一种方波输出模块的结构示意图;
图4为本发明提供的一种基于FPGA的方波发生方法的过程流程图。
具体实施方式
本发明的核心是提供一种基于FPGA的方波发生器,实现了能够连续输出精度高无死时间的方波信号;本发明的另一核心是提供一种基于FPGA的方波发生方法。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明提供的一种基于FPGA的方波发生器的结构示意图,该方波发生器包括:
总线控制模块,用于接收上位机发送的播放命令和播放地址,并将播放命令和播放地址输出;
作为优选地,总线控制模块为USB总线控制模块1。
可以理解的是,在FPGA的内部设计USB总线控制模块1,基于USB总线的USB总线控制模块1用于实现FPGA通过USB总线与上位机之间的通信,这其中包括控制命令和原始波形数据的下载和更新。
当然,这里的总线控制模块还可以为其他类型的总线控制模块,在此本发明在此不做特别的限定,能实现本发明目的的不同类型的总线控制模块均在本发明的保护范围之内。
波形播放管理模块2,用于接收并依据播放命令和播放地址从存储模块6中读取原始波形数据,并对原始波形数据进行解码,得到波形数据,依据波形数据生成延时数据,并将波形数据和延时数据输出;
进一步地,存储模块6,具体用于通过总线控制模块接收上位机发送的存储命令、存储地址和原始波形数据,并依据存储命令对存储地址进行解码,并依据解码后的存储地址存储原始波形数据。
可以理解的是,上位机首先需要通过USB总线向USB总线控制模块1发送存储命令、存储地址以及原始波形数据,然后USB总线控制模块1将存储命令、存储地址以及原始波形数据发送至存储模块6,存储模块6对存储地址进行解码,然后根据解码后的存储地址将原始波形数据存进存储模块6中。
作为优选地,在存储模块6中,原始波形数据中的每个方波信号占用80bit的数据,其中,32bit为每个方波信号保持高电平的时间信息,32bit为每个方波信号保持低电平的时间信息,8bit为每个方波信号的上升沿与高速时钟的时钟沿的延时时间信息,8bit为每个方波信号的下降沿与高速时钟的时钟沿的延时时间信息。
具体地,请参照图2,图2为本发明提供的一种方波信号的存储结构示意图;
高精度方波的原始波形数据存储于FPGA内部的存储模块6中,原始波形数据中的每个方波信号的数据按照图2所示的结构存储于存储模块6中。对于高精度方波发生器的原始波形数据,其有效的信息为:保持高电平(逻辑“1”)的时间,保持低电平(逻辑“0”)的时间,以及方波信号的上升沿和下降沿相对与高速时钟的时钟沿的延时时间。每个方波信号共占用80bit(位)的数据:其中,32bit为方波信号中保持高电平(即逻辑“1”)的时间信息,32bit为保持低电平(逻辑“0”)的时间信息,这两种32位数据中每一个最低位所代表的时间即为高速时钟的周期T;每个方波信号的上升沿与高速时钟的时钟沿的延时时间信息也即图2中的前沿延时占用8位数据,每个方波信号的下降沿与高速时钟的时钟沿的延时时间信息也即图2中的后沿延时占用8位数据,其最低位所代表的时间即为延时链单元4中单个延时单元的延时时间。
作为优选地,延时数据包括方波信号的时间沿关系式t,其中:
其中,n1为当前方波信号到来之前的所有方波信号的总长度;
T为高速时钟的周期;
n2为延时链单元4中输出信号的节点;
t0为延时链单元4中,单个延时单元的延时时间;
延时链单元4的长度不小于高速时钟的周期。
可以理解的是,方波信号的时间沿关系式t由两个因素决定:其一是并行输入的粗时间数据设为其中n1由当前方波信号到来之前的所有方波信号的总长度,由高电平时间和低电平时间总和决定;其二是当前方波信号的时间沿的延时时间n2*t0,n2即为延时链中输出信号的节点,t0为单个延时单元的延时时间,即通过同时精确设定方波信号的前沿和后沿的到来时间,即可精确调整方波的相对延时和脉冲宽度,从关系式可见,在t0远远小于T时,方波最小可调节的精度即为t0。另外,这里要求延时链的长度至少覆盖整个高速时钟的周期T
综上所述,使用FPGA内置的并串转换单元3,结合延时链单元4实现对高速时钟的时间内插,得到等同于延时链单元4中单个延时单元延时的时间分辨率。
进一步地,其中,n为正整数。
通过对FPGA内部的时钟管理模块7的设置,将并串转换单元3的输入的高速时钟的周期T设定为满足等式并结合FPGA逻辑进一步优化设计方波数据的结构,实现方波时间分辨率的翻倍。其中t0即为延时链单元4中单个延时单元的延时时间,对于方波信号的时间沿的到来时间 则有 通过精确设计n1和n2的取值,使二者的变化交替改变,并在FPGA中进行实时解析处理再送由方波输出模块(包括并串转换单元3、延时链单元4以及多路选择控制单元5)进行输出,可实现方波信号的时间沿的调节精度为1/2*t0,即通过时间交替内插法可将方波信号的时间精度提高一倍,同时还能保证高速方波的特性,且不会牺牲方波发生器的死时间和动态范围等基本参数。
作为优选地,n取12,t0取50ps。
可以理解的是,当n取12,t0取50ps时,则此时T为1.25ns,时间分辨率为也即25ps,可见,精度非常高。
当然,这里的n和t0根据实际情况来确定,不同的方波发生器可取不同的值。
并串转换单元3,用于接收并行输入的波形数据并将波形数据串行输出,得到方波信号;
作为优选地,并串转换单元3,具体用于按照系统时钟接收并行输入的波形数据,并按照高速时钟采用DDR方式串行输出方波信号,其中,高速时钟的频率是系统时钟的4倍。
延时链单元4,用于对方波信号进行延时;
可以理解的是,延时链单元4能够实现对方波信号的高精度延时,得到高时间分辨的方波信号输出。
多路选择控制器5,用于接收延时数据,并依据延时数据确定方波信号在延时链单元4上的输出节点,并从输出节点引出相应的延时后的方波信号并输出。
具体地,请参照图3,图3为本发明提供的一种方波输出模块的结构示意图;
可以理解的是,这里的方波输出模块包括并串转换单元3、延时链单元4以及多路选择控制器5。且,一个方波发生器中可以包括多个方波输出模块,至于具体为多少个,本发明在此不做特别的限定。
这里的方波输出模块是本发明的核心技术,用于对高速时钟进行时间上的内插,以得到更高时间分辨的无死时间的方波信号的输出,其内部结构框架图如图3所示。其中,系统时钟为并串转换单元3以及多路选择控制器5的工作时钟,高速时钟则为高速方波的输出参考时钟,其频率为系统时钟的4倍,并串转换单元3在高速时钟的上升沿和下降沿都会输出方波信号,即双倍速率输出(DoubleDataRate,DDR)。并串转换单元3在工作时,按照系统时钟输入8位的并行波形数据,并按照高速时钟采用DDR方式输出8倍速率的方波信号。并串转换单元3的串行输出的方波信号送入延时链单元4,多路选择控制器5根据输入的延时数据实时判断并确定延时链单元4的输出节点,并从相应的输出节点引出延时后的方波信号并输出,延时链的输出节点不同即对应不同的延时。使用延时链法实现时间内插后的方波时间精度,等同于延时链单元4中单个延时单元的时间延时t0。该方法实现高精度方波发生功能的同时,还能够保证高速输出方波序列的能力,无死时间和且具有纳秒至秒量级的动态范围。
作为优选地,该方波发生器还包括:
时钟管理模块7,用于接收外部输入的参考时钟,并依据参考时钟生成总线控制模块、波形播放管理模块2、并串转换单元3以及多路选择控制器5的工作时钟,其中,工作时钟为系统时钟;还用于依据参考时钟生成并串转换单元3的高速时钟。
另外,需要说明的是,本申请提供的方波发生器是基于FPGA的,本申请选取的FPGA为SRAM型FPGAVirtex-7,基于6输入查找表技术,采样28nmCMOS工艺,单片能够集成千万以上的门电路,同时多达上千个用户自定义I/O,集成度最高、性能非常好。
本申请中,调用FPGA内部资源生成的存储模块6用于为基于FPGA的高速高精度方波发生器提供波形数据的存储功能;在FPGA内部设计USB总线控制模块1,以实现FPGA通过USB总线与上位机之间的通信,这其中包括控制命令和波形数据的下载和更新;利用FPGA的逻辑资源设计波形播放管理模块2在方波波形播放过程中的数据译码、控制和状态管理,并进一步结合FPGA内部的高速并串转换单元3和延时链单元4实现高精度方波的输出功能;利用FPGA内部的时钟管理资源设计时钟管理模块7,由外部输入的参考时钟产生USB总线控制模块1、存储模块6、波形播放管理模块2、以及高速方波输出模块(包括并串转换单元3、延时链单元4以及多路选择控制器5)的工作时钟。
可以理解的是,使用基于Virtex-7FPGA的方法发生器具有以下优点:
成本低。以Virtex-7FPGA为核心处理芯片实现多通道的组合波形发生器,单片FPGA的成本约为2-3万元,单机总成本约为4万元,与时间分辨率仅为1-2ns的Pulseblaster的价格相当。同时,在面对不同应用时,往往只需改动FPGA内部的逻辑配置,而不需对硬件进行改动即可满足需求,可大大降低二次开发成本。
就本发明所述原理,在SRAM型Virtex-7FPGAXC7V485T-2中实现了10通道的高速高分辨率的方波发生功能。其中,基于延时链进行时间内插的方波的时间分辨率最高可达约50ps,无方波输出死时间,动态范围5ns至秒量级,通过时间交替内插法可将时间精度提升至25ps。
高性能且集成度高。本发明利用Virtex-7FPGA高性能、速度快的特点,以其为基础进行创新性的设计,优化了数字信号的产生和输出结构,突破了以往技术的限制,得到了能够与定制ASIC相媲美的性能,同时在单块FPGA中即可集成多个方波发生通道,大大提高系统的集成度。
本发明在Virtex-7FPGA中实现一种高速高精度、低成本、设计灵活性较强且集成度高的方波发生器,可在众多场合得到应用。本发明针对Virtex-7FPGA的高性能和可重复编程性,可使本发明在各类应用中功能多样化,提高高性能方波发生功能的同时保证其灵活性。
综上所述,本发明提供的一种基于PFGA的有益效果具体如下:
精度高且无死时间。利用延时链法对高速时钟进行时间内插,在提高方波信号时间分辨率的同时仍保留高速的特性,保证了连续输出高精度方波的特性且无死时间。同时,使用时间交替内插法,在不牺牲性能指标的前提下,可将方波发生器的精度翻倍。
动态范围大。输出的方波信号的电平保持时间有非常大的动态范围,可适用于各类应用场合。
使用灵活。用FPGA实现高速高分辨率组合波形发生器的最大优点就是灵活。定制ASIC芯片实现高性能波形发生器的方法,往往由于ASIC的功能固定而导致功能局限性较大,难以适合对灵活性需求较高的应用场合。采用FPGA实现方波发生器,不仅极大程度利用了FPGA的可重复编程的特性,对FPGA代码稍做改动即可适用于不同需求,而不需要做任何硬件上的改动,同时,以FPGA为核心进行开发,也简化了开发的流程和难度。另外,高精度、无死时间以及大的动态范围,使得本发明可适用于绝大部分需求方波信号的应用场合,应用灵活性非常好。
为解决上述技术问题,本发明还提供了一种基于FPGA的方波发生方法,请参照图4,图4为本发明提供的一种基于FPGA的方波发生方法的过程流程图;该方法包括:
步骤S101:接收上位机发送的播放命令和播放地址,并将播放命令和播放地址输出;
步骤S102:接收并依据播放命令和播放地址从存储模块中读取原始波形数据,并对原始波形数据进行解码,得到波形数据,依据波形数据生成延时数据,并将波形数据和延时数据输出;
步骤S103:接收并行输入的波形数据并将波形数据串行输出,得到方波信号;对方波信号进行延时;接收延时数据,并依据延时数据确定方波信号在延时链单元上的输出节点,并从输出节点引出相应的延时后的方波信号并输出。
对于基于FPGA的方波发生方法的具体介绍请参照上述方波发生器的介绍,本发明在此不再赘述。
本发明提供了一种基于FPGA的方波发生方法,该方法中,包括接收并依据延时数据确定方波信号在延时链单元上的输出节点,并从输出节点引出相应的延时后的方波信号并输出,从而使得该方波发生器最终输出的方波的精度为延时链单元中单个延时单元的时间,而延时链单元中单个延时单元的时间是非常小的,达到皮秒级别,从而实现了能够连续输出精度高且无死时间的方波信号。
需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于FPGA的方波发生器,其特征在于,包括:
总线控制模块,用于接收上位机发送的播放命令和播放地址,并将所述播放命令和所述播放地址输出;
波形播放管理模块,用于接收并依据所述播放命令和所述播放地址从存储模块中读取原始波形数据,并对所述原始波形数据进行解码,得到波形数据,依据所述波形数据生成延时数据,并将所述波形数据和所述延时数据输出;
并串转换单元,用于接收并行输入的所述波形数据并将所述波形数据串行输出,得到方波信号;
延时链单元,用于对所述方波信号进行延时;
多路选择控制器,用于接收所述延时数据,并依据所述延时数据确定所述方波信号在所述延时链单元上的输出节点,并从所述输出节点引出相应的延时后的方波信号并输出。
2.如权利要求1所述的基于FPGA的方波发生器,其特征在于,所述并串转换单元,具体用于按照系统时钟接收并行输入的所述波形数据,并按照高速时钟采用DDR方式串行输出所述方波信号,其中,所述高速时钟的频率是所述系统时钟的4倍。
3.如权利要求2所述的基于FPGA的方波发生器,其特征在于,所述延时数据包括所述方波信号的时间沿关系式t,其中:
其中,n1为当前方波信号到来之前的所有方波信号的总长度;
T为所述高速时钟的周期;
n2为所述延时链单元中输出信号的节点;
t0为所述延时链单元中,单个延时单元的延时时间;
所述延时链单元的长度不小于所述高速时钟的周期。
4.如权利要求3所述的基于FPGA的方波发生器,其特征在于,其中,n为正整数。
5.如权利要求4所述的基于FPGA的方波发生器,其特征在于,n取12,t0取50ps。
6.如权利要求1所述的基于FPGA的方波发生器,其特征在于,所述存储模块,具体用于通过所述总线控制模块接收所述上位机发送的存储命令、存储地址和所述原始波形数据,并依据所述存储命令对所述存储地址进行解码,并依据解码后的所述存储地址存储所述原始波形数据。
7.如权利要求6所述的基于FPGA的方波发生器,其特征在于,在所述存储模块中,所述原始波形数据中的每个方波信号占用80bit的数据,其中,32bit为每个方波信号保持高电平的时间信息,32bit为每个方波信号保持低电平的时间信息,8bit为每个方波信号的上升沿与所述高速时钟的时钟沿的延时时间信息,8bit为每个方波信号的下降沿与所述高速时钟的时钟沿的延时时间信息。
8.如权利要求1所述的基于FPGA的方波发生器,其特征在于,该方波发生器还包括:
时钟管理模块,用于接收外部输入的参考时钟,并依据所述参考时钟生成所述总线控制模块、所述波形播放管理模块、所述并串转换单元以及所述多路选择控制器的工作时钟,其中,所述工作时钟为所述系统时钟;还用于依据所述参考时钟生成所述并串转换单元的所述高速时钟。
9.如权利要求1所述的基于FPGA的方波发生器,其特征在于,所述总线控制模块为USB总线控制模块。
10.一种基于FPGA的方波发生方法,其特征在于,包括:
接收上位机发送的播放命令和播放地址,并将所述播放命令和所述播放地址输出;
接收并依据所述播放命令和所述播放地址从存储模块中读取原始波形数据,并对所述原始波形数据进行解码,得到波形数据,依据所述波形数据生成延时数据,并将所述波形数据和所述延时数据输出;
接收并行输入的所述波形数据并将所述波形数据串行输出,得到方波信号;
对所述方波信号进行延时;
接收所述延时数据,并依据所述延时数据确定所述方波信号在所述延时链单元上的输出节点,并从所述输出节点引出相应的延时后的方波信号并输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610032859.XA CN105718404B (zh) | 2016-01-18 | 2016-01-18 | 一种基于fpga的方波发生器及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610032859.XA CN105718404B (zh) | 2016-01-18 | 2016-01-18 | 一种基于fpga的方波发生器及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105718404A true CN105718404A (zh) | 2016-06-29 |
CN105718404B CN105718404B (zh) | 2018-12-14 |
Family
ID=56147901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610032859.XA Active CN105718404B (zh) | 2016-01-18 | 2016-01-18 | 一种基于fpga的方波发生器及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105718404B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017124219A1 (zh) * | 2016-01-18 | 2017-07-27 | 中国科学技术大学 | 一种基于fpga的方波发生器及方法 |
CN108227828A (zh) * | 2018-02-11 | 2018-06-29 | 中国科学技术大学 | 一种序列信号发生器及序列信号产生方法 |
CN108471303A (zh) * | 2018-03-29 | 2018-08-31 | 中国人民解放军国防科技大学 | 一种基于fpga的可编程纳秒级定时精度脉冲发生器 |
CN108650069A (zh) * | 2018-05-09 | 2018-10-12 | 中国科学技术大学 | 一种序列生成方法及系统 |
CN108710404A (zh) * | 2018-05-23 | 2018-10-26 | 中国科学技术大学 | 一种混合信号发生器 |
WO2019153288A1 (zh) * | 2018-02-11 | 2019-08-15 | 中国科学技术大学 | 一种序列信号发生器及序列信号产生方法 |
CN110297788A (zh) * | 2016-07-21 | 2019-10-01 | 华为技术有限公司 | 发送电路、接收电路和串行信号传输系统 |
CN110632975A (zh) * | 2019-09-18 | 2019-12-31 | 中国科学技术大学 | 一种序列信号生成方法及装置 |
CN111143263A (zh) * | 2019-12-24 | 2020-05-12 | 清华大学 | 信号延时校准方法、系统及电子设备 |
CN114967410A (zh) * | 2022-06-16 | 2022-08-30 | 陕西科技大学 | 一种数字时间转换装置及方法 |
CN115047965A (zh) * | 2022-08-16 | 2022-09-13 | 之江实验室 | 一种用于磁共振系统的快速同步扫频波源装置及方法 |
CN115150004A (zh) * | 2022-07-01 | 2022-10-04 | 国仪量子(合肥)技术有限公司 | 一种窄脉冲发生器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3306939A1 (de) * | 1983-02-28 | 1984-08-30 | Siemens AG, 1000 Berlin und 8000 München | Astabiler multivibrator |
CN102315840A (zh) * | 2011-04-29 | 2012-01-11 | 中国科学技术大学 | 脉冲产生方法及装置 |
CN102468826A (zh) * | 2010-11-03 | 2012-05-23 | 北京普源精电科技有限公司 | 一种多功能信号发生器 |
CN105162437A (zh) * | 2015-08-11 | 2015-12-16 | 中国科学技术大学 | 一种波形发生装置及方法 |
-
2016
- 2016-01-18 CN CN201610032859.XA patent/CN105718404B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3306939A1 (de) * | 1983-02-28 | 1984-08-30 | Siemens AG, 1000 Berlin und 8000 München | Astabiler multivibrator |
CN102468826A (zh) * | 2010-11-03 | 2012-05-23 | 北京普源精电科技有限公司 | 一种多功能信号发生器 |
CN102315840A (zh) * | 2011-04-29 | 2012-01-11 | 中国科学技术大学 | 脉冲产生方法及装置 |
CN105162437A (zh) * | 2015-08-11 | 2015-12-16 | 中国科学技术大学 | 一种波形发生装置及方法 |
Non-Patent Citations (1)
Title |
---|
张鸿飞 等: "基于FPGA的高速任意波形发生器的设计", 《第十六届全国核电子学与核探测技术学术年会》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017124219A1 (zh) * | 2016-01-18 | 2017-07-27 | 中国科学技术大学 | 一种基于fpga的方波发生器及方法 |
US10733126B2 (en) | 2016-01-18 | 2020-08-04 | University Of Science And Technology Of China | FPGA-based square-wave generator and square-wave generation method |
CN110297788B (zh) * | 2016-07-21 | 2024-03-01 | 华为技术有限公司 | 发送电路、接收电路和串行信号传输系统 |
CN110297788A (zh) * | 2016-07-21 | 2019-10-01 | 华为技术有限公司 | 发送电路、接收电路和串行信号传输系统 |
WO2019153288A1 (zh) * | 2018-02-11 | 2019-08-15 | 中国科学技术大学 | 一种序列信号发生器及序列信号产生方法 |
CN108227828A (zh) * | 2018-02-11 | 2018-06-29 | 中国科学技术大学 | 一种序列信号发生器及序列信号产生方法 |
CN108227828B (zh) * | 2018-02-11 | 2020-02-07 | 中国科学技术大学 | 一种序列信号发生器及序列信号产生方法 |
US11188115B2 (en) | 2018-02-11 | 2021-11-30 | University Of Science And Technology Of China | Sequence signal generator and sequence signal generation method |
CN108471303A (zh) * | 2018-03-29 | 2018-08-31 | 中国人民解放军国防科技大学 | 一种基于fpga的可编程纳秒级定时精度脉冲发生器 |
CN108471303B (zh) * | 2018-03-29 | 2021-06-25 | 中国人民解放军国防科技大学 | 一种基于fpga的可编程纳秒级定时精度脉冲发生器 |
CN108650069A (zh) * | 2018-05-09 | 2018-10-12 | 中国科学技术大学 | 一种序列生成方法及系统 |
CN108710404A (zh) * | 2018-05-23 | 2018-10-26 | 中国科学技术大学 | 一种混合信号发生器 |
CN110632975A (zh) * | 2019-09-18 | 2019-12-31 | 中国科学技术大学 | 一种序列信号生成方法及装置 |
CN110632975B (zh) * | 2019-09-18 | 2022-09-06 | 中国科学技术大学 | 一种序列信号生成方法及装置 |
CN111143263A (zh) * | 2019-12-24 | 2020-05-12 | 清华大学 | 信号延时校准方法、系统及电子设备 |
CN114967410A (zh) * | 2022-06-16 | 2022-08-30 | 陕西科技大学 | 一种数字时间转换装置及方法 |
CN114967410B (zh) * | 2022-06-16 | 2024-03-08 | 陕西科技大学 | 一种数字时间转换装置及方法 |
CN115150004A (zh) * | 2022-07-01 | 2022-10-04 | 国仪量子(合肥)技术有限公司 | 一种窄脉冲发生器 |
CN115150004B (zh) * | 2022-07-01 | 2024-02-13 | 国仪量子技术(合肥)股份有限公司 | 一种窄脉冲发生器 |
CN115047965B (zh) * | 2022-08-16 | 2022-11-08 | 之江实验室 | 一种用于磁共振系统的快速同步扫频波源装置及方法 |
CN115047965A (zh) * | 2022-08-16 | 2022-09-13 | 之江实验室 | 一种用于磁共振系统的快速同步扫频波源装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105718404B (zh) | 2018-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105718404A (zh) | 一种基于fpga的方波发生器及方法 | |
JP3337507B2 (ja) | 事象タイマ | |
US7409005B2 (en) | High speed data transmitter and transmitting method thereof | |
WO2017124219A1 (zh) | 一种基于fpga的方波发生器及方法 | |
JP6085523B2 (ja) | 半導体装置及び半導体装置の動作方法 | |
CN103208994A (zh) | 一种两段式时间数字转换电路 | |
US4107600A (en) | Adaptive frequency to digital converter system | |
CN102437852A (zh) | 一种利用低速ADC实现2.5GSa/s数据采集电路及方法 | |
CN104333365A (zh) | 一种三段式时间数字转换电路 | |
CN105763196B (zh) | 一种延迟内插型时间数字转换器 | |
CN108614271A (zh) | 一种带反馈校正的多通道超声波任意波形信号发生器 | |
CN1232031C (zh) | 基于fpga的高精度任意波形发生器 | |
CN103676742B (zh) | 一种基于fpga的数据重组方法 | |
CN105162437A (zh) | 一种波形发生装置及方法 | |
CN102077505A (zh) | 时钟转换电路以及使用其的试验装置 | |
CN107124185A (zh) | 一种时间交织模数转换系统的数据缓存与重现系统 | |
CN105306068A (zh) | 一种基于时钟调相的并串转换电路 | |
US11539354B2 (en) | Systems and methods for generating a controllable-width pulse signal | |
US5920211A (en) | Fully digital clock synthesizer | |
CN112487354B (zh) | 一种基于比较器和fpga的多通道高速实时互相关运算装置 | |
CN104459259B (zh) | 一种用于示波器的改进型波形内插系统 | |
WO2023134507A1 (zh) | 随机计算方法、电路、芯片及设备 | |
CN115037286A (zh) | 基于fpga芯片的延迟脉冲产生装置、方法及电子设备 | |
CN109687860A (zh) | 一种多相时钟串行器及信号转换系统 | |
CN115629371A (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 |