搜索
bottom↓
回复: 35

【求助】FPGA做DDS波形出现毛刺,什么原因呢

[复制链接]

出0入0汤圆

发表于 2010-4-11 14:23:19 | 显示全部楼层 |阅读模式
DDS实测波形(频率不稳,波形有很多毛刺)

(原文件名:图片 008.jpg)


(原文件名:图片 009.jpg)


(原文件名:图片 010.jpg)
DA采用DAC902,FPGA为EP2C5T144C8N,时钟晶振50M,FPGA内部PLL2倍频。DA电路很简单DAC902+OPA690
下面为完整的工程文件
点击此处下载 ourdev_545492.rar(文件大小:1.41M) (原文件名:DDS.rar)
RTL图

(原文件名:RTL.JPG)
是程序问题?还是DA电路的问题呢?低频时波形比较好看。上K波形就很多毛刺,频率在高波形就更糟糕了。

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2010-4-11 15:14:53 | 显示全部楼层
我认为是FPGA推送出数据的时序配合以及信号完整性方面的问题。

出0入0汤圆

发表于 2010-4-12 11:08:32 | 显示全部楼层
这个问题仿真就能看出来的

出0入0汤圆

发表于 2011-8-3 10:02:46 | 显示全部楼层
楼上的DAC902用出来了,可是我的DAC902却怎么都不对阿!求助。求交流阿!

出0入0汤圆

发表于 2011-8-7 00:36:15 | 显示全部楼层
LZ用的什么硬件电路呢?是否是芯片数据手册的电路图啊~~

出0入0汤圆

发表于 2011-8-7 00:37:56 | 显示全部楼层
我一直怀疑是不是芯片资料上的电路图有问题么?我按照数据手册上的AD9850电路接,ARM7编程,但是产生的波形也是很多毛刺,而且不稳定,上30M正弦波更不谈了~~

出0入0汤圆

发表于 2011-8-7 07:07:19 | 显示全部楼层
output dac[11..0] 加buffer,由PLL上或下缘控制输出.

出0入0汤圆

发表于 2011-8-7 08:27:48 | 显示全部楼层
我用AD7801,还是没问题。不过,你的速度是太高了。用示波器检查CLK和DAT的关系?
PCB布线相差太大?根据毛刺出现的位置,应该重点检查几根线!

有点像串扰或振铃引起的数据错误。

出0入0汤圆

发表于 2011-8-7 10:27:07 | 显示全部楼层
回复【楼主位】TornadoYu
-----------------------------------------------------------------------

我猜有可能是数据溢出了一位,原来仿真的 时候遇到过这个问题,比方说你的数据设置的是减到0就停止了,实际是减到0又减了一位就成了ffff。。。了,所以这个地方出现了毛刺。

出0入0汤圆

发表于 2011-8-7 10:28:34 | 显示全部楼层
回复【1楼】ngzhang  兽哥
-----------------------------------------------------------------------

信号完整性可是个大命题。
希望正如TornadoYu  说的,是楼主程序问题。

出0入0汤圆

发表于 2011-8-7 10:34:27 | 显示全部楼层
如果是信号完整性的问题,为什么波形其他地方没有毛刺,每个周期只有局部有毛刺?
我觉得信号完整性有问题的可能性不大。

还是重点查下时序吧。我觉得是时序问题。

出0入0汤圆

发表于 2011-8-7 22:15:40 | 显示全部楼层
1、用signal tap ii 看下信号在FPGA 内部的情况。
2、如果上一步就有毛刺,那加3级buffer试一试。如果没有则可能是板子设计的有问题了。
3、仔细检查下DAC的电路是不是ok?

出0入0汤圆

发表于 2011-8-9 05:37:08 | 显示全部楼层
示波器放大毛刺,仔细分析毛刺出现时对应的数据以及毛刺对应的数据,很可能就是某一两个bit的问题。

出0入4汤圆

