FPGA|CPLD|ASIC论坛
直播中

wuyan101

2年用户 16经验值
擅长:可编程逻辑 电源/新能源 嵌入式技术 处理器/DSP 控制/MCU
私信 关注

【FPGA开发者项目连载】双通道DDS信号发生器

演示

` 本帖最后由 wuyan101 于 2021-6-14 16:48 编辑

1.简介
本项目以高云FPGA(GW1N-LV1)作为控制核心,外围搭建DAC、按键等电路,实现双通道DDS信号发生器。通过按键和拨码开关,可以独立调整每个通道的波形、频率、相位。通过电位器,可以调整每个通道最终输出波形的幅值。
2.技术指标
通道数:2
调制方式:DDS
波形类型:正弦波,方波,三角波,锯齿波
频率范围:1-65535Hz
频率步进:1Hz
相位范围:0-360度
相位步进:360/(2^8)度
输出幅值:0-3.3V
输出阻抗:50ohm
3.总体结构

本项目使用GW1N-LV1输出双通道DDS波形信号,模拟部分对信号进行滤波、幅度调节、输出缓冲。
总体框图.png
4.原理分析
(1)逻辑部分
1.信号发生器每个通道使用了4KB的ROM作为波形存储器。
其中,每种波形(正弦波、方波、三角波、锯齿波)的一个周期的幅值信息占用1024字节,4种波形占用4096字节。
输出波形,首先需要根据波形种类确定基地址;其次,频率寄存器决定了偏移量自增的速度;相位寄存器决定了两个通道偏移量的差值;最后,基地址与偏移量相加,得到ROM中当前时刻波形输出的电压值。
ROM.png
2.波形参数是通过外部按键和拨码开关来设置的。
8位的拨码开关是主要数据的输入接口,用于频率和相位具体参数的设定,数据范围是0x00~0xFF。频率输入按键分高位按键和低位按键,按下高位按键表示8位拨码开关的数据写入频率寄存器的高8位,按下低位按键表示8位拨码开关的数据写入频率寄存器的低8位,高低8位寄存器共16位,可以实现频率从1Hz到65535Hz的调整。
相位输入按键只有一个,相位的表示方式是将360度分割成256份,通过8位拨码开关设置当前波形的相位值。
Wave按键的作用是切换波形,按下按键,波形会以空闲、正弦波、方波、三角波、锯齿波的顺序循环切换。CH端口连接的是拨动开关,其高低电平指示频率、相位、Wave按键按下后,参数应当写入哪一个通道。
3.计数型按键消抖模块。
很多MCU的软件消抖逻辑是:采样到电平变化后,隔一小段时间再采样一次,如果两次电平相同则认为按键稳定。这种方法适用于通用处理器,但是放硬件逻辑上不太合适。
本项目设计了一个计数型消抖模块。定义一个位宽为[n:0]的计数器,n的大小决定了消抖的程度,应根据按键的特性来选择,太大会导致反应迟缓,太小则不足以消抖。
按键的高低电平决定了计数器在每个时钟周期是数值+1还是-1,计数器的最高位作为消抖后的输出。当计数器为全0,则停止-1;当计数器为全1,则停止+1。按键抖动会被计数器的计数过程消除,最高位01变换的分界点是计数器的中间值。
未命名绘图.png
(2)模拟部分
波形信号是以8位并行的方式从FPGA输出,然后进入8位的R2R电阻网络进行数模转换。转换后的信号是0~3.3V的高输出阻抗模拟电压信号,需要进入运放和电位器进行幅值调整和输出缓冲。
5.成果展示
硬件实物展示

双通道输出
双通道.png

波形独立切换
不同波形.png

相位可调
255相位步进.png 180相位.png
频率从1Hz到65535Hz可调
1hz.png 65535k.png
6.总结

整个设计,从器件选型,到逻辑设计,全套流程走下来,在开发与调试的过程中积累了很多经验。这次使用高云的FPGA,也算是给我了一些惊喜。虽然在开发过程中遇到过各种各样的问题,有的解决了,有的没解决,但总体而言,高云FPGA的开发还是让人感到舒适的。国产FPGA已经完成了从无到有的突破,相信以后会做得更好。

B站也发布了视频
https://www.bilibili.com/video/BV1rh411a7av/
附件
工程文件与波形生成代码
gw_dds.rar (731.73 KB)
(下载次数: 31, 2021-6-7 16:29 上传)
原理图与PCB
原理图与PCB.rar (119.53 KB)
(下载次数: 23, 2021-6-7 17:41 上传)
` 实物.jpg

回帖(7)

elecfans小能手

2021-6-7 18:44:45
点赞,你是第一个上传的作者哦~
举报

罗星

2021-6-7 18:46:22
来膜拜一下大神!!
举报

Mirel

2021-6-8 15:14:55
大神,有个不错的工作机会要不要考虑下
举报

顾锦骋

2021-6-10 20:57:17
写的确实好 真的感觉 受益匪浅 学到了很多 了解了更多这方面的知识
举报

qiu

2021-6-16 08:27:38
点赞 双通道DDS信号发生器
举报

wuyan101

2021-6-18 17:24:58
希望大家给予意见和建议
举报

jf_16154230

2021-6-26 12:57:19
写的真好 受到了不少启发
举报

更多回帖

发帖
×
20
完善资料,
赚取积分