⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xadcps_hw.h

📁 自学ZedBoard:使用IP通过ARM PS访问FPGA(源代码)
💻 H
📖 第 1 页 / 共 2 页
字号:
/******************************************************************************** (c) Copyright 2011 Xilinx, Inc. All rights reserved.** This file contains confidential and proprietary information of Xilinx, Inc.* and is protected under U.S. and international copyright and other* intellectual property laws.** DISCLAIMER* This disclaimer is not a license and does not grant any rights to the* materials distributed herewith. Except as otherwise provided in a valid* license issued to you by Xilinx, and to the maximum extent permitted by* applicable law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND WITH ALL* FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS,* IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF* MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE;* and (2) Xilinx shall not be liable (whether in contract or tort, including* negligence, or under any other theory of liability) for any loss or damage* of any kind or nature related to, arising under or in connection with these* materials, including for any direct, or any indirect, special, incidental,* or consequential loss or damage (including loss of data, profits, goodwill,* or any type of loss or damage suffered as a result of any action brought by* a third party) even if such damage or loss was reasonably foreseeable or* Xilinx had been advised of the possibility of the same.** CRITICAL APPLICATIONS* Xilinx products are not designed or intended to be fail-safe, or for use in* any application requiring fail-safe performance, such as life-support or* safety devices or systems, Class III medical devices, nuclear facilities,* applications related to the deployment of airbags, or any other applications* that could lead to death, personal injury, or severe property or* environmental damage (individually and collectively, "Critical* Applications"). Customer assumes the sole risk and liability of any use of* Xilinx products in Critical Applications, subject only to applicable laws* and regulations governing limitations on product liability.** THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS PART OF THIS FILE* AT ALL TIMES.*******************************************************************************//****************************************************************************//**** @file xadcps_hw.h** This header file contains identifiers and basic driver functions (or* macros) that can be used to access the XADC device through the Device* Config Interface of the Zynq.*** Refer to the device specification for more information about this driver.** @note	 None.*** <pre>** MODIFICATION HISTORY:** Ver   Who    Date     Changes* ----- -----  -------- -----------------------------------------------------* 1.00a bss    12/22/11 First release based on the XPS/AXI xadc driver** </pre>******************************************************************************/#ifndef XADCPS_HW_H /* Prevent circular inclusions */#define XADCPS_HW_H /* by using protection macros  */#ifdef __cplusplusextern "C" {#endif/***************************** Include Files ********************************/#include "xil_types.h"#include "xil_assert.h"#include "xil_io.h"/************************** Constant Definitions ****************************//**@name Register offsets of XADC in the Device Config * * The following constants provide access to each of the registers of the * XADC device. * @{ */#define XADCPS_CFG_OFFSET	 0x100 /**< Configuration Register */#define XADCPS_INT_STS_OFFSET	 0x104 /**< Interrupt Status Register */#define XADCPS_INT_MASK_OFFSET	 0x108 /**< Interrupt Mask Register */#define XADCPS_MSTS_OFFSET	 0x10C /**< Misc status register */#define XADCPS_CMDFIFO_OFFSET	 0x110 /**< Command FIFO Register */#define XADCPS_RDFIFO_OFFSET	 0x114 /**< Read FIFO Register */#define XADCPS_MCTL_OFFSET	 0x118 /**< Misc control register *//* @} *//** @name XADC Config Register Bit definitions  * @{ */#define XADCPS_CFG_ENABLE_MASK	 0x80000000 /**< Enable access from PS mask */#define XADCPS_CFG_CFIFOTH_MASK  0x00F00000 /**< Command FIFO Threshold mask */#define XADCPS_CFG_DFIFOTH_MASK  0x000F0000 /**< Data FIFO Threshold mask */#define XADCPS_CFG_WEDGE_MASK	 0x00002000 /**< Write Edge Mask */#define XADCPS_CFG_REDGE_MASK	 0x00001000 /**< Read Edge Mask */#define XADCPS_CFG_TCKRATE_MASK  0x00000300 /**< Clock freq control */#define XADCPS_CFG_IGAP_MASK	 0x0000001F /**< Idle Gap between						* successive commands *//* @} *//** @name XADC Interrupt Status/Mask Register Bit definitions  *  * The definitions are same for the Interrupt Status Register and  * Interrupt Mask Register. They are defined only once.  * @{ */#define XADCPS_INTX_ALL_MASK   	   0x000003FF /**< Alarm Signals Mask  */#define XADCPS_INTX_CFIFO_LTH_MASK 0x00000200 /**< CMD FIFO less than threshold */#define XADCPS_INTX_DFIFO_GTH_MASK 0x00000100 /**< Data FIFO greater than threshold */#define XADCPS_INTX_OT_MASK	   0x00000080 /**< Over temperature Alarm Status */#define XADCPS_INTX_ALM_ALL_MASK   0x0000007F /**< Alarm Signals Mask  */#define XADCPS_INTX_ALM6_MASK	   0x00000040 /**< Alarm 6 Mask  */#define XADCPS_INTX_ALM5_MASK	   0x00000020 /**< Alarm 5 Mask  */#define XADCPS_INTX_ALM4_MASK	   0x00000010 /**< Alarm 4 Mask  */#define XADCPS_INTX_ALM3_MASK	   0x00000008 /**< Alarm 3 Mask  */#define XADCPS_INTX_ALM2_MASK	   0x00000004 /**< Alarm 2 Mask  */#define XADCPS_INTX_ALM1_MASK	   0x00000002 /**< Alarm 1 Mask  */#define XADCPS_INTX_ALM0_MASK	   0x00000001 /**< Alarm 0 Mask  *//* @} *//** @name XADC Miscellaneous Register Bit definitions  * @{ */#define XADCPS_MSTS_CFIFO_LVL_MASK  0x000F0000 /**< Command FIFO Level mask */#define XADCPS_MSTS_DFIFO_LVL_MASK  0x0000F000 /**< Data FIFO Level Mask  */#define XADCPS_MSTS_CFIFOF_MASK     0x00000800 /**< Command FIFO Full Mask  */#define XADCPS_MSTS_CFIFOE_MASK     0x00000400 /**< Command FIFO Empty Mask  */#define XADCPS_MSTS_DFIFOF_MASK     0x00000200 /**< Data FIFO Full Mask  */#define XADCPS_MSTS_DFIFOE_MASK     0x00000100 /**< Data FIFO Empty Mask  */#define XADCPS_MSTS_OT_MASK	    0x00000080 /**< Over Temperature Mask */#define XADCPS_MSTS_ALM_MASK	    0x0000007F /**< Alarms Mask  *//* @} *//** @name XADC Miscellaneous Control Register Bit definitions  * @{ */#define XADCPS_MCTL_RESET_MASK      0x00000010 /**< Reset XADC */#define XADCPS_MCTL_FLUSH_MASK      0x00000001 /**< Flush the FIFOs *//* @} *//**@name Internal Register offsets of the XADC * * The following constants provide access to each of the internal registers of * the XADC device. * @{ *//* * XADC Internal Channel Registers */#define XADCPS_TEMP_OFFSET		  0x00 /**< On-chip Temperature Reg */#define XADCPS_VCCINT_OFFSET		  0x01 /**< On-chip VCCINT Data Reg */#define XADCPS_VCCAUX_OFFSET		  0x02 /**< On-chip VCCAUX Data Reg */#define XADCPS_VPVN_OFFSET		  0x03 /**< ADC out of VP/VN	   */#define XADCPS_VREFP_OFFSET		  0x04 /**< On-chip VREFP Data Reg */#define XADCPS_VREFN_OFFSET		  0x05 /**< On-chip VREFN Data Reg */#define XADCPS_VBRAM_OFFSET		  0x06 /**< On-chip VBRAM , 7 Series */#define XADCPS_ADC_A_SUPPLY_CALIB_OFFSET  0x08 /**< ADC A Supply Offset Reg */#define XADCPS_ADC_A_OFFSET_CALIB_OFFSET  0x09 /**< ADC A Offset Data Reg */#define XADCPS_ADC_A_GAINERR_CALIB_OFFSET 0x0A /**< ADC A Gain Error Reg  */#define XADCPS_VCCPINT_OFFSET		  0x0D /**< On-chip VCCPINT Reg, Zynq */#define XADCPS_VCCPAUX_OFFSET		  0x0E /**< On-chip VCCPAUX Reg, Zynq */#define XADCPS_VCCPDRO_OFFSET		  0x0F /**< On-chip VCCPDRO Reg, Zynq *//* * XADC External Channel Registers */#define XADCPS_AUX00_OFFSET	0x10 /**< ADC out of VAUXP0/VAUXN0 */#define XADCPS_AUX01_OFFSET	0x11 /**< ADC out of VAUXP1/VAUXN1 */#define XADCPS_AUX02_OFFSET	0x12 /**< ADC out of VAUXP2/VAUXN2 */#define XADCPS_AUX03_OFFSET	0x13 /**< ADC out of VAUXP3/VAUXN3 */#define XADCPS_AUX04_OFFSET	0x14 /**< ADC out of VAUXP4/VAUXN4 */#define XADCPS_AUX05_OFFSET	0x15 /**< ADC out of VAUXP5/VAUXN5 */#define XADCPS_AUX06_OFFSET	0x16 /**< ADC out of VAUXP6/VAUXN6 */#define XADCPS_AUX07_OFFSET	0x17 /**< ADC out of VAUXP7/VAUXN7 */#define XADCPS_AUX08_OFFSET	0x18 /**< ADC out of VAUXP8/VAUXN8 */#define XADCPS_AUX09_OFFSET	0x19 /**< ADC out of VAUXP9/VAUXN9 */#define XADCPS_AUX10_OFFSET	0x1A /**< ADC out of VAUXP10/VAUXN10 */#define XADCPS_AUX11_OFFSET	0x1B /**< ADC out of VAUXP11/VAUXN11 */#define XADCPS_AUX12_OFFSET	0x1C /**< ADC out of VAUXP12/VAUXN12 */#define XADCPS_AUX13_OFFSET	0x1D /**< ADC out of VAUXP13/VAUXN13 */#define XADCPS_AUX14_OFFSET	0x1E /**< ADC out of VAUXP14/VAUXN14 */#define XADCPS_AUX15_OFFSET	0x1F /**< ADC out of VAUXP15/VAUXN15 *//* * XADC Registers for Maximum/Minimum data captured for the * on chip Temperature/VCCINT/VCCAUX data. */#define XADCPS_MAX_TEMP_OFFSET		0x20 /**< Max Temperature Reg */#define XADCPS_MAX_VCCINT_OFFSET	0x21 /**< Max VCCINT Register */#define XADCPS_MAX_VCCAUX_OFFSET	0x22 /**< Max VCCAUX Register */#define XADCPS_MAX_VCCBRAM_OFFSET	0x23 /**< Max BRAM Register, 7 series */#define XADCPS_MIN_TEMP_OFFSET		0x24 /**< Min Temperature Reg */#define XADCPS_MIN_VCCINT_OFFSET	0x25 /**< Min VCCINT Register */#define XADCPS_MIN_VCCAUX_OFFSET	0x26 /**< Min VCCAUX Register */#define XADCPS_MIN_VCCBRAM_OFFSET	0x27 /**< Min BRAM Register, 7 series */#define XADCPS_MAX_VCCPINT_OFFSET	0x28 /**< Max VCCPINT Register, Zynq */#define XADCPS_MAX_VCCPAUX_OFFSET	0x29 /**< Max VCCPAUX Register, Zynq */#define XADCPS_MAX_VCCPDRO_OFFSET	0x2A /**< Max VCCPDRO Register, Zynq */#define XADCPS_MIN_VCCPINT_OFFSET	0x2C /**< Min VCCPINT Register, Zynq */#define XADCPS_MIN_VCCPAUX_OFFSET	0x2D /**< Min VCCPAUX Register, Zynq */#define XADCPS_MIN_VCCPDRO_OFFSET	0x2E /**< Min VCCPDRO Register,Zynq */ /* Undefined 0x2F to 0x3E */#define XADCPS_FLAG_OFFSET		0x3F /**< Flag Register *//* * XADC Configuration Registers */#define XADCPS_CFR0_OFFSET	0x40	/**< Configuration Register 0 */#define XADCPS_CFR1_OFFSET	0x41	/**< Configuration Register 1 */#define XADCPS_CFR2_OFFSET	0x42	/**< Configuration Register 2 *//* Test Registers 0x43 to 0x47 *//* * XADC Sequence Registers */#define XADCPS_SEQ00_OFFSET	0x48 /**< Seq Reg 00 Adc Channel Selection */#define XADCPS_SEQ01_OFFSET	0x49 /**< Seq Reg 01 Adc Channel Selection */#define XADCPS_SEQ02_OFFSET	0x4A /**< Seq Reg 02 Adc Average Enable */#define XADCPS_SEQ03_OFFSET	0x4B /**< Seq Reg 03 Adc Average Enable */#define XADCPS_SEQ04_OFFSET	0x4C /**< Seq Reg 04 Adc Input Mode Select */#define XADCPS_SEQ05_OFFSET	0x4D /**< Seq Reg 05 Adc Input Mode Select */#define XADCPS_SEQ06_OFFSET	0x4E /**< Seq Reg 06 Adc Acquisition Select */#define XADCPS_SEQ07_OFFSET	0x4F /**< Seq Reg 07 Adc Acquisition Select *//* * XADC Alarm Threshold/Limit Registers (ATR) */#define XADCPS_ATR_TEMP_UPPER_OFFSET	0x50 /**< Temp Upper Alarm Register */#define XADCPS_ATR_VCCINT_UPPER_OFFSET	0x51 /**< VCCINT Upper Alarm Reg */#define XADCPS_ATR_VCCAUX_UPPER_OFFSET	0x52 /**< VCCAUX Upper Alarm Reg */#define XADCPS_ATR_OT_UPPER_OFFSET	0x53 /**< Over Temp Upper Alarm Reg */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -