AD9850模块可以单片机输出正弦波波,但出不来矩形波,用的是C51,求解答,谢谢

AD9850的问题_百度知道
AD9850的问题
我在淘宝买了块ad9850的模块,用at89s52控制该模块,程序也是用的例程,为什么模块输出的方波频率跟程序中设定的频率一样,也很稳定,但是正弦波频率一直不稳定啊(输出频率越高,波动范围越大)。
#include&reg52.h&
#include&intrins.h&
sbit ad9850_fq_...
我有更好的答案
AD9850的datasheet里有说明,AD9850可以输出的最大频率应该是你的板子上晶振频率的一半(原理是采样定理),并且在这个范围内,频率越大谐波越多,也就越不稳定的,你输出频率是多少啊,不要太大。AD9850方波的产生是通过比较器产生,将产生的正弦波幅值进行比较输出,产生的原理比较而言要简单,不出大问题,都是比较稳定的。再者,晶振可能的干扰也会比较大的,你的晶振是125MHz的,频率比较大了,如果板子不是很好,隔离做的不好,干扰还是很大的我之前用串口的方式也写过控制字,串口方式得到的结果比较好,你可以试试
这很难吗?频率又不高,但是你这个输出峰峰值10V是要恒定,还是怎么? 随便用一个运放都可以啊,同相放大器,或者反相放大器都可以的啊。
这是AD9850的原理图,输出幅度没有要求,我直接把模块的正弦波输出接到示波器的。
为您推荐:
其他类似问题
ad9850的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。图1 AD9850引脚图
& & & &AD9850 内含可编程DDS 系统和高速比较器,能实现全数字编程控制的频率合成。可编程 DDS 系统的核心是累加器, 它由一个加法器和一个N位相位寄存器组成, N 一般为24 ~32。每来一个外部参考时钟,相位寄存器便以步长M 递加。相位寄存器的输出与相位控 制字相加后可输入到正弦查询表地址上。正弦查询表包含一个正弦波的数字幅度信息 , 每一个地址对应正弦波中0&~360&范围的一个相位点。查询表把输入地址的相位信息 映射成正弦波幅度信号, 然后驱动 以输出模拟量。
& & & &相位寄存器每过2N/ M 个外部参考时钟后返回到初始状态一次, 相应地正弦查询表每经过 一个循环也回到初始位置, 从而使整个DDS 系统输出一个正弦波。输出的正弦波周期TO = &Tc2N/ M , 频率fout = Mfc/ 2N ,Tc 、fc 分别为外部参考时钟的周期和频率。
& & & &AD9850 采用32 位的相位累加器将信号截断成14 位输入到正弦查询表,查询表的输出再被 截断成10 位后输入到DAC , DAC 再输出两个互补的。DAC 满量程输出电流通过一个 外接RSET调节, 调节关系为ISET = 32 (1. 248V/ RSET) , RSET的典型值是3. 9k&O 。将DAC 的输出经低通后接到AD9850 内部的高速比较器上即可直接输出一个抖动很 小的方波。其系统功能如图2所示。
图2 AD9850 的系统功能框图
& & & &AD9850 在接上精密时钟源和写入频率相位控制字之后就可产生一个频率和相位都可编程 控制的模拟正弦波输出, 此正弦波可直接用作频率信号源或经内部的高速比较器转换为方 波输出。在125M 的时钟下, 32 位的频率控制字可使AD9850 的输出频率分辨率达0. &0291H 并具有5位相位控制位,而且允许相位按增量180&、90&、45&、22. 5&、11. &25&或这些值的组合进行调整。
& & & &2、AD9850 的控制字与控制时序
& & & &AD9850 有40 位控制字, 32 位用于频率控制,5 位用于相位控制, 1 位用于休眠( &Power down) 控制, 2 位用于选择工作方式。这40 位控制字可通过并行方式或串行方式 输入到AD9850 ,图3是控制字并行输入的控制时序图, 在并行装入方式中,通过8 位总线D0 &&D7 将可数据输入到寄存器,在重复5 次之后再在FQ & UD 上升沿把40 位数据从输入 寄存器装入到频率/ 相位数据寄存器(更新DDS 输出频率和相位) , 同时把地址指针复位 到第一个输入寄存器。接着在W & CL K 的上升沿装入8位数据,并把指针指向下一个输入 寄存器,连续5 个W & CL K 上升沿后, W & CL K 的边沿就不再起作用,直到复位信号或FQ &- UD 上升沿把地址指针复位到第一个寄存器。在串行输入方式, W & CL K 上升沿把25 &引脚的一位数据串行移入, 当移动40 位后, 用一个FQ-UD 脉冲即可更新输出频率和相位 。图4 是相应的控制字串行输入的控制时序图。
图3 AD9850控制字并行输入的时序图
图4 AD9850控制字串行输入的时序图
& & & &AD9850 的复位(RESET) 信号为高有效,且脉冲宽度不小于5 个参考时钟周期。AD9850 &的参考时钟频率一般远高于的时钟频率, 因此AD9850 的复位(RESET) 端可与单片 机的复位端直接相连。
& & & &值得一提的是: 用于选择工作方式的两个控制位,无论并行还是串行最好都写成00 ,并行 时的10、01 和串行时的10、01、11 都是工厂测试用的保留控制字,不慎使用可能导致难 以预料的后果。
& & & &3、单片机与AD9850 的接口
& & & &AD9850 有两种与微机并行打印口相连的评估版, 并配有 下运行的软件, 可以作 为应用参考,但运用单片机实现对DDS 的控制与微机实现的控制相比,具有编程控制简便、 接口简单、成本低,容易实现系统的小型化等优点, 因此普遍采用MCS51 单片机作为控制 核心来向AD9850 发送控制字。
& & & &单片机与AD9850 的接口既可采用并行方式,也可采用串行方式, 但为了充分发挥芯片的高 速性能, 应在单片机资源允许的情况下尽可能选择并行方式,本文重点介绍其并行方式的 接口。
3. 1 I/ O 方式并行接口
& & & &I/ O 方式的并行接口比较简单, 但占用单片机资源相对较多, 图5 是I/ O 方式并行 接口的电路图,AD9850 的数据线D0~D7 与P1 口相连, FQ-UD和W-CL K 分别与P3. 0 (10 &引脚) 和P3. 1 (11 引脚) 相连, 所有的时序关系均可通过软件控制实现。
图5 AD9850与单片机并行I/ O 方式接口电路图
& & & &将DDS 控制字从高至低存放于30H 至34H 中,发送控制字的程序清单如下:
MOV R0 , # 05H MOV R1 , # 30H DD : MOV P1 , @R1 SETB P3. 1 CLR P3. 1 INC R1 DJNZ R0 ,DD SETB P3. 0 CLR P3. 0 END
& & & &在程序中, 每将一字节的数据送到P1 口后, 必须将P3. 1 (W-CL K) 置高。在其上升 沿,AD9850 接收与P1 口相连的数据线上的数据, 然后将P3. 1 置低, 并准备下一字节的 发送, 连续发送5 个字节后,须将P3. 0 ( FQ-UD) 再次置高, 以使AD9850 根据刚输入的 控制字更改频率和相位输出, 随后再置P3. 0 为低,准备下一组发送。单片机的P3. 0、 P3. 1引脚为串行口, 当被占用时, W-CL K 和FQ-UD 引脚也可与其它I/ O 脚相连, 这时需要修改相应的发送程序。
& & & &3. 2 总线方式并行接口
& & & &总线方式并行接口占用的单片机资源较少, 在这种方式下, AD9850 仅作为一扩展芯片而 占用外部RAM 的一段地址, 必要时也可以只占用一个地址。图6 是总线方式并行接口的电 路原理图。同样将DDS 控制字从高至低存放于30H 至34H 中, 发送控制字的程序清单如下:
图6 AD9850总线方式并行方式接口的电路原理图
MOV R0 , # 05H MOV R1 , # 30H MOV DPTR , #0700H DD : MOV A , @R1 MOVX @DPTR ,A INC R1 DJNZ R0 ,DD MOVX A , @DPTR END
& & & &AD9850 的W-CL K 和FQ-UD 信号都是上升沿有效, 用MOVX @DPTR , A 指令向AD9850 传送控制字时, 由74F138 将高八位地址的低三位译码, 其输出经并与反相后的信号相 与得到一上升沿送至AD9850 的W-CL K 脚, 此时已送到总线上的数据将被AD9850 接收,连 续五次将40 位的控制字全部发送以后,用MOVX A , @DPTR 指令产生FQ-UD 信号, 使 AD9850 更改输出频率和相位,此时读入到单片机内的数据实际上无任何意义。图6中 AD9850 的地址为0700H。
& & & &上述两种接口方式经实际应用证明:工作可靠,效果良好。单片机与AD9850 的串行接口可 参照有关资料进行设计。上述接口电路和程序也适用于与AD9850 脚对脚兼容的AD9851 , &值得注意的是:AD9851 的控制字与AD9850 控制字中个别位的定义稍有区别,编程时应予以 注意。
&&&&&往下看有更多相关资料
试试再找找您想看的资料
资料搜索:
查看相关资料 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款
copyright & &广电电器(中国梧州) -all right reserved& 若您有什么意见或建议请mail: & &
地址: 电话:(86)774-2826670& & &&)没有更多推荐了,
不良信息举报
举报内容:
用单片机实现矩形波发生器
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!基于AD9850构成的DDS正弦波信号发生器设计与实现
论文设计开发了基于 构成的 的硬件系统,其频率范围为0~30MHz,根据软件设计的总体构想并结合硬件电路,给出了总体以及子模块的流程图,并用C语言编制相应程序.系统调试和测试结果表明,所设计的系统能够产成正弦波形,信号的频率. .幅度的调节精度和抗干扰性等技术性能指标基本达到设计目标.
随着数字大规模技术的发展,采用数字电路的直接数字频率合成技术(DDS)具有频率转换速度快.频率分辨率高.相位可控.频率稳定度高等优点.频率转换速度快.频率分辨率高的信号源在现代电子通讯.航空航天.自动控制等领域中是必不可少的,因此DDS信号源在上述领域获得广泛的应用.
AD9850是ADI公司生产的直接数字频率合成技术典型产品之一,AD9850具有频率转换速度快.频率分辨率高.相位噪声低.频率稳定度高等优点.本论文设计的是以直接频率合成(DDS)器件AD9850和MCS-为核心,配合必要的外围接口器件,在软件控制下,能够产生给定频率和起始相位的附加调制信息的正弦波信号发生器.
2.AD9850的基本工作原理
2.1 AD9850的主要性能指标
①最大支持时钟频率为125MHz
②频率分辨率达到0.029Hz
③支持两种供电电压:+3.3V or +5V
④低:3 8 0 m W @ 1 2 5 M H z ( + 5 V )
155mW @ 110MHz(+3.3V)⑤频率转换时间:10个时钟周期.比如当fs=125MHz时,频率转换时间为:10×1/(125×106)≈0.1
⑥输出的无杂散动态范围S F D R大于50dB @ 40MHz
⑦具有相位可控
⑧支持并口和串口输入控制接口
⑨频率控制字采用32位二进制码
2.2 AD9850引脚说明
AD9850采用了先进的CMOS工艺,采用28脚SSOP表面形式,其管脚如图1所示,引脚功能如表1.
2.3 AD9850内部结构
AD9850的芯片功能如图2所示.
AD9850芯片内包括高速DDS.10位DAC.频率/相位数据寄存器.数据输入寄存器.等,在125MHz参考时钟下,AD9850经过高速的DDS核心芯片能产生一个32位频率调整控制字可使AD9850的输出频率达0.0291Hz;并能提供了5bits的相位控制位,它能使输出相位以180°.90°.45°.22.5°.11.25°或是它们任意组合的增量改变.AD9850的电路结构允许产生频率值是参考时钟的一半的输出,并且输出的频率能用数控方式以每秒产生个新频率的速度变化.AD9850芯片内的比较器构成能接收经外部低通滤波后的DAC转换输出,可以产生一个低的方波输出的装置,因此AD9850用作时钟发生器十分方便.频率/相位数据寄存器.数据输入寄存器在外部的频率更新时钟和字加载时钟的控制下进行频率控制字的输入和更新,使芯片输出所要求的频率和相位.
2.4 AD9850的工作原理
AD9850内含DDS系统和高速比较器,可实现全数字编程控制的频率合成.
可编程DDS系统由相位累加器和正弦查表组成,其相位累加器由一个加法器和一个N位的相位寄存器组成,N一般为24~32;实质上是一个可变模的计数器,即DDS相位增量的个数在计数器收到每一个时钟脉冲时被存储起来,当计数器溢出时,它就回到初态并使用相位累加器输出到相邻值.频率控制字能设置计数器的模,它决定了相位增量的大小.相位增量在每个时钟到来时便在相位累加器中相加,相位增量越大,则累加器溢出的速度越快,产生的输出频率越高.
A D 9 8 5 0 采用3 2 位的相位累加器,AD9850利用改进的,独有的算法,把14bits已截断的相位累加器的输出转变成适当的值,经片内高速的10bit DAC转换器,可得到模拟正弦波.这个独特的算法使用一个简化了的ROM表和技术等功能,有助于缩小AD9850的体积和功耗.输入.输出.参考时钟和频率控制字的关系如下:
3.1 系统总体设计
系统以单片机8051为控制核心,通过对AD9805内部的频率控制字和相位控制字进行,然后通过外接低通滤波器达到所需性能指标的正弦波信号.
系统分为2个模块:和DDS模块.单片机最小系统包括8051单片机.2*2中断键盘矩阵.串口通讯.下载接口.
DDS模块包括核心芯片AD9850和低通滤波器.系统总体框图如图3所示.
3.2 AD9850与单片机接口
AD9850与单片机接口电路,需要考虑以下几点:
①AD9850控制字写入方式选择.AD9850控制字的写入方式有串行和并行两种.并行写入方式的优点是数据传输的速度快,能够提升整个系统的处理速度,为了充分发挥芯片的高速性能,应在单片机资源允许的情况下尽可能选择并行方式,所以,本系统采用8051单片机作为控制核心,通过并行写入控制字的方式控制AD9850芯片.如图4所示,AD9850的数据线D0~D7与P1口相连.
②FQ UD和W CLK与单片机连接.AD9850的FQ UD控制信号和W CLK控制信号与分别与8051单片机的P3.0(10引脚)和P3.1(11引脚)相连,所有的时序关系均可通过软件控制实现.
③ R E S E T 与单片机连接.A D 9 8 5 0 的采用1 0 0 M H z,A D 9 8 5 0的复位(RESET)信号为高电平有效,且脉冲宽度不小于5个参考时钟周期.由于单片机采用12MHz晶振时,它的高电平时间能够满足AD9850复位要求,故可将AD9850的复位端与单片机的复位端直接相连.
3.3 AD9850应用时需要注意的事项
①AD9850作为时钟发生器使用时,要避免混叠或谐波信号落入有用输出频带内,并减少外部滤波器的要求,必须要使输出频率小于参考时钟频率的33%.
②AD9850参考时钟频率最低为1MHz,低于此频率,系统自动进入休眠方式;高于此频率,系统恢复正常.
③印制线路板应采用多层板,要有专门的电源层和接地层,而且不能有引起层面不连续的蚀刻导线条.
④印制线路板的顶层应留有带一定间隙的接地面,以便为表面安装器件提供方便.
⑤印制线路板的AD9850器件下面不能走数字信号线,避免把噪声耦合进芯片;避免数字信号与模拟信号交叉,且它们在电路板相反两侧上的走线应彼此垂直,以减小电路板的馈通影响.
⑥时钟等快速开关信号应利用数字地屏蔽起来,以免向电路板上的其它器件辐射噪声,并且绝不应靠近基准输入或位于封装之下.
⑦要考虑用良好的去耦电路,分别把高质量的陶瓷去耦电容接到各自的接地引--去耦电容应尽可能靠近器件.
⑧采用独立的模拟电源和数字电源,AD9850电源线路应采用尽可能宽的走线,以提供低路径,并减小电源线路上的毛刺噪声影响.
4.系统软件设计
4.1 系统软件总体设计
要实现对系统的软件控制,合理安排程序流程尤为重要。系统程序流程图见图5.
从低到高的时钟信号从外部输入,或者由内部32位的刷新时钟把I/O缓冲寄存器中的控制字传送到AD9850的DDS内核,这样就可以从写端口写入AD9850的控制字暂时寄存在I/O缓冲寄存器中;所以,程序设计中要特别注意AD9850的时序要求,正确送出逻辑控制字,注意其刷新时钟。
4.2 键盘扫描及按键识别子程序
在本设计中,所设定的频率和初始相位都是通过2×2键盘输入的,因此要通过键盘扫描和按键识别程序将输入的键值处理后送至AD9850.键盘的工作方式一般有循环查询工作方式、定时中断扫描工作方式和中断工作方式。
为了提高CPU的工作效率,可以采用中断的方法扫描键盘,即只有在键盘有键按下时,才执行键盘扫描并执行该按键功能程序。如果无按键按下,单片机将不理睬键盘。子程序流程图如图6所示。
4.3 控制字写入程序
并行控制写入过程如下:FQ UD由高电平转为低电平,单片机将数据W0输出;之后,单片机控制W CLK由低电平转为高电平,保持至少3.5ns后,再由高电平转为低电平,此时写完控制字W0;然后按照写入W0过程,依次写入W1、W2、W3、W4;最后,单片机控制FQ UD由低电平转为高电平,完成40位数据写入过程,同时把地址指针复位到第一个输入寄存器W0,为下次写入频率/相位控制字作好准备。控制字写入流程如图7所示。
并行控制字写入子程序如下:
5.系统测试
系统功能的实现需要CPU与外围电路的密切配合。为保证系统按照设计意图正常工作,必须对硬件电路和程序代码进行仔细调试,因此系统的调试在设计中占据着重要的地位。
5.1 系统上电前的测试
在系统上电前,需要对硬件电路板进行仔细测试,看电源和地之间是否短路,芯片各引脚之间是否短路,芯片各引脚是否与焊盘连接良好,是否有焊接错误。主要是采用两种方法,其一就是利用显微镜对电路板的焊接情况进行仔细检查,看是否有短路,焊接是否可靠;其二就是利用数字万用表对各引脚和测试点进行检查,保证电路上没有短路。
5.2 电源、晶振的测试
电源电路、晶振电路和复位电路是保证整个系统正常工作的基础,虽然其调试相对比较简单,但也应首先保证他们的正常工作。单片机和AD9850的供电电源是5V.在接入外部电源前。首先要对外部输入电压进行测量,用万用表测得5v是否符合要求,经测试,电压值为5V,符合系统供电要求。然后用对两个电源进行检测,看其是否干净,有没有杂散,实测5V电压均很稳定。
晶振的调试就比较简单,单片机使用的是12MHz的温度补偿晶振,用示波器检测后,发现其工作正常。AD9850使用100MHz的温度补偿晶振,用示波器检测后,发现其工作正。
5.3 正弦信号的产生
从键盘输入正弦信号的频率和初始相位值,通过单片机将输入的频率和相位值转换为频率/相位控制码,AD9850选择的是并行数据输入模式,40位的数据控制字经8位数总据线分5次重复输入。W CLK端和FQUD经过5次加载后,输入了40位的数据控制字,W CLK端信号的上升沿将被忽略,数据将不再被加载,直到下一个复位信号或者下一个FQ UD端信号的上升沿到来为止。在FQUD端信号的上升沿将40位的控制字加载进入相位累加器,并且将地址指针复位指向第一个数据输入地址端。每传输一次8位的控制码后,延时3.5ns,置单片机引脚P3.3为l,即产生一个有效的W CLK上升沿信号,将控制码送入AD9850输入数据寄存器当中,重复5次后,就可将40位的控制码全部加载到AD9850的输入数据寄存器当中,然后再延时lns,置单片机引脚P3.2为l,即产生一个有效的FQ UD上升沿信号,再延时Ins后,将40位的控制码全部加载到AD9850中的DDS频率合成部分中,经过13至118个周期后,就可以得到所需要的信号了。图8为1MHz的正弦信号,图9为10MHz的正弦信号。
本文根据现代电子技术的发展需要以及直接数字频率合成技术的特点,设计出了一套基于DDS的高精度信号源,该信号源能够产生正弦波信号波形。经过系统的软件、硬件调试试验,所设计的系统能够产成正弦波形,信号的频率、相位、幅度的调节精度和抗干扰性等技术性能指标基本上达到了预期的设计目标。通过本文设计以及对DDS的研究表明,DDS技术可以应用在高速宽带频率合成领域,特别是在对频率切换速度、频率分辨率及相噪、杂散要求较高的场合,DDS技术显示了特殊的优势。本文只是DDS技术的初步研究,要达到性能完善,还有很多工作要做。比如电磁兼容的考虑、各种同步信号的设计以及系统稳定性问题等等。
原文链接:
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
今日搜狐热点豆丁微信公众号
君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
AD9850_1模块使说明书
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口

我要回帖

更多关于 正弦波变为矩形波 的文章

 

随机推荐