2023寒假一起练平台(2)- 基于STM32+iCE40的电赛训练平台 DDS信号发生器
通过板上的高速DAC(10bits/最高125Msps)配合FPGA内部DDS的逻辑(最高48Msps),生成波形可调(正弦波
标签
嵌入式系统
FPGA
DDS
yao
更新2023-03-29
427

 基于STM32+iCE40的电赛训练平台 DDS信号发生器

本次是以项目3进行开发,本篇以正弦波为例。

项目3 - DDS任意波形发生器/本地控制

具体要求:

  1. 通过板上的高速DAC(10bits/最高125Msps)配合FPGA内部DDS的逻辑(最高48Msps),生成波形可调(正弦波、三角波、方波)、频率可调(DC-)、幅度可调的波形
  2. 生成模拟信号的频率范围为DC-5MHz,调节精度为1Hz
  3. 生成模拟信号的幅度为最大1Vpp,调节范围为0.1V-1V
  4. 在OLED上显示当前波形的形状、波形的频率以及幅度
  5. 利用板上旋转编码器和按键能够对波形进行切换、进行参数调节

首先我对DDS认识与理解:

什么是DDS?

DDS(Direct Digital Synthesizer)即数字合成器,是一种新型的频率合成技术,具有相对带宽大,频率转换时间短、分辨率高和相位连续性好等优点。较容易实现频率、相位以及幅度的数控调制,广泛应用于通信领域。

DDS的组成:

DDS主要由相位累加器相位调制器波形数据表以及 D/A 转换器构成。

FiomEzL4XBWP6-Q3JKVHDAuOlB8r

FhohG_Yckp0-ZeKW-OAoFJBpDAcl

DDS的工作过程:

其中相位累加器由 N 位加法器与 N 位寄存器构成。每个时钟周期的时钟上升沿,加法器就将频率控制字与累加寄存器输出的相位数据相加,相加的结果又反馈至累加寄存器的数据输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。即在每一个时钟脉冲输入时,相位累加器便把频率控制字累加一次。
相位累加器输出的数据就是合成信号的相位。相位累加器的溢出频率,就是DDS输出的信号频率。相位累加器输出的数据,作为波形存储器的相位采样地址,这样就可以把存储在波形存储器里的波形采样值经查表找出,完成相位到幅度的转换。波形存储器的输出数据送到D/A转换器,由D/A转换器将数字信号转换成模拟信号输出。

DDS 信号流程示意图:

FjnK61saILMOI_w8_L-CUVkkF8ua

 

然后又研究起这个锁相环:我就不多分享,贴一个连接感觉写的非常的不错。

phase-locked-loop-pll-fundamentals_cn.pdf (analog.com)

项目的资源:

FiwNVQ4CF1G9ceaZb8LRPX8R3kQC

实现流程框图:

FsXsSP9KAXp9hJtRUSW9c5WkSZi7

 

FPGA资源

网络分析图:

FmXmb4wZ0ZY2EqAUfGqm0W-RovAk

利用MATLAB生成的波形:

方波/三角波:

Fs7XsdWUQPr2h6_oWf-RNP2x9wWb

正弦波:

FmtC_ii6AAt2xk1CEKN-QTrhEe-A

模块功能描述:

1、OLED:显示相关的信息,显示DDS信号发生器;

2、编码器,调节频率大小,旋转以1HZ增加频率,按下编码器按键以100hz,1khz,1mhz 在OLED显示循环切换;

3、按键:K1清掉当前设定频率(考虑到设定值时要退回来麻烦),K2输出当前设定频率。

4、MCU:STM32G0点亮OLED,接收按键输入,与FPGA通信等。

5、FPGA:ICE40与DAC再输出,用于波形产生。

Fl7Mc0nqtNXjPcNT5hn22d2_iC-d

操作过程:接入电源,屏幕上显示DDS信号发生器,频率显示0.0KHZ,递增值100HZ,最大输出的是5MHZ。当通过旋转编码器,(编码器旋转一次时,以1的值增加或者减小)可以设定输出的频率大小,再通过按轻触开关K2输出波形,如果要设定1KHZ的波形,第一种方法是一直旋转编码器,第二种方法是按下编码器开关,OLED屏上会把递增值上显示的100HZ更改为1KHZ,再按一下编码开关,就会更改为1MHZ,循环切换。如果此时想从头来调整输出的波形,或者要100HZ的波形输出,可以直接按下K1,可以得到一个原始波形输出。

总结:

此开发板其实难度还是蛮大的,但是如果要把这个完整的弄好,编码器非常的流畅,任意波形都按要求实现还是要花费很多的时间和经历, 这个开发板真心觉得非常的好,特别是FPGA部分,MCU完成系统的设置,FPGA完成波形的产生和功能的调试,有着一定的优势。后续我如果闲下来了,我会把此板的外壳做出来,做成成品,弄一个完整的信号发生器,供自己以在研发的道路上添一个好的工具。

 

链接:https://pan.baidu.com/s/1zSonczASTAgx_rQQgiLg1A       lf8z

 

 

 

 

 

 

附件下载
dds_pro.hex
MCU
dds_pro_impl_1.rbt
FPGA
团队介绍
个人
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号