CN1232031C - 基于fpga的高精度任意波形发生器 - Google Patents
基于fpga的高精度任意波形发生器 Download PDFInfo
- Publication number
- CN1232031C CN1232031C CN 03124527 CN03124527A CN1232031C CN 1232031 C CN1232031 C CN 1232031C CN 03124527 CN03124527 CN 03124527 CN 03124527 A CN03124527 A CN 03124527A CN 1232031 C CN1232031 C CN 1232031C
- Authority
- CN
- China
- Prior art keywords
- waveform
- amplitude
- controller
- interface circuit
- signal
- 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
Links
Images
Landscapes
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
一种基于FPGA的高精度任意波形发生器,包括PC、EPC2、接口电路、晶振、时标控制器、相位累加器、波形RAM区、波形个数控制器、幅度直流分量控制电路、D/A转换器、低通滤波器,其中波形发生器的核心电路如接口电路、时标控制器、相位累加器、波形RAM区、波形个数控制器、幅度直流分量控制电路集成于FPGA中,且波形发生器中的时标控制器是按见右式下公式对晶振信号进行分频。本发明可产生步进为0.0116Hz的正弦波、方波、矩形波、三角波及用户自定义的任意波形,且其输出信号在低频段的频率相对精度可达到很高,并保持一致,大大提高了DDS任意波形发生器在低频段的频率相对精度。
Description
技术领域
本发明涉及一种波形发生器,特别是指一种基于FPGA的高精度任意波形发生器。
背景技术
基于DDS的任意波形发生器具有硬件要求低、频率切换速度快、很容易提高频率分辨率等优点,现已广泛应用于自动测控系统、仪器仪表、通讯等领域。然而DDS波形存储空间不可能很大,因而由于相位截断、非均匀采样在重构波形时产生“寄生效应”的同时,也势必造成时域参数如频率、周期、初相、占空比的误差,当信号频率很低和较高时尤为突出。此外,在实际测量时,频率计测频测周一般为被测信号在设定的闸门时间或多个周期内的平均值,因此频率计测量值并不能反映微观单个周期的误差,而反映多周期的宏观效应。DDS任意波形发生器的频率微观(单周期)相对精度曲线见图4,从图中可看出,其频率相对精度在频率较低及较高时很不理想。
发明内容
本发明的目的在于提供一种高精度的任意波形发生器。
为实现上述目的,本发明包括PC、串行配置芯片EPC2、接口电路、晶振、时标控制器、相位累加器、波形RAM区、波形个数控制器、幅度直流分量控制电路、D/A转换器、低通滤波器,所述PC分别与接口电路、串行配置芯片EPC2联接,用于输入波形参数数据、显示波形及控制波形的产生;EPC2为串行配置芯片,分别与PC、接口电路联接,用于接收PC来的文件并输出给FPGA上电转载文件;接口电路分别与PC、时标控制器、相位累加器、波形RAM区、波形个数控制器、幅度直流分量控制电路联接,用于接收PC高速并行口EPP信号,经转换得到FPGA内部三总线和地址译码信号输出到时标控制器、相位累加器、波形RAM区、波形个数控制器、幅度直流分量控制电路;晶振的输出端与时标控制器联接,用于输出一个精确的时钟信号,作为时标控制器的输入基准信号;时标控制器分别与接口电路、晶振、相位累加器、波形RAM区、波形个数控制器联接,用于将晶振输出的信号按
进行分频,式中fo为用户所需信号频率,fr为晶振输出频率,frz为时标控制器输出信号,是相位累加器和波形RAM区的工作时钟信号,p0=2x,x为相位累加器位数进行分频后输出到相位累加器、波形RAM区、波形个数控制器;相位累加器分别与接口电路、时标控制器、波形RAM区联接,接收接口电路来的命令信号和时标控制器来的时钟信号,输出信号给波形RAM区,用于在用户频率控制字、初相字的控制下,按其输入的时钟产生满足用户频率、初相要求的准相位字输出到波形RAM区;波形RAM区分别与接口电路、相位累加器、时标控制器、幅度直流分量控制电路联接,用于存储量化的波形幅值,在接口电路控制下写入波形幅值,按相位累加器输入的相位信息和时标控制器来的时钟去读取波形数据,输出接到幅度直流分量控制电路;波形个数控制器分别与接口电路、时标控制器、幅度直流分量控制电路联接,接收接口电路来的波形个数预置,输出控制信号到幅度直流分量控制电路;幅度直流分量控制电路分别与波形RAM区、波形个数控制器、接口电路、D/A转换器联接,接收接口电路传来的命令、波形RAM区来的数据和波形个数控制器来的控制命令,输出数据到D/A转换器,用于输出信号幅度与直流分量的控制;D/A转换器分别与幅度直流分量控制电路、低通滤波器联接,用于将幅度直流分量控制电路输出的数字波形信号转换成模拟信号输出给低通滤波器;低通滤波器与D/A转换器联接,输入来自D/A转换器,用于将D/A转换器的输出信号进行滤波后输出。
由于本发明中的时标控制器是按
对晶振信号进行分频,其输出信号在低频段的频率相对精度可达到很高,并保持一致,大大提高了DDS任意波形发生器在低频段的频率相对精度。
下面结合附图及具体实施例对本发明作进一步的说明。
附图说明
图1为本发明的原理框图。
图2为本发明的具体电路图(EDA)。
图3为本发明的频率单周期相对精度曲线图。
图4为现有DDS任意波形发生器的频率单周期相对精度曲线图。
具体实施方式
参见图1,本发明包括包括PC1、EPC2 2、接口电路3、晶振4、时标控制器5、相位累加器6、波形RAM区7、波形个数控制器8、幅度直流分量控制电路9、D/A转换器10、低通滤波器11,所述PC1用于输入波形参数数据、显示波形及控制波形的产生;EPC2 2为串行配置芯片,用于FPGA上电转载文件;接口电路3,用于完成PC高速并行口EPP信号到FPGA内部三总线的转换和译码;晶振4,用于产生一个精确的时钟信号,作为时标控制器的基准信号;时标控制器5,用于对晶振输出的信号进行分频;相位累加器6,用于输出满足用户频率、初相要求的准相位字;波形RAM区7,用于存储量化的波形幅值;波形个数控制器8,用于预置波形个数的控制;幅度直流分量控制电路9,用于输出幅度与直流分量的控制;D/A转换器10,用于将幅度直流分量控制电路数字波形信号转换成模拟信号;低通滤波器11,用于将D/A转换器的输出信号进行滤波。
参见图2,图2为FPGA核中各模块的具体实施电路图,图中接口转换模块ZIEKOU完成PC机高速并行接口EPP模式信号到FPGA三总线的转换,在该模块中还对地址总线进行译码,输出其它模块所需的片选信号CS[63..0],在AA[1..0]的配合下共有256个I/O地址。
WR32_2模块为2×32位写模块,它通过对端口D[7..0]的分时写入实现输出频率控制字k与输出信号初相字M(=nk)的32位数字预置。ADD32A、ADD32B为2个32位加法器,DFF32为32位锁存器,ADD32与DFF32在CLK时钟下构成了准相位字(n+n)k生成电路,COUT为32位加法器溢出端,当Q[31..0]大于232-1时,COUT自动输出一个正跳变脉冲用于计数,可用来控制输出波形个数。
该相位累加器的时钟频率,来自分频模块C1的输出,CPU根据用户所需频率不同通过给C1预置相应分频系数,来输出不同的时标频率,这样可以通过调节DFF32相位累加速度和LPM-RAM的抽样频率,达到提高低频段信号的频率/周期相对精度的目的。
LPM_RAM为FPGA中的可重构RAM存储器,现设计成4K×12bit的存储器,RDEN为三态输出控制端,RDCLK为读时钟端,来自C1输出,WRAD[11..0]为写入地址,CNT12为写入地址产生器,D8_12是写入数据装配器,将ZIEKOU分2次送来的12位数据,通过双级缓冲后同步输出12位数据到LPM_RAM的DD[11..0],CPU通过CS25产生一个写时钟WRCLK将数据写入,写入完毕WR产生的上跳使CNT12地址自动加1。在用户输入初相、频率、信号类型、幅度等参数后,CPU则自动产生一个4K×12bit的数据库存入LPM_RAM中,这一过程大约需50ms的时间,写完后在FPGA的控制下自动产生用户所需的信号,用户每改一次信号参数,RAM中数据都将被刷新。
WR32为预置波形个数模块,COM32为一个32位比较器,在C[31..0]≥D[31..0]时有A=0,否则A=1,DFF为波形方式选择器,在DFF输出0时,在用户将周期个数输入到WR32后,随着CNT32A对COUT的计数,当D[31..0]>C[31..0]时,A=1,OUTEN=1,使波形连续输出,当D[31..0]=C[31..0]时A=0,则OUTEN为零,LPM_RAM的Q[11..0]变为三态禁止LPM_RAM输出;DFF输出1时恒有OUTEN=1,故使DDS波形连续输出。
MD32为输出幅度和直流分量控制模块,通过对MD32写入输出幅度控制字N(0到4095)和直流分量控制字VOZ(0到4095),我们在MD32内部设计了一个12位乘法器和1个12位加法器,乘法器实现N与LPM_RAM输出的12位抽样值相乘,得到24位结果,我们只取前12位即可完成它与4096的相除,再与12位直流分量控制字相加即为MD32的输出,这样实现了输出幅度与直流分量的控制,巧妙地实现了除数为212的除法操作,避免了极其耗时且耗用FPGA大量资源的除法操作。
经实验验证,本基于FPGA的高精度任意波形发生器性能指标为:波形种类为正弦波、方波、矩形波、三角波及用户自定义的任意波形;频率范围为0.0116Hz~5MHz,步进0.0116Hz,频率小于539Hz时频率微观(单周期)和宏观(多周期)精度均为2.5×10-5,频率大于539Hz时频率宏观(多周期)精度为1.5×10-5;输出幅度为-8V~8V、步进5mV;初相0°~360°、步进0.088°,初相误差小于0.088°;占空比0~1,步进0.025%,在频率小于200KHz时占空比绝对误差小于1%,400KHz~1MHz时占空比绝对误差小于4.1%;波形个数和直流分量步进可调。
Claims (1)
1、一种基于FPGA的高精度任意波形发生器,包括PC、串行配置芯片EPC2、接口电路、晶振、时标控制器、相位累加器、波形RAM区、波形个数控制器、幅度直流分量控制电路、D/A转换器、低通滤波器,所述PC分别与接口电路、串行配置芯片EPC2联接,用于输入波形参数数据、显示波形及控制波形的产生;EPC2为串行配置芯片,分别与PC、接口电路联接,用于接收PC来的文件并输出给FPGA上电转载文件;接口电路分别与PC、时标控制器、相位累加器、波形RAM区、波形个数控制器、幅度直流分量控制电路联接,用于接收PC高速并行口EPP信号,经转换得到FPGA内部三总线和地址译码信号输出到时标控制器、相位累加器、波形RAM区、波形个数控制器、幅度直流分量控制电路;晶振的输出端与时标控制器联接,用于输出一个精确的时钟信号,作为时标控制器的输入基准信号;时标控制器分别与接口电路、晶振、相位累加器、波形RAM区、波形个数控制器联接,用于将晶振输出的信号按接口电路来的命令进行分频后输出到相位累加器、波形RAM区和波形个数控制器;相位累加器分别与接口电路、时标控制器、波形RAM区联接,接收接口电路来的命令信号和时标控制器来的时钟信号,输出信号给波形RAM区,用于在用户频率控制字、初相字的控制下,按其输入的时钟产生满足用户频率、初相要求的准相位字输出到波形RAM区;波形RAM区分别与接口电路、相位累加器、时标控制器、幅度直流分量控制电路联接,用于存储量化的波形幅值,在接口电路控制下写入波形幅值,按相位累加器输入的相位信息和时标控制器来的时钟去读取波形数据,输出接到幅度直流分量控制电路;波形个数控制器分别与接口电路、时标控制器、幅度直流分量控制电路联接,接收接口电路来的波形个数预置,输出控制信号到幅度直流分量控制电路;幅度直流分量控制电路分别与波形RAM区、波形个数控制器、接口电路、D/A转换器联接,接收接口电路传来的命令、波形RAM区来的数据和波形个数控制器来的控制命令,输出数据到D/A转换器,用于输出信号幅度与直流分量的控制;D/A转换器分别与幅度直流分量控制电路、低通滤波器联接,用于将幅度直流分量控制电路输出的数字波形信号转换成模拟信号输出给低通滤波器;低通滤波器与D/A转换器联接,输入来自D/A转换器,用于将D/A转换器的输出信号进行滤波后输出,其特征在于:所述的时标控制器按 进行分频,式中f0为用户所需信号频率,fr为晶振输出频率,frz为时标控制器输出信号,是相位累加器和波形RAM区的工作时钟信号,p0=2x,x为相位累加器位数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03124527 CN1232031C (zh) | 2003-06-10 | 2003-06-10 | 基于fpga的高精度任意波形发生器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03124527 CN1232031C (zh) | 2003-06-10 | 2003-06-10 | 基于fpga的高精度任意波形发生器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1469547A CN1469547A (zh) | 2004-01-21 |
CN1232031C true CN1232031C (zh) | 2005-12-14 |
Family
ID=34152866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 03124527 Expired - Fee Related CN1232031C (zh) | 2003-06-10 | 2003-06-10 | 基于fpga的高精度任意波形发生器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1232031C (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100525109C (zh) * | 2005-11-01 | 2009-08-05 | 中国科学院半导体研究所 | 一种频率噪声整形直接数字频率合成器 |
CN101150304B (zh) * | 2006-09-18 | 2010-11-03 | 中国医学科学院生物医学工程研究所 | 基于fpga设计的快速自适应消噪模块 |
CN101354584B (zh) * | 2008-07-29 | 2010-12-29 | 株洲南车时代电气股份有限公司 | 多通道模拟信号发生器 |
CN101710136B (zh) * | 2009-11-26 | 2011-08-17 | 电子科技大学 | 一种序列波形发生器 |
CN102109542B (zh) * | 2009-12-25 | 2015-10-07 | 北京普源精电科技有限公司 | 一种可配置复用数字内插和数字滤波功能的数字示波器 |
CN101807089B (zh) * | 2010-04-02 | 2012-05-02 | 广西大学 | 输出信号偏移量任意可调的波形信号发生器 |
CN101907881B (zh) * | 2010-06-04 | 2012-05-23 | 西安电子科技大学 | 可编程式数字脉冲发生器 |
CN102315840B (zh) * | 2011-04-29 | 2014-01-15 | 中国科学技术大学 | 脉冲产生方法及装置 |
CN102323980A (zh) * | 2011-08-22 | 2012-01-18 | 华南理工大学 | 一种可多通道输出的生物电信号仿真系统 |
CN102520761A (zh) * | 2011-12-20 | 2012-06-27 | 北京航天测控技术有限公司 | 一种基于自定义处理器的任意波形产生系统 |
CN102664846A (zh) * | 2012-05-11 | 2012-09-12 | 常州机电职业技术学院 | 一种载波频率可配置的移频键控调制方法及其应用结构 |
CN103873025B (zh) * | 2012-12-10 | 2017-12-22 | 北京普源精电科技有限公司 | 一种三角波信号产生方法及三角波发生器 |
CN103117732B (zh) * | 2013-02-22 | 2015-12-09 | 哈尔滨工程大学 | 多路视频脉冲信号发生装置及方法 |
CN103944537B (zh) * | 2013-11-29 | 2017-08-29 | 中国船舶重工集团公司第七一六研究所 | 变时钟dds任意波形信号源控制输出频率的方法及实现装置 |
CN103956994B (zh) * | 2014-03-24 | 2016-12-07 | 杭州电子科技大学 | 一种基于fpga的dds任意波形信号发生器 |
CN104133166A (zh) * | 2014-07-07 | 2014-11-05 | 中国电子科技集团公司第四十一研究所 | 一种大功率任意波发生装置及方法 |
CN109104169B (zh) * | 2018-08-17 | 2020-09-18 | 电子科技大学 | 一种并行架构高速三角波信号发生器的信号合成方法 |
CN111077354B (zh) * | 2019-12-23 | 2022-02-25 | 中电科思仪科技(安徽)有限公司 | 一种基于fpga产生用户自定义波形的装置及方法 |
CN114356022B (zh) * | 2021-12-23 | 2024-09-13 | 中国航空工业集团公司西安航空计算技术研究所 | 一种任意波形直接数字合成单元 |
-
2003
- 2003-06-10 CN CN 03124527 patent/CN1232031C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1469547A (zh) | 2004-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1232031C (zh) | 基于fpga的高精度任意波形发生器 | |
CN201266240Y (zh) | 一种高频段的多通道dds信号发生器 | |
CN102053186B (zh) | 一种具有可变阶数数字滤波器的数字示波器 | |
CN102788891B (zh) | 一种复杂的波形序列发生器 | |
CN102565751B (zh) | 可编程的单相电能计量芯片开发装置 | |
CN103944537A (zh) | 变时钟dds任意波形信号源控制输出频率的方法及实现装置 | |
CN109085879A (zh) | 一种用于电学多功能校准平台的高精度dds频率合成器 | |
CN103178779A (zh) | 一种具有幅度补偿功能的信号发生器及其方法 | |
EP1828867B1 (en) | A digital frequency synthesiser and a method for producing a frequency sweep | |
CN104202016A (zh) | 一种基于查表法的任意倍可变的信号升采样实现方法及系统 | |
EP0815461A2 (en) | Timing generator with multiple coherent synchronized clocks | |
CN100353669C (zh) | 一种用余数插补比较法产生矩形波的虚拟信号发生器 | |
CN101729071B (zh) | 高速正余弦细分装置 | |
CN109104171A (zh) | 一种pwm波形发生器 | |
CN105322919A (zh) | 一种基于fpga的dds多信号发生器 | |
CN103105514A (zh) | 一种具有全数字计频功能的示波器 | |
CN103095297B (zh) | 直接数字频率合成器产生精准频率的方法 | |
CN205121246U (zh) | 基于fpga的dds信号发生器 | |
CN100581054C (zh) | 数字频率转换方法及电路 | |
CN115037286A (zh) | 基于fpga芯片的延迟脉冲产生装置、方法及电子设备 | |
Shan et al. | Design and implementation of a FPGA-based direct digital synthesizer | |
CN103873025A (zh) | 一种三角波信号产生方法及三角波发生器 | |
CN201772887U (zh) | 高速正余弦细分装置 | |
CN110174537A (zh) | 一种信号发生器电路系统及信号发出方法 | |
CN108322189A (zh) | 一种微扰相位调制dds信号产生方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
ASS | Succession or assignment of patent right |
Owner name: HUNAN TECHNOLOGYUNIVERSITY Free format text: FORMER OWNER: XIANGTAN NORMAL COLLEGE Effective date: 20031229 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20031229 Applicant after: Hunan Sci-Tech Univ. Applicant before: Xiangtan Normal College |
|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |