AD9851是ADI公司的一款DDS频率合成器,输出频率和相位可编程控制,内置10位DAC高速比较器,180MHz的时钟频率,8位并行数据接口,并行串行均可传输数据。下图是从Datasheet上截下来的产品特征。

整体来说,这款芯片还是挺好用的,当时为了产生一个固定频率的信号测电感电容值调通了它。简单分享一下自己学到的东西。

首先看这款芯片的管脚图。

D0~D7,是8位数据输入管脚,这些数据引脚用来向芯片写如控制字和频率控制字,D7是数据的最高位,D0是数据最低位。这款芯片是可以仅通过D7脚进行串行通信的,我还没用过D7串行通信模式,就不说了。

W_CLK,是写向D0~D7写数据的时钟信号,在W_CLK上升沿,将数据输入到芯片内部的寄存器。

FQ_UD,Frequency Update。在32位频率字和8位控制字传完之后,FQ_UD上升沿将输入寄存器的40位数据更新到DDS核心中。

REFCLOCK,参考时钟输入,可通过外部惊蛰提供参考时钟。

RESET,管脚至高的时候,将清楚芯片内部寄存器的值。

其他管脚信息在Datasheet上均有讲到,DAC的我了解的不是很多,就不说了。

电路结构可参考Datasheet上面的设计,应该没什么问题,然后下面是我看到的一些关于配置的信息。

AD9851的40位控制寄存器的分别代表的意思如下:

可见,第一个控制字,Data[7:3],这五位用来控制相位信息;Data[2]是Power-Down工作模式,一般将这一位设置为0,即不让它工作在Power-Down模式;并行传输模式下,芯片不允许将W0字的Data[1]位置高,所以这一位也要置低;Data[0]是使能芯片内部6*PEFCLK时钟的信号。

W1、W2、W3、W4,是频率控制字的各个位。

AD9851的输出频率计算,在Datasheet上也有写:

芯片手册上的一个示例,系统 时钟位180MHz,控制字为W0:0000 1001;W1:0000 1110;W2:0011 1000;W3:1110 0011;W4:1000 1110.按照这个控制字,得到的输出信号特性如下:相位为:1/(2^5)*360度=11.25度。输出频率:(W1 W2 W3 W4)*180MHz/(2^32)=10MHz,即输出为10MHz信号。

根据以上控制字的设置方法,可设定响应控制字,输出想要的相位和想要的频率。

控制字设定好之后,就要考虑写代码实现了。我调的时候用的是Verilog语言,Cylone II FPGA控制芯片Quartus II 13.0编译工具。FPGA编程调芯片,主要就是时序问题。先看一下Datasheet上写的时序表。(这里直说并行模式,因为我只调了并行模式)

时序中的时间要求如下:

控制字在W_CLK的上升沿被读入到芯片中,所以在控制字准备好之后,再使能W_CLK信号,使其输出时钟信号。五个控制字写如之后,将FQ_UD给一个高电平脉冲,将读入的控制字在DDS核内起作用。这里需要注意FQ_UD的上升沿与W4时钟信号的上升沿之间的时间要求tFD,我是在五个控制字写完之后,又过了一个W_CLK时钟周期后,才给FQ_UD高电平脉冲。按照那个时序图来给信号,基本上应该没啥问题。

内容基本上都是参考Datasheet上写的相关信息,希望能够帮到你。如果还有一些疑问,可以多去参考一下Datasheet。这里附上Datasheet的网址。https://www.analog.com/media/en/technical-documentation/data-sheets/AD9851.pdf

然后,我之前上传了工程的代码,里面也有我看的Datasheet,欢迎下载~

https://download.csdn.net/download/qiang_thank_you/11161960

AD9851调试过程----相位设置、频率计算、控制字设置相关推荐

  1. 对于M1卡密钥控制字设置的总结

    前段时间学习M1卡操作,对于密钥控制字专门研究了一番,这里做下总结,免得以后忘记. M1卡分为16个扇区,每个扇区由4块(块0.块1.块2.块3)组成,前3个块是数据区,第4块是密钥区.每个块都能存储 ...

  2. android 串口调试助手_PLC串口通信调试工具amp;调试过程

    串口通信是一种简单的通信方式,通过连接少量线缆即可完成数据通信.做串口通信调试,一般需要进行如下几个过程:1.确认上位机通信;2.确认下位机通信.3.上.下位机联调通信.(上位机是指PLC,下位机是指 ...

  3. 关于路由器中家长控制和上网控制的设置

    前几天想要控制室友的上网,我和他是一条宽带,两个人用,路由器在我这边,首先我设置的是家长控制,但是没有起作用,原因就是控制列表里面的数据指的是可以在哪些时段上网,但是我更改过来以后,启用家长控制,发现 ...

  4. linux 密码设置及登陆控制/设置密码复杂度 (/etc/pam.d/system-auth)

    文章目录 一.linux密码设置及登陆控制 1. Linux中pam模块 1.1 PAM的模块类型 1.2 控制介绍 2. LINUX设置密码复杂度 3. 用户不能使用su来进行切换用户 二.参考 一 ...

  5. RFID标签EPC物品编码区PC协议控制字编码解析

    RFID标签物品编码区(EPC区)由CRC-16.PC(协议控制).EPC三部分组成. PC协议控制字包含标签物理层的信息,标签在每一次盘存操作中通过它的物品编码区EPC返回这些信息.PC协议控制一共 ...

  6. Arduino + AD9851 DDS信号模块 频率控制字和相位控制字写入

    AD9851是美国模拟器件公司采用先进DDS直接数字频率合成技术生产的高集成度产品.AD9851是在AD9850的基础上,做了一些改进以后生成的具有新功能的DDS芯片.当系统时钟为180MHz时,在参 ...

  7. 变频器调试过程中的常用参数设置详解

    变频器调试过程中的常用参数设置详解 变频器的设定参数较多,每个参数均有一定的选择范围,使用中常常遇到因个别参数设置不当,导致变频器不能正常工作的现象.因此,变频器调试是从正确设置变频器参数开始的.以下 ...

  8. XIlinx MIG 控制DDR3 SO-DIMM内存条(三):MIG IP核仿真与调试过程

    之前写这个系列的时候忘记上传了,刚好五一补一下. 文章目录 1 MIG IP核的接口 1.1 AXI4 slave 接口 1.2 Upsizing 1.3 User Interface 1.3.1 C ...

  9. 台达PLC与台达VFD变频器modbus 通讯案例 完成PLC与变频器的modbus RTU通讯,实现触摸屏上控制变频器启停,设置频率

    台达PLC与台达VFD变频器modbus 通讯案例 配件:台达DVP 14es的PLC,台达VFD M变频器. 昆仑通态触摸屏和威纶通触摸屏 功能:完成PLC与变频器的modbus RTU通讯,实现触 ...

最新文章

  1. DNA测序技术的发展史之——第一代测序技术
  2. GitHub 上有什么好玩的项目?(附地址)
  3. C 语言编程 — 指令行参数
  4. Oracle获取最近执行的SQL语句
  5. RocketMQ最佳实战
  6. Spring Cloud Alibaba - 17 Nacos Config 配置中心 应用篇
  7. 缓冲流、转换流、序列化流代码练习
  8. Android UI学习 - GridView和ImageView的使用
  9. c结构体里的数组与指针
  10. hdu-1862-EXCEL排序
  11. Grunt学习笔记001---grunt使用步骤和总结
  12. android scroll 中 scroll Bar 修改
  13. php进销存项目视频教程,求北风网 企业级ERP进销存管理项目 全套视频
  14. IDEA导入项目后如何运行
  15. 西安交通大学电子图书站点被黑
  16. 2020大学计算机有什么专业,2020计算机专业院校名单「大学排名」
  17. C语言求ax2+bx+c=0的解,解一元二次方程
  18. 一个关于家具的横幅广告
  19. Mace-micro引擎编译与测试
  20. 从12个球任取8个球

热门文章

  1. 三连击(升级版)题解(洛谷P1618)
  2. 九万里风鹏正举,扬帆起航,踏上新征程
  3. 三合一剪弦器怎么用_吉他换弦时多余的弦用什么工具剪掉?
  4. 究竟什么是图数据库,它有哪些应用场景?
  5. 固生堂通过港交所聆讯:上半年营收约6亿元,已实现连续盈利
  6. 打印机无法确认设备和计算机之间的连接,打印机和电脑连接不上怎么办_电脑怎么连接不上打印机设备-win7之家...
  7. 【java笔记-006】【uni-app】当前运行的基座不包含原生插件[xxx],请在manifest中配置该插件,重新制作包括该原生插件的自定义运行基座
  8. Android屏幕自适应
  9. 微信公众号链接小测试题js逻辑
  10. 计算机网络部分知识梳理