本次实验的目的,借助zynq的内嵌XADC(anolag-digital converter)来采集zynq内部的一些参数。
(1)创建vivado工程以及block design
(2)配置PS端(时钟与DDR),添加XADC ip(XADC无需任何配置)
run connection automation(自动连接)
(3)generation output products
(4)creat HDL wrapper
(5)生成bit文件
加载到SDK中
(6)创建一个新的工程,以及加入main.c
其中main.c 如下所示:
#include <stdio.h>
//#include "platform.h"
#include "xadcps.h"
#include "xil_types.h"
#define XPAR_AXI_XADC_0_DEVICE_ID 0
//void print(char *str);
static XAdcPs XADCMonInst;
int main()
{
XAdcPs_Config *ConfigPtr;
XAdcPs *XADCInstPtr = &XADCMonInst;
//指针实例,XADC的ps配置(使用结构体)
//status of initialisation
int Status_ADC;
//temperature readings
u32 TempRawData;
float TempData;
//Vcc Int readings 内部PL核心电压
u32 VccIntRawData;
float VccIntData;
//Vcc Aux readings 辅助PL电压
u32 VccAuxRawData;
float VccAuxData;
//Vbram readings PL BRAM电压
u32 VBramRawData;
floa