2024年4月8日发(作者:)

Xilinx 7系列 XADC功能介绍和应用指南(UG480 )

一、XADC功能介绍

XADC是内嵌在Xilinx 7系列FPGA芯片和Zynq7000可编程SOC芯片中的的高速AD转换器模块。

10 位可靠精度),采样速率达到每秒 1兆次。XADC可测量多该模块内有两个 12 位 AD转换器(确保

达 17 个外部模拟通道的输入信号,同时还能对芯片的温度和供电电压进行监测和报警。XADC能自动

循环扫描所有的模拟输入通道,大大地减轻了主机的负担。特别是Zynq7000芯片内部集成了2个ARM9

处理机芯片、FPGA 逻辑和 AD转换器,丰富的资源构成完整的信号采集和处理系统,特别适合对精度

要求不是太高但对成本又较敏感的测控仪器仪表等方面的应用,既可简化设备又可提高性价比,因

此很受业界欢迎。

有关 XADC 的官方资料主要包含在

Xilinx

的“

7

Series

FPGAs

XADC

Guide

UG480

)”和“

XADC

Wizard

v3.3

LogicCORE

IP

Product

Guide

PG091

)”等技术文档中。这些资料内容丰富,但也比

较庞杂,用户需要耗费大量时间才能消化理解。同时已有资料对应用实例的介绍又不太详尽。笔者

主要对这两份资料的内容进行了梳理和精简,省略了仿真和 JTAG方面的内容,重点放在介绍和理解

XADC控制寄存器的操作方式。最后展示了在 Vivado和 SDK开发环境下的一个简单 XADC应用实例。

希望此文能帮助有兴趣的读者能在较短时间内能掌握和应用 XADC。

UG480

图1-1XADC原理框图

本文的参考资料主要来自

Xilinx

UG480

PG091

等技术文档,为便于读者对照原文查阅更详

细的信息,本文引用的表格或插图仍采用原文的编序。

1

的属性介绍

内含两个12位、每秒1兆采样(1MSPS)的AD转换器ADCA和ADCB。

XADC含片上温度传感器,可测试和监控芯片的温度,实现超温报警(OT)。默认的超温报警温

度是125°C,用户可以在发生过热报警时及时切断芯片供电以避免损失。用户还可以设定自己

定义芯片工作温度范围,当芯片温度超出用户设定的界限时予以报警。

XADC内含6个芯片供电电压传感器,可对芯片供电电源监测和报警。(PL是FPGA逻辑电路,

PS是CPU系统)被监测的电源电压如下:

VCCINT:

VCCAU:

VCCBRAM:

VCCPINT:

VCCPAUX:

VCCO_DDR:

PL内核电压(1.0V)

PL辅助电压(1.8V)

PLBRAM电压(1.0V)

PS内核电压(1.0V)

PS辅助电压(1.8V)

DDRRAM电压(1.5V)

用户可以为这些电压设定上、下限,当电压超出用户设定的界限时报警。

XADC有一路专用的差分模拟输入通道Vp/Vn,如果不使用Vp/Vn时,应该将Vp/Vn连接到GNDADC

引脚。

XADC另有16路辅助模拟输入通道。这些输入通道与Vp/Vn不同之处是,他们的引脚是模拟/数

字复用引脚。如果其中某个引脚被用做模拟输入,该引脚的数字I/O功能就不可再用。如果辅

助模拟输入通道所在的BANK中混合有模拟和数字I/O,该I/OBANK必须由满足所用数字I/O

标准所需的电压供电。

辅助模拟输入通道既可以设置成单极性输入,也可以设置成双极性输入。但所有片上传感器(温

度和电压)都采用单极性工作模式。

XADC可对ADC转换结果自动计算和输出平均值,以抑制信号和PCB板上的噪音。用户可从无平

均值计算、16个样本平均,64个样本平均或256个样本平均等四个选项中选取。

XADC允许延长采样充电时间,将采样充电时间从4个ADCCLK延长至10个ADCCLK。当信号源内

阻或模拟通道多路器内阻过大影响采样电容获得的信号精度时,加长采样时间可以提高精度。

XADC内部含有1.25V的参考电压源。将VREF_P0接模拟地GNDADC就能启用片上参考电压。如果

希望得到更高的精度,可以将VREF_P0连接外部精密电压参考IC。

XADC可基于已知的参考电压源对传感器、ADCA和ADCB的偏移和增益偏差进行校准计算,得

到的校准系数存储在XADC的只读状态寄存器中。随后可以利用这些系数对ADC转换结果进行补

偿。

2