基于DDS的多波形程控信号发生器

**一.**基本要求如下:
一.任务
设计制作一个程控信号发生器,能产生幅度和频率可变的正弦波、方波、三角波和自定义波形。示意图如下:
图一:整体框图

二.基本要求
(1)具有产生正弦波、方波、三角波信号的功能;
(2)可通过键盘操作输出频率范围为20Hz~100KHz的波形;分三波段调节,分别为:20Hz~1KHz步进间隔10Hz,1KHz~10KHz步进间隔50Hz,10KHz~100KHz步进间隔100Hz;
(3)输出波形幅度为4V;
(4)能显示信号的周期、P-P值等信息;
(5)波形无明显失真;
三.发挥部分
(1)输出波形的频率范围为20Hz~1MHz;
(2)输出波形的P-P值为0—4V可调,步进0.1V,可以通过键盘直接输入频率值;
(3)具有掉电存储功能,可以储存用户设置;
(4)可以用键盘或扩展PC接口实现用户自定义波形输出;
二,
第一部分确定方案:1,采用使用stm32单片机内置串行DAC实现1M的输出,发现stm32的频率很难上去,三角波和方波以及锯齿波频率到400kHz使严重失真,所以我们换方案。----扎心了!!!
2.采用DDS方法实现,使用FPGA作为信号发生部分,stm32作为控制和测量部分,采用并行的DAC实现,并行DAC900产生的波形可以轻松松上1M理论来说可以上到15MHz关键是要有一个好的滤波器。
三,
我们分模块实现其功能:

2019年1月23日

首先我们现在FPGA 上对软件进行调试,基本没什么问题,实现了波形的切换和频率的步进功能

2019年1月24日

第一块DAC900板子新鲜出炉,刚开始遇到一个小问题,就是出来的波很难看即使是频率很低的时候,后来发现是DAC数字电源端用FPHGA供电时,文波很大,后来用基准源供电,纹波明显减小,波形变得好看。波形到4MHz时三角波和方波以及锯齿波失真,我们使用的时DAC900内置的1.24v基准源,对波形的幅值不好改变,所以我们决定再外接一个DACTLV5636,通过stm32实现对TLV5636的控制实现可控输出。
不过我们遇到了玄学问题(哭笑.jpg)不多说,上图:
图二:DAC原理图
问题是,当我一上电TLV5636的输出脚和地就短路,相当于TLV5636没有输出电压
刚开始我以为是TLV5636芯片烧坏了,于是将TLV5636单独拿出来测试发现没有坏,
然后我将TLV5636从板子上卸下来,发现两条路没有短,但是芯片一上电就短路,
于是我们又怀疑是DAC900坏了,我们DAC900INT/EXT引脚拉低,使用其内部基准源发现其输出电压正常,
又怀疑是其内部电压拉高较慢导致导致其输出电压始终处于低电压,我们先将INT/EXT单独拉高,再接给DAC商店上电,发现问题依旧存在
然后我们怀疑是电流倒灌导致电压减小,于是我们在输出路上串联一个1M欧的电阻,发现电阻之后的电路没有短路,而之前的短路,相当于电阻将电路分为两个部分,一部分短路,另一部分没有短路,真的玄学!但是我相信我们一定能找到问题所在!

2019年1月25日

实在没辙,于是我决定将DAC900换一个但是由于手头只剩下一块DAC904,所以我将DAC904焊上去
图三:板子图
换了DAC9004后可以实现幅值可控输出,同时要注意DAC9004使用外部基准源的时候一定要先将INT/EXT拉高,再给外部基准源上电,不然DAC9004内部阻态无法准确判断当前状态!
但是我们又遇到了新的问题,就是输出的波形,上图:

图四:波形图
刚开始以为是输出电压过大摆幅不够导致的,后来发现是因为数据线插错了
目前为止,波形发生部分基本实现,有几个发现:
1.DAC900INT/EXT引脚3.3v足够使能
2.串联电阻不能防止电流倒灌,反而会因为分压倒是过电阻后电压减小

2019年1月26日

刚开始做了一个 巴特沃茨滤波器发现效果不太理想,因为阻抗匹配什么的都没有调,后来用filter_solutions设计了一个七阶的椭圆滤波器(注意电感和电容值将精度调到百分之20),后来发现信号经过滤波器效果不是很好,但是经过运放后波形很好看。图五:滤波器原理图
设计滤波器时要注意阻抗匹配,输出端是看出去50欧姆,信号传输是看进去50欧姆。画pcb时注意接口距离问题,后端的运放阻抗匹配依旧要考虑,相当于输出端。
如上图,先让R1和R3并为50欧姆,再让R7并R5+R6等于50欧姆,先确定R1,然后是R3再根据放大倍数调R2,R6和R5的值可以确定,最后确定R7(模电知识,不展开解释)。
但是问题又来了:就是频率和TLV5636输出电压一大,TLV5636电压就往下掉。
猜想:DAC904内部运放增益带宽积不够导致的。
我们增大了外部的Ref果然问题得到了解决 通过后级放大增大放大倍数。
最后我们在输出端用电阻分压将信号给STM32ADC测量,并做了一个电源板给整个系统供电,使系统得到完善!

