8通道模数转换AD7091驱动代码SPI接口ADC,verilog

名称:8通道模数转换AD7091驱动代码

软件:QuartusII

语言:Verilog

代码功能:

    使用verilog代码设计AD7091R-8驱动代码

    控制接口为SPI接口,实现8通道模数转换,输出8通道数字信号。

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

代码下载:

8通道模数转换AD7091驱动代码(代码在文末付费下载)软件:QuartusII语言:Verilog代码功能: 使用verilog代码设计AD7091R-8驱动代码 控制接口为SPI接口,实现8通道模数转换,输出8通道数字信号。FPGA代码Verilog/VHDL代码资源下载网:www.hdlcode.com部分代码展示//AD7091驱动module AD7091(input名称:8通道模数转换AD7091驱动代码(代码在文末付费下载)软件:QuartusII语言:Verilog代码功能: 使用verilog代码设计AD7091R-8驱动代码 控制接口为SPI接口,实现8通道模数转换,输出8通道数字信号。FPGA代码Verilog/VHDL代码资源下载网:www.hdlcode.com芯片手册:AD7091R-2_7091R-4_7091R-8.pdf部分icon-default.png?t=N7T8http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=218

ad7091-8.jpg

ad7091-8-2.jpg

芯片手册:

AD7091R-2_7091R-4_7091R-8.pdf

部分代码展示

//AD7091驱动
module AD7091(
input clk_50M,
//input reset_p,
output AD_CS,
output AD_convst,
output AD_sclk,//输出sclk
input AD_sdo,//输入sdo
output AD_sdi,//输出sdi
input AD_alert,
output reg [11:0] AD_0,
output reg [11:0] AD_1,
output reg [11:0] AD_2,
output reg [11:0] AD_3,
output reg [11:0] AD_4,
output reg [11:0] AD_5,
output reg [11:0] AD_6,
output reg [11:0] AD_7
);
wire reset_p;
assign reset_p=0;
reg [2:0] state=3'd0;
parameter s_idle=3'd0;
parameter s_initial=3'd1;
parameter s_write=3'd2;
parameter s_wait=3'd3;
reg [7:0] convst_cnt=8'd0;
reg [7:0] write_cnt=8'd0;
reg [7:0] wait_cnt=8'd0;
//状态机
always@(posedge clk_50M or posedge reset_p)
if(reset_p)
state<=s_idle;
else
case(state)
s_idle:
state<=s_initial;
s_initial://初始化状态
if(convst_cnt>=8'd66)
state<=s_wait;
else
state<=s_initial;
s_wait:
if(wait_cnt>=8'd200)
state<=s_write;
else
state<=s_wait;
s_write://读写状态
state<=s_write;
default:;
endcase
always@(posedge clk_50M or posedge reset_p)
if(reset_p)
wait_cnt<=8'd0;
else
if(state==s_wait)
wait_cnt<=wait_cnt+8'd1;
else
wait_cnt<=8'd0;
//初始化计数400输出66个convst周期
reg [9:0] clk_convst_cnt=10'd0;
always@(posedge clk_50M or posedge reset_p)
if(reset_p)
clk_convst_cnt<=10'd0;
else
if(state==s_initial)
if(clk_convst_cnt>=10'd400)
clk_convst_cnt<=10'd0;
else
clk_convst_cnt<=clk_convst_cnt+10'd1;
else
clk_convst_cnt<=10'd0;
reg convst_initial=1;
always@(posedge clk_50M or posedge reset_p)
if(reset_p)
convst_initial<=1;
else
if(state==s_initial)
if(clk_convst_cnt>10'd200)//400us低电平,400us高电平
convst_initial<=0;
else
convst_initial<=1;
else
convst_initial<=1;
always@(posedge clk_50M or posedge reset_p)
if(reset_p)
convst_cnt<=8'd0;
else
if(state==s_initial)
if(clk_convst_cnt>=10'd400)
convst_cnt<=convst_cnt+8'd1;//convst计数
else
convst_cnt<=convst_cnt;
else
convst_cnt<=8'd0;

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文通透位置编码:从标准位置编码到旋转位置编码RoPE

前言 关于位置编码和RoPE 我之前在本博客中的另外两篇文章中有阐述过(一篇是关于LLaMA解读的&#xff0c;一篇是关于transformer从零实现的)&#xff0c;但自觉写的不是特别透彻好懂再后来在我参与主讲的类ChatGPT微调实战课中也有讲过&#xff0c;但有些学员依然反馈RoPE不是…

Nginx的进程结构实例演示

可以参考《Ubuntu 20.04使用源码安装nginx 1.14.0》安装nginx 1.14.0。 nginx.conf文件中worker_processes 2;这条语句表明启动两个worker进程。 sudo /nginx/sbin/nginx -c /nginx/conf/nginx.conf开启nginx。 ps -ef | grep nginx看一下进程情况。 sudo /nginx/sbin/ng…

Spring源码-4.Aware接口、初始化和销毁执行顺序、Scope域

Aware接口 其实在生命周期中&#xff0c;Aware接口也参与进来了&#xff0c;如图所示&#xff1a; 如初始化时的第三步&#xff0c;其实就是调用了Aware相关接口。 以常见的Aware接口举例&#xff1a; 1.BeanNameAware 主要是注入Bean的名字 2.BeanFactoryAware 主要是时注…

vue项目中将html转为pdf并下载

个人项目地址&#xff1a; SubTopH前端开发个人站 &#xff08;自己开发的前端功能和UI组件&#xff0c;一些有趣的小功能&#xff0c;感兴趣的伙伴可以访问&#xff0c;欢迎提出更好的想法&#xff0c;私信沟通&#xff0c;网站属于静态页面&#xff09; SubTopH前端开发个人…

深度学习:激活函数曲线总结

深度学习&#xff1a;激活函数曲线总结 在深度学习中有很多时候需要利用激活函数进行非线性处理&#xff0c;在搭建网路的时候也是非常重要的&#xff0c;为了更好的理解不同的激活函数的区别和差异&#xff0c;在这里做一个简单的总结&#xff0c;在pytorch中常用的激活函数的…

Spring Cloud Sentinel整合Nacos实现配置持久化

sentinel配置相关配置后无法持久化&#xff0c;服务重启之后就没了&#xff0c;所以整合nacos&#xff0c;在nacos服务持久化&#xff0c;sentinel实时与nacos通信获取相关配置。 使用上一章节Feign消费者服务实现整合。 版本信息&#xff1a; nacos:1.4.1 Sentinel 控制台 …

基于springboot实现CSGO赛事管理系统【项目源码+论文说明】

基于SpringBoot实现CSGO赛事管理系统演示 摘要 CSGO赛事管理系统是针对CSGO赛事管理方面必不可少的一个部分。在CSGO赛事管理的整个过程中&#xff0c;CSGO赛事管理系统担负着最重要的角色。为满足如今日益复杂的管理需求&#xff0c;各类的管理系统也在不断改进。本课题所设计…

什么是Spring Web MVC

Spring Web MVC 概念 Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架&#xff0c;从⼀开始就包含在 Spring 框架中。它的 正式名称“Spring Web MVC”来⾃其源模块的名称(Spring-webmvc)&#xff0c;但它通常被称为"Spring MVC". 什么是Servlet Servlet 是…

回流重绘零负担,网页加载快如闪电

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 ⭐ 专栏简介 &#x1f4d8; 文章引言 一、回…

rust 创建多线程web server

创建一个 http server&#xff0c;处理 http 请求。 创建一个单线程的 web 服务 web server 中主要的两个协议是 http 和 tcp。tcp 是底层协议&#xff0c;http 是构建在 tcp 之上的。 通过std::net库创建一个 tcp 连接的监听对象&#xff0c;监听地址为127.0.0.1:8080. us…

温湿度计传感器DHT11控制数码管显示verilog代码及视频

名称&#xff1a;温湿度计传感器DHT11控制数码管显示 软件&#xff1a;QuartusII 语言&#xff1a;Verilog 代码功能&#xff1a; 使用温湿度传感器DHT11采集环境的温度和湿度&#xff0c;并在数码管显示 本代码已在开发板验证 开发板资料&#xff1a; 大西瓜第一代FPGA升级…

Vue--》简易资金管理系统后台项目实战(前端)

今天开始使用 vue3 + ts + node 搭建一个简易资金管理系统的前后端分离项目,因为前后端分离所以会分两个专栏分别讲解前端与后端的实现,后端项目文章讲解可参考:后端链接,我会在前后端的两类专栏的最后一篇文章中会将项目代码开源到我的github上,大家可以自行去进行下载运…