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

📄 xadcps.h

📁 自学ZedBoard:使用IP通过ARM PS访问FPGA(源代码)
💻 H
📖 第 1 页 / 共 2 页
字号:
#define XADCPS_SEQ_MODE_CONTINPASS	2  /**< Continuous Cycling Sequencer */#define XADCPS_SEQ_MODE_SINGCHAN	3  /**< Single channel -No Sequencing */#define XADCPS_SEQ_MODE_SIMUL_SAMPLING	4  /**< Simultaneous sampling */#define XADCPS_SEQ_MODE_INDEPENDENT	8  /**< Independent mode *//*@}*//** * @name Power Down Modes * @{ */#define XADCPS_PD_MODE_NONE		0  /**< No Power Down  */#define XADCPS_PD_MODE_ADCB		1  /**< Power Down ADC B */#define XADCPS_PD_MODE_XADC		2  /**< Power Down ADC A and ADC B *//*@}*//**************************** Type Definitions ******************************//** * This typedef contains configuration information for the XADC/ADC * device. */typedef struct {	u16  DeviceId;		/**< Unique ID of device */	u32  BaseAddress;	/**< Device base address */} XAdcPs_Config;/** * The driver's instance data. The user is required to allocate a variable * of this type for every XADC/ADC device in the system. A pointer to * a variable of this type is then passed to the driver API functions. */typedef struct {	XAdcPs_Config Config;	/**< XAdcPs_Config of current device */	u32  IsReady;		/**< Device is initialized and ready  */} XAdcPs;/***************** Macros (Inline Functions) Definitions ********************//****************************************************************************//**** This macro checks if the XADC device is in Event Sampling mode.** @param	InstancePtr is a pointer to the XAdcPs instance.** @return*		- TRUE if the device is in Event Sampling Mode.*		- FALSE if the device is in Continuous Sampling Mode.** @note		C-Style signature:*		int XAdcPs_IsEventSamplingMode(XAdcPs *InstancePtr);******************************************************************************/#define XAdcPs_IsEventSamplingModeSet(InstancePtr)			\	(((XAdcPs_ReadInternalReg(InstancePtr,	 			\			XADCPS_CFR0_OFFSET) & XADCPS_CFR0_EC_MASK) ?	\			TRUE : FALSE))/****************************************************************************//**** This macro checks if the XADC device is in External Mux mode.** @param	InstancePtr is a pointer to the XAdcPs instance.** @return*		- TRUE if the device is in External Mux Mode.*		- FALSE if the device is NOT in External Mux Mode.** @note		C-Style signature:*		int XAdcPs_IsExternalMuxMode(XAdcPs *InstancePtr);******************************************************************************/#define XAdcPs_IsExternalMuxModeSet(InstancePtr)			\	(((XAdcPs_ReadInternalReg(InstancePtr,	 			\			XADCPS_CFR0_OFFSET) & XADCPS_CFR0_MUX_MASK) ?	\			TRUE : FALSE))/****************************************************************************//**** This macro converts XADC Raw Data to Temperature(centigrades).** @param	AdcData is the Raw ADC Data from XADC.** @return 	The Temperature in centigrades.** @note		C-Style signature:*		float XAdcPs_RawToTemperature(u32 AdcData);******************************************************************************/#define XAdcPs_RawToTemperature(AdcData)				\	((((float)(AdcData)/65536.0f)/0.00198421639f ) - 273.15f)/****************************************************************************//**** This macro converts XADC/ADC Raw Data to Voltage(volts).** @param	AdcData is the XADC/ADC Raw Data.** @return 	The Voltage in volts.** @note		C-Style signature:*		float XAdcPs_RawToVoltage(u32 AdcData);******************************************************************************/#define XAdcPs_RawToVoltage(AdcData) 					\	((((float)(AdcData))* (3.0f))/65536.0f)/****************************************************************************//**** This macro converts Temperature in centigrades to XADC/ADC Raw Data.** @param	Temperature is the Temperature in centigrades to be*		converted to XADC/ADC Raw Data.** @return 	The XADC/ADC Raw Data.** @note		C-Style signature:*		int XAdcPs_TemperatureToRaw(float Temperature);******************************************************************************/#define XAdcPs_TemperatureToRaw(Temperature)				\	((int)(((Temperature) + 273.15f)*65536.0f*0.00198421639f))/****************************************************************************//**** This macro converts Voltage in Volts to XADC/ADC Raw Data.** @param	Voltage is the Voltage in volts to be converted to*		XADC/ADC Raw Data.** @return 	The XADC/ADC Raw Data.** @note		C-Style signature:*		int XAdcPs_VoltageToRaw(float Voltage);******************************************************************************/#define XAdcPs_VoltageToRaw(Voltage)			 		\	((int)((Voltage)*65536.0f/3.0f))/****************************************************************************//**** This macro is used for writing to the XADC Registers using the* command FIFO.** @param	InstancePtr is a pointer to the XAdcPs instance.** @return	None.** @note		C-Style signature:*		void XAdcPs_WriteFifo(XAdcPs *InstancePtr, u32 Data);******************************************************************************/#define XAdcPs_WriteFifo(InstancePtr, Data)				\	XAdcPs_WriteReg((InstancePtr)->Config.BaseAddress,		\			  XADCPS_CMDFIFO_OFFSET, Data);/****************************************************************************//**** This macro is used for reading from the XADC Registers using the* data FIFO.** @param	InstancePtr is a pointer to the XAdcPs instance.** @return	Data read from the FIFO** @note		C-Style signature:*		u32 XAdcPs_ReadFifo(XAdcPs *InstancePtr);******************************************************************************/#define XAdcPs_ReadFifo(InstancePtr)				\	XAdcPs_ReadReg((InstancePtr)->Config.BaseAddress,	\			  XADCPS_RDFIFO_OFFSET);/************************** Function Prototypes *****************************//** * Functions in xadcps_sinit.c */XAdcPs_Config *XAdcPs_LookupConfig(u16 DeviceId);/** * Functions in xadcps.c */int XAdcPs_CfgInitialize(XAdcPs *InstancePtr,				XAdcPs_Config *ConfigPtr,				u32 EffectiveAddr);u32 XAdcPs_GetStatus(XAdcPs *InstancePtr);u32 XAdcPs_GetAlarmOutputStatus(XAdcPs *InstancePtr);void XAdcPs_StartAdcConversion(XAdcPs *InstancePtr);void XAdcPs_Reset(XAdcPs *InstancePtr);u16 XAdcPs_GetAdcData(XAdcPs *InstancePtr, u8 Channel);u16 XAdcPs_GetCalibCoefficient(XAdcPs *InstancePtr, u8 CoeffType);u16 XAdcPs_GetMinMaxMeasurement(XAdcPs *InstancePtr, u8 MeasurementType);void XAdcPs_SetAvg(XAdcPs *InstancePtr, u8 Average);u8 XAdcPs_GetAvg(XAdcPs *InstancePtr);int XAdcPs_SetSingleChParams(XAdcPs *InstancePtr,				u8 Channel,				int IncreaseAcqCycles,				int IsEventMode,				int IsDifferentialMode);void XAdcPs_SetAlarmEnables(XAdcPs *InstancePtr, u16 AlmEnableMask);u16 XAdcPs_GetAlarmEnables(XAdcPs *InstancePtr);void XAdcPs_SetCalibEnables(XAdcPs *InstancePtr, u16 Calibration);u16 XAdcPs_GetCalibEnables(XAdcPs *InstancePtr);void XAdcPs_SetSequencerMode(XAdcPs *InstancePtr, u8 SequencerMode);u8 XAdcPs_GetSequencerMode(XAdcPs *InstancePtr);void XAdcPs_SetAdcClkDivisor(XAdcPs *InstancePtr, u8 Divisor);u8 XAdcPs_GetAdcClkDivisor(XAdcPs *InstancePtr);int XAdcPs_SetSeqChEnables(XAdcPs *InstancePtr, u32 ChEnableMask);u32 XAdcPs_GetSeqChEnables(XAdcPs *InstancePtr);int XAdcPs_SetSeqAvgEnables(XAdcPs *InstancePtr, u32 AvgEnableChMask);u32 XAdcPs_GetSeqAvgEnables(XAdcPs *InstancePtr);int XAdcPs_SetSeqInputMode(XAdcPs *InstancePtr, u32 InputModeChMask);u32 XAdcPs_GetSeqInputMode(XAdcPs *InstancePtr);int XAdcPs_SetSeqAcqTime(XAdcPs *InstancePtr, u32 AcqCyclesChMask);u32 XAdcPs_GetSeqAcqTime(XAdcPs *InstancePtr);void XAdcPs_SetAlarmThreshold(XAdcPs *InstancePtr, u8 AlarmThrReg, u16 Value);u16 XAdcPs_GetAlarmThreshold(XAdcPs *InstancePtr, u8 AlarmThrReg);void XAdcPs_EnableUserOverTemp(XAdcPs *InstancePtr);void XAdcPs_DisableUserOverTemp(XAdcPs *InstancePtr);/** * Functions in xadcps_selftest.c */int XAdcPs_SelfTest(XAdcPs *InstancePtr);/** * Functions in xadcps_intr.c */void XAdcPs_IntrEnable(XAdcPs *InstancePtr, u32 Mask);void XAdcPs_IntrDisable(XAdcPs *InstancePtr, u32 Mask);u32 XAdcPs_IntrGetEnabled(XAdcPs *InstancePtr);u32 XAdcPs_IntrGetStatus(XAdcPs *InstancePtr);void XAdcPs_IntrClear(XAdcPs *InstancePtr, u32 Mask);#ifdef __cplusplus}#endif#endif  /* End of protection macro. */

⌨️ 快捷键说明

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