本章节继续FPGA学习。本章是基于大佬写的《基于FPGA的目标反射回波检测算法及其实现》,自己用硬件去实现DA转换

原文链接在这里:https://www.cnblogs.com/helesheng/p/9414652.html

博主介绍了详细的步骤在这里我就不重复了,自己实际用的时候,因为目前只是学习到了PL部分,博主用的PMOD在我使用的开发板中属于PS部分,因此IO口我用的其他引脚代替的(不知道影响大不大)。
一.MCP4822简介

这是MCP4822是双通道12位电压输出DAC,通过SPI协议与FPGA进行通信。注意芯片的寄存器写入命令是16位的
因此在配置的时候要注意前面四位数据格式。传输过程大致为:
具体spi通信部分还请看上面的原文链接。
二.硬件实现仿真部分
实验中通过DDS生成正弦波,然后通过dac进行输出波形,实验结果如下:
vivado利用仿真实验波形如下:
数据位设置为unsigned decimal
实际示波器图形:
我这里选择了2X增益,所以最大电压可以达到4.08V,但是图形为什么不是正弦波呢?查看手册得知:所以这个DA芯片只能输出正值即没有符号的数。(欢迎大佬批评指正)
如果想要输出负的电压,可以参考:

ps:因为mcp4822属于低速串口da转换器,因此输出频率有限
上面显示mcp4822的稳定时间为4.5us左右,此处应该是指将数字量转换为模拟电压输出的时间。同时spi时序是指将数据写入da芯片中的时间,与fpga使用的时钟有关系,但是要满足手册上的时序要求。
作者能力有限,难免存在错误和纰漏,请大佬不吝赐教。

MCP4822(DA转换芯片)使用方法相关推荐

  1. ZYNQ之高速AD/DA验证实验

    文章目录 前言 一.ADDA模块介绍 二.添加ROM IP核 三.添加ILA IP核 四.编写测试程序 五.管脚分配 六.连接开发板测试 总结 前言 本实验是高速AD/DA验证实验,将使用高速DA芯片 ...

  2. 【正点原子FPGA连载】第三十五章高速AD/DA实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1

    1)实验平台:正点原子新起点V2开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=609758951113 2)全套实验源码+手册+视频下载地址:ht ...

  3. 【正点原子FPGA连载】 第二十八章 双路高速DA实验-摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0

    1)实验平台:正点原子领航者ZYNQ开发板 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手册+视频下 ...

  4. 嵌入式设计输入输出I/O设备的典型方法与问题-忙等和中断

    文章目录 经典的输入输出设备 PCF8591 操作字 功能描述 读写源码 输入/输出原语 读操作 写操作 CPU和外设交互的方式 忙等I/O 输出源码 输入后输出 中断 中断开销 中断的过程 ARM7 ...

  5. ASP.NET分页方法的了解程度

    ASP.NET分页方法的了解程度 [出现频率] ★★★★☆ [解答] ASP.NET分页的常用方法有以下几种. q 启用部分数据控件的内置分页功能,如设置GridView控件的"AllowP ...

  6. 关于8位AD_DA转换芯片的采样率问题

    关于使用Keil计算程序执行时间 打开Keil程序,进入"启动/停止调试"界面. 在需要暂停的地方设置断点(在该句程序前双击). 在程序上方有一行工具栏:此工具栏分别代表复位.运行 ...

  7. asp.net分页方法

    ASP.NET分页的是我们在编程过程中遇到的常见问题,下面就这个问题说下添美的看法. q 启用部分数据控件的内置分页功能,如设置GridView控件的"AllowPaging"属性 ...

  8. c语言怎么设置cpu优先级,线程优先级,设置,setPriority()方法

    package seday08.thread; /** * @author xingsir * 线程优先级 * 线程启动后纳入到线程调度,线程时刻处于被动获取CPU时间片而无法主动获取.我们可以通过调 ...

  9. 手把手教你写Linux I2C设备驱动

    手把手教你写Linux I2C设备驱动 标签:Linux 设备 驱动 详解 i2c 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http:/ ...

最新文章

  1. Python 用户的三次登录机会
  2. 《Android传感器开发与智能设备案例实战》——导读
  3. Ubuntu安装Ceres库-安装依赖时报错:E:无法定位软件包 libcxsparse3.1.2_朱国鑫的博客-CSDN博客
  4. Servlet--生命周期
  5. 电磁场第二章公式总结
  6. 左值、右值、左值引用、右值引用
  7. 零拷贝概念 -- linux内核
  8. [ACM_图论] The Perfect Stall 完美的牛栏(匈牙利算法、最大二分匹配)
  9. 将SublimeText加入右键菜单
  10. html怎么从左到右设置颜色,css3文字颜色从左到右动画
  11. mysql08---优化01
  12. 帆软报表更新到服务器控件展示不出来_帆软报表问题汇总
  13. 《数据结构上机实验(C语言实现)》笔记(2 / 1)
  14. DELL笔记本E5400刷BIOS激活win7
  15. 关于数学建模的个人见解(实验室专用)
  16. Kinect for Windows SDK v2.0 开发笔记 (十二) 高清面部帧(3) 面部模型(2D)
  17. 深度学习做股票预测靠谱吗?
  18. 树莓派拍照命令——raspistill
  19. 滴滴网约车抽成高达25%还“入不敷出”,为哪般?
  20. CC2640R2F蓝牙5片外OAD的实现

热门文章

  1. 软件测试应该重点关注的测试过程
  2. 发票图像识别,如何提高识别率?
  3. 不止V神,全球最懂以太坊的人都来齐了,还差你
  4. Windows实验四总结(记事本)
  5. Linux 停车场(链表,链栈,顺序队列)----简易版
  6. 惠普之路——HP公司发展史
  7. Makefile自动依赖写法
  8. 偏函数与部分应用函数
  9. vba学习笔记 while wend 的使用
  10. 关于二级消防工程师考务的通知