文章目录

  • 引言
  • 串行编程
  • 利用官方软件得到寄存器值
  • 福利连接

引言

本文为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

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

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

    文章目录 0.引言 1.verilog思路 2.modelsim调试 3.总结 0.引言 经过对疫情期间某天下午写的代码进行,多次调试后,终于输出了波形,下面我们逐步跟着思路,对22个寄存器不同长度的 ...

  2. [置顶]人工智能(深度学习)加速芯片论文阅读笔记 (已添加ISSCC17,FPGA17...ISCA17...)...

    这是一个导读,可以快速找到我记录的关于人工智能(深度学习)加速芯片论文阅读笔记. ISSCC 2017 Session14 Deep Learning Processors: ISSCC 2017关于 ...

  3. 【高速接口-RapidIO】2、RapidIO串行物理层的包与控制符号

    总目录:总目录(经验分享) 献上链接: [高速接口-RapidIO]2.RapidIO串行物理层的包与控制符号 [高速接口-RapidIO]3.RapidIO串行物理层的包传输过程 [高速接口-Rap ...

  4. 【高速接口-RapidIO】3、RapidIO串行物理层的包传输过程

    总目录:总目录(经验分享) 献上链接: [高速接口-RapidIO]2.RapidIO串行物理层的包与控制符号 [高速接口-RapidIO]3.RapidIO串行物理层的包传输过程 [高速接口-Rap ...

  5. ATSHA204芯片手册阅读笔记

    使用心得: (1)配置好IIC,访问芯片之前先唤醒. (2)按个人需求配置好Config区域,配置好之后锁住Config.只有锁住了Config,才能去操作Data区. (3)开始写数据区,可以将一些 ...

  6. 学习笔记(1)stm32h743和ADXL355的SPI通信,基于cubeMX和keil5MDK平台,采用HAL库编程,代码已模块化处理

    今天是一个特别的日子,为什么呢?哈哈,因为从大四做毕业设计的时候,接触CSDN,到现在一整年了,终于创作了我的第一篇博客,内心难念有些激动! 首先声明,我不是嵌入式领域的技术大牛,只是普通的研一新生, ...

  7. 《通灵芯片》阅读笔记 // 持续

    图灵机:有限状态机加上一条无限长的带子 纸带类似现代计算机的存储器,功能大致相当. 有限状态机所做的一切,是根据一组确定的规则,在纸带上读写符号和作前后移动. 有限状态机的理解 根据自动售卖机,首先定 ...

  8. AD9235芯片手册阅读笔记

    特征 单个3 V电源操作(2.7 V至3.6 V) SNR=70 dBc至65 MSPS时的奈奎斯特 SFDR=85 dBc至65MSPS时奈奎斯特低功率: 300 mW至65 MSPS差分输入,带5 ...

  9. 构建之法阅读笔记之速读篇

    新学期开始,我们开设了软件工程课程,在老师的指导下,我从网上找到了<构建之法>这本书,随着课堂上老师的讲解以及书籍的快速阅读,我对软件工程有了很多的了解.之前我们的编程只能算是基础,远远没 ...

最新文章

  1. mysql 5.7重新设置密码_mysql 5.7 安装及修改/重置密码
  2. jQuery二维数组遍历
  3. MySQL中索引的分类和基本操作
  4. js中的 Dictionary 的用法
  5. SAP Fiori应用里出现http request错误的原因分析
  6. 比较下OceanBase的选举协议和Raft的选举协议的区别
  7. pat 甲级 1010. Radix (25)
  8. JavaScript中常见的几种继承方式
  9. Google Exoplayer之全面认识
  10. ChainIDE 3. 使用truffle部署合约
  11. iOS录音及播放全解
  12. 鼠标右键菜单没有 新建 - 解决办法
  13. Linux 一条命令删除某端口被占用的进程
  14. html如何开发影音播放器app,js HTML5多媒体影音播放
  15. 63套js ,html .css效果页面(点个小星星免费下载)
  16. 计算机怎么一键到桌面快捷键,关于添加一键返回桌面快捷键在win10电脑中的技巧...
  17. 微信支付-企业付款到零钱问题集锦
  18. DBA 职业迷茫何去何从
  19. echarts 玫瑰图比例太小显示优化
  20. Linux与Android安全差异

热门文章

  1. python爬虫——利用BeautifulSoup4爬取糗事百科的段子
  2. Handler详细说明系列(六)——View的post()详解
  3. Linux 下五款出色的流媒体客户端
  4. zookeeper源码
  5. 调用 动态库 实现插件(windows linux)
  6. UA MATH575B 数值分析下 计算统计物理例题1
  7. C#获取和设置环境变量
  8. 在cmd中使用python使用pip报错invalid syntax
  9. maven package和install
  10. 创建多线程的4种方式