ADI模数转换AD7091的SPI驱动接口verilog,代码/视频

news2024/11/15 17:20:30

名称:ADI模数转换AD7091的SPI驱动

软件:QuartusII

语言:Verilog

代码功能:

完成ADI单通道模数转换器AD7091R的逻辑接口设计。1 MSPS、超低功耗、12-Bit ADC

(1)实现全部逻辑接口功能,完成对外设AD7091R访问;

(2)自行设计应用场景,构造相应数据;

(3)实现数据手册中的最高数据率;

(4)硬件平台以拿到手的开发板为准,自行完成设计与验证;

(5)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、时序仿真、下载验证等

演示视频:ADI模数转换AD7091的SPI驱动接口verilog_Verilog/VHDL资源下载

FPGA代码Verilog/VHDL代码资源下载网:www.hdlcode.com

代码下载:

ADI模数转换AD7091的SPI驱动接口verilog_Verilog/VHDL资源下载名称:ADI模数转换AD7091的SPI驱动(代码在文末付费下载)软件:QuartusII语言:Verilog代码功能:完成ADI单通道模数转换器AD7091R的逻辑接口设计。1 MSPS、超低功耗、12-Bit ADC(1)实现全部逻辑接口功能,完成对外设AD7091R访问;(2)自行设计应用场景,构造相应数据;(3)实现数据手册中的最高数据率;(4)硬件平台以拿到手的开发板为准,自行完成设计与icon-default.png?t=N7T8http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=217

部分代码展示