发表于 2011-8-9 09:28:14 | 显示全部楼层
FPGA用同步逻辑, 所有的信号都要在时钟的某个沿跳变. 输出也要加时钟驱动的buffer

出0入0汤圆

发表于 2011-8-9 10:26:39 | 显示全部楼层
我想应该是输出时序不同步的问题吧。建议输出加触发器,保住同步触发。

出0入0汤圆

发表于 2011-8-9 10:26:56 | 显示全部楼层
我想应该是输出时序不同步的问题吧。建议输出加触发器,保住同步触发。

出0入0汤圆

发表于 2011-8-9 22:06:19 | 显示全部楼层
你进行滤波没有

出0入0汤圆

发表于 2011-8-18 10:50:11 | 显示全部楼层
我刚遇到过这个问题,应该是时序不同步 你改下试试,我当时就是同步了下就消除了 你波形数据存了整个周期?还是1/4?

出0入0汤圆

发表于 2011-8-18 15:33:29 | 显示全部楼层
我之前也遇到过,是程序的问题,你在每个周期转换的时候,有数据溢出了(输出的数据不连续)。

出0入42汤圆

发表于 2011-8-18 16:28:52 | 显示全部楼层
求示波器型号,似乎带辉度

出0入0汤圆

发表于 2012-6-6 23:29:54 | 显示全部楼层
看图的话,毛刺出现都是接近波谷的地方,猜测是该处时序不正常或者读取到了错误的ROM表

出0入0汤圆

发表于 2012-6-7 09:56:58 | 显示全部楼层
应该是数据完整性的 问题

dac_clk前面加个非门试试...................................................

出0入0汤圆

发表于 2012-6-16 08:08:01 | 显示全部楼层
DDS的累加器输出的分频脉冲可能会在累加器达到最大值时输出产生空缺,也就是丢了一个脉冲。

出0入0汤圆

发表于 2012-6-16 22:31:24 | 显示全部楼层
哇塞  遇到和我做同样事情的人了  MARK!

出0入0汤圆

发表于 2012-7-16 22:57:23 | 显示全部楼层
问题,解决了吗?

出0入0汤圆

发表于 2012-7-17 01:41:34 | 显示全部楼层
我猜有可能是数据溢出了一位,原来仿真的 时候遇到过这个问题,比方说你的数据设置的是减到0就停止了,实际是减到0又减了一位就成了ffff。。。了,所以这个地方出现了毛刺。

应该是这个

出0入0汤圆

发表于 2012-7-17 08:55:23 | 显示全部楼层
应该是27楼说的那个问题!

出0入0汤圆

发表于 2012-7-17 09:04:06 | 显示全部楼层
我猜有可能是数据溢出了一位,原来仿真的 时候遇到过这个问题,比方说你的数据设置的是减到0就停止了,实际是减到0又减了一位就成了ffff。。。了,所以这个地方出现了毛刺。

应该是这个


我估计也是这个问题

出0入0汤圆

发表于 2012-7-18 17:03:55 | 显示全部楼层
linspace 发表于 2012-7-17 08:55
应该是27楼说的那个问题!

你觉得该怎么处理呢????

出0入0汤圆

发表于 2012-7-20 09:02:54 | 显示全部楼层
涛哥哥333 发表于 2012-7-18 17:03
你觉得该怎么处理呢????

仿真看一下,不然你把范围取小一点,别满量程了。这样子看看会出现什么样的情况。

出0入0汤圆

发表于 2012-8-28 22:26:34 | 显示全部楼层
时钟为0时的建立时间不够吧

出0入0汤圆

发表于 2012-10-30 20:16:27 | 显示全部楼层
我也在做DDS呀!学习一下!!!!!

出0入0汤圆

发表于 2013-4-3 15:38:13 | 显示全部楼层
{:smile:

出0入0汤圆

发表于 2013-8-16 13:55:02 | 显示全部楼层
新手上路!先参考下

出0入0汤圆

发表于 2013-8-29 22:55:05 | 显示全部楼层
看看 學習學習!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 05:14

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表