基于DDS的多波形程控信号发生器相关推荐

  1. DDS信号发生器设计matlab,基于DDS的LFM信号发生器

    内容简介: 毕业论文 基于DDS的LFM信号发生器,共32页,12745字 摘要:信号发生器作为现代电子产品中的重要一员,必须满足高精度.高速度.高分辨率等要求.而采用DDS方案实现的信号发生器正好有 ...

  2. 基于FPGA的双路低频信号发生器设计

    基于FPGA的双路低频信号发生器设计 系统结构框 本设计是以Altera公司的可编程芯片做载体,运用Verilog作为软件设计工具,从而实现DDS原理,即信号发生器的核心思想.再加上信号发生器的硬件电 ...

  3. c语言程序设计杨东芳答案,基于DDS的数发生器毕业设计论文.doc

    基于DDS的数发生器毕业设计论文 JIANGXI AGRICULTURAL UNIVERSITY 本 科 毕 业 设 计 题目: 基 于 DDS的 函 数 发 生 器 学 院: 工学院 姓 名: 学 ...

  4. 常用雷达信号的matlab仿真_常用的雷达信号:基于DDS的线性调频信号的产生

    大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分.大侠可以关注FPGA技术江湖,在"闯荡江湖"."行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢. ...

  5. 基于51单片机的三角波信号发生器设计

    基于51单片机的三角波信号发生器设计 一.任务要求: 设计内容 选择51单片机,晶振采用12MHz. 设计一个能产生50HZ至100HZ的三角波信号.通过0832/A芯片完成数模转换. 频率值由LED ...

  6. 【STM32入门】这个项目绝了,用手势来产生波形,基于手势控制的波形发生器

    大家好,我是张巧龙,之前有给实验室学生出了一道关于STM32的题:基于手势控制的波形产生题,题目简单,但综合性较强. 有些学生完成的还不错,个人觉得此题用来 入门 STM32再合适不过了. 展示视频: ...

  7. 【oracle灾备方案系列】基于DDS的Oracle复制容灾方案(三)

    <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> [oracle ...

  8. 基于51单片机的波形发生器(四种波形)(毕业设计资料)

    四种波形的产生,包括锯齿波.三角波.方波.正弦波.通过LCD液晶显示当前波形以及波形的频率.可以通过按键切换波形,并可以通过按键进行设置当前波形的频率大小,也可以设置频率设置不步进值.资料从主页链接中 ...

  9. oracle灾备同步_【oracle灾备方案系列】基于DDS的Oracle复制容灾方案(三)

    [oracle灾备方案系列]基于DDS的Oracle灾备方案(三) 在基于DataGrid DDS产品实现灾备架构中,不仅能够实现集中交易系统的灾备功能,实现0时间的数据库切换.同时在该架构基础上还能 ...

  10. 测试基于STM32的ADIS16405评估板,并在匿名四轴上实时显示3轴陀螺仪+3轴加速度计+3轴磁力计 波形。本文最后还公开一个基于C# 的串口波形显示客户端源码。

    标题:测试基于STM32的ADIS16405评估板,并在匿名四轴上实时显示3轴陀螺仪+3轴加速度计+3轴磁力计 波形.本文最好还公开一个基于C# 的串口波形显示客户端源码. 这里附上该评估板的原理图和 ...

最新文章

  1. 使用Gearman做分布式计算
  2. 计算勒让德多项式系数的第二种方法
  3. linux kernel中的module_init/initcall代码导读
  4. 俄罗斯机器人雄鹿_在雄鹿无球可打,在火箭重获新生!哈登,你又让一人打出身价...
  5. MySQL ORDER BY IF() 条件排序
  6. invalid floating point operation什么意思_数据可视化有意思的小例子:Taylor Swift 歌词数据分析和可视化...
  7. python怎么查看网页编码格式_怎么用python爬取网页文字?
  8. c语言英文单词倒着,C语言实现英文单词助手
  9. (对拍配套)随机生成数据
  10. 【干货分享】大话团队的GIT分支策略进化史
  11. 【计算方法】数值积分求解微分方程
  12. 《JAVA疯狂讲义》学习笔记第六天
  13. aizu 0121 Seven Puzzle
  14. c语言计算梯形的面积
  15. 【数学】嵌入式开发中涉及到的对数公式
  16. JAVA标准系列(JSRnbsp;208:nbsp;Javanbsp;Busi…
  17. HTML5网页设计成品_中华传统文化网页题材_诗词网页4页_web课程设计网页制作
  18. SAP软件ERP系统简介
  19. 网页版连连看(JS jQuery)
  20. 专访马云:面对股东的期待,未来如何保持阿里继续增长?

热门文章

  1. steam进社区显示服务器错误,steam社区玩游戏出现错误代码-107如何解决_steam社区提示错误代码-107解决方法...
  2. VMware Workstation 虚拟机中的 虚拟机访问物理机(仅主机模式)
  3. 斐波那契堆(Fibonacci Heap)
  4. awr报告 解读_关于AWR报告的解析
  5. 计算机找不到ie浏览器,WinXP系统IE浏览器不见了怎么办?
  6. 古诗词取名小工具1.0
  7. 用报初会的照片报计算机,初级会计师照片要求
  8. 南邮通院考研的一些经验
  9. 【数据结构初阶-oj】入门二叉树的入门oj
  10. QTQString(UTF8)数据转GBK