module AD7091(
input clk,//50MHz
input reset,//高电平复位
//AD接口
output reg convst,//AD转换信号
output reg CS,//使能信号
output reg SCLK,//AD时钟
input SDO,//AD数据输入
output reg [11:0] AD_data//AD转换结果
);
reg [2:0] state=3'd0;
parameter s_idle=3'd0;//空闲状态
parameter s_convst_low=3'd1;
parameter s_convst_high=3'd2;
parameter s_CS_low=3'd3;
parameter s_SCLK=3'd4;
parameter s_CS_high=3'd5;
reg [7:0] convst_cnt=8'd0;//convst高电平时间计数
reg [3:0] bit_cnt=4'd0;//bit计数
reg [3:0] CS_high_cnt=4'd0;//CS高电平计数
always@(posedge clk or posedge reset)
if(reset)
state<=3'd0;
else
case(state)
s_idle:
state<=s_convst_low;
s_convst_low://转换信号低电平状态
state<=s_convst_high;
s_convst_high://转换信号高电平状态(等待t8最大650ns)
if(convst_cnt>=8'd40)//等待800ns>650ns
state<=s_CS_low;
else
state<=s_convst_high;
s_CS_low: //CS低电平状态
state<=s_SCLK;
s_SCLK: //SCLK读数状态
if(bit_cnt>=4'd13)//计数13bit
state<=s_CS_high;
else
state<=s_SCLK;
s_CS_high:
if(CS_high_cnt>=4'd4)//延迟4*20ns,tquiet至少50ns
state<=s_idle;
else
state<=s_CS_high;

时序要求:

时序.JPG

设计文档:

设计文档.doc

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testbench

6. 仿真图

附:AD7091R时序图和时序表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1143544.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

云端代码编辑器Atheos

什么是 Atheos &#xff1f; Atheos是一个基于 Web 的 IDE 框架&#xff0c;占用空间小且要求最低&#xff0c;构建于 Codiad 之上&#xff0c;不过 Atheos 已从原始 Codiad 项目完全重写&#xff0c;以利用更现代的工具、更简洁的代码和更广泛的功能。 注意事项 群晖内核版本太…

系列二十、循环依赖(二)

一、请解释下Spring的三级缓存 所谓Spring的三级缓存是Spring内部解决循环依赖的三个Map&#xff0c;即DefaultSingletonBeanRegistry中的三个Map。 二、A、B两对象在三级缓存中的迁移过程 第一步&#xff1a;A创建过程中需要B&#xff0c;于是A将自己放到三级缓存里面&#x…

ubuntu安装nps客户端

Ubuntu安装nps客户端 1.什么是nps内网穿透&#xff1f;2.设备情况3.下载客户端3.链接服务端3.1、无配置文件模式3.2、注册到系统服务(启动启动、监控进程) 1.什么是nps内网穿透&#xff1f; nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发…

vue笔记(三)

15、过滤器 过滤器 用法&#xff1a;对要显示的数据进行特定格式化后再显示&#xff08;用于一个简单的逻辑处理&#xff09;语法 1、注册过滤器&#xff1a;Vue.fillter(name,callback) &#xff08;全局&#xff09;或 new Vue{filters&#xff1a;{}}&#xff08;局部&…

Ubuntu20运行SegNeXt代码提取道路水体(四)——成功解决训练与推理自己的数据集iou为0的问题!!

在我的这篇博文里Ubuntu20运行SegNeXt代码提取道路水体(三)——SegNeXt训练与推理自己的数据集 经过一系列配置后 iou算出来是0 经过多次尝试后 终于让我试出来了正确配置方法&#xff01; 具体的配置细节请查看这篇文章 1、在mmseg/datasets下面对数据集进行初始定义 我新建…

使用baostock获取上市公司情况

起因是有个不知道什么专业的同学问了我一题 cs: import baostock as bs import pandas as pd import datetime 日线指标参数包括&#xff1a;date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,peTTM,pbMRQ,psTTM,pcfNcfTTM,isST 周…

CompletableFuture的理解

CompletableFuture 是 JDK1.8 里面引入的一个基于事件驱动的异步回调类。简单来说&#xff0c;就是当使用异步线程去执行一个任务的时候&#xff0c;我们希望在任务结束以后触发一个后续的动作。而 CompletableFuture 就可以实现这个功能。 业务问题 举个简单的例子&#xff0…

最长公共子序列(LCS)与最长上升子序列(LIS)问题的相互转换

在此只做直观理解&#xff0c;不做严格证明 参考&#xff1a;LCS 问题与 LIS 问题的相互关系&#xff0c;以及 LIS 问题的最优解证明 LCS转LIS LCS转LIS只能对特殊情况适用。即当LCS中两个数组有一个不存在重复元素的情况下才能进行转换。 我们以一个例子进行说明&#xff0c…

leetCode 76. 最小覆盖子串 + 滑动窗口 + 哈希Hash

我的往期文章&#xff1a;此题的其他解法&#xff0c;感兴趣的话可以移步看一下&#xff1a; leetCode 76. 最小覆盖子串 滑动窗口 图解&#xff08;详细&#xff09;-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/134042115?spm1001.2014.3001.5501 力…

XJ+Nreal 高精度地图+Nreal眼镜SDK到发布APK至眼镜中

仅支持Anroid平台 Nreal套装自带的计算单元&#xff0c;其实也是⼀个没有显示器的Android设备 新建unity⼯程&#xff0c;将⼯程切换Android平台。 正在上传…重新上传取消正在上传…重新上传取消 Cloud XDK Unity User Manual for Nreal ARGlasses 该XDK是针对 NReal AR 眼镜…

mysql源码安装

Linux环境 1、mysql下载地址&#xff1a;https://dev.mysql.com/downloads/mysql/5.7.html#downloads 下载参考&#xff1a; 2、把下载的 MySQL 压缩包上传到 Linux 服务器 3、解压mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz tar -zxvf mysql-5.7.39-linux-glibc2.12-x86…

【UE】Rider编辑器错误 .NET SDK 的版本 6.0300 至少需要 MBuild 的 17.00 版本,当前可用的 MSuld 版本

异常&#xff1a;.NET SDK 的版本 6.0300 至少需要 MBuild 的 17.00 版本&#xff0c;当前可用的 MSuld 版本为 16.1.2.50704请在 global.json 中指定的 .NET SDK 更为需要当前可用的 MSBuld 版本的版本 解决 切换当前使用的MBuild版本 File->Settings…打开设置窗口 找到…

基于web和mysql的图书管理系统

系统分为用户端和管理员端 用户端功能如下 登陆注册数据一栏个人信息修改个人信息修改密码图书查询借阅信息借阅状态安全退出 管理员端功能如下 登录个人信息修改个人信息修改密码读者管理书籍管理借阅管理借阅状态安全退出 用户 管理员 源码下载地址 支持&#xff1a;远程…

javaswing/gui+mysql的学生信息管理系统

使用了Java Swing作为前端界面的开发工具&#xff0c;而 MySQL 作为后端数据库管理系统。这个系统主要用于学生信息的管理&#xff0c;包括班级和学生的增删改查操作。 在系统开发过程中&#xff0c;首先设计了数据库表结构&#xff0c;包括班级表和学生表&#xff0c;并定义了…

损失函数总结(九):SoftMarginLoss、MultiLabelSoftMarginLoss

损失函数总结&#xff08;九&#xff09;&#xff1a;SoftMarginLoss、MultiLabelSoftMarginLoss 1 引言2 损失函数2.1 SoftMarginLoss2.2 MultiLabelSoftMarginLoss 3 总结 1 引言 在前面的文章中已经介绍了介绍了一系列损失函数 (L1Loss、MSELoss、BCELoss、CrossEntropyLos…

NCCL后端

"NCCL" 代表 "NVIDIA Collective Communications Library"&#xff0c;"NVIDIA 集体通信库"&#xff0c;它是一种由 NVIDIA 开发的用于高性能计算的通信库。NCCL 专门设计用于加速 GPU 群集之间的通信&#xff0c;以便在并行计算和深度学习等领域…

智能直播,助力新营销战场 !降本增效,新消费市场唾手可得

在当今竞争激烈的全球商业环境中&#xff0c;企业们迫切需要降低成本、提高效率&#xff0c;物联网&#xff08;IoT&#xff1a;Internet of Things&#xff09;的快速崛起为企业提供了全新的增长动力。它直接改变了人们的生活方式&#xff0c;其中最突出的表现就是网购&#x…

每日一题 2558. 从数量最多的堆取走礼物(简单,heapq)

怎么这么多天都是简单题&#xff0c;不多说了 class Solution:def pickGifts(self, gifts: List[int], k: int) -> int:gifts [-gift for gift in gifts]heapify(gifts)for i in range(k):heappush(gifts, -int(sqrt(-heappop(gifts))))return -sum(gifts)

2023MathorCup(妈妈杯) 数学建模挑战赛 解题思路

云顶数模最新解题思路免费分享~~ 2023妈妈杯数学建模A题B题思路&#xff0c;供大家参考~~ A题 B题

ReentrantLock 是如何实现锁公平和非公平性的 ?

公平和非公平 公平&#xff0c;指的是竞争锁资源的线程&#xff0c;严格按照请求顺序来分配锁。非公平&#xff0c;表示竞争锁资源的线程&#xff0c;允许插队来抢占锁资源。ReentrantLock 默认采用了非公平锁的策略来实现锁的竞争逻辑。 ReentrantLock ReentrantLock 内部使…