LVS Pytorch 联合主键 ssm forms csv cassandra yii Seajs jScrollPane vue安装 angularjs教程 access教学视频 html好看的字体样式 pcie高速固态硬盘 vue使用bootstrap mysql 选择数据库 python中的def python创建数据库 python等待10秒 python中集合 python获取输入 python读取字典 java实用教程 java学习平台 java时间格式 java怎么编译 java注释规范 linux的安装 javascript基础 vbs脚本 忧思华光玉 python输入数字 ps水平翻转快捷键 小米8游戏模式 img写盘工具 0x000008e stata 打印机怎么打印照片 脚本怎么用
当前位置: 首页 > 学习教程  > 编程语言

FPGA之AD5522控制器及其内部寄存器讲解

2020/12/28 19:25:41 文章标签:

今天给大家分享一下用FPGA控制AD5522,以及其芯片的工作原理和内部寄存器的控制。首先给大家找了AD官网关于AD5522的介绍[AD5522JSVUZ.pdf](https://www.analog.com/media/en/technical-documentation/data-sheets/AD5522.pdf)打开该数据手册,可以看到芯片…

	今天给大家分享一下用FPGA控制AD5522,以及其芯片的工作原理和内部寄存器的控制。
	首先给大家找了AD官网关于AD5522的介绍[AD5522JSVUZ.pdf](https://www.analog.com/media/en/technical-documentation/data-sheets/AD5522.pdf)
	打开该数据手册,可以看到芯片内部的功能块图
	![在这里插入图片描述](https://img-blog.csdnimg.cn/20201227113550133.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1N1cGVySFJH,size_16,color_FFFFFF,t_70)

AD5522内部有4个通道,分别可以工作在不同的模式下,一般有FVMV,FVMI,FIMV,FIMI,FVMN,FIMN,FNMV,FNMI模式(F:force;M:measure),也有compare模式等,这里只拿驱动和测量来说明。
上图画红色框的就是我们主要要控制的开关,写入不同的寄存器值可以让该通道工作在不同的工作模式下。
了解完原来,来看下他的时序图。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

根据这三张图,我们就可以写出AD5522的控制器逻辑。为了方便控制,这个控制器做成axi接口。相关代码可以关注免费领取。

先写个顶层出来,后面我慢慢更新嘿嘿

/***************************************************
*	Module Name		:	uart2axi_master	   
*	Engineer		:	Huangruigui
*	Target Device	:	
*	Tool versions	:	
*	Create Date		:
*	Revision		:	v1.0
*	Description		:  
**************************************************/
module	AD5522_CTRL #(
	parameter 	M_AXI_ADDR_WIDTH 			= 8'd32,
	parameter	M_AXI_DATA_WIDTH 			= 8'd32,
	
)(
	//	Global Clock Signal
	input	wire							m_axi_aclk,			//	模块基准时钟,100MHz
	input	wire							m_axi_aresetn,		//	模块复位信号,低电平有效
	
	//	Master Write Addr Interface
	output	wire 							m_axi_awvalid,
	input	wire							m_axi_awready,
	output	wire [M_AXI_ADDR_WIDTH-1:0]		m_axi_awaddr,	
	
	//	Master Write Date Interface
	output	wire 							m_axi_wvalid,
	input	wire							m_axi_wready,
	output	wire [M_AXI_DATA_WIDTH-1:0]		m_axi_wdata,
	output	wire [M_AXI_DATA_WIDTH/8-1:0]	m_axi_wstrb,
	
	//	Master Read Addr Interface
	output	wire							m_axi_arvalid,
	input	wire 							m_axi_arready,
	output	wire [M_AXI_ADDR_WIDTH-1:0]		m_axi_araddr,
	
	//	Master Read Date Interface
	output	wire							m_axi_rready,
	input	wire							m_axi_rvalid,
	input	wire [M_AXI_DATA_WIDTH-1:0]		m_axi_rdata,
	input	wire [1:0]						m_axi_rresp,
	
	//	Master Response Interface
	output	wire							m_axi_bready,
	input	wire							m_axi_bvalid,
	input	wire [1:0]						m_axi_bresp,

);




endmodule

本文链接: http://www.dtmao.cc/news_show_550249.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?