原创 基于CPLD的DDS正弦信号发生器的设计

2007-8-18 21:51 7596 18 96 分类: FPGA/CPLD

    这几天终于实现了DDS正弦信号的发生,限于CPLD的128宏单元不够用也不知道怎么优化,后来就干脆把按键、频率显示、频率控制字交给单片机控制产生,再由单片机讲频率控制字传送给CPLD,这样就实现了频率的控制。最终产生的正弦信号频率范围为1HZ~30KHZ,频率可步进1HZ也可通过单片机预置,也可以自动扫频信号。起先出来的频最大误差达到2HZ多,觉得不对劲出来的频率应该很精确不会有这么大的误差,后来发现原来是晶振不准有点误差,后来经程序修改使输出最大频率误差在0.1HZ以内,经过这几天的努力总算感到了一点的欣慰,呵呵。


这是VHDL顶层模块:


点击看大图


这是当k=001111111111111时的仿真波形:


点击看大图


    单片机控制6个数码管显示当前的频率,P1口接4个功能按键,分别是+、-、选择和扫频,再用两片574向CPLD输出频率控制字。限于时间暂时做到这么多。


    在说一点吧,由于是用DAC0832转换的(转换时间1us)所以晶振就限制在1M之内了,出来的最大频率,根据奈奎斯特采样定理也就限制在0.5MHZ之内了(不过失真很大的,取小点好了),最后对出来的波形再做滤波就可以了。

PARTNER CONTENT

文章评论78条评论)

登录后参与讨论

用户134993 2009-8-26 21:59

楼主,传我一份吧,我也正在研究,万万分谢谢,yang_swust@163.com

用户1429641 2009-8-2 21:09

楼主,传我一份吧,我也正在研究,万万分谢谢,wangyanping_1020@126.com

用户1654952 2009-7-29 21:57

楼主真的很厉害啊.我也正在研究,能发一份给我吗? zouqingping1092@163.com

用户168957 2009-7-23 20:56

楼主传我一分吧 正在研究这东西~~~谢谢啦 wjason11@sina.com

用户200949 2009-7-16 21:46

楼呀能发我一份吗?406681728@qq.com 万分感谢!

用户198588 2009-7-16 15:36

能不能发我一份啊?~不胜感激 crabberz@gmail.com

用户198588 2009-7-16 15:36

能不能发我一份啊?~不胜感激

用户517979 2009-7-6 11:33

楼主我现在也在做基于FPGA的波形发生器,能不能发一份资料让我参考参考,不胜感激qiulinfeng2008@163.com

用户221207 2009-5-4 12:00

楼主我也在做这方面的相关论文,能不能发一份资料给我学习,谢谢了 cxj861986@163.com

用户193679 2009-5-3 09:16

呵呵 我也正在做这方面的论文 可以也给我发一份吗 谢了 lina130lina@126.com
相关推荐阅读
用户1657917 2008-06-24 15:10
STM32上位机控制演示软件
STM32项目/学习计划表项目名称 STM32上位机控制演示软件请点击以下链接更新您的个人资料(包括“职位,部门,单位名称,地址,邮编,电子邮箱,电话”),以便我们能及时联系您并快速发送开发套件。ht...
用户1657917 2008-04-03 16:27
串口调试软件V1.0
        这两天用VC++写了个串口调试软件,是用MSComm 控件编写的,虽然串口调试的软件多的满天飞,但是本人初涉串口编程,写这么个软件对以以后应用串口编程还是受益匪浅的。        这...
用户1657917 2008-04-01 16:03
关于radio button控件的使用问题
    用过这个控件的都知道他们之间都是互斥的,但是编程是总是找不到属性设置,在网上查找资料,上面说设置成一组就可以了。但是我把他们的GROUP属性选中了,但是运行时还是不行,没有办法再找,终于在一个...
用户1657917 2008-03-31 11:57
学习串口通信编程
    在公司实习也一个多月了,前段时间调好了AIAO板,接下来又有新任务了。。。准备设计编写基于RS485的多主多从协议,类似于IBM的Token Ring协议,先在电脑间联网写个VC程序测试,所以...
用户1657917 2008-02-21 15:05
汉字转Unicode软件
    这是我学了几天C++后所写的第一个软件,目的是出于前段时间学习AT指令时所需,使用AT指令发短信需要用Unicoe码发送汉字。也算是自己学习C++的练手软件,现在发布给有需要的朋友。本人的第一...
用户1657917 2007-09-25 22:35
DIY迷你CPLD核心板
    这两天用敷铜板做了块迷你的CPLD核心板,把所有的IO口全部都引了出来,还引出了几个CLK的脚,到今天为止已经钻孔、焊接、调试成功,正常下载程序了,呵呵,如有什么不足之处请各位大虾指出,不胜感...
EE直播间
更多
我要评论
78
18
关闭 站长推荐上一条 /3 下一条