首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于DDS的高精度函数信号发生器的研制
来源:本站整理  作者:佚名  2009-04-20 09:56:42




    软件设计主要分为菜单操作和频率控制值计算两部分。不同的按键代表着不同的数字和功能,除了正常的10个数字键0~9外,为了方便频率值输入,还设计了左右移动键、删除键、Output确认输出键等功能键。相应的数值如频率、相位、幅度输入完成后按Output输出键,即产生相应的信号输出。整体软件设计流程图如图4所示。

2.3 48 b频率控制字的处理
    由于单片机C语言中数据运算最多为32 b,如单精度Float型、Long长整型,而Double虽是64 b但Keil C编译时出错,故将介绍一种在单片机中计算48 b频率控制字的方法。
    在该设计中取参考时钟频率fosc为300 MHz,在DDS的原理中介绍了输出频率的计算方法为:

   
    那么根据式(1)就能推导出计算频率控制字的表达式:

    
    当fo≤fL1时,频率控制字计算公式为:
    FTW=(248*fo)/300 000 000△938 249.922 369*fo
    当fo>fL1时,通过把48 b频率控制字分成8 b+32 b+8 b,令最前面的8 b和最后面的8 b等于O,引入临界频率fL2,可由算式(1)计算得到:

    fL2=300000000*2 40/2 48△1.17172MHz
   当fL1<fo≤fL2时,得到频率控制字计算公式为:FTW=(240*fo)/300 000 000△3 665.038 759*fo最后当fo大于fL2,即把后16 b定为0,这时式(1)中N=32,则频率控制字计算公式为:

   
    此时频率分辨率为(300 000 000*216)/248△0.07 Hz。同理可得当输出频率小于fL1、大于fL1小于fL2时分辨率分别为1.07e一6 Hz和2.73e一4 Hz,本方案设计为输出频率低于1 MHz时分辨率为O.001 Hz,高于1 MHz时分辨率为O.1 Hz。由上可见此方法合理有效,解决了单片机48 b频率控制字算法,同时也达到了很高的频率分辨率和精确度。


3 结 语
    针对目前市场上的函数发生器存在的频带范围窄、精度不高、准确度低、频谱纯度差等缺点,设计了一款高精度高频数控函数信号发生器,该函数发生器具有频带范围宽、精度高、频谱纯度好、频率输出稳定等优点。经测试频率范围可以达到50 MHz,频率分辨率为0.001 Hz,并可以产生正弦波、FSK与BPSK波形。可应用于日常教学与科研工作中,在晶体滤波器测试、复杂通信系统测试、音频系统测试、高性能视频测试等领域有广泛的应用前景。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:237,125.00000 毫秒