CN111077354B - 一种基于fpga产生用户自定义波形的装置及方法 - Google Patents
一种基于fpga产生用户自定义波形的装置及方法 Download PDFInfo
- Publication number
- CN111077354B CN111077354B CN201911334770.9A CN201911334770A CN111077354B CN 111077354 B CN111077354 B CN 111077354B CN 201911334770 A CN201911334770 A CN 201911334770A CN 111077354 B CN111077354 B CN 111077354B
- Authority
- CN
- China
- Prior art keywords
- waveform
- module
- index
- address
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R1/00—Details of instruments or arrangements of the types included in groups G01R5/00 - G01R13/00 and G01R31/00
- G01R1/28—Provision in measuring instruments for reference values, e.g. standard voltage, standard waveform
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明公开了一种基于FPGA产生用户自定义波形的装置及方法,属于任意波形发生领域,装置包括控制模块、波形存储与索引模块、地址发生模块、波形循环模块和波形合成模块;通过控制模块将波形数据存入存储器中,根据波形矢量点的长度建立波形序列的索引,地址发生模块对电压存储器和时间存储器进行寻址,波形合成模块通过对时间和电压数据进行处理,合成相应的数字波形,波形循环模块通过复位或重置地位发生器的地址数据,从而使波形序列循环输出。本发明可以产生多个由用户定义的任意波形序列,不同波形序列的上升下降时间、脉冲宽度和脉冲周期等参数均可以编程,可以广泛地应用于信号发生器或任意波形发生器中。
Description
技术领域
本发明属于任意波形发生领域,具体涉及一种基于FPGA产生用户自定义波形的装置及方法。
背景技术
任意波形发生器是一种广泛应用通用的信号发生装置,用于产生测试需要的规则波形或不规则波形,随着测试领域信号复杂化程度的发展,波形的任意化程度不断加剧。传统的任意波形发生方法,产生的常规函数波形具有较高的质量,但这种方法用于产生用户自定义的任意波形时,无法保留波形信号的细节,任意化程度不高。因此,研究精度高、任意化程度高以及可调参数的信号发生器具有重要的意义。
发明内容
针对现有技术中存在的上述技术问题,本发明提出了一种基于FPGA产生用户自定义波形的装置及方法,设计合理,克服了现有技术的不足,具有良好的效果。
为了实现上述目的,本发明采用如下技术方案:
一种基于FPGA产生用户自定义波形的装置,包括控制模块、波形存储与索引模块、地址发生模块、波形循环模块和波形合成模块;
控制模块,被配置为用于对FPGA内部各功能模块进行控制,对资源进行分配,同时完成总线接口处理与控制;
波形存储与索引模块,被配置为用于完成用户自定义的波形数据的存储,根据各个波形序列的矢量点长度对各个波形序列建立索引;
波形循环模块,被配置为用于根据波形序列的结束标志位,判断当前波形序列是否输出结束,从而重置地址发生器,循环输出波形序列;
地址发生模块,被配置为用于通过在FPGA内部构建累加器和计数器实现对波形存储器的寻址;
波形合成模块,被配置为用于通过对时间和电压数据进行处理,合成相应的数字波形。
此外,本发明还提到一种基于FPGA产生用户自定义波形的方法,该方法采用如上所述的一种基于FPGA产生用户自定义波形的装置,具体包括以下步骤:
步骤1:控制模块将波形矢量点数据存入到FPGA外部的高速静态SRAM存储器中,将波形序列循环次数存入FPGA内部寄存器中;
步骤2:波形存储与索引模块根据波形序列的矢量点长度建立不同波形序列的索引号;
步骤3:控制模块接收波形输出命令后,启动各功能模块;
步骤4:FPGA内部的计数器开始计数,当计数器的值等于某个矢量点位置对应的时间值,电压地址累加器和时间地址累加器分别累加1;
步骤5:电压地址累加器和时间地址累加器分别输出SRAM存储器的地址,对索引1波形序列的时间存储器和电压存储器进行寻址;
步骤6:波形合成模块通过对时间和电压数据进行处理,合成相应的数字波形,输出索引1的波形序列;
步骤7:当计数器的值等于最后一个矢量点位置对应的时间值,计数器复位为0;
步骤8:波形循环模块将地址发生模块复位为索引1波形序列的起始地址;
步骤9:重复步骤4-步骤8,循环输出索引1对应的波形序列;
步骤10:当前波形序列输出结束,波形循环模块将地址发生器置为索引2波形序列对应的起始地址;
步骤11:重复步骤4-步骤10,循环输出索引2对应的波形序列。
本发明所带来的有益技术效果:
(1)本发明用于产生多个由用户定义的任意波形序列,可以较好地还原波形信号的细节,且不同波形序列的上升下降时间、脉冲宽度和脉冲周期等均可以编程;
(2)本发明地址发生器的寻址及复位方式简单可靠,只需提供单一稳定的外部时钟,避免了复杂的时钟设计;
(3)本发明在处理波形上升下降沿时,采用双斜率和双累加器的方式,有效保证了波形上升下降沿的平滑;
(4)本发明各功能模块均在FPGA内完成,占用的资源少,可移植性强。
附图说明
图1是本发明装置的结构框图。
图2是本发明波形序列示意图。
具体实施方式
下面结合附图以及具体实施方式对本发明作进一步详细说明:
实施例1:
如图1所示,一种基于FPGA产生用户自定义波形的装置,包括控制模块、波形存储与索引模块、地址发生模块、波形循环模块和波形合成模块;
控制模块,被配置为用于对FPGA内部各功能模块进行控制,对资源进行分配,同时完成总线接口处理与控制;
波形存储与索引模块,被配置为用于完成用户自定义的波形数据的存储,根据各个波形序列的矢量点长度对各个波形序列建立索引;
波形循环模块,被配置为用于根据波形序列的结束标志位,判断当前波形序列是否输出结束,从而重置地址发生器,循环输出波形序列;
地址发生模块,被配置为用于通过在FPGA内部构建累加器和计数器实现对波形存储器的寻址;
波形合成模块,被配置为用于通过对时间和电压数据进行处理,合成相应的数字波形。
实施例2:
在上述实施例1的基础上,本发明还提到一种基于FPGA产生用户自定义波形的方法,具体包括以下步骤:
步骤1:控制模块将波形矢量点数据存入到FPGA外部的高速静态SRAM存储器中,将波形序列循环次数存入FPGA内部寄存器中;
步骤2:波形存储与索引模块根据波形序列的矢量点长度建立不同波形序列的索引号;
步骤3:控制模块接收波形输出命令后,启动各功能模块;
步骤4:FPGA内部的计数器开始计数,当计数器的值等于某个矢量点位置对应的时间值,电压地址累加器和时间地址累加器分别累加1;
步骤5:电压地址累加器和时间地址累加器分别输出SRAM存储器的地址,对索引1波形序列的时间存储器和电压存储器进行寻址;
步骤6:波形合成模块通过对时间和电压数据进行处理,合成相应的数字波形,输出索引1的波形序列;
步骤7:当计数器的值等于最后一个矢量点位置对应的时间值,计数器复位为0;
步骤8:波形循环模块将地址发生模块复位为索引1波形序列的起始地址;
步骤9:重复步骤4-步骤8,循环输出索引1对应的波形序列;
步骤10:当前波形序列输出结束,波形循环模块将地址发生器置为索引2波形序列对应的起始地址;
步骤11:重复步骤4-步骤10,循环输出索引2对应的波形序列。
本发明波形序列如图2所示。
当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。
Claims (1)
1.一种基于FPGA产生用户自定义波形的方法,其特征在于:采用一种基于FPGA产生用户自定义波形的装置,该装置包括控制模块、波形存储与索引模块、地址发生模块、波形循环模块和波形合成模块;
控制模块,被配置为用于对FPGA内部各功能模块进行控制,对资源进行分配,同时完成总线接口处理与控制;
波形存储与索引模块,被配置为用于完成用户自定义的波形数据的存储,根据各个波形序列的矢量点长度对各个波形序列建立索引;
波形循环模块,被配置为用于根据波形序列的结束标志位,判断当前波形序列是否输出结束,从而重置地址发生器,循环输出波形序列;
地址发生模块,被配置为用于通过在FPGA内部构建累加器和计数器实现对波形存储器的寻址;
波形合成模块,被配置为用于通过对时间和电压数据进行处理,合成相应的数字波形;具体包括以下步骤:
步骤1:控制模块将波形矢量点数据存入到FPGA外部的高速静态SRAM存储器中,将波形序列循环次数存入FPGA内部寄存器中;
步骤2:波形存储与索引模块根据波形序列的矢量点长度建立不同波形序列的索引号;
步骤3:控制模块接收波形输出命令后,启动各功能模块;
步骤4:FPGA内部的计数器开始计数,当计数器的值等于某个矢量点位置对应的时间值,电压地址累加器和时间地址累加器分别累加1;
步骤5:电压地址累加器和时间地址累加器分别输出SRAM存储器的地址,对索引1波形序列的时间存储器和电压存储器进行寻址;
步骤6:波形合成模块通过对时间和电压数据进行处理,合成相应的数字波形,输出索引1的波形序列;
步骤7:当计数器的值等于最后一个矢量点位置对应的时间值,计数器复位为0;
步骤8:波形循环模块将地址发生模块复位为索引1波形序列的起始地址;
步骤9:重复步骤4-步骤8,循环输出索引1对应的波形序列;
步骤10:当前波形序列输出结束,波形循环模块将地址发生器置为索引2波形序列对应的起始地址;
步骤11:重复步骤4-步骤10,循环输出索引2对应的波形序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911334770.9A CN111077354B (zh) | 2019-12-23 | 2019-12-23 | 一种基于fpga产生用户自定义波形的装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911334770.9A CN111077354B (zh) | 2019-12-23 | 2019-12-23 | 一种基于fpga产生用户自定义波形的装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111077354A CN111077354A (zh) | 2020-04-28 |
CN111077354B true CN111077354B (zh) | 2022-02-25 |
Family
ID=70316835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911334770.9A Active CN111077354B (zh) | 2019-12-23 | 2019-12-23 | 一种基于fpga产生用户自定义波形的装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111077354B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112924854B (zh) * | 2021-03-12 | 2023-12-05 | 北京华峰测控技术股份有限公司 | 任意波形格式生成方法、装置、测试设备和存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2686582B2 (ja) * | 1992-04-01 | 1997-12-08 | ソニー・テクトロニクス株式会社 | 任意波形発生器 |
JP3009300B2 (ja) * | 1992-06-22 | 2000-02-14 | 三菱電機株式会社 | 任意波形発生装置 |
US5463334A (en) * | 1995-02-02 | 1995-10-31 | The United States Of America As Represented By The Secretary Of The Navy | Arbitrary waveform generator |
JP3880394B2 (ja) * | 2001-12-25 | 2007-02-14 | アンリツ株式会社 | 任意波形発生器 |
CN1232031C (zh) * | 2003-06-10 | 2005-12-14 | 湖南科技大学 | 基于fpga的高精度任意波形发生器 |
CN101710136B (zh) * | 2009-11-26 | 2011-08-17 | 电子科技大学 | 一种序列波形发生器 |
CN101867371B (zh) * | 2010-05-31 | 2012-05-09 | 西安电子科技大学 | 基于fpga的线性调频信号实现方法 |
CN102520761A (zh) * | 2011-12-20 | 2012-06-27 | 北京航天测控技术有限公司 | 一种基于自定义处理器的任意波形产生系统 |
CN102788891B (zh) * | 2012-07-30 | 2014-08-13 | 电子科技大学 | 一种复杂的波形序列发生器 |
CN103488244B (zh) * | 2013-09-09 | 2016-04-27 | 中国电子科技集团公司第四十一研究所 | 一种任意波形发生系统及方法 |
JP2016027365A (ja) * | 2014-06-23 | 2016-02-18 | セイコーエプソン株式会社 | 集積回路装置及び電子機器、並びに、電気光学パネルの制御方法 |
CN106227673B (zh) * | 2016-07-25 | 2019-05-17 | 东南大学—无锡集成电路技术研究所 | 一种基于dma的序列波形合成方法 |
CN107436618B (zh) * | 2017-08-08 | 2019-12-27 | 电子科技大学 | 一种基于指令架构的任意波形发生器 |
-
2019
- 2019-12-23 CN CN201911334770.9A patent/CN111077354B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111077354A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2012507763A5 (zh) | ||
CN110836993B (zh) | 基于fpga的随机等效采集系统 | |
CN108158577B (zh) | 一种基于压缩感知的低功耗心电信号处理电路及其方法 | |
CN111077354B (zh) | 一种基于fpga产生用户自定义波形的装置及方法 | |
US6314536B1 (en) | Memory testing apparatus | |
CN106683696A (zh) | 半导体器件 | |
CN109240157A (zh) | Soe信号发生装置和soe信号输出方法 | |
CN105956322A (zh) | 数字电路的工艺角检测装置和方法 | |
CN102495387B (zh) | 一种基于折半搜索的数字示波器直流精度自动校准方法 | |
CN111404372B (zh) | 电荷泵电路、芯片及终端 | |
CN203590324U (zh) | 列并行模数转换器及cmos图像传感器 | |
EP2772861A1 (en) | Semiconductor test device and semiconductor test method | |
CN208335053U (zh) | 一种脉冲信号发生器 | |
WO2023231295A1 (zh) | 刷新地址产生电路及方法、存储器、电子设备 | |
KR20230168176A (ko) | 리프레시 어드레스 발생 회로 및 방법, 메모리, 전자기기 | |
CN103178871A (zh) | 一种跳频信号发生器及确定频率控制字的方法 | |
CN110597084A (zh) | 风电场仿真测试方法、装置和风电场仿真模型 | |
CN115629371A (zh) | 发射延时控制方法、装置、控制器、芯片和超声系统 | |
CN108845765B (zh) | 一种nand数据读取方法、系统、设备及存储介质 | |
CN110705701B (zh) | 一种高并行度的卷积运算方法和电路 | |
CN108549329B (zh) | 一种基于fpga实现脉冲均匀输出的方法及装置 | |
JP2016514338A (ja) | 記憶デバイス読み出し装置及び方法 | |
CN103377029A (zh) | 参数化的通用fifo控制方法 | |
CN105843755B (zh) | 一种具有宽范围与高分辨特征的定时阵列 | |
CN106294224B (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 | ||
CB02 | Change of applicant information |
Address after: 233010 no.1300, Yinghe Road, Yuhui District, Bengbu City, Anhui Province Applicant after: CLP kesiyi Technology (Anhui) Co.,Ltd. Address before: 233010 no.1300, Yinghe Road, Yuhui District, Bengbu City, Anhui Province Applicant before: CETC INSTRUMENTATION (ANHUI) Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |