米联客 ZYNQ/SOC精品教程 S02-CH03 XADC 实验

2023-10-13 10:40

本文主要是介绍米联客 ZYNQ/SOC精品教程 S02-CH03 XADC 实验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

软件版本:VIVADO2017.4

操作系统:WIN10 64bit

硬件平台:适用米联客 ZYNQ系列开发板

米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!!

3.1 概述

       本课讲解了使用芯片内部XADC采集片上电压以及温度的方法。

       Xilinx 7系列的ADC是一个双12位分辨率的而且每秒一兆(MSPS, 1 Mega sample per second)采样速率的模数转换器,是一种通用的、高精度的模数转换器,双通道的ADC支持单极和差分输入工作模式,其最多可支持17路外部模拟输入通道。

d8f6c8ab204c699777847637fd7a8726304.jpg

      上图为XADC的一个内部实现框图,从图中可以看出ADC分为12位的A和B两个,故称为双12位。其中ADC A可以对供电电压进行采样,供电电压包括VCCINT、VCCAUX、VCCBRAM,其中Zynq-7000系列的芯片还支持对VCCPINT、VCCPAUX和VCCO_DDR的采样,还包括温度的采样和外部模拟输入的采样。ADC B只能对外部模拟输入进行采样转换。

       XADC内部包括16位的控制寄存器和状态寄存器,控制寄存器可以通过DRP(DynamicReconfiguration Port)进行读写操作,从而实现对XADC的初始化配置,而状态寄存器只能进行读取,ADC将采样转换后的值保存在对应的状态寄存器,通过DRP便可以将其读出,从而便可以用于FPGA外部的使用。

      模拟输入管脚XADC可以采样的外部模拟输入包括一对差分专用模拟输入信号端(Dedicated Analog)和16对差分辅助模拟输入信号端(Auxiliary Analog),其中16对模拟信号端在XADC中不被使用时,可以当做普通IO口来使用。辅助模拟输入信号在Vivado和ISE中使用是不同的:在ISE中辅助模拟输入不需要任何的用户定义约束(包括管脚位置约束和IO电平约束),而在Vivado里,辅助模拟输入管脚必须加管脚位置约束,而且必须选择合适的IO电平约束。有些辅助输入管脚对7系列的某些芯片是不支持的,可以通过原理图来查看哪些管脚可以使用,我们的开发板只有核心板引出了16对差分辅助模拟输入信号端。而在底板上没有专门引出,所以开发板,无法直接做16对差分辅助模拟输入信号端的ADC实验。所以本实验仅仅对FPGA内部的温度,电压做采集。

       在实际工程运用中,开发人员可以通过片上XDC测试芯片内部电压,判断系统是否正常工作或预警。

3.2 采集参数

使用ZYNQ的内嵌XADC采集ZYNQ内部的一些参数:

•VCCINT:内部PL核心电压

•VCCAUX:辅助PL电压

•VREFP:XADC正参考电压

•VREFN:XADC负参考电压

•VCCBram:PL  BRAM电压

•VCCPInt:PS内部核心电压

•VCCPAux:PS辅助电压

•VCCDdr:DDR RAM的工作电压

3.3 搭建FPGA BD工程

Step1:新建一个名为为Miz_sys的工程。

Step2:创建一个BD文件,并命名为system,添加并且配置好ZYNQ IP。读者需要根据自己的硬件类型配置好输入时钟频率、内存型号、串口,连接时钟等。新手不清楚这些内容个,请参考“CH01 HelloWold/DDR/网口测试及固化”这一节课。

12a118ed607a72485b26a2785268b3fcddf.jpg

Step3:添加IP按钮,输入xadc,添加XADC的IP到BD文件。

cae6a76a4b363c37904121d86427a63f1e5.jpg

Step4:需对XADC IP进行配置

采样方式采用AXI4Lite,连续采样模式,Channel Sequencer模式,DCLK设置100M

4f081b3f72f7e0044be9d46e1d9b61bc1fd.jpg

Sequencer模式为连续模式

46946cf8b256fab1fd548aaacec7c958268.jpg

报警部分采用默认设置

fb08c0884c8a1ed082c7f6d4418028747b2.jpg

勾选我们需要采集的参数

f616f17e6002c5d6443ca2aebf08ceedba7.jpg

Step5:直接单击run connection automation,选择OK,完成整体电路设计,自动运行后,软件自动添加了Processor System Reset IP和AXI Interconnect IP。

664b3bd171742aa5f84aae19438dfa31a17.jpg

6f12ccea9b9fe12a12f97bba57aa9cf3ec4.jpg

de1babb7bca58ccbb78a5930b51fc275abe.jpg

166b75027f69037a2d28ebea36775ae03f6.jpg

Step6:单击窗口上的运行按钮,运行程序。

3.6 测试结果

系统运行结果如下图所示:

4a9b9b4e53b90005c68f3a0a172e5105046.jpg

3.7 函数分析

3.7.1 XAdcPs_LookupConfig函数

ConfigPtr = XAdcPs_LookupConfig(XPAR_AXI_XADC_0_DEVICE_ID),这种库函数的调用都是xilinx SDK库函数标准套路,就是从系统中查下,是否有这个设备的定义。进入这个函数原型看下

XAdcPs_Config *XAdcPs_LookupConfig(u16 DeviceId)

{

XAdcPs_Config *CfgPtr = NULL;

u32 Index;

 

for (Index=0; Index < 1; Index++) {

if (XAdcPs_ConfigTable[Index].DeviceId == DeviceId) {

CfgPtr = &XAdcPs_ConfigTable[Index];

break;

}

}

这篇关于米联客 ZYNQ/SOC精品教程 S02-CH03 XADC 实验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/202641

相关文章

电脑没有仿宋GB2312字体怎么办? 仿宋GB2312字体下载安装及调出来的教程

《电脑没有仿宋GB2312字体怎么办?仿宋GB2312字体下载安装及调出来的教程》仿宋字体gb2312作为一种经典且常用的字体,广泛应用于各种场合,如何在计算机中调出仿宋字体gb2312?本文将为您... 仿宋_GB2312是公文标准字体之一,仿China编程宋是字体名称,GB2312是字php符编码标准名称(简

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

vscode保存代码时自动eslint格式化图文教程

《vscode保存代码时自动eslint格式化图文教程》:本文主要介绍vscode保存代码时自动eslint格式化的相关资料,包括打开设置文件并复制特定内容,文中通过代码介绍的非常详细,需要的朋友... 目录1、点击设置2、选择远程--->点击右上角打开设置3、会弹出settings.json文件,将以下内

Window Server创建2台服务器的故障转移群集的图文教程

《WindowServer创建2台服务器的故障转移群集的图文教程》本文主要介绍了在WindowsServer系统上创建一个包含两台成员服务器的故障转移群集,文中通过图文示例介绍的非常详细,对大家的... 目录一、 准备条件二、在ServerB安装故障转移群集三、在ServerC安装故障转移群集,操作与Ser

windos server2022的配置故障转移服务的图文教程

《windosserver2022的配置故障转移服务的图文教程》本文主要介绍了windosserver2022的配置故障转移服务的图文教程,以确保服务和应用程序的连续性和可用性,文中通过图文介绍的非... 目录准备环境:步骤故障转移群集是 Windows Server 2022 中提供的一种功能,用于在多个

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨

PyTorch使用教程之Tensor包详解

《PyTorch使用教程之Tensor包详解》这篇文章介绍了PyTorch中的张量(Tensor)数据结构,包括张量的数据类型、初始化、常用操作、属性等,张量是PyTorch框架中的核心数据结构,支持... 目录1、张量Tensor2、数据类型3、初始化(构造张量)4、常用操作5、常用属性5.1 存储(st

Java操作PDF文件实现签订电子合同详细教程

《Java操作PDF文件实现签订电子合同详细教程》:本文主要介绍如何在PDF中加入电子签章与电子签名的过程,包括编写Word文件、生成PDF、为PDF格式做表单、为表单赋值、生成文档以及上传到OB... 目录前言:先看效果:1.编写word文件1.2然后生成PDF格式进行保存1.3我这里是将文件保存到本地后

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用

python库fire使用教程

《python库fire使用教程》本文主要介绍了python库fire使用教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1.简介2. fire安装3. fire使用示例1.简介目前python命令行解析库用过的有:ar