【Zynq】【XADC】Zynq使用XADC测量外部电压
### 简介Zynq内部自带的XADC硬核,可用于测量和监控内部重要节点的电压和芯片温度等,并且还带有外部引脚可测量外部电压,其分辨率为12bit,单端测量范围为0~1V
### 工程配置
(1)添加PS端IP核,使用常规配置,并添加串口外设
(2)添加XADC IP核,其它保持默认,只修改通道为VAUX2
!(data/attachment/forum/202208/29/153016jill4jupu43jz43j.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")
(3)自动连线,并引出Vaux端口
!(data/attachment/forum/202208/29/153325yvq22ec7iiiqimnq.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")
(4)引脚分配,由于XADC是硬核,管脚已经固定,因此这里只能选择以下两个管脚
!(data/attachment/forum/202208/29/153510m4tpv44qw4uqt4uu.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")
(5)生成比特流并导出hdf文件
!(data/attachment/forum/202208/29/153612o535pq3cyuzapacq.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")
### 软件代码
创建SDK工程,在工程中新建main.c文件,将以下代码拷贝到main.c文件中
```
#include "xparameters.h"
#include "xadcps.h"
#include "stdio.h"
#include "sleep.h"
static XAdcPs XAdcInst;
static XAdcPs_Config *ConfigPtr;
int main()
{
u16 ADC_Data;
float Voltage;
//初始化XAdc驱动
ConfigPtr = XAdcPs_LookupConfig(XPAR_XADCPS_0_DEVICE_ID);
XAdcPs_CfgInitialize(&XAdcInst, ConfigPtr,ConfigPtr->BaseAddress);
XAdcPs_SetSequencerMode(&XAdcInst, XADCPS_SEQ_MODE_SAFE);
XAdcPs_SetSeqChEnables (&XAdcInst, XADCPS_SEQ_CH_AUX02);
XAdcPs_SetSequencerMode (&XAdcInst, XADCPS_SEQ_MODE_CONTINPASS);
while(1)
{
ADC_Data = XAdcPs_GetAdcData(&XAdcInst, XADCPS_AUX02_OFFSET);
Voltage = ADC_Data*1.0f/65536.0f;
printf("The Current Voltage is %.3f Volts. \n",Voltage);
sleep(1);
}
return 0;
}
```
保存并编译之后,将程序和比特流下载到开发板
### 验证设计
(1)将开发板串口连接到电脑并打开“SDK Terminal”连接串口,波特率为115200
!(data/attachment/forum/202208/29/160638uns44yuheuzc6us1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")
(2)使用两根杜邦线连接开发板的PL端扩展口,红色接正极,黑色接负极或地
!(data/attachment/forum/202208/29/155725az75t66te65o865e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")
(3)这里我接的是一台直流稳压电源,设置为0.6V左右
!(data/attachment/forum/202208/29/155944vgrrmmmfhrnhelem.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")
(4)串口每隔一秒打印一次电压,测量的很准,也比较稳定
!(data/attachment/forum/202208/29/160941yz2lx0w0ixh02iez.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")
### 附件
页:
[1]