AD9910高速集成DDS芯片(芯片阅读笔记-串行模式篇-22个寄存器SPI通信周期控制)

引言

本文为AD9910的芯片阅读笔记,本文并不是对芯片手册的纯粹照搬,所以建议结合芯片手册阅读。通过对AD9910芯片手册的理解,然后再去配置寄存器,下一篇文章将介绍AD9910的Verilog程序。关于AD9910的Verilog程序,其实一拖再拖,终于在疫情期间写了大部分,在2020.5.10左右重新看了看芯片手册,对程序完成了调试。
另外AD9910有几种模式,本篇文章以串行模式进行配置,经过我阅读芯片手册后的理解是,AD9910的串行模式需要通过SPI 三线/四线 模式 配置好33个寄存器,并且值得注意的是这22个寄存器的长度还不一样。因此,如果要用Verilog来模块化的化,需要实现考虑好这些问题,怎么才能使代码简化,并且方便以后更改和复用,比如以后如果要用100个寄存器SPI配置,长度还不一样,怎么快速将这个代码搬移过去。或许可以尝试将寄存器的值写到ROM中,我这里是直接在Verilog中写到寄存器里面了,如有需要,你可以尝试更改为适合你的coding style。

串行编程

AD9910的串行通讯用的是SPI模式,支持三线或者两线模式,另外,两个可选的引脚I/O—RESET和CS/ 可以提高采用AD9910的设计系统灵活性。另外,AD9910支持四种运作模式,在本文中仅仅以单频模式进行介绍,目的是生成一个200MHz的模拟信号即可。 其余模式也是可以通过串行编程配置,所以,这里不再介绍。

通用串行IO操作包括两个阶段,第一个阶段是指令,第二个阶段是数据。在写入周期结束后,编程数据会驻留在串行端口缓冲器中,处于无效状态,I/O—UPDATE将串行端口缓冲器中的数据传输到有效寄存器中。I/O更新可以在每完成一个通信周期后进行,也可以在所有串行操作结束后进行。

指令字节:
在这里插入图片描述
首先还是来看看如果用串行模式配置,需要哪些接口。这样我们才能知道怎么写verilog。

在这里插入图片描述
串行模式下重要的引脚描述
SDIO:支持两线或者三线模式,这里不做读的处理,用两线即可。
SCLK:串行始时钟,用于同步数据。
I/O reset:输入/输出复位。当输入高电平,可以使当前的通信周期中断。因此保持低电平即可
CS/ : 低电平有效,高电平时候SDO和SDIO处于高阻抗状态
OSK:由于根据寄存器配置不做幅度调制,所以OSK保持低电平即可。
Profile:根据8个存储的参数,选取其中一个单频参数。如果使用profile 0那么为000即可。
I/O—UPDATE:输入输出更新,用于将I/O端口缓冲器中写入的数据传输到有效寄存器中。I/O—UPDAE在上升沿有效,并且宽度必须大于一个SYNC—CLK周期。
MASTER_Reset:用于复位所有的寄存器。高电平有效,数字输入,主机复位,全部寄存器默认值。

–分---------------------------------------------------------------------------
以上就是我们需要满足时序要求的引脚。

DAC_reset:为输出管脚,模拟参考电压引脚
iout和iout/:电流模式输出
REFCLK:输出参考时钟。

值得注意的是同步使用SYNC_CLK的要求,文中多次出现。
在这里插入图片描述
在这里插入图片描述

利用官方软件得到寄存器值

在这里插入图片描述
这里随机配置了8个DDS参数。当然,我们使用第一个即可。profile引脚输入设置为000即可。注意开启反sinc滤波器

在这里插入图片描述
控制界面设置为如图所示,晶振为40MHz,主频时钟1GHz

在这里插入图片描述
配置为两线,MSB优先

得到寄存器:如下所示:
在这里插入图片描述
下一篇,将对Verilog调试,配置进行介绍。

福利连接

中文高度清晰的AD9910芯片手册+英文手册+AD9910模块电路pdf
https://download.csdn.net/download/ciscomonkey/12411527
官方寄存器配置软件
https://download.csdn.net/download/ciscomonkey/12411530

  • 5
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值