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
AD9910高速集成DDS芯片(芯片阅读笔记-串行模式篇-22个寄存器SPI通信周期控制)相关推荐
- AD9910高速集成DDS芯片(verilog篇-串行模式篇-22个寄存器SPI通信周期控制)
文章目录 0.引言 1.verilog思路 2.modelsim调试 3.总结 0.引言 经过对疫情期间某天下午写的代码进行,多次调试后,终于输出了波形,下面我们逐步跟着思路,对22个寄存器不同长度的 ...
- [置顶]人工智能(深度学习)加速芯片论文阅读笔记 (已添加ISSCC17,FPGA17...ISCA17...)...
这是一个导读,可以快速找到我记录的关于人工智能(深度学习)加速芯片论文阅读笔记. ISSCC 2017 Session14 Deep Learning Processors: ISSCC 2017关于 ...
- 【高速接口-RapidIO】2、RapidIO串行物理层的包与控制符号
总目录:总目录(经验分享) 献上链接: [高速接口-RapidIO]2.RapidIO串行物理层的包与控制符号 [高速接口-RapidIO]3.RapidIO串行物理层的包传输过程 [高速接口-Rap ...
- 【高速接口-RapidIO】3、RapidIO串行物理层的包传输过程
总目录:总目录(经验分享) 献上链接: [高速接口-RapidIO]2.RapidIO串行物理层的包与控制符号 [高速接口-RapidIO]3.RapidIO串行物理层的包传输过程 [高速接口-Rap ...
- ATSHA204芯片手册阅读笔记
使用心得: (1)配置好IIC,访问芯片之前先唤醒. (2)按个人需求配置好Config区域,配置好之后锁住Config.只有锁住了Config,才能去操作Data区. (3)开始写数据区,可以将一些 ...
- 学习笔记(1)stm32h743和ADXL355的SPI通信,基于cubeMX和keil5MDK平台,采用HAL库编程,代码已模块化处理
今天是一个特别的日子,为什么呢?哈哈,因为从大四做毕业设计的时候,接触CSDN,到现在一整年了,终于创作了我的第一篇博客,内心难念有些激动! 首先声明,我不是嵌入式领域的技术大牛,只是普通的研一新生, ...
- 《通灵芯片》阅读笔记 // 持续
图灵机:有限状态机加上一条无限长的带子 纸带类似现代计算机的存储器,功能大致相当. 有限状态机所做的一切,是根据一组确定的规则,在纸带上读写符号和作前后移动. 有限状态机的理解 根据自动售卖机,首先定 ...
- AD9235芯片手册阅读笔记
特征 单个3 V电源操作(2.7 V至3.6 V) SNR=70 dBc至65 MSPS时的奈奎斯特 SFDR=85 dBc至65MSPS时奈奎斯特低功率: 300 mW至65 MSPS差分输入,带5 ...
- 构建之法阅读笔记之速读篇
新学期开始,我们开设了软件工程课程,在老师的指导下,我从网上找到了<构建之法>这本书,随着课堂上老师的讲解以及书籍的快速阅读,我对软件工程有了很多的了解.之前我们的编程只能算是基础,远远没 ...
最新文章
- mysql 5.7重新设置密码_mysql 5.7 安装及修改/重置密码
- jQuery二维数组遍历
- MySQL中索引的分类和基本操作
- js中的 Dictionary 的用法
- SAP Fiori应用里出现http request错误的原因分析
- 比较下OceanBase的选举协议和Raft的选举协议的区别
- pat 甲级 1010. Radix (25)
- JavaScript中常见的几种继承方式
- Google Exoplayer之全面认识
- ChainIDE 3. 使用truffle部署合约
- iOS录音及播放全解
- 鼠标右键菜单没有 新建 - 解决办法
- Linux 一条命令删除某端口被占用的进程
- html如何开发影音播放器app,js HTML5多媒体影音播放
- 63套js ,html .css效果页面(点个小星星免费下载)
- 计算机怎么一键到桌面快捷键,关于添加一键返回桌面快捷键在win10电脑中的技巧...
- 微信支付-企业付款到零钱问题集锦
- DBA 职业迷茫何去何从
- echarts 玫瑰图比例太小显示优化
- Linux与Android安全差异