sysmon
Xilinx SDK Drivers API Documentation
Sysmon_v7_5

Data Structures

struct  XSysMon_Config
 This typedef contains configuration information for the System Monitor/ADC device. More...
 
struct  XSysMon
 The driver's instance data. More...
 

Macros

#define XSysMon_IsEventSamplingModeSet(InstancePtr)
 This macro checks if the SysMonitor/ADC device is in Event Sampling mode. More...
 
#define XSysMon_IsDrpBusy(InstancePtr)
 This macro checks if the Dynamic Reconfiguration Port (DRP) transaction from the JTAG is in progress. More...
 
#define XSysMon_IsDrpLocked(InstancePtr)
 This macro checks if the Dynamic Reconfiguration Port (DRP) is locked by the JTAG. More...
 
#define XSysMon_RawToTemperature(AdcData)   ((((float)(AdcData)/65536.0f)/0.00198421639f ) - 273.15f)
 This macro converts System Monitor/ADC Raw Data to Temperature(centigrades). More...
 
#define XSysMon_RawToVoltage(AdcData)   ((((float)(AdcData))* (3.0f))/65536.0f)
 This macro converts System Monitor/ADC Raw Data to Voltage(volts). More...
 
#define XSysMon_TemperatureToRaw(Temperature)   ((int)(((Temperature) + 273.15f)*65536.0f*0.00198421639f))
 This macro converts Temperature in centigrades to System Monitor/ADC Raw Data. More...
 
#define XSysMon_VoltageToRaw(Voltage)   ((int)((Voltage)*65536.0f/3.0f))
 This macro converts Voltage in Volts to System Monitor/ADC Raw Data. More...
 
#define XSysMon_ReadReg(BaseAddress, RegOffset)   (Xil_In32((BaseAddress) + (RegOffset)))
 Read a register of the System Monitor/ADC device. More...
 
#define XSysMon_WriteReg(BaseAddress, RegOffset, Data)   (Xil_Out32((BaseAddress) + (RegOffset), (Data)))
 Write a register of the System Monitor/ADC device. More...
 

Functions

int XSysMon_CfgInitialize (XSysMon *InstancePtr, XSysMon_Config *ConfigPtr, UINTPTR EffectiveAddr)
 This function initializes a specific XSysMon device/instance. More...
 
void XSysMon_Reset (XSysMon *InstancePtr)
 This function forces the software reset of the complete SystemMonitor/ADC Hard Macro and the SYSMON ADC Core Logic. More...
 
u32 XSysMon_GetStatus (XSysMon *InstancePtr)
 The functions reads the contents of the Status Register. More...
 
u32 XSysMon_GetAlarmOutputStatus (XSysMon *InstancePtr)
 This function reads the contents of Alarm Output Register. More...
 
void XSysMon_StartAdcConversion (XSysMon *InstancePtr)
 This function starts the ADC conversion in the Single Channel event driven sampling mode. More...
 
void XSysMon_ResetAdc (XSysMon *InstancePtr)
 This function resets the SystemMonitor/ADC Hard Macro in the device. More...
 
u16 XSysMon_GetAdcData (XSysMon *InstancePtr, u8 Channel)
 Get the ADC converted data for the specified channel. More...
 
u16 XSysMon_GetCalibCoefficient (XSysMon *InstancePtr, u8 CoeffType)
 This function gets the calibration coefficient data for the specified parameter. More...
 
u16 XSysMon_GetMinMaxMeasurement (XSysMon *InstancePtr, u8 MeasurementType)
 This function reads the Minimum/Maximum measurement for one of the following parameters : More...
 
void XSysMon_SetAvg (XSysMon *InstancePtr, u8 Average)
 This function sets the number of samples of averaging that is to be done for all the channels in both the single channel mode and sequence mode of operations. More...
 
u8 XSysMon_GetAvg (XSysMon *InstancePtr)
 This function returns the number of samples of averaging configured for all the channels in the Configuration Register 0. More...
 
int XSysMon_SetSingleChParams (XSysMon *InstancePtr, u8 Channel, int IncreaseAcqCycles, int IsEventMode, int IsDifferentialMode)
 The function sets the given parameters in the Configuration Register 0 in the single channel mode. More...
 
void XSysMon_SetAlarmEnables (XSysMon *InstancePtr, u32 AlmEnableMask)
 This function enables the alarm outputs for the specified alarms in the Configuration Registers 1 and 3: More...
 
u32 XSysMon_GetAlarmEnables (XSysMon *InstancePtr)
 This function gets the status of the alarm output enables in the Configuration Register 1. More...
 
void XSysMon_SetCalibEnables (XSysMon *InstancePtr, u16 Calibration)
 This function enables the specified calibration in the Configuration Register 1 : More...
 
u16 XSysMon_GetCalibEnables (XSysMon *InstancePtr)
 This function reads the value of the calibration enables from the Configuration Register 1. More...
 
void XSysMon_SetSequencerMode (XSysMon *InstancePtr, u8 SequencerMode)
 This function sets the specified Channel Sequencer Mode in the Configuration Register 1 : More...
 
u8 XSysMon_GetSequencerMode (XSysMon *InstancePtr)
 This function gets the channel sequencer mode from the Configuration Register 1. More...
 
void XSysMon_SetSequencerEvent (XSysMon *InstancePtr, int IsEventMode)
 The function enables the Event mode or Continuous mode in the sequencer mode. More...
 
void XSysMon_SetExtenalMux (XSysMon *InstancePtr, u8 Channel)
 The function enables the external mux and connects a channel to the mux. More...
 
void XSysMon_SetAdcClkDivisor (XSysMon *InstancePtr, u8 Divisor)
 The function sets the frequency of the ADCCLK by configuring the DCLK to ADCCLK ratio in the Configuration Register #2. More...
 
u8 XSysMon_GetAdcClkDivisor (XSysMon *InstancePtr)
 The function gets the ADCCLK divisor from the Configuration Register 2. More...
 
int XSysMon_SetSeqChEnables (XSysMon *InstancePtr, u64 ChEnableMask)
 This function enables the specified channels in the ADC Channel Selection Sequencer Registers. More...
 
u64 XSysMon_GetSeqChEnables (XSysMon *InstancePtr)
 This function gets the channel enable bits status from the ADC Channel Selection Sequencer Registers. More...
 
int XSysMon_SetSeqAvgEnables (XSysMon *InstancePtr, u64 AvgEnableChMask)
 This function enables the averaging for the specified channels in the ADC Channel Averaging Enable Sequencer Registers. More...
 
u64 XSysMon_GetSeqAvgEnables (XSysMon *InstancePtr)
 This function returns the channels for which the averaging has been enabled in the ADC Channel Averaging Enables Sequencer Registers. More...
 
int XSysMon_SetSeqInputMode (XSysMon *InstancePtr, u32 InputModeChMask)
 This function sets the Analog input mode for the specified channels in the ADC Channel Analog-Input Mode Sequencer Registers. More...
 
u32 XSysMon_GetSeqInputMode (XSysMon *InstancePtr)
 This function gets the Analog input mode for all the channels from the ADC Channel Analog-Input Mode Sequencer Registers. More...
 
int XSysMon_SetSeqAcqTime (XSysMon *InstancePtr, u32 AcqCyclesChMask)
 This function sets the number of Acquisition cycles in the ADC Channel Acquisition Time Sequencer Registers. More...
 
u32 XSysMon_GetSeqAcqTime (XSysMon *InstancePtr)
 This function gets the status of acquisition from the ADC Channel Acquisition Time Sequencer Registers. More...
 
void XSysMon_SetAlarmThreshold (XSysMon *InstancePtr, u8 AlarmThrReg, u16 Value)
 This functions sets the contents of the given Alarm Threshold Register. More...
 
u16 XSysMon_GetAlarmThreshold (XSysMon *InstancePtr, u8 AlarmThrReg)
 This function returns the contents of the specified Alarm Threshold Register. More...
 
void XSysMon_SetOverTemp (XSysMon *InstancePtr, u16 Value)
 This function sets the powerdown temperature for the OverTemp signal in the OT Powerdown register. More...
 
u16 XSysMon_GetOverTemp (XSysMon *InstancePtr)
 This function returns the powerdown temperature of the OverTemp signal in the OT Powerdown register. More...
 
void XSysMon_EnableUserOverTemp (XSysMon *InstancePtr)
 This function enables programming of the powerdown temperature for the OverTemp signal in the OT Powerdown register. More...
 
void XSysMon_DisableUserOverTemp (XSysMon *InstancePtr)
 This function disables programming of the powerdown temperature for the OverTemp signal in the OT Powerdown register. More...
 
void XSysMon_EnableTempUpdate (XSysMon *InstancePtr)
 This function enables the Temperature updation logic so that temperature can be sent over TEMP_OUT port. More...
 
void XSysMon_DisableTempUpdate (XSysMon *InstancePtr)
 This function disables the Temperature updation logic for TEMP_OUT port. More...
 
void XSysMon_SetTempWaitCycles (XSysMon *InstancePtr, u16 WaitCycles)
 This function sets the number of Wait Cycles for Temperature updation logic. More...
 
XSysMon_ConfigXSysMon_LookupConfig (u16 DeviceId)
 Functions in xsysmon_sinit.c. More...
 
int XSysMon_SelfTest (XSysMon *InstancePtr)
 Functions in xsysmon_selftest.c. More...
 
void XSysMon_IntrGlobalEnable (XSysMon *InstancePtr)
 Functions in xsysmon_intr.c. More...
 
void XSysMon_IntrGlobalDisable (XSysMon *InstancePtr)
 This function disables the global interrupt in the Global Interrupt Enable Register (GIER) so that the interrupt output from the System Monitor/ADC device is disabled. More...
 
void XSysMon_IntrEnable (XSysMon *InstancePtr, u32 Mask)
 This function enables the specified interrupts in the device. More...
 
void XSysMon_IntrDisable (XSysMon *InstancePtr, u32 Mask)
 This function disables the specified interrupts in the device. More...
 
u32 XSysMon_IntrGetEnabled (XSysMon *InstancePtr)
 This function returns the enabled interrupts read from the Interrupt Enable Register (IPIER). More...
 
u32 XSysMon_IntrGetStatus (XSysMon *InstancePtr)
 This function returns the interrupt status read from Interrupt Status Register(IPISR). More...
 
void XSysMon_IntrClear (XSysMon *InstancePtr, u32 Mask)
 This function clears the specified interrupts in the Interrupt Status Register (IPISR). More...
 

Variables

XSysMon_Config XSysMon_ConfigTable [XPAR_XSYSMON_NUM_INSTANCES]
 This table contains configuration information for each System Monitor/ADC device in the system. More...
 
XSysMon_Config XSysMon_ConfigTable []
 This table contains configuration information for each System Monitor/ADC device in the system. More...
 

Indexes for the different channels.

#define XSM_CH_TEMP   0x0
 On Chip Temperature. More...
 
#define XSM_CH_VCCINT   0x1
 VCCINT. More...
 
#define XSM_CH_VCCAUX   0x2
 VCCAUX. More...
 
#define XSM_CH_VPVN   0x3
 VP/VN Dedicated analog inputs. More...
 
#define XSM_CH_VREFP   0x4
 VREFP. More...
 
#define XSM_CH_VREFN   0x5
 VREFN. More...
 
#define XSM_CH_VBRAM   0x6
 VBRAM - 7 Series and Zynq. More...
 
#define XSM_CH_SUPPLY_CALIB   0x07
 Supply Calib Data Reg. More...
 
#define XSM_CH_ADC_CALIB   0x08
 ADC Offset Channel Reg. More...
 
#define XSM_CH_GAINERR_CALIB   0x09
 Gain Error Channel Reg. More...
 
#define XSM_CH_VCCPINT   0x0D
 On-chip PS VCCPINT Channel, Zynq. More...
 
#define XSM_CH_VCCPAUX   0x0E
 On-chip PS VCCPAUX Channel, Zynq. More...
 
#define XSM_CH_VCCPDRO   0x0F
 On-chip PS VCCPDRO Channel, Zynq. More...
 
#define XSM_CH_AUX_MIN   16
 Channel number for 1st Aux Channel. More...
 
#define XSM_CH_AUX_MAX   31
 Channel number for Last Aux channel. More...
 
#define XSM_CH_VUSR0   32
 VUSER0 Supply - UltraScale. More...
 
#define XSM_CH_VUSR1   33
 VUSER1 Supply - UltraScale. More...
 
#define XSM_CH_VUSR2   34
 VUSER2 Supply - UltraScale. More...
 
#define XSM_CH_VUSR3   35
 VUSER3 Supply - UltraScale. More...
 

Indexes for reading the Calibration Coefficient Data.

#define XSM_CALIB_SUPPLY_OFFSET_COEFF   0
 Supply Offset Calib Coefficient. More...
 
#define XSM_CALIB_ADC_OFFSET_COEFF   1
 ADC Offset Calib Coefficient. More...
 
#define XSM_CALIB_GAIN_ERROR_COEFF   2
 Gain Error Calib Coefficient. More...
 

Indexes for reading the Minimum/Maximum Measurement Data.

#define XSM_MAX_TEMP   0
 Maximum Temperature Data. More...
 
#define XSM_MAX_VCCINT   1
 Maximum VCCINT Data. More...
 
#define XSM_MAX_VCCAUX   2
 Maximum VCCAUX Data. More...
 
#define XSM_MAX_VCCBRAM   3
 Maximum VCCBRAM Data, 7 Series/Zynq. More...
 
#define XSM_MIN_TEMP   4
 Minimum Temperature Data. More...
 
#define XSM_MIN_VCCINT   5
 Minimum VCCINT Data. More...
 
#define XSM_MIN_VCCAUX   6
 Minimum VCCAUX Data. More...
 
#define XSM_MIN_VCCBRAM   7
 Minimum VCCBRAM Data, 7 Series/Zynq. More...
 
#define XSM_MAX_VCCPINT   8
 Maximum VCCPINT Data, Zynq. More...
 
#define XSM_MAX_VCCPAUX   9
 Maximum VCCPAUX Data, Zynq. More...
 
#define XSM_MAX_VCCPDRO   0xA
 Maximum VCCPDRO Data, Zynq. More...
 
#define XSM_MIN_VCCPINT   0xC
 Minimum VCCPINT Data, Zynq. More...
 
#define XSM_MIN_VCCPAUX   0xD
 Minimum VCCPAUX Data, Zynq. More...
 
#define XSM_MIN_VCCPDRO   0xE
 Minimum VCCPDRO Data, Zynq. More...
 
#define XSM_MAX_VUSR0   0x80
 Maximum VUSR0 Data, Ultrascale. More...
 
#define XSM_MAX_VUSR1   0x81
 Maximum VUSR1 Data, Ultrascale. More...
 
#define XSM_MAX_VUSR2   0x82
 Maximum VUSR2 Data, Ultrascale. More...
 
#define XSM_MAX_VUSR3   0x83
 Maximum VUSR3 Data, Ultrascale. More...
 
#define XSM_MIN_VUSR0   0x88
 Minimum VUSR0 Data, Ultrascale. More...
 
#define XSM_MIN_VUSR1   0x89
 Minimum VUSR1 Data, Ultrascale. More...
 
#define XSM_MIN_VUSR2   0x8A
 Minimum VUSR2 Data, Ultrascale. More...
 
#define XSM_MIN_VUSR3   0x8B
 Minimum VUSR3 Data, Ultrascale. More...
 

Alarm Threshold(Limit) Register (ATR) indexes.

#define XSM_ATR_TEMP_UPPER   0
 High user Temperature. More...
 
#define XSM_ATR_VCCINT_UPPER   1
 VCCINT high voltage limit. More...
 
#define XSM_ATR_VCCAUX_UPPER   2
 VCCAUX high voltage limit. More...
 
#define XSM_ATR_OT_UPPER   3
 Lower Over Temperature limit. More...
 
#define XSM_ATR_TEMP_LOWER   4
 Low user Temperature. More...
 
#define XSM_ATR_VCCINT_LOWER   5
 VCCINT low voltage limit. More...
 
#define XSM_ATR_VCCAUX_LOWER   6
 VCCAUX low voltage limit. More...
 
#define XSM_ATR_OT_LOWER   7
 Lower Over Temperature limit. More...
 
#define XSM_ATR_VBRAM_UPPER   8
 VBRAM high voltage limit. More...
 
#define XSM_ATR_VCCPINT_UPPER   9
 VCCPINT Upper Alarm, Zynq. More...
 
#define XSM_ATR_VCCPAUX_UPPER   0xA
 VCCPAUX Upper Alarm, Zynq. More...
 
#define XSM_ATR_VCCPDRO_UPPER   0xB
 VCCPDRO Upper Alarm, Zynq. More...
 
#define XSM_ATR_VBRAM_LOWER   0xC
 VRBAM Lower Alarm, 7 Series and Zynq. More...
 
#define XSM_ATR_VCCPINT_LOWER   0xD
 VCCPINT Lower Alarm, Zynq. More...
 
#define XSM_ATR_VCCPAUX_LOWER   0xE
 VCCPAUX Lower Alarm, Zynq. More...
 
#define XSM_ATR_VCCPDRO_LOWER   0xF
 VCCPDRO Lower Alarm, Zynq. More...
 
#define XSM_ATR_VUSR0_UPPER   0x10
 VUSER0 Upper Alarm, Ultrascale. More...
 
#define XSM_ATR_VUSR1_UPPER   0x11
 VUSER1 Upper Alarm, Ultrascale. More...
 
#define XSM_ATR_VUSR2_UPPER   0x12
 VUSER2 Upper Alarm, Ultrascale. More...
 
#define XSM_ATR_VUSR3_UPPER   0x13
 VUSER3 Upper Alarm, Ultrascale. More...
 
#define XSM_ATR_VUSR0_LOWER   0x18
 VUSER0 Lower Alarm, Ultrascale. More...
 
#define XSM_ATR_VUSR1_LOWER   0x19
 VUSER1 Lower Alarm, Ultrascale. More...
 
#define XSM_ATR_VUSR2_LOWER   0x1A
 VUSER2 Lower Alarm, Ultrascale. More...
 
#define XSM_ATR_VUSR3_LOWER   0x1B
 VUSER3 Lower Alarm, Ultrascale. More...
 

Averaging to be done for the channels.

#define XSM_AVG_0_SAMPLES   0
 No Averaging. More...
 
#define XSM_AVG_16_SAMPLES   1
 Average 16 samples. More...
 
#define XSM_AVG_64_SAMPLES   2
 Average 64 samples. More...
 
#define XSM_AVG_256_SAMPLES   3
 Average 256 samples. More...
 

Channel Sequencer Modes of operation.

#define XSM_SEQ_MODE_SAFE   0
 Default Safe Mode. More...
 
#define XSM_SEQ_MODE_ONEPASS   1
 Onepass through Sequencer. More...
 
#define XSM_SEQ_MODE_CONTINPASS   2
 Continuous Cycling Seqquencer. More...
 
#define XSM_SEQ_MODE_SINGCHAN   3
 Single channel - No Sequencing. More...
 
#define XSM_SEQ_MODE_SIMUL   4
 Simultaneous Cycling Sequencer, 7 Series and Zynq XADC only. More...
 
#define XSM_SEQ_MODE_INDEPENDENT   8
 Independent ADC Sequencer, 7 Series and Zynq XADC only. More...
 

Register offsets

The following constants provide access to each of the registers of the System Monitor/ADC device.

#define XSM_SRR_OFFSET   0x00
 Software Reset Register. More...
 
#define XSM_SR_OFFSET   0x04
 Status Register. More...
 
#define XSM_AOR_OFFSET   0x08
 Alarm Output Register. More...
 
#define XSM_CONVST_OFFSET   0x0C
 ADC Convert Start Register. More...
 
#define XSM_ARR_OFFSET   0x10
 ADC Reset Register. More...
 
#define XSM_GIER_OFFSET   0x5C
 Global Interrupt Enable. More...
 
#define XSM_IPISR_OFFSET   0x60
 Interrupt Status Register. More...
 
#define XSM_IPIER_OFFSET   0x68
 Interrupt Enable register. More...
 
#define XSM_TEMP_OFFSET   (XSM_IP_OFFSET + 0x200)
 On-chip Temperature Reg. More...
 
#define XSM_VCCINT_OFFSET   (XSM_IP_OFFSET + 0x204)
 On-chip VCCINT Data Reg. More...
 
#define XSM_VCCAUX_OFFSET   (XSM_IP_OFFSET + 0x208)
 On-chip VCCAUX Data Reg. More...
 
#define XSM_VPVN_OFFSET   (XSM_IP_OFFSET + 0x20C)
 ADC out of VP/VN. More...
 
#define XSM_VREFP_OFFSET   (XSM_IP_OFFSET + 0x210)
 On-chip VREFP Data Reg. More...
 
#define XSM_VREFN_OFFSET   (XSM_IP_OFFSET + 0x214)
 On-chip VREFN Data Reg. More...
 
#define XSM_VBRAM_OFFSET   (XSM_IP_OFFSET + 0x218)
 On-chip VBRAM Data,7-series/Zynq. More...
 
#define XSM_SUPPLY_CALIB_OFFSET   (XSM_IP_OFFSET + 0x220)
 Supply Offset Data Reg. More...
 
#define XSM_ADC_CALIB_OFFSET   (XSM_IP_OFFSET + 0x224)
 ADC Offset Data Reg. More...
 
#define XSM_GAINERR_CALIB_OFFSET   (XSM_IP_OFFSET + 0x228)
 Gain Error Data Reg. More...
 
#define XSM_VCCPINT_OFFSET   (XSM_IP_OFFSET + 0x22C)
 PS VCCPINT Data Reg - Zynq. More...
 
#define XSM_VCCPAUX_OFFSET   (XSM_IP_OFFSET + 0x230)
 PS VCCPAUX Data Reg - Zynq. More...
 
#define XSM_VCCPDRO_OFFSET   (XSM_IP_OFFSET + 0x234)
 PS VCCPDRO Data Reg - Zynq. More...
 
#define XSM_VUSR0_OFFSET   (XSM_IP_OFFSET + 0x400)
 VUSER0 Supply - Ultrascale. More...
 
#define XSM_VUSR1_OFFSET   (XSM_IP_OFFSET + 0x404)
 VUSER0 Supply - Ultrascale. More...
 
#define XSM_VUSR2_OFFSET   (XSM_IP_OFFSET + 0x408)
 VUSER0 Supply - Ultrascale. More...
 
#define XSM_VUSR3_OFFSET   (XSM_IP_OFFSET + 0x40C)
 VUSER0 Supply - Ultrascale. More...
 
#define XSM_AUX00_OFFSET   (XSM_IP_OFFSET + 0x240)
 ADC out of VAUXP0/VAUXN0. More...
 
#define XSM_AUX01_OFFSET   (XSM_IP_OFFSET + 0x244)
 ADC out of VAUXP1/VAUXN1. More...
 
#define XSM_AUX02_OFFSET   (XSM_IP_OFFSET + 0x248)
 ADC out of VAUXP2/VAUXN2. More...
 
#define XSM_AUX03_OFFSET   (XSM_IP_OFFSET + 0x24C)
 ADC out of VAUXP3/VAUXN3. More...
 
#define XSM_AUX04_OFFSET   (XSM_IP_OFFSET + 0x250)
 ADC out of VAUXP4/VAUXN4. More...
 
#define XSM_AUX05_OFFSET   (XSM_IP_OFFSET + 0x254)
 ADC out of VAUXP5/VAUXN5. More...
 
#define XSM_AUX06_OFFSET   (XSM_IP_OFFSET + 0x258)
 ADC out of VAUXP6/VAUXN6. More...
 
#define XSM_AUX07_OFFSET   (XSM_IP_OFFSET + 0x25C)
 ADC out of VAUXP7/VAUXN7. More...
 
#define XSM_AUX08_OFFSET   (XSM_IP_OFFSET + 0x260)
 ADC out of VAUXP8/VAUXN8. More...
 
#define XSM_AUX09_OFFSET   (XSM_IP_OFFSET + 0x264)
 ADC out of VAUXP9/VAUXN9. More...
 
#define XSM_AUX10_OFFSET   (XSM_IP_OFFSET + 0x268)
 ADC out of VAUXP10/VAUXN10. More...
 
#define XSM_AUX11_OFFSET   (XSM_IP_OFFSET + 0x26C)
 ADC out of VAUXP11/VAUXN11. More...
 
#define XSM_AUX12_OFFSET   (XSM_IP_OFFSET + 0x270)
 ADC out of VAUXP12/VAUXN12. More...
 
#define XSM_AUX13_OFFSET   (XSM_IP_OFFSET + 0x274)
 ADC out of VAUXP13/VAUXN13. More...
 
#define XSM_AUX14_OFFSET   (XSM_IP_OFFSET + 0x278)
 ADC out of VAUXP14/VAUXN14. More...
 
#define XSM_AUX15_OFFSET   (XSM_IP_OFFSET + 0x27C)
 ADC out of VAUXP15/VAUXN15. More...
 
#define XSM_MAX_TEMP_OFFSET   (XSM_IP_OFFSET + 0x280)
 Maximum Temperature Reg. More...
 
#define XSM_MAX_VCCINT_OFFSET   (XSM_IP_OFFSET + 0x284)
 Maximum VCCINT Register. More...
 
#define XSM_MAX_VCCAUX_OFFSET   (XSM_IP_OFFSET + 0x288)
 Maximum VCCAUX Register. More...
 
#define XSM_MAX_VBRAM_OFFSET   (XSM_IP_OFFSET + 0x28C)
 Maximum VBRAM Reg, 7 Series/Zynq. More...
 
#define XSM_MIN_TEMP_OFFSET   (XSM_IP_OFFSET + 0x290)
 Minimum Temperature Reg. More...
 
#define XSM_MIN_VCCINT_OFFSET   (XSM_IP_OFFSET + 0x294)
 Minimum VCCINT Register. More...
 
#define XSM_MIN_VCCAUX_OFFSET   (XSM_IP_OFFSET + 0x298)
 Minimum VCCAUX Register. More...
 
#define XSM_MIN_VBRAM_OFFSET   (XSM_IP_OFFSET + 0x29C)
 Maximum VBRAM Reg, 7 Series/Zynq. More...
 
#define XSM_MAX_VCCPINT_OFFSET   (XSM_IP_OFFSET + 0x2A0)
 Max VCCPINT Register, Zynq. More...
 
#define XSM_MAX_VCCPAUX_OFFSET   (XSM_IP_OFFSET + 0x2A4)
 Max VCCPAUX Register, Zynq. More...
 
#define XSM_MAX_VCCPDRO_OFFSET   (XSM_IP_OFFSET + 0x2A8)
 Max VCCPDRO Register, Zynq. More...
 
#define XSM_MIN_VCCPINT_OFFSET   (XSM_IP_OFFSET + 0x2AC)
 Min VCCPINT Register, Zynq. More...
 
#define XSM_MIN_VCCPAUX_OFFSET   (XSM_IP_OFFSET + 0x2B0)
 Min VCCPAUX Register, Zynq. More...
 
#define XSM_MIN_VCCPDRO_OFFSET   (XSM_IP_OFFSET + 0x2B4)
 Min VCCPDRO Register, Zynq. More...
 
#define XSM_MAX_VUSR0_OFFSET   (XSM_IP_OFFSET + 0x480)
 Maximum VUSER0 Supply Reg. More...
 
#define XSM_MAX_VUSR1_OFFSET   (XSM_IP_OFFSET + 0x484)
 Maximum VUSER1 Supply Reg. More...
 
#define XSM_MAX_VUSR2_OFFSET   (XSM_IP_OFFSET + 0x488)
 Maximum VUSER2 Supply Reg. More...
 
#define XSM_MAX_VUSR3_OFFSET   (XSM_IP_OFFSET + 0x48C)
 Maximum VUSER3 Supply Reg. More...
 
#define XSM_MIN_VUSR0_OFFSET   (XSM_IP_OFFSET + 0x4A0)
 Minimum VUSER0 Supply Reg. More...
 
#define XSM_MIN_VUSR1_OFFSET   (XSM_IP_OFFSET + 0x4A4)
 Minimum VUSER1 Supply Reg. More...
 
#define XSM_MIN_VUSR2_OFFSET   (XSM_IP_OFFSET + 0x4A8)
 Minimum VUSER2 Supply Reg. More...
 
#define XSM_MIN_VUSR3_OFFSET   (XSM_IP_OFFSET + 0x4AC)
 Minimum VUSER3 Supply Reg. More...
 
#define XSM_FLAG_REG_OFFSET   (XSM_IP_OFFSET + 0x2FC)
 General Status. More...
 
#define XSM_CFR0_OFFSET   (XSM_IP_OFFSET + 0x300)
 Configuration Register 0. More...
 
#define XSM_CFR1_OFFSET   (XSM_IP_OFFSET + 0x304)
 Configuration Register 1. More...
 
#define XSM_CFR2_OFFSET   (XSM_IP_OFFSET + 0x308)
 Configuration Register 2. More...
 
#define XSM_SEQ00_OFFSET   (XSM_IP_OFFSET + 0x320)
 Seq Reg 00 Adc Channel Selection. More...
 
#define XSM_SEQ01_OFFSET   (XSM_IP_OFFSET + 0x324)
 Seq Reg 01 Adc Channel Selection. More...
 
#define XSM_SEQ02_OFFSET   (XSM_IP_OFFSET + 0x328)
 Seq Reg 02 Adc Average Enable. More...
 
#define XSM_SEQ03_OFFSET   (XSM_IP_OFFSET + 0x32C)
 Seq Reg 03 Adc Average Enable. More...
 
#define XSM_SEQ04_OFFSET   (XSM_IP_OFFSET + 0x330)
 Seq Reg 04 Adc Input Mode Select. More...
 
#define XSM_SEQ05_OFFSET   (XSM_IP_OFFSET + 0x334)
 Seq Reg 05 Adc Input Mode Select. More...
 
#define XSM_SEQ06_OFFSET   (XSM_IP_OFFSET + 0x338)
 Seq Reg 06 Adc Acquisition Select. More...
 
#define XSM_SEQ07_OFFSET   (XSM_IP_OFFSET + 0x33C)
 Seq Reg 07 Adc Acquisition Select. More...
 
#define XSM_SEQ08_OFFSET   (XSM_IP_OFFSET + 0x318)
 Seq Reg 08 Adc Channel Selection. More...
 
#define XSM_SEQ09_OFFSET   (XSM_IP_OFFSET + 0x31C)
 Seq Reg 09 Adc Average Enable. More...
 
#define XSM_ATR_TEMP_UPPER_OFFSET   (XSM_IP_OFFSET + 0x340)
 Temp Upper Alarm Register. More...
 
#define XSM_ATR_VCCINT_UPPER_OFFSET   (XSM_IP_OFFSET + 0x344)
 VCCINT Upper Alarm Reg. More...
 
#define XSM_ATR_VCCAUX_UPPER_OFFSET   (XSM_IP_OFFSET + 0x348)
 VCCAUX Upper Alarm Reg. More...
 
#define XSM_ATR_OT_UPPER_OFFSET   (XSM_IP_OFFSET + 0x34C)
 Over Temp Upper Alarm Reg. More...
 
#define XSM_ATR_TEMP_LOWER_OFFSET   (XSM_IP_OFFSET + 0x350)
 Temp Lower Alarm Register. More...
 
#define XSM_ATR_VCCINT_LOWER_OFFSET   (XSM_IP_OFFSET + 0x354)
 VCCINT Lower Alarm Reg. More...
 
#define XSM_ATR_VCCAUX_LOWER_OFFSET   (XSM_IP_OFFSET + 0x358)
 VCCAUX Lower Alarm Reg. More...
 
#define XSM_ATR_OT_LOWER_OFFSET   (XSM_IP_OFFSET + 0x35C)
 Over Temp Lower Alarm Reg. More...
 
#define XSM_ATR_VBRAM_UPPER_OFFSET   (XSM_IP_OFFSET + 0x360)
 VBBAM Upper Alarm,7 Series. More...
 
#define XSM_ATR_VCCPINT_UPPER_OFFSET   (XSM_IP_OFFSET + 0x364)
 VCCPINT Upper Alarm, Zynq. More...
 
#define XSM_ATR_VCCPAUX_UPPER_OFFSET   (XSM_IP_OFFSET + 0x368)
 VCCPAUX Upper Alarm, Zynq. More...
 
#define XSM_ATR_VCCPDRO_UPPER_OFFSET   (XSM_IP_OFFSET + 0x36C)
 VCCPDRO Upper Alarm, Zynq. More...
 
#define XSM_ATR_VBRAM_LOWER_OFFSET   (XSM_IP_OFFSET + 0x370)
 VRBAM Lower Alarm, 7 Series. More...
 
#define XSM_ATR_VCCPINT_LOWER_OFFSET   (XSM_IP_OFFSET + 0x374)
 VCCPINT Lower Alarm, Zynq. More...
 
#define XSM_ATR_VCCPAUX_LOWER_OFFSET   (XSM_IP_OFFSET + 0x378)
 VCCPAUX Lower Alarm, Zynq. More...
 
#define XSM_ATR_VCCPDRO_LOWER_OFFSET   (XSM_IP_OFFSET + 0x37C)
 VCCPDRO Lower Alarm, Zynq. More...
 
#define XSM_ATR_VUSR0_UPPER_OFFSET   (XSM_IP_OFFSET + 0x380)
 VUSER0 Upper Alarm Reg. More...
 
#define XSM_ATR_VUSR1_UPPER_OFFSET   (XSM_IP_OFFSET + 0x384)
 VUSER1 Upper Alarm Reg. More...
 
#define XSM_ATR_VUSR2_UPPER_OFFSET   (XSM_IP_OFFSET + 0x388)
 VUSER2 Upper Alarm Reg. More...
 
#define XSM_ATR_VUSR3_UPPER_OFFSET   (XSM_IP_OFFSET + 0x38C)
 VUSER3 Upper Alarm Reg. More...
 
#define XSM_ATR_VUSR0_LOWER_OFFSET   (XSM_IP_OFFSET + 0x3A0)
 VUSER0 Lower Alarm Reg. More...
 
#define XSM_ATR_VUSR1_LOWER_OFFSET   (XSM_IP_OFFSET + 0x3A4)
 VUSER1 Lower Alarm Reg. More...
 
#define XSM_ATR_VUSR2_LOWER_OFFSET   (XSM_IP_OFFSET + 0x3A8)
 VUSER2 Lower Alarm Reg. More...
 
#define XSM_ATR_VUSR3_LOWER_OFFSET   (XSM_IP_OFFSET + 0x3AC)
 VUSER3 Lower Alarm Reg. More...
 

System Monitor/ADC Software Reset Register (SRR) mask(s)

#define XSM_SRR_IPRST_MASK   0x0000000A
 Device Reset Mask. More...
 

System Monitor/ADC Status Register (SR) mask(s)

#define XSM_SR_JTAG_BUSY_MASK   0x00000400
 JTAG is busy. More...
 
#define XSM_SR_JTAG_MODIFIED_MASK   0x00000200
 JTAG Write has occurred. More...
 
#define XSM_SR_JTAG_LOCKED_MASK   0x00000100
 JTAG is locked. More...
 
#define XSM_SR_BUSY_MASK   0x00000080
 ADC is busy in conversion. More...
 
#define XSM_SR_EOS_MASK   0x00000040
 End of Sequence. More...
 
#define XSM_SR_EOC_MASK   0x00000020
 End of Conversion. More...
 
#define XSM_SR_CH_MASK   0x0000001F
 Input ADC channel. More...
 

System Monitor/ADC Alarm Output Register (AOR) mask(s)

#define XSM_AOR_ALARM_ALL_MASK   0x00001FFF
 Mask for all Alarms. More...
 
#define XSM_AOR_VUSR3_MASK   0x00001000
 ALM11 - VUSER3 Alarm Mask. More...
 
#define XSM_AOR_VUSR2_MASK   0x00000800
 ALM10 - VUSER2 Alarm Mask. More...
 
#define XSM_AOR_VUSR1_MASK   0x00000400
 ALM9 - VUSER1 Alarm Mask. More...
 
#define XSM_AOR_VUSR0_MASK   0x00000200
 ALM8 - VUSER0 Alarm Mask. More...
 
#define XSM_AOR_ALL_MASK   0x00000100
 ALM7 - All Alarms 0 to 6. More...
 
#define XSM_AOR_VCCPDRO_MASK   0x00000080
 ALM6 - VCCPDRO Mask, Zynq. More...
 
#define XSM_AOR_VCCPAUX_MASK   0x00000040
 ALM5 - VCCPAUX Mask, Zynq. More...
 
#define XSM_AOR_VCCPINT_MASK   0x00000020
 ALM4 - VCCPINT Mask, Zynq. More...
 
#define XSM_AOR_VBRAM_MASK   0x00000010
 ALM3 - VBRAM Output Mask. More...
 
#define XSM_AOR_VCCAUX_MASK   0x00000008
 ALM2 - VCCAUX Output Mask. More...
 
#define XSM_AOR_VCCINT_MASK   0x00000004
 ALM1 - VCCINT Alarm Mask. More...
 
#define XSM_AOR_TEMP_MASK   0x00000002
 ALM0 - Temp sensor Alarm Mask. More...
 
#define XSM_AOR_OT_MASK   0x00000001
 Over Temp Alarm Output. More...
 

System Monitor/ADC CONVST Register (CONVST) mask(s)

#define XSM_CONVST_CONVST_MASK   0x00000001
 Conversion Start Mask. More...
 
#define XSM_CONVST_TEMPUPDT_MASK   0x00000002
 Temperature Update Enable Mask. More...
 
#define XSM_CONVST_WAITCYCLES_SHIFT   2
 Wait Cycles Shift. More...
 
#define XSM_CONVST_WAITCYCLES_MASK   0x0003FFFC
 Wait Cycles Mask. More...
 
#define XSM_CONVST_WAITCYCLES_DEFAULT   0x03E8
 Wait Cycles default value. More...
 

System Monitor/ADC Reset Register (ARR) mask(s)

#define XSM_ARR_RST_MASK   0x00000001
 ADC Reset bit mask. More...
 

Global Interrupt Enable Register (GIER) mask(s)

#define XSM_GIER_GIE_MASK   0x80000000
 Global interrupt enable. More...
 

System Monitor/ADC device Interrupt Status/Enable Registers

Interrupt Status Register (IPISR)

This register holds the interrupt status flags for the device.

Interrupt Enable Register (IPIER)

This register is used to enable interrupt sources for the device. Writing a '1' to a bit in this register enables the corresponding Interrupt. Writing a '0' to a bit in this register disables the corresponding Interrupt

IPISR/IPIER registers have the same bit definitions and are only defined once.

#define XSM_IPIXR_VBRAM_MASK   0x00000400
 ALM3 - VBRAM Output Mask. More...
 
#define XSM_IPIXR_TEMP_DEACTIVE_MASK   0x00000200
 Alarm 0 DEACTIVE. More...
 
#define XSM_IPIXR_OT_DEACTIVE_MASK   0x00000100
 Over Temp DEACTIVE. More...
 
#define XSM_IPIXR_JTAG_MODIFIED_MASK   0x00000080
 JTAG Modified. More...
 
#define XSM_IPIXR_JTAG_LOCKED_MASK   0x00000040
 JTAG Locked. More...
 
#define XSM_IPIXR_EOC_MASK   0x00000020
 End Of Conversion. More...
 
#define XSM_IPIXR_EOS_MASK   0x00000010
 End Of Sequence. More...
 
#define XSM_IPIXR_VCCAUX_MASK   0x00000008
 Alarm 2 - VCCAUX. More...
 
#define XSM_IPIXR_VCCINT_MASK   0x00000004
 Alarm 1 - VCCINT. More...
 
#define XSM_IPIXR_TEMP_MASK   0x00000002
 Alarm 0 - Temp ACTIVE. More...
 
#define XSM_IPIXR_OT_MASK   0x00000001
 Over Temperature ACTIVE. More...
 
#define XSM_IPIXR_VUSR0_MASK   0x00004000
 Alarm 8 VUSER0. More...
 
#define XSM_IPIXR_VUSR1_MASK   0x00008000
 Alarm 9 VUSER1. More...
 
#define XSM_IPIXR_VUSR2_MASK   0x00010000
 Alarm 10 VUSER2. More...
 
#define XSM_IPIXR_VUSR3_MASK   0x00020000
 Alarm 11 VUSER3. More...
 
#define XSM_IPIXR_ALL_MASK   0x0003C7FF
 Mask of all interrupts. More...
 

Mask for all ADC converted data including Minimum/Maximum Measurements

  and Threshold data.
#define XSM_ADCDATA_MAX_MASK   0x03FF
 

Configuration Register 0 (CFR0) mask(s)

#define XSM_CFR0_CAL_AVG_MASK   0x8000
 Averaging enable Mask. More...
 
#define XSM_CFR0_AVG_VALID_MASK   0x3000
 Averaging bit Mask. More...
 
#define XSM_CFR0_AVG1_MASK   0x0000
 No Averaging. More...
 
#define XSM_CFR0_AVG16_MASK   0x1000
 Average 16 samples. More...
 
#define XSM_CFR0_AVG64_MASK   0x2000
 Average 64 samples. More...
 
#define XSM_CFR0_AVG256_MASK   0x3000
 Average 256 samples. More...
 
#define XSM_CFR0_AVG_SHIFT   12
 Shift for the Averaging bits. More...
 
#define XSM_CFR0_MUX_MASK   0x0800
 External Mux Mask Enable. More...
 
#define XSM_CFR0_DU_MASK   0x0400
 Bipolar/Unipolar mode. More...
 
#define XSM_CFR0_EC_MASK   0x0200
 Event driven/Continuous mode. More...
 
#define XSM_CFR0_ACQ_MASK   0x0100
 Add acquisition by 6 ADCCLK. More...
 
#define XSM_CFR0_CHANNEL_MASK   0x003F
 Channel number bit Mask. More...
 

Configuration Register 1 (CFR1) mask(s)

#define XSM_CFR1_SEQ_VALID_MASK   0xF000
 Sequence bit Mask. More...
 
#define XSM_CFR1_SEQ_SAFEMODE_MASK   0x0000
 Default Safe Mode. More...
 
#define XSM_CFR1_SEQ_ONEPASS_MASK   0x1000
 Onepass through Seq. More...
 
#define XSM_CFR1_SEQ_CONTINPASS_MASK   0x2000
 Continuous Cycling Seq. More...
 
#define XSM_CFR1_SEQ_SINGCHAN_MASK   0x3000
 Single channel - No Seq. More...
 
#define XSM_CFR1_SEQ_SIMUL_SAMPLING_MASK   0x4000
 Simultaneous Sampling Mask. More...
 
#define XSM_CFR1_SEQ_INDEPENDENT_MASK   0x8000
 Independent Mode. More...
 
#define XSM_CFR1_SEQ_SHIFT   12
 Sequence bit shift. More...
 
#define XSM_CFR1_ALM_VCCPDRO_MASK   0x0800
 Alarm 6 - VCCPDRO, Zynq. More...
 
#define XSM_CFR1_ALM_VCCPAUX_MASK   0x0400
 Alarm 5 - VCCPAUX, Zynq. More...
 
#define XSM_CFR1_ALM_VCCPINT_MASK   0x0200
 Alarm 4 - VCCPINT, Zynq. More...
 
#define XSM_CFR1_ALM_VBRAM_MASK   0x0100
 Alarm 3 - VBRAM Enable 7 Series and Zynq. More...
 
#define XSM_CFR1_CAL_VALID_MASK   0x00F0
 Valid Calibration Mask. More...
 
#define XSM_CFR1_CAL_PS_GAIN_OFFSET_MASK   0x0080
 Calibration 3 -Power Supply Gain/Offset Enable. More...
 
#define XSM_CFR1_CAL_PS_OFFSET_MASK   0x0040
 Calibration 2 -Power Supply Offset Enable. More...
 
#define XSM_CFR1_CAL_ADC_GAIN_OFFSET_MASK   0x0020
 Calibration 1 -ADC Gain Offset Enable. More...
 
#define XSM_CFR1_CAL_ADC_OFFSET_MASK   0x0010
 Calibration 0 -ADC Offset Enable. More...
 
#define XSM_CFR1_CAL_DISABLE_MASK   0x0000
 No Calibration. More...
 
#define XSM_CFR1_ALM_ALL_MASK   0x0F0F
 Mask for all alarms. More...
 
#define XSM_CFR1_ALM_VCCAUX_MASK   0x0008
 Alarm 2 - VCCAUX Enable. More...
 
#define XSM_CFR1_ALM_VCCINT_MASK   0x0004
 Alarm 1 - VCCINT Enable. More...
 
#define XSM_CFR1_ALM_TEMP_MASK   0x0002
 Alarm 0 - Temperature. More...
 
#define XSM_CFR1_OT_MASK   0x0001
 Over Temperature Enable. More...
 

Configuration Register 2 (CFR2) mask(s)

#define XSM_CFR2_CD_VALID_MASK   0xFF00
 Clock Divisor bit Mask. More...
 
#define XSM_CFR2_CD_SHIFT   8
 Num of shift on division. More...
 
#define XSM_CFR2_CD_MIN   8
 Minimum value of divisor. More...
 
#define XSM_CFR2_CD_MAX   255
 Maximum value of divisor. More...
 
#define XSM_CFR2_PD_MASK   0x0030
 Power Down Mask. More...
 
#define XSM_CFR2_PD_XADC_MASK   0x0030
 Power Down XADC Mask. More...
 
#define XSM_CFR2_PD_ADC1_MASK   0x0020
 Power Down XADC Mask. More...
 
#define XSM_CFR2_PD_SHIFT   4
 Power Down Shift. More...
 

Configuration Register 3 (CFR3) mask(s)

#define XSM_CFR3_ALM_ALL_MASK   0x000F
 Mask for all alarms. More...
 
#define XSM_CFR3_ALM_VUSR3_MASK   0x0008
 VUSER 0 Supply. More...
 
#define XSM_CFR3_ALM_VUSR2_MASK   0x0004
 VUSER 1 Supply. More...
 
#define XSM_CFR3_ALM_VUSR1_MASK   0x0002
 VUSER 2 Supply. More...
 
#define XSM_CFR3_ALM_VUSR0_MASK   0x0001
 VUSER 3 Supply. More...
 
#define XSM_CFR_ALM_ALL_MASK   0xF0F0F
 

Alarm masks for channels in Configuration registers 1 and 3

#define XSM_CFR_ALM_VUSR3_MASK   0x00080000
 VUSER 0 Supply. More...
 
#define XSM_CFR_ALM_VUSR2_MASK   0x00040000
 VUSER 1 Supply. More...
 
#define XSM_CFR_ALM_VUSR1_MASK   0x00020000
 VUSER 2 Supply. More...
 
#define XSM_CFR_ALM_VUSR0_MASK   0x00010000
 VUSER 3 Supply. More...
 
#define XSM_CFR_ALM_VCCPDRO_MASK   0x0800
 Alarm 6 - VCCPDRO, Zynq. More...
 
#define XSM_CFR_ALM_VCCPAUX_MASK   0x0400
 Alarm 5 - VCCPAUX, Zynq. More...
 
#define XSM_CFR_ALM_VCCPINT_MASK   0x0200
 Alarm 4 - VCCPINT, Zynq. More...
 
#define XSM_CFR_ALM_VBRAM_MASK   0x0100
 Alarm 3 - VBRAM Enable 7 Series and Zynq. More...
 
#define XSM_CFR_ALM_VCCAUX_MASK   0x0008
 Alarm 2 - VCCAUX Enable. More...
 
#define XSM_CFR_ALM_VCCINT_MASK   0x0004
 Alarm 1 - VCCINT Enable. More...
 
#define XSM_CFR_ALM_TEMP_MASK   0x0002
 Alarm 0 - Temperature. More...
 
#define XSM_CFR_OT_MASK   0x0001
 Over Temperature Enable. More...
 

Sequence Register (SEQ) Bit Definitions

#define XSM_SEQ_CH_CALIB   0x00000001
 ADC Calibration Channel. More...
 
#define XSM_SEQ_CH_VCCPINT   0x00000020
 VCCPINT, Zynq Only. More...
 
#define XSM_SEQ_CH_VCCPAUX   0x00000040
 VCCPAUX, Zynq Only. More...
 
#define XSM_SEQ_CH_VCCPDRO   0x00000080
 VCCPDRO, Zynq Only. More...
 
#define XSM_SEQ_CH_TEMP   0x00000100
 On Chip Temperature Channel. More...
 
#define XSM_SEQ_CH_VCCINT   0x00000200
 VCCINT Channel. More...
 
#define XSM_SEQ_CH_VCCAUX   0x00000400
 VCCAUX Channel. More...
 
#define XSM_SEQ_CH_VPVN   0x00000800
 VP/VN analog inputs Channel. More...
 
#define XSM_SEQ_CH_VREFP   0x00001000
 VREFP Channel. More...
 
#define XSM_SEQ_CH_VREFN   0x00002000
 VREFN Channel. More...
 
#define XSM_SEQ_CH_VBRAM   0x00004000
 VBRAM Channel, 7 series/Zynq. More...
 
#define XSM_SEQ_CH_AUX00   0x00010000
 1st Aux Channel More...
 
#define XSM_SEQ_CH_AUX01   0x00020000
 2nd Aux Channel More...
 
#define XSM_SEQ_CH_AUX02   0x00040000
 3rd Aux Channel More...
 
#define XSM_SEQ_CH_AUX03   0x00080000
 4th Aux Channel More...
 
#define XSM_SEQ_CH_AUX04   0x00100000
 5th Aux Channel More...
 
#define XSM_SEQ_CH_AUX05   0x00200000
 6th Aux Channel More...
 
#define XSM_SEQ_CH_AUX06   0x00400000
 7th Aux Channel More...
 
#define XSM_SEQ_CH_AUX07   0x00800000
 8th Aux Channel More...
 
#define XSM_SEQ_CH_AUX08   0x01000000
 9th Aux Channel More...
 
#define XSM_SEQ_CH_AUX09   0x02000000
 10th Aux Channel More...
 
#define XSM_SEQ_CH_AUX10   0x04000000
 11th Aux Channel More...
 
#define XSM_SEQ_CH_AUX11   0x08000000
 12th Aux Channel More...
 
#define XSM_SEQ_CH_AUX12   0x10000000
 13th Aux Channel More...
 
#define XSM_SEQ_CH_AUX13   0x20000000
 14th Aux Channel More...
 
#define XSM_SEQ_CH_AUX14   0x40000000
 15th Aux Channel More...
 
#define XSM_SEQ_CH_AUX15   0x80000000
 16th Aux Channel More...
 
#define XSM_SEQ_CH_VUSR0   0x100000000
 VUSER0 Channel. More...
 
#define XSM_SEQ_CH_VUSR1   0x200000000
 VUSER1 Channel. More...
 
#define XSM_SEQ_CH_VUSR2   0x400000000
 VUSER2 Channel. More...
 
#define XSM_SEQ_CH_VUSR3   0x800000000
 VUSER3 Channel. More...
 
#define XSM_SEQ00_CH_VALID_MASK   0x7FE1
 Mask for the valid channels. More...
 
#define XSM_SEQ01_CH_VALID_MASK   0xFFFF
 Mask for the valid channels. More...
 
#define XSM_SEQ02_CH_VALID_MASK   0x7FE0
 Mask for the valid channels. More...
 
#define XSM_SEQ03_CH_VALID_MASK   0xFFFF
 Mask for the valid channels. More...
 
#define XSM_SEQ04_CH_VALID_MASK   0x0800
 Mask for the valid channels. More...
 
#define XSM_SEQ05_CH_VALID_MASK   0xFFFF
 Mask for the valid channels. More...
 
#define XSM_SEQ06_CH_VALID_MASK   0x0800
 Mask for the valid channels. More...
 
#define XSM_SEQ07_CH_VALID_MASK   0xFFFF
 Mask for the valid channels. More...
 
#define XSM_SEQ08_CH_VALID_MASK   0x000F
 Mask for the valid channels. More...
 
#define XSM_SEQ09_CH_VALID_MASK   0x000F
 Mask for the valid channels. More...
 
#define XSM_SEQ_CH_AUX_SHIFT   16
 Shift for the Aux Channel. More...
 
#define XSM_SEQ_CH_VUSR_SHIFT   32
 Shift for the Aux Channel. More...
 

OT Upper Alarm Threshold Register Bit Definitions

#define XSM_ATR_OT_UPPER_ENB_MASK   0x000F
 Mask for OT enable. More...
 
#define XSM_ATR_OT_UPPER_VAL_MASK   0xFFF0
 Mask for OT value. More...
 
#define XSM_ATR_OT_UPPER_VAL_SHIFT   4
 Shift for OT value. More...
 
#define XSM_ATR_OT_UPPER_ENB_VAL   0x0003
 Value for OT enable. More...
 
#define XSM_ATR_OT_UPPER_VAL_MAX   0x0FFF
 Max OT value. More...
 

Macro Definition Documentation

#define XSM_ADC_CALIB_OFFSET   (XSM_IP_OFFSET + 0x224)

ADC Offset Data Reg.

#define XSM_AOR_ALARM_ALL_MASK   0x00001FFF

Mask for all Alarms.

Referenced by XSysMon_GetAlarmOutputStatus().

#define XSM_AOR_ALL_MASK   0x00000100

ALM7 - All Alarms 0 to 6.

#define XSM_AOR_OFFSET   0x08

Alarm Output Register.

Referenced by SysMonLowLevelExample(), and XSysMon_GetAlarmOutputStatus().

#define XSM_AOR_OT_MASK   0x00000001

Over Temp Alarm Output.

#define XSM_AOR_TEMP_MASK   0x00000002

ALM0 - Temp sensor Alarm Mask.

Referenced by SysMonLowLevelExample(), and SysMonPolledExample().

#define XSM_AOR_VBRAM_MASK   0x00000010

ALM3 - VBRAM Output Mask.

  • 7 Series and Zynq
#define XSM_AOR_VCCAUX_MASK   0x00000008

ALM2 - VCCAUX Output Mask.

Referenced by SysMonLowLevelExample(), and SysMonPolledExample().

#define XSM_AOR_VCCINT_MASK   0x00000004

ALM1 - VCCINT Alarm Mask.

#define XSM_AOR_VCCPAUX_MASK   0x00000040

ALM5 - VCCPAUX Mask, Zynq.

#define XSM_AOR_VCCPDRO_MASK   0x00000080

ALM6 - VCCPDRO Mask, Zynq.

#define XSM_AOR_VCCPINT_MASK   0x00000020

ALM4 - VCCPINT Mask, Zynq.

#define XSM_AOR_VUSR0_MASK   0x00000200

ALM8 - VUSER0 Alarm Mask.

#define XSM_AOR_VUSR1_MASK   0x00000400

ALM9 - VUSER1 Alarm Mask.

#define XSM_AOR_VUSR2_MASK   0x00000800

ALM10 - VUSER2 Alarm Mask.

#define XSM_AOR_VUSR3_MASK   0x00001000

ALM11 - VUSER3 Alarm Mask.

#define XSM_ARR_OFFSET   0x10

ADC Reset Register.

Referenced by XSysMon_ResetAdc().

#define XSM_ARR_RST_MASK   0x00000001

ADC Reset bit mask.

Referenced by XSysMon_ResetAdc().

#define XSM_ATR_OT_LOWER   7

Lower Over Temperature limit.

#define XSM_ATR_OT_LOWER_OFFSET   (XSM_IP_OFFSET + 0x35C)

Over Temp Lower Alarm Reg.

#define XSM_ATR_OT_UPPER   3

Lower Over Temperature limit.

#define XSM_ATR_OT_UPPER_ENB_MASK   0x000F

Mask for OT enable.

Referenced by XSysMon_DisableUserOverTemp(), and XSysMon_EnableUserOverTemp().

#define XSM_ATR_OT_UPPER_ENB_VAL   0x0003

Value for OT enable.

Referenced by XSysMon_EnableUserOverTemp().

#define XSM_ATR_OT_UPPER_OFFSET   (XSM_IP_OFFSET + 0x34C)
#define XSM_ATR_OT_UPPER_VAL_MASK   0xFFF0

Mask for OT value.

Referenced by XSysMon_SetOverTemp().

#define XSM_ATR_OT_UPPER_VAL_MAX   0x0FFF

Max OT value.

Referenced by XSysMon_SetOverTemp().

#define XSM_ATR_OT_UPPER_VAL_SHIFT   4

Shift for OT value.

Referenced by XSysMon_GetOverTemp(), and XSysMon_SetOverTemp().

#define XSM_ATR_TEMP_LOWER   4

Low user Temperature.

Referenced by SysMonIntrExample(), and SysMonPolledExample().

#define XSM_ATR_TEMP_LOWER_OFFSET   (XSM_IP_OFFSET + 0x350)

Temp Lower Alarm Register.

#define XSM_ATR_TEMP_UPPER   0

High user Temperature.

Referenced by SysMonIntrExample(), and SysMonPolledExample().

#define XSM_ATR_TEMP_UPPER_OFFSET   (XSM_IP_OFFSET + 0x340)

Temp Upper Alarm Register.

Referenced by SysMonLowLevelExample(), XSysMon_GetAlarmThreshold(), and XSysMon_SetAlarmThreshold().

#define XSM_ATR_VBRAM_LOWER   0xC

VRBAM Lower Alarm, 7 Series and Zynq.

#define XSM_ATR_VBRAM_LOWER_OFFSET   (XSM_IP_OFFSET + 0x370)

VRBAM Lower Alarm, 7 Series.

#define XSM_ATR_VBRAM_UPPER   8

VBRAM high voltage limit.

#define XSM_ATR_VBRAM_UPPER_OFFSET   (XSM_IP_OFFSET + 0x360)

VBBAM Upper Alarm,7 Series.

#define XSM_ATR_VCCAUX_LOWER   6

VCCAUX low voltage limit.

Referenced by SysMonIntrExample(), and SysMonPolledExample().

#define XSM_ATR_VCCAUX_LOWER_OFFSET   (XSM_IP_OFFSET + 0x358)

VCCAUX Lower Alarm Reg.

Referenced by SysMonLowLevelExample().

#define XSM_ATR_VCCAUX_UPPER   2

VCCAUX high voltage limit.

Referenced by SysMonIntrExample(), and SysMonPolledExample().

#define XSM_ATR_VCCAUX_UPPER_OFFSET   (XSM_IP_OFFSET + 0x348)

VCCAUX Upper Alarm Reg.

Referenced by SysMonLowLevelExample().

#define XSM_ATR_VCCINT_LOWER   5

VCCINT low voltage limit.

Referenced by SysMonSingleChannelIntrExample().

#define XSM_ATR_VCCINT_LOWER_OFFSET   (XSM_IP_OFFSET + 0x354)

VCCINT Lower Alarm Reg.

#define XSM_ATR_VCCINT_UPPER   1

VCCINT high voltage limit.

Referenced by SysMonSingleChannelIntrExample(), and XSysMon_SelfTest().

#define XSM_ATR_VCCINT_UPPER_OFFSET   (XSM_IP_OFFSET + 0x344)

VCCINT Upper Alarm Reg.

#define XSM_ATR_VCCPAUX_LOWER   0xE

VCCPAUX Lower Alarm, Zynq.

#define XSM_ATR_VCCPAUX_LOWER_OFFSET   (XSM_IP_OFFSET + 0x378)

VCCPAUX Lower Alarm, Zynq.

#define XSM_ATR_VCCPAUX_UPPER   0xA

VCCPAUX Upper Alarm, Zynq.

#define XSM_ATR_VCCPAUX_UPPER_OFFSET   (XSM_IP_OFFSET + 0x368)

VCCPAUX Upper Alarm, Zynq.

#define XSM_ATR_VCCPDRO_LOWER   0xF

VCCPDRO Lower Alarm, Zynq.

#define XSM_ATR_VCCPDRO_LOWER_OFFSET   (XSM_IP_OFFSET + 0x37C)

VCCPDRO Lower Alarm, Zynq.

#define XSM_ATR_VCCPDRO_UPPER   0xB

VCCPDRO Upper Alarm, Zynq.

#define XSM_ATR_VCCPDRO_UPPER_OFFSET   (XSM_IP_OFFSET + 0x36C)

VCCPDRO Upper Alarm, Zynq.

#define XSM_ATR_VCCPINT_LOWER   0xD

VCCPINT Lower Alarm, Zynq.

#define XSM_ATR_VCCPINT_LOWER_OFFSET   (XSM_IP_OFFSET + 0x374)

VCCPINT Lower Alarm, Zynq.

#define XSM_ATR_VCCPINT_UPPER   9

VCCPINT Upper Alarm, Zynq.

#define XSM_ATR_VCCPINT_UPPER_OFFSET   (XSM_IP_OFFSET + 0x364)

VCCPINT Upper Alarm, Zynq.

#define XSM_ATR_VUSR0_LOWER   0x18

VUSER0 Lower Alarm, Ultrascale.

Referenced by XSysMon_GetAlarmThreshold(), and XSysMon_SetAlarmThreshold().

#define XSM_ATR_VUSR0_LOWER_OFFSET   (XSM_IP_OFFSET + 0x3A0)

VUSER0 Lower Alarm Reg.

#define XSM_ATR_VUSR0_UPPER   0x10

VUSER0 Upper Alarm, Ultrascale.

#define XSM_ATR_VUSR0_UPPER_OFFSET   (XSM_IP_OFFSET + 0x380)

VUSER0 Upper Alarm Reg.

#define XSM_ATR_VUSR1_LOWER   0x19

VUSER1 Lower Alarm, Ultrascale.

#define XSM_ATR_VUSR1_LOWER_OFFSET   (XSM_IP_OFFSET + 0x3A4)

VUSER1 Lower Alarm Reg.

#define XSM_ATR_VUSR1_UPPER   0x11

VUSER1 Upper Alarm, Ultrascale.

#define XSM_ATR_VUSR1_UPPER_OFFSET   (XSM_IP_OFFSET + 0x384)

VUSER1 Upper Alarm Reg.

#define XSM_ATR_VUSR2_LOWER   0x1A

VUSER2 Lower Alarm, Ultrascale.

#define XSM_ATR_VUSR2_LOWER_OFFSET   (XSM_IP_OFFSET + 0x3A8)

VUSER2 Lower Alarm Reg.

#define XSM_ATR_VUSR2_UPPER   0x12

VUSER2 Upper Alarm, Ultrascale.

#define XSM_ATR_VUSR2_UPPER_OFFSET   (XSM_IP_OFFSET + 0x388)

VUSER2 Upper Alarm Reg.

#define XSM_ATR_VUSR3_LOWER   0x1B

VUSER3 Lower Alarm, Ultrascale.

Referenced by XSysMon_GetAlarmThreshold(), and XSysMon_SetAlarmThreshold().

#define XSM_ATR_VUSR3_LOWER_OFFSET   (XSM_IP_OFFSET + 0x3AC)

VUSER3 Lower Alarm Reg.

#define XSM_ATR_VUSR3_UPPER   0x13

VUSER3 Upper Alarm, Ultrascale.

Referenced by XSysMon_GetAlarmThreshold(), and XSysMon_SetAlarmThreshold().

#define XSM_ATR_VUSR3_UPPER_OFFSET   (XSM_IP_OFFSET + 0x38C)

VUSER3 Upper Alarm Reg.

#define XSM_AUX00_OFFSET   (XSM_IP_OFFSET + 0x240)

ADC out of VAUXP0/VAUXN0.

#define XSM_AUX01_OFFSET   (XSM_IP_OFFSET + 0x244)

ADC out of VAUXP1/VAUXN1.

#define XSM_AUX02_OFFSET   (XSM_IP_OFFSET + 0x248)

ADC out of VAUXP2/VAUXN2.

#define XSM_AUX03_OFFSET   (XSM_IP_OFFSET + 0x24C)

ADC out of VAUXP3/VAUXN3.

#define XSM_AUX04_OFFSET   (XSM_IP_OFFSET + 0x250)

ADC out of VAUXP4/VAUXN4.

#define XSM_AUX05_OFFSET   (XSM_IP_OFFSET + 0x254)

ADC out of VAUXP5/VAUXN5.

#define XSM_AUX06_OFFSET   (XSM_IP_OFFSET + 0x258)

ADC out of VAUXP6/VAUXN6.

#define XSM_AUX07_OFFSET   (XSM_IP_OFFSET + 0x25C)

ADC out of VAUXP7/VAUXN7.

#define XSM_AUX08_OFFSET   (XSM_IP_OFFSET + 0x260)

ADC out of VAUXP8/VAUXN8.

#define XSM_AUX09_OFFSET   (XSM_IP_OFFSET + 0x264)

ADC out of VAUXP9/VAUXN9.

#define XSM_AUX10_OFFSET   (XSM_IP_OFFSET + 0x268)

ADC out of VAUXP10/VAUXN10.

#define XSM_AUX11_OFFSET   (XSM_IP_OFFSET + 0x26C)

ADC out of VAUXP11/VAUXN11.

#define XSM_AUX12_OFFSET   (XSM_IP_OFFSET + 0x270)

ADC out of VAUXP12/VAUXN12.

#define XSM_AUX13_OFFSET   (XSM_IP_OFFSET + 0x274)

ADC out of VAUXP13/VAUXN13.

#define XSM_AUX14_OFFSET   (XSM_IP_OFFSET + 0x278)

ADC out of VAUXP14/VAUXN14.

#define XSM_AUX15_OFFSET   (XSM_IP_OFFSET + 0x27C)

ADC out of VAUXP15/VAUXN15.

#define XSM_AVG_0_SAMPLES   0

No Averaging.

#define XSM_AVG_16_SAMPLES   1

Average 16 samples.

Referenced by SysMonAuxPolledExample(), SysMonIntrExample(), and SysMonPolledExample().

#define XSM_AVG_256_SAMPLES   3

Average 256 samples.

Referenced by XSysMon_SetAvg().

#define XSM_AVG_64_SAMPLES   2

Average 64 samples.

#define XSM_CALIB_ADC_OFFSET_COEFF   1

ADC Offset Calib Coefficient.

#define XSM_CALIB_GAIN_ERROR_COEFF   2

Gain Error Calib Coefficient.

Referenced by XSysMon_GetCalibCoefficient().

#define XSM_CALIB_SUPPLY_OFFSET_COEFF   0

Supply Offset Calib Coefficient.

#define XSM_CFR0_ACQ_MASK   0x0100

Add acquisition by 6 ADCCLK.

Referenced by XSysMon_SetSingleChParams().

#define XSM_CFR0_AVG16_MASK   0x1000

Average 16 samples.

Referenced by SysMonLowLevelExample().

#define XSM_CFR0_AVG1_MASK   0x0000

No Averaging.

#define XSM_CFR0_AVG256_MASK   0x3000

Average 256 samples.

#define XSM_CFR0_AVG64_MASK   0x2000

Average 64 samples.

#define XSM_CFR0_AVG_SHIFT   12

Shift for the Averaging bits.

Referenced by XSysMon_GetAvg(), and XSysMon_SetAvg().

#define XSM_CFR0_AVG_VALID_MASK   0x3000
#define XSM_CFR0_CAL_AVG_MASK   0x8000

Averaging enable Mask.

#define XSM_CFR0_CHANNEL_MASK   0x003F

Channel number bit Mask.

Referenced by XSysMon_SetExtenalMux(), and XSysMon_SetSingleChParams().

#define XSM_CFR0_DU_MASK   0x0400

Bipolar/Unipolar mode.

Referenced by XSysMon_SetSingleChParams().

#define XSM_CFR0_EC_MASK   0x0200

Event driven/Continuous mode.

Referenced by XSysMon_SetSequencerEvent(), and XSysMon_SetSingleChParams().

#define XSM_CFR0_MUX_MASK   0x0800

External Mux Mask Enable.

  • 7 Series and Zynq

Referenced by XSysMon_SetExtenalMux().

#define XSM_CFR0_OFFSET   (XSM_IP_OFFSET + 0x300)
#define XSM_CFR1_ALM_ALL_MASK   0x0F0F
#define XSM_CFR1_ALM_TEMP_MASK   0x0002

Alarm 0 - Temperature.

Referenced by SysMonIntrExample(), SysMonLowLevelExample(), and SysMonPolledExample().

#define XSM_CFR1_ALM_VBRAM_MASK   0x0100

Alarm 3 - VBRAM Enable 7 Series and Zynq.

#define XSM_CFR1_ALM_VCCAUX_MASK   0x0008

Alarm 2 - VCCAUX Enable.

Referenced by SysMonIntrExample(), SysMonLowLevelExample(), and SysMonPolledExample().

#define XSM_CFR1_ALM_VCCINT_MASK   0x0004

Alarm 1 - VCCINT Enable.

Referenced by SysMonSingleChannelIntrExample().

#define XSM_CFR1_ALM_VCCPAUX_MASK   0x0400

Alarm 5 - VCCPAUX, Zynq.

#define XSM_CFR1_ALM_VCCPDRO_MASK   0x0800

Alarm 6 - VCCPDRO, Zynq.

#define XSM_CFR1_ALM_VCCPINT_MASK   0x0200

Alarm 4 - VCCPINT, Zynq.

#define XSM_CFR1_CAL_ADC_GAIN_OFFSET_MASK   0x0020

Calibration 1 -ADC Gain Offset Enable.

#define XSM_CFR1_CAL_ADC_OFFSET_MASK   0x0010

Calibration 0 -ADC Offset Enable.

Referenced by XSysMon_SetCalibEnables().

#define XSM_CFR1_CAL_DISABLE_MASK   0x0000

No Calibration.

Referenced by XSysMon_SetCalibEnables().

#define XSM_CFR1_CAL_PS_GAIN_OFFSET_MASK   0x0080

Calibration 3 -Power Supply Gain/Offset Enable.

#define XSM_CFR1_CAL_PS_OFFSET_MASK   0x0040

Calibration 2 -Power Supply Offset Enable.

#define XSM_CFR1_CAL_VALID_MASK   0x00F0

Valid Calibration Mask.

Referenced by XSysMon_GetCalibEnables(), and XSysMon_SetCalibEnables().

#define XSM_CFR1_OT_MASK   0x0001

Over Temperature Enable.

#define XSM_CFR1_SEQ_CONTINPASS_MASK   0x2000

Continuous Cycling Seq.

Referenced by SysMonLowLevelExample().

#define XSM_CFR1_SEQ_INDEPENDENT_MASK   0x8000

Independent Mode.

#define XSM_CFR1_SEQ_ONEPASS_MASK   0x1000

Onepass through Seq.

#define XSM_CFR1_SEQ_SAFEMODE_MASK   0x0000

Default Safe Mode.

Referenced by SysMonLowLevelExample().

#define XSM_CFR1_SEQ_SHIFT   12

Sequence bit shift.

Referenced by XSysMon_GetSequencerMode(), and XSysMon_SetSequencerMode().

#define XSM_CFR1_SEQ_SIMUL_SAMPLING_MASK   0x4000

Simultaneous Sampling Mask.

#define XSM_CFR1_SEQ_SINGCHAN_MASK   0x3000

Single channel - No Seq.

#define XSM_CFR1_SEQ_VALID_MASK   0xF000
#define XSM_CFR2_CD_MAX   255

Maximum value of divisor.

#define XSM_CFR2_CD_MIN   8

Minimum value of divisor.

#define XSM_CFR2_CD_SHIFT   8

Num of shift on division.

Referenced by SysMonLowLevelExample(), XSysMon_GetAdcClkDivisor(), and XSysMon_SetAdcClkDivisor().

#define XSM_CFR2_CD_VALID_MASK   0xFF00

Clock Divisor bit Mask.

#define XSM_CFR2_OFFSET   (XSM_IP_OFFSET + 0x308)

Configuration Register 2.

Referenced by SysMonLowLevelExample(), XSysMon_GetAdcClkDivisor(), and XSysMon_SetAdcClkDivisor().

#define XSM_CFR2_PD_ADC1_MASK   0x0020

Power Down XADC Mask.

#define XSM_CFR2_PD_MASK   0x0030

Power Down Mask.

#define XSM_CFR2_PD_SHIFT   4

Power Down Shift.

#define XSM_CFR2_PD_XADC_MASK   0x0030

Power Down XADC Mask.

#define XSM_CFR3_ALM_ALL_MASK   0x000F

Mask for all alarms.

Referenced by XSysMon_GetAlarmEnables(), and XSysMon_SetAlarmEnables().

#define XSM_CFR3_ALM_VUSR0_MASK   0x0001

VUSER 3 Supply.

#define XSM_CFR3_ALM_VUSR1_MASK   0x0002

VUSER 2 Supply.

#define XSM_CFR3_ALM_VUSR2_MASK   0x0004

VUSER 1 Supply.

#define XSM_CFR3_ALM_VUSR3_MASK   0x0008

VUSER 0 Supply.

#define XSM_CFR_ALM_TEMP_MASK   0x0002

Alarm 0 - Temperature.

#define XSM_CFR_ALM_VBRAM_MASK   0x0100

Alarm 3 - VBRAM Enable 7 Series and Zynq.

#define XSM_CFR_ALM_VCCAUX_MASK   0x0008

Alarm 2 - VCCAUX Enable.

#define XSM_CFR_ALM_VCCINT_MASK   0x0004

Alarm 1 - VCCINT Enable.

#define XSM_CFR_ALM_VCCPAUX_MASK   0x0400

Alarm 5 - VCCPAUX, Zynq.

#define XSM_CFR_ALM_VCCPDRO_MASK   0x0800

Alarm 6 - VCCPDRO, Zynq.

#define XSM_CFR_ALM_VCCPINT_MASK   0x0200

Alarm 4 - VCCPINT, Zynq.

#define XSM_CFR_ALM_VUSR0_MASK   0x00010000

VUSER 3 Supply.

#define XSM_CFR_ALM_VUSR1_MASK   0x00020000

VUSER 2 Supply.

#define XSM_CFR_ALM_VUSR2_MASK   0x00040000

VUSER 1 Supply.

#define XSM_CFR_ALM_VUSR3_MASK   0x00080000

VUSER 0 Supply.

#define XSM_CFR_OT_MASK   0x0001

Over Temperature Enable.

#define XSM_CH_ADC_CALIB   0x08

ADC Offset Channel Reg.

#define XSM_CH_AUX_MAX   31

Channel number for Last Aux channel.

Referenced by XSysMon_GetAdcData(), XSysMon_SetExtenalMux(), and XSysMon_SetSingleChParams().

#define XSM_CH_AUX_MIN   16

Channel number for 1st Aux Channel.

Referenced by SysMonAuxPolledExample(), XSysMon_SetExtenalMux(), and XSysMon_SetSingleChParams().

#define XSM_CH_GAINERR_CALIB   0x09

Gain Error Channel Reg.

#define XSM_CH_SUPPLY_CALIB   0x07

Supply Calib Data Reg.

#define XSM_CH_TEMP   0x0

On Chip Temperature.

Referenced by SysMonIntrExample(), and SysMonPolledExample().

#define XSM_CH_VBRAM   0x6

VBRAM - 7 Series and Zynq.

Referenced by XSysMon_GetAdcData().

#define XSM_CH_VCCAUX   0x2

VCCAUX.

Referenced by SysMonIntrExample(), and SysMonPolledExample().

#define XSM_CH_VCCINT   0x1

VCCINT.

Referenced by SysMonSingleChannelIntrExample().

#define XSM_CH_VCCPAUX   0x0E

On-chip PS VCCPAUX Channel, Zynq.

#define XSM_CH_VCCPDRO   0x0F

On-chip PS VCCPDRO Channel, Zynq.

#define XSM_CH_VCCPINT   0x0D

On-chip PS VCCPINT Channel, Zynq.

Referenced by XSysMon_GetAdcData().

#define XSM_CH_VPVN   0x3

VP/VN Dedicated analog inputs.

Referenced by XSysMon_SetSingleChParams().

#define XSM_CH_VREFN   0x5
#define XSM_CH_VREFP   0x4

VREFP.

#define XSM_CH_VUSR0   32

VUSER0 Supply - UltraScale.

Referenced by XSysMon_GetAdcData(), and XSysMon_SetSingleChParams().

#define XSM_CH_VUSR1   33

VUSER1 Supply - UltraScale.

#define XSM_CH_VUSR2   34

VUSER2 Supply - UltraScale.

#define XSM_CH_VUSR3   35

VUSER3 Supply - UltraScale.

Referenced by XSysMon_GetAdcData(), and XSysMon_SetSingleChParams().

#define XSM_CONVST_CONVST_MASK   0x00000001

Conversion Start Mask.

Referenced by XSysMon_StartAdcConversion().

#define XSM_CONVST_OFFSET   0x0C
#define XSM_CONVST_TEMPUPDT_MASK   0x00000002

Temperature Update Enable Mask.

Referenced by XSysMon_DisableTempUpdate(), and XSysMon_EnableTempUpdate().

#define XSM_CONVST_WAITCYCLES_DEFAULT   0x03E8

Wait Cycles default value.

Referenced by XSysMon_CfgInitialize().

#define XSM_CONVST_WAITCYCLES_MASK   0x0003FFFC

Wait Cycles Mask.

Referenced by XSysMon_SetTempWaitCycles().

#define XSM_CONVST_WAITCYCLES_SHIFT   2

Wait Cycles Shift.

Referenced by XSysMon_CfgInitialize(), and XSysMon_SetTempWaitCycles().

#define XSM_FLAG_REG_OFFSET   (XSM_IP_OFFSET + 0x2FC)

General Status.

#define XSM_GAINERR_CALIB_OFFSET   (XSM_IP_OFFSET + 0x228)

Gain Error Data Reg.

#define XSM_GIER_GIE_MASK   0x80000000

Global interrupt enable.

Referenced by XSysMon_IntrGlobalEnable().

#define XSM_GIER_OFFSET   0x5C

Global Interrupt Enable.

Referenced by XSysMon_IntrGlobalDisable(), and XSysMon_IntrGlobalEnable().

#define XSM_IPIER_OFFSET   0x68

Interrupt Enable register.

Referenced by XSysMon_IntrDisable(), XSysMon_IntrEnable(), and XSysMon_IntrGetEnabled().

#define XSM_IPISR_OFFSET   0x60

Interrupt Status Register.

Referenced by XSysMon_IntrClear(), and XSysMon_IntrGetStatus().

#define XSM_IPIXR_ALL_MASK   0x0003C7FF
#define XSM_IPIXR_EOC_MASK   0x00000020

End Of Conversion.

Referenced by SysMonSingleChannelIntrExample().

#define XSM_IPIXR_EOS_MASK   0x00000010

End Of Sequence.

#define XSM_IPIXR_JTAG_LOCKED_MASK   0x00000040

JTAG Locked.

#define XSM_IPIXR_JTAG_MODIFIED_MASK   0x00000080

JTAG Modified.

#define XSM_IPIXR_OT_DEACTIVE_MASK   0x00000100

Over Temp DEACTIVE.

#define XSM_IPIXR_OT_MASK   0x00000001

Over Temperature ACTIVE.

#define XSM_IPIXR_TEMP_DEACTIVE_MASK   0x00000200

Alarm 0 DEACTIVE.

#define XSM_IPIXR_TEMP_MASK   0x00000002

Alarm 0 - Temp ACTIVE.

Referenced by SysMonIntrExample().

#define XSM_IPIXR_VBRAM_MASK   0x00000400

ALM3 - VBRAM Output Mask.

  • 7 Series and Zynq
#define XSM_IPIXR_VCCAUX_MASK   0x00000008

Alarm 2 - VCCAUX.

Referenced by SysMonIntrExample().

#define XSM_IPIXR_VCCINT_MASK   0x00000004

Alarm 1 - VCCINT.

Referenced by SysMonSingleChannelIntrExample().

#define XSM_IPIXR_VUSR0_MASK   0x00004000

Alarm 8 VUSER0.

#define XSM_IPIXR_VUSR1_MASK   0x00008000

Alarm 9 VUSER1.

#define XSM_IPIXR_VUSR2_MASK   0x00010000

Alarm 10 VUSER2.

#define XSM_IPIXR_VUSR3_MASK   0x00020000

Alarm 11 VUSER3.

#define XSM_MAX_TEMP   0

Maximum Temperature Data.

Referenced by SysMonPolledExample().

#define XSM_MAX_TEMP_OFFSET   (XSM_IP_OFFSET + 0x280)

Maximum Temperature Reg.

Referenced by SysMonLowLevelExample(), and XSysMon_GetMinMaxMeasurement().

#define XSM_MAX_VBRAM_OFFSET   (XSM_IP_OFFSET + 0x28C)

Maximum VBRAM Reg, 7 Series/Zynq.

#define XSM_MAX_VCCAUX   2

Maximum VCCAUX Data.

Referenced by SysMonPolledExample().

#define XSM_MAX_VCCAUX_OFFSET   (XSM_IP_OFFSET + 0x288)

Maximum VCCAUX Register.

Referenced by SysMonLowLevelExample().

#define XSM_MAX_VCCBRAM   3

Maximum VCCBRAM Data, 7 Series/Zynq.

#define XSM_MAX_VCCINT   1

Maximum VCCINT Data.

#define XSM_MAX_VCCINT_OFFSET   (XSM_IP_OFFSET + 0x284)

Maximum VCCINT Register.

#define XSM_MAX_VCCPAUX   9

Maximum VCCPAUX Data, Zynq.

#define XSM_MAX_VCCPAUX_OFFSET   (XSM_IP_OFFSET + 0x2A4)

Max VCCPAUX Register, Zynq.

#define XSM_MAX_VCCPDRO   0xA

Maximum VCCPDRO Data, Zynq.

Referenced by XSysMon_GetMinMaxMeasurement().

#define XSM_MAX_VCCPDRO_OFFSET   (XSM_IP_OFFSET + 0x2A8)

Max VCCPDRO Register, Zynq.

#define XSM_MAX_VCCPINT   8

Maximum VCCPINT Data, Zynq.

#define XSM_MAX_VCCPINT_OFFSET   (XSM_IP_OFFSET + 0x2A0)

Max VCCPINT Register, Zynq.

#define XSM_MAX_VUSR0   0x80

Maximum VUSR0 Data, Ultrascale.

Referenced by XSysMon_GetMinMaxMeasurement().

#define XSM_MAX_VUSR0_OFFSET   (XSM_IP_OFFSET + 0x480)

Maximum VUSER0 Supply Reg.

#define XSM_MAX_VUSR1   0x81

Maximum VUSR1 Data, Ultrascale.

#define XSM_MAX_VUSR1_OFFSET   (XSM_IP_OFFSET + 0x484)

Maximum VUSER1 Supply Reg.

#define XSM_MAX_VUSR2   0x82

Maximum VUSR2 Data, Ultrascale.

#define XSM_MAX_VUSR2_OFFSET   (XSM_IP_OFFSET + 0x488)

Maximum VUSER2 Supply Reg.

#define XSM_MAX_VUSR3   0x83

Maximum VUSR3 Data, Ultrascale.

Referenced by XSysMon_GetMinMaxMeasurement().

#define XSM_MAX_VUSR3_OFFSET   (XSM_IP_OFFSET + 0x48C)

Maximum VUSER3 Supply Reg.

#define XSM_MIN_TEMP   4

Minimum Temperature Data.

Referenced by SysMonPolledExample().

#define XSM_MIN_TEMP_OFFSET   (XSM_IP_OFFSET + 0x290)

Minimum Temperature Reg.

Referenced by SysMonLowLevelExample().

#define XSM_MIN_VBRAM_OFFSET   (XSM_IP_OFFSET + 0x29C)

Maximum VBRAM Reg, 7 Series/Zynq.

#define XSM_MIN_VCCAUX   6

Minimum VCCAUX Data.

Referenced by SysMonPolledExample().

#define XSM_MIN_VCCAUX_OFFSET   (XSM_IP_OFFSET + 0x298)

Minimum VCCAUX Register.

Referenced by SysMonLowLevelExample().

#define XSM_MIN_VCCBRAM   7

Minimum VCCBRAM Data, 7 Series/Zynq.

#define XSM_MIN_VCCINT   5

Minimum VCCINT Data.

#define XSM_MIN_VCCINT_OFFSET   (XSM_IP_OFFSET + 0x294)

Minimum VCCINT Register.

#define XSM_MIN_VCCPAUX   0xD

Minimum VCCPAUX Data, Zynq.

#define XSM_MIN_VCCPAUX_OFFSET   (XSM_IP_OFFSET + 0x2B0)

Min VCCPAUX Register, Zynq.

#define XSM_MIN_VCCPDRO   0xE

Minimum VCCPDRO Data, Zynq.

Referenced by XSysMon_GetMinMaxMeasurement().

#define XSM_MIN_VCCPDRO_OFFSET   (XSM_IP_OFFSET + 0x2B4)

Min VCCPDRO Register, Zynq.

#define XSM_MIN_VCCPINT   0xC

Minimum VCCPINT Data, Zynq.

Referenced by XSysMon_GetMinMaxMeasurement().

#define XSM_MIN_VCCPINT_OFFSET   (XSM_IP_OFFSET + 0x2AC)

Min VCCPINT Register, Zynq.

#define XSM_MIN_VUSR0   0x88

Minimum VUSR0 Data, Ultrascale.

Referenced by XSysMon_GetMinMaxMeasurement().

#define XSM_MIN_VUSR0_OFFSET   (XSM_IP_OFFSET + 0x4A0)

Minimum VUSER0 Supply Reg.

#define XSM_MIN_VUSR1   0x89

Minimum VUSR1 Data, Ultrascale.

#define XSM_MIN_VUSR1_OFFSET   (XSM_IP_OFFSET + 0x4A4)

Minimum VUSER1 Supply Reg.

#define XSM_MIN_VUSR2   0x8A

Minimum VUSR2 Data, Ultrascale.

#define XSM_MIN_VUSR2_OFFSET   (XSM_IP_OFFSET + 0x4A8)

Minimum VUSER2 Supply Reg.

#define XSM_MIN_VUSR3   0x8B

Minimum VUSR3 Data, Ultrascale.

Referenced by XSysMon_GetMinMaxMeasurement().

#define XSM_MIN_VUSR3_OFFSET   (XSM_IP_OFFSET + 0x4AC)

Minimum VUSER3 Supply Reg.

#define XSM_SEQ00_CH_VALID_MASK   0x7FE1

Mask for the valid channels.

Referenced by XSysMon_GetSeqChEnables(), and XSysMon_SetSeqChEnables().

#define XSM_SEQ00_OFFSET   (XSM_IP_OFFSET + 0x320)

Seq Reg 00 Adc Channel Selection.

Referenced by SysMonLowLevelExample(), XSysMon_GetSeqChEnables(), and XSysMon_SetSeqChEnables().

#define XSM_SEQ01_CH_VALID_MASK   0xFFFF

Mask for the valid channels.

Referenced by XSysMon_GetSeqChEnables(), and XSysMon_SetSeqChEnables().

#define XSM_SEQ01_OFFSET   (XSM_IP_OFFSET + 0x324)

Seq Reg 01 Adc Channel Selection.

Referenced by SysMonLowLevelExample(), XSysMon_GetSeqChEnables(), and XSysMon_SetSeqChEnables().

#define XSM_SEQ02_CH_VALID_MASK   0x7FE0

Mask for the valid channels.

Referenced by XSysMon_GetSeqAvgEnables(), and XSysMon_SetSeqAvgEnables().

#define XSM_SEQ02_OFFSET   (XSM_IP_OFFSET + 0x328)

Seq Reg 02 Adc Average Enable.

Referenced by SysMonLowLevelExample(), XSysMon_GetSeqAvgEnables(), and XSysMon_SetSeqAvgEnables().

#define XSM_SEQ03_CH_VALID_MASK   0xFFFF

Mask for the valid channels.

Referenced by XSysMon_GetSeqAvgEnables(), and XSysMon_SetSeqAvgEnables().

#define XSM_SEQ03_OFFSET   (XSM_IP_OFFSET + 0x32C)

Seq Reg 03 Adc Average Enable.

Referenced by SysMonLowLevelExample(), XSysMon_GetSeqAvgEnables(), and XSysMon_SetSeqAvgEnables().

#define XSM_SEQ04_CH_VALID_MASK   0x0800

Mask for the valid channels.

Referenced by XSysMon_GetSeqInputMode(), and XSysMon_SetSeqInputMode().

#define XSM_SEQ04_OFFSET   (XSM_IP_OFFSET + 0x330)

Seq Reg 04 Adc Input Mode Select.

Referenced by XSysMon_GetSeqInputMode(), and XSysMon_SetSeqInputMode().

#define XSM_SEQ05_CH_VALID_MASK   0xFFFF

Mask for the valid channels.

Referenced by XSysMon_GetSeqInputMode(), and XSysMon_SetSeqInputMode().

#define XSM_SEQ05_OFFSET   (XSM_IP_OFFSET + 0x334)

Seq Reg 05 Adc Input Mode Select.

Referenced by SysMonLowLevelExample(), XSysMon_GetSeqInputMode(), and XSysMon_SetSeqInputMode().

#define XSM_SEQ06_CH_VALID_MASK   0x0800

Mask for the valid channels.

Referenced by XSysMon_GetSeqAcqTime(), and XSysMon_SetSeqAcqTime().

#define XSM_SEQ06_OFFSET   (XSM_IP_OFFSET + 0x338)

Seq Reg 06 Adc Acquisition Select.

Referenced by XSysMon_GetSeqAcqTime(), and XSysMon_SetSeqAcqTime().

#define XSM_SEQ07_CH_VALID_MASK   0xFFFF

Mask for the valid channels.

Referenced by XSysMon_GetSeqAcqTime(), and XSysMon_SetSeqAcqTime().

#define XSM_SEQ07_OFFSET   (XSM_IP_OFFSET + 0x33C)

Seq Reg 07 Adc Acquisition Select.

Referenced by SysMonLowLevelExample(), XSysMon_GetSeqAcqTime(), and XSysMon_SetSeqAcqTime().

#define XSM_SEQ08_CH_VALID_MASK   0x000F

Mask for the valid channels.

Referenced by XSysMon_GetSeqChEnables(), and XSysMon_SetSeqChEnables().

#define XSM_SEQ08_OFFSET   (XSM_IP_OFFSET + 0x318)

Seq Reg 08 Adc Channel Selection.

Referenced by XSysMon_GetSeqChEnables(), and XSysMon_SetSeqChEnables().

#define XSM_SEQ09_CH_VALID_MASK   0x000F

Mask for the valid channels.

Referenced by XSysMon_GetSeqAvgEnables(), and XSysMon_SetSeqAvgEnables().

#define XSM_SEQ09_OFFSET   (XSM_IP_OFFSET + 0x31C)

Seq Reg 09 Adc Average Enable.

Referenced by XSysMon_GetSeqAvgEnables(), and XSysMon_SetSeqAvgEnables().

#define XSM_SEQ_CH_AUX00   0x00010000
#define XSM_SEQ_CH_AUX01   0x00020000

2nd Aux Channel

#define XSM_SEQ_CH_AUX02   0x00040000

3rd Aux Channel

#define XSM_SEQ_CH_AUX03   0x00080000

4th Aux Channel

#define XSM_SEQ_CH_AUX04   0x00100000

5th Aux Channel

#define XSM_SEQ_CH_AUX05   0x00200000

6th Aux Channel

#define XSM_SEQ_CH_AUX06   0x00400000

7th Aux Channel

#define XSM_SEQ_CH_AUX07   0x00800000

8th Aux Channel

#define XSM_SEQ_CH_AUX08   0x01000000

9th Aux Channel

#define XSM_SEQ_CH_AUX09   0x02000000

10th Aux Channel

#define XSM_SEQ_CH_AUX10   0x04000000

11th Aux Channel

#define XSM_SEQ_CH_AUX11   0x08000000

12th Aux Channel

#define XSM_SEQ_CH_AUX12   0x10000000

13th Aux Channel

#define XSM_SEQ_CH_AUX13   0x20000000

14th Aux Channel

#define XSM_SEQ_CH_AUX14   0x40000000

15th Aux Channel

#define XSM_SEQ_CH_AUX15   0x80000000

16th Aux Channel

Referenced by SysMonIntrExample(), SysMonLowLevelExample(), and SysMonPolledExample().

#define XSM_SEQ_CH_CALIB   0x00000001

ADC Calibration Channel.

#define XSM_SEQ_CH_TEMP   0x00000100

On Chip Temperature Channel.

Referenced by SysMonIntrExample(), SysMonLowLevelExample(), and SysMonPolledExample().

#define XSM_SEQ_CH_VBRAM   0x00004000

VBRAM Channel, 7 series/Zynq.

#define XSM_SEQ_CH_VCCAUX   0x00000400
#define XSM_SEQ_CH_VCCINT   0x00000200

VCCINT Channel.

#define XSM_SEQ_CH_VCCPAUX   0x00000040

VCCPAUX, Zynq Only.

#define XSM_SEQ_CH_VCCPDRO   0x00000080

VCCPDRO, Zynq Only.

#define XSM_SEQ_CH_VCCPINT   0x00000020

VCCPINT, Zynq Only.

#define XSM_SEQ_CH_VPVN   0x00000800

VP/VN analog inputs Channel.

#define XSM_SEQ_CH_VREFN   0x00002000

VREFN Channel.

#define XSM_SEQ_CH_VREFP   0x00001000

VREFP Channel.

#define XSM_SEQ_CH_VUSR0   0x100000000

VUSER0 Channel.

#define XSM_SEQ_CH_VUSR1   0x200000000

VUSER1 Channel.

#define XSM_SEQ_CH_VUSR2   0x400000000

VUSER2 Channel.

#define XSM_SEQ_CH_VUSR3   0x800000000

VUSER3 Channel.

#define XSM_SEQ_CH_VUSR_SHIFT   32
#define XSM_SEQ_MODE_CONTINPASS   2

Continuous Cycling Seqquencer.

Referenced by SysMonAuxPolledExample(), SysMonIntrExample(), and SysMonPolledExample().

#define XSM_SEQ_MODE_INDEPENDENT   8

Independent ADC Sequencer, 7 Series and Zynq XADC only.

Referenced by XSysMon_SetSequencerMode().

#define XSM_SEQ_MODE_ONEPASS   1

Onepass through Sequencer.

#define XSM_SEQ_MODE_SIMUL   4

Simultaneous Cycling Sequencer, 7 Series and Zynq XADC only.

Referenced by XSysMon_SetSequencerMode().

#define XSM_SEQ_MODE_SINGCHAN   3

Single channel - No Sequencing.

Referenced by SysMonSingleChannelIntrExample(), and XSysMon_SetSingleChParams().

#define XSM_SR_BUSY_MASK   0x00000080

ADC is busy in conversion.

#define XSM_SR_CH_MASK   0x0000001F

Input ADC channel.

#define XSM_SR_EOC_MASK   0x00000020

End of Conversion.

#define XSM_SR_EOS_MASK   0x00000040
#define XSM_SR_JTAG_BUSY_MASK   0x00000400

JTAG is busy.

#define XSM_SR_JTAG_LOCKED_MASK   0x00000100

JTAG is locked.

#define XSM_SR_JTAG_MODIFIED_MASK   0x00000200

JTAG Write has occurred.

#define XSM_SR_OFFSET   0x04

Status Register.

Referenced by SysMonLowLevelExample(), and XSysMon_GetStatus().

#define XSM_SRR_IPRST_MASK   0x0000000A

Device Reset Mask.

Referenced by SysMonLowLevelExample(), and XSysMon_Reset().

#define XSM_SRR_OFFSET   0x00

Software Reset Register.

Referenced by SysMonLowLevelExample(), and XSysMon_Reset().

#define XSM_SUPPLY_CALIB_OFFSET   (XSM_IP_OFFSET + 0x220)

Supply Offset Data Reg.

Referenced by XSysMon_GetCalibCoefficient().

#define XSM_TEMP_OFFSET   (XSM_IP_OFFSET + 0x200)

On-chip Temperature Reg.

Referenced by SysMonLowLevelExample(), and XSysMon_GetAdcData().

#define XSM_VBRAM_OFFSET   (XSM_IP_OFFSET + 0x218)

On-chip VBRAM Data,7-series/Zynq.

#define XSM_VCCAUX_OFFSET   (XSM_IP_OFFSET + 0x208)

On-chip VCCAUX Data Reg.

Referenced by SysMonLowLevelExample().

#define XSM_VCCINT_OFFSET   (XSM_IP_OFFSET + 0x204)

On-chip VCCINT Data Reg.

#define XSM_VCCPAUX_OFFSET   (XSM_IP_OFFSET + 0x230)

PS VCCPAUX Data Reg - Zynq.

#define XSM_VCCPDRO_OFFSET   (XSM_IP_OFFSET + 0x234)

PS VCCPDRO Data Reg - Zynq.

#define XSM_VCCPINT_OFFSET   (XSM_IP_OFFSET + 0x22C)

PS VCCPINT Data Reg - Zynq.

#define XSM_VPVN_OFFSET   (XSM_IP_OFFSET + 0x20C)

ADC out of VP/VN.

#define XSM_VREFN_OFFSET   (XSM_IP_OFFSET + 0x214)

On-chip VREFN Data Reg.

#define XSM_VREFP_OFFSET   (XSM_IP_OFFSET + 0x210)

On-chip VREFP Data Reg.

#define XSM_VUSR0_OFFSET   (XSM_IP_OFFSET + 0x400)

VUSER0 Supply - Ultrascale.

Referenced by XSysMon_GetAdcData().

#define XSM_VUSR1_OFFSET   (XSM_IP_OFFSET + 0x404)

VUSER0 Supply - Ultrascale.

#define XSM_VUSR2_OFFSET   (XSM_IP_OFFSET + 0x408)

VUSER0 Supply - Ultrascale.

#define XSM_VUSR3_OFFSET   (XSM_IP_OFFSET + 0x40C)

VUSER0 Supply - Ultrascale.

#define XSysMon_IsDrpBusy (   InstancePtr)
Value:
((XSysMon_ReadReg((InstancePtr)->Config.BaseAddress, \
TRUE : FALSE)
#define XSM_SR_OFFSET
Status Register.
Definition: xsysmon_hw.h:107
#define XSM_SR_JTAG_BUSY_MASK
JTAG is busy.
Definition: xsysmon_hw.h:349
#define XSysMon_ReadReg(BaseAddress, RegOffset)
Read a register of the System Monitor/ADC device.
Definition: xsysmon_hw.h:666

This macro checks if the Dynamic Reconfiguration Port (DRP) transaction from the JTAG is in progress.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
  • TRUE if the DRP transaction from JTAG is in Progress.
  • FALSE if there is no DRP transaction from the JTAG.
Note
C-Style signature: int XSysMon_IsDrpBusy(XSysMon *InstancePtr);
#define XSysMon_IsDrpLocked (   InstancePtr)
Value:
(((XSysMon_ReadReg((InstancePtr)->Config.BaseAddress, \
TRUE : FALSE))
#define XSM_SR_JTAG_LOCKED_MASK
JTAG is locked.
Definition: xsysmon_hw.h:351
#define XSM_SR_OFFSET
Status Register.
Definition: xsysmon_hw.h:107
#define XSysMon_ReadReg(BaseAddress, RegOffset)
Read a register of the System Monitor/ADC device.
Definition: xsysmon_hw.h:666

This macro checks if the Dynamic Reconfiguration Port (DRP) is locked by the JTAG.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
  • TRUE if the DRP is locked by the JTAG.
  • FALSE if the DRP is not locked by the JTAG.
Note
C-Style signature: int XSysMon_IsDrpLocked(XSysMon *InstancePtr);
#define XSysMon_IsEventSamplingModeSet (   InstancePtr)
Value:
(((XSysMon_ReadReg((InstancePtr)->Config.BaseAddress, \
TRUE : FALSE))
#define XSM_CFR0_EC_MASK
Event driven/Continuous mode.
Definition: xsysmon_hw.h:476
#define XSM_CFR0_OFFSET
Configuration Register 0.
Definition: xsysmon_hw.h:248
#define XSysMon_ReadReg(BaseAddress, RegOffset)
Read a register of the System Monitor/ADC device.
Definition: xsysmon_hw.h:666

This macro checks if the SysMonitor/ADC device is in Event Sampling mode.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
  • TRUE if the device is in Event Sampling Mode.
  • FALSE if the device is in Continuous Sampling Mode.
Note
C-Style signature: int XSysMon_IsEventSamplingMode(XSysMon *InstancePtr);
#define XSysMon_RawToTemperature (   AdcData)    ((((float)(AdcData)/65536.0f)/0.00198421639f ) - 273.15f)

This macro converts System Monitor/ADC Raw Data to Temperature(centigrades).

Parameters
AdcDatais the SysMon Raw ADC Data.
Returns
The Temperature in centigrades.
Note
C-Style signature: float XSysMon_RawToTemperature(u32 AdcData);

Referenced by SysMonIntrExample(), and SysMonPolledExample().

#define XSysMon_RawToVoltage (   AdcData)    ((((float)(AdcData))* (3.0f))/65536.0f)

This macro converts System Monitor/ADC Raw Data to Voltage(volts).

Parameters
AdcDatais the System Monitor/ADC Raw Data.
Returns
The Voltage in volts.
Note
C-Style signature: float XSysMon_RawToVoltage(u32 AdcData);

Referenced by SysMonAuxPolledExample().

#define XSysMon_TemperatureToRaw (   Temperature)    ((int)(((Temperature) + 273.15f)*65536.0f*0.00198421639f))

This macro converts Temperature in centigrades to System Monitor/ADC Raw Data.

Parameters
Temperatureis the Temperature in centigrades to be converted to System Monitor/ADC Raw Data.
Returns
The System Monitor/ADC Raw Data.
Note
C-Style signature: int XSysMon_TemperatureToRaw(float Temperature);
#define XSysMon_VoltageToRaw (   Voltage)    ((int)((Voltage)*65536.0f/3.0f))

This macro converts Voltage in Volts to System Monitor/ADC Raw Data.

Parameters
Voltageis the Voltage in volts to be converted to System Monitor/ADC Raw Data.
Returns
The System Monitor/ADC Raw Data.
Note
C-Style signature: int XSysMon_VoltageToRaw(float Voltage);
#define XSysMon_WriteReg (   BaseAddress,
  RegOffset,
  Data 
)    (Xil_Out32((BaseAddress) + (RegOffset), (Data)))

Write a register of the System Monitor/ADC device.

This macro provides register access to all registers using the register offsets defined above.

Parameters
BaseAddresscontains the base address of the device.
RegOffsetis the offset of the register to write.
Datais the value to write to the register.
Returns
None.
Note
C-style Signature: void XSysMon_WriteReg(u32 BaseAddress, u32 RegOffset,u32 Data)

Referenced by SysMonLowLevelExample(), XSysMon_DisableTempUpdate(), XSysMon_DisableUserOverTemp(), XSysMon_EnableTempUpdate(), XSysMon_EnableUserOverTemp(), XSysMon_IntrClear(), XSysMon_IntrDisable(), XSysMon_IntrEnable(), XSysMon_IntrGlobalDisable(), XSysMon_IntrGlobalEnable(), XSysMon_Reset(), XSysMon_ResetAdc(), XSysMon_SetAdcClkDivisor(), XSysMon_SetAlarmEnables(), XSysMon_SetAlarmThreshold(), XSysMon_SetAvg(), XSysMon_SetCalibEnables(), XSysMon_SetExtenalMux(), XSysMon_SetOverTemp(), XSysMon_SetSeqAcqTime(), XSysMon_SetSeqAvgEnables(), XSysMon_SetSeqChEnables(), XSysMon_SetSeqInputMode(), XSysMon_SetSequencerEvent(), XSysMon_SetSequencerMode(), XSysMon_SetSingleChParams(), XSysMon_SetTempWaitCycles(), and XSysMon_StartAdcConversion().

Function Documentation

int XSysMon_CfgInitialize ( XSysMon InstancePtr,
XSysMon_Config ConfigPtr,
UINTPTR  EffectiveAddr 
)

This function initializes a specific XSysMon device/instance.

Functions in xsysmon.c.

This function must be called prior to using the System Monitor/ADC device.

Parameters
InstancePtris a pointer to the XSysMon instance.
ConfigPtrpoints to the XSysMon device configuration structure.
EffectiveAddris the device base address in the virtual memory address space. If the address translation is not used then the physical address is passed. Unexpected errors may occur if the address mapping is changed after this function is invoked.
Returns
  • XST_SUCCESS if successful.
Note
The user needs to first call the XSysMon_LookupConfig() API which returns the Configuration structure pointer which is passed as a parameter to the XSysMon_CfgInitialize() API.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon_Config::DeviceId, XSysMon_Config::IncludeInterrupt, XSysMon::IsReady, XSysMon::Mask, XSM_CONVST_WAITCYCLES_DEFAULT, XSM_CONVST_WAITCYCLES_SHIFT, and XSysMon_Reset().

Referenced by SysMonAuxPolledExample(), SysMonIntrExample(), SysMonPolledExample(), and SysMonSingleChannelIntrExample().

void XSysMon_DisableTempUpdate ( XSysMon InstancePtr)

This function disables the Temperature updation logic for TEMP_OUT port.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
None.
Note
None

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSysMon::Mask, XSM_CONVST_OFFSET, XSM_CONVST_TEMPUPDT_MASK, and XSysMon_WriteReg.

void XSysMon_DisableUserOverTemp ( XSysMon InstancePtr)

This function disables programming of the powerdown temperature for the OverTemp signal in the OT Powerdown register.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
None.
Note
This API should be used only with V6 SysMon/7 Series and Zynq XADC since the upper threshold of OverTemp is programmable in only V6 SysMon/7 Series and Zynq XADC.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_ATR_OT_UPPER_ENB_MASK, XSM_ATR_OT_UPPER_OFFSET, XSysMon_ReadReg, and XSysMon_WriteReg.

void XSysMon_EnableTempUpdate ( XSysMon InstancePtr)

This function enables the Temperature updation logic so that temperature can be sent over TEMP_OUT port.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
None.
Note
None

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSysMon::Mask, XSM_CONVST_OFFSET, XSM_CONVST_TEMPUPDT_MASK, and XSysMon_WriteReg.

void XSysMon_EnableUserOverTemp ( XSysMon InstancePtr)

This function enables programming of the powerdown temperature for the OverTemp signal in the OT Powerdown register.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
None.
Note
This API should be used only with V6/7 Series since the upper threshold of OverTemp is programmable in only V6 SysMon/7 Series and Zynq XADC.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_ATR_OT_UPPER_ENB_MASK, XSM_ATR_OT_UPPER_ENB_VAL, XSM_ATR_OT_UPPER_OFFSET, XSysMon_ReadReg, and XSysMon_WriteReg.

u8 XSysMon_GetAdcClkDivisor ( XSysMon InstancePtr)

The function gets the ADCCLK divisor from the Configuration Register 2.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
The divisor read from the Configuration Register 2.
Note
The ADCCLK is an internal clock used by the ADC and is synchronized to the DCLK clock. The ADCCLK is equal to DCLK divided by the user selection in the Configuration Register 2.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_CFR2_CD_SHIFT, XSM_CFR2_OFFSET, and XSysMon_ReadReg.

u16 XSysMon_GetAdcData ( XSysMon InstancePtr,
u8  Channel 
)

Get the ADC converted data for the specified channel.

Parameters
InstancePtris a pointer to the XSysMon instance.
Channelis the channel number. Use the XSM_CH_* defined in the file xsysmon.h. The valid channels are 0 to 5 and 16 to 31 for all the device families. Channel 6 is valid for 7 Series and Zynq. Channel 13, 14, 15 are valid for Zynq. 32 to 35 are valid for Ultrascale.
Returns
A 16-bit value representing the ADC converted data for the specified channel. The System Monitor/ADC device guarantees a 10 bit resolution for the ADC converted data and data is the 10 MSB bits of the 16 data read from the device.
Note
The channels 7,8,9 are used for calibration of the device and hence there is no associated data with this channel. Please make sure that the proper channel number is passed.

References XSysMon::IsReady, XSM_CH_AUX_MAX, XSM_CH_VBRAM, XSM_CH_VCCPINT, XSM_CH_VUSR0, XSM_CH_VUSR3, XSM_TEMP_OFFSET, XSM_VUSR0_OFFSET, and XSysMon_ReadReg.

Referenced by SysMonAuxPolledExample(), SysMonIntrExample(), SysMonPolledExample(), and SysMonSingleChannelIntrExample().

u32 XSysMon_GetAlarmEnables ( XSysMon InstancePtr)

This function gets the status of the alarm output enables in the Configuration Register 1.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
This is the bit-mask of the enabled alarm outputs in the Configuration Register 1. Use the masks XSM_CFR_ALM_*, XSM_CFR_ALM*_* and XSM_CFR_OT_MASK defined in xsysmon_hw.h to interpret the returned value.

Bit positions of 1 indicate that the alarm output is enabled. Bit positions of 0 indicate that the alarm output is disabled.

Note
The implementation of the alarm enables in the Configuration register 1 is such that alarms for the bit positions of 1 will be disabled and alarms for bit positions of 0 will be enabled. The enabled alarm outputs returned by this function is the negated value of the the data read from the Configuration Register 1.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_CFR1_ALM_ALL_MASK, XSM_CFR1_OFFSET, XSM_CFR3_ALM_ALL_MASK, and XSysMon_ReadReg.

u32 XSysMon_GetAlarmOutputStatus ( XSysMon InstancePtr)

This function reads the contents of Alarm Output Register.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
A 32-bit value read from the Alarm Output Register. Use the XSM_AOR_*_MASK constants defined in xsysmon_hw.h to interpret the value.
Note
None.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_AOR_ALARM_ALL_MASK, XSM_AOR_OFFSET, and XSysMon_ReadReg.

Referenced by SysMonPolledExample().

u16 XSysMon_GetAlarmThreshold ( XSysMon InstancePtr,
u8  AlarmThrReg 
)

This function returns the contents of the specified Alarm Threshold Register.

Parameters
InstancePtris a pointer to the XSysMon instance.
AlarmThrRegis the index of an Alarm Threshold Register to be read. Use XSM_ATR_* constants defined in xsysmon.h to specify the index.
Returns
A 16-bit value representing the contents of the selected Alarm Threshold Register.
Note
Over Temperature upper threshold is programmable only in V6 and 7 Series XADC BRAM high and low voltage threshold registers are available only in 7 Series and Zynq XADC. All the remaining Alarm Threshold registers specified by the constants XSM_ATR_*, are available in all the families of the Sysmon.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_ATR_TEMP_UPPER_OFFSET, XSM_ATR_VUSR0_LOWER, XSM_ATR_VUSR3_LOWER, XSM_ATR_VUSR3_UPPER, and XSysMon_ReadReg.

Referenced by XSysMon_SelfTest().

u8 XSysMon_GetAvg ( XSysMon InstancePtr)

This function returns the number of samples of averaging configured for all the channels in the Configuration Register 0.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
The averaging read from the Configuration Register 0 is returned. Use the XSM_AVG_* bit definitions defined in xsysmon.h file to interpret the returned value :
  • XSM_AVG_0_SAMPLES means no averaging
  • XSM_AVG_16_SAMPLES means 16 samples of averaging
  • XSM_AVG_64_SAMPLES means 64 samples of averaging
  • XSM_AVG_256_SAMPLES means 256 samples of averaging
Note
None.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_CFR0_AVG_SHIFT, XSM_CFR0_AVG_VALID_MASK, XSM_CFR0_OFFSET, and XSysMon_ReadReg.

u16 XSysMon_GetCalibCoefficient ( XSysMon InstancePtr,
u8  CoeffType 
)

This function gets the calibration coefficient data for the specified parameter.

Parameters
InstancePtris a pointer to the XSysMon instance.
CoeffTypespecifies the calibration coefficient to be read. Use XSM_CALIB_* constants defined in xsysmon.h to specify the calibration coefficient to be read.
Returns
A 16-bit value representing the calibration coefficient. The System Monitor/ADC device guarantees a 10 bit resolution for the ADC converted data and data is the 10 MSB bits of the 16 data read from the device.
Note
None.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_CALIB_GAIN_ERROR_COEFF, XSM_SUPPLY_CALIB_OFFSET, and XSysMon_ReadReg.

u16 XSysMon_GetCalibEnables ( XSysMon InstancePtr)

This function reads the value of the calibration enables from the Configuration Register 1.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
The value of the calibration enables in the Configuration Register 1 :
  • XSM_CFR1_CAL_ADC_OFFSET_MASK : ADC offset correction
  • XSM_CFR1_CAL_ADC_GAIN_OFFSET_MASK : ADC gain and offset correction
  • XSM_CFR1_CAL_PS_OFFSET_MASK : Power Supply sensor offset correction
  • XSM_CFR1_CAL_PS_GAIN_OFFSET_MASK : Power Supply sensor gain and offset correction
  • XSM_CFR1_CAL_DISABLE_MASK : No Calibration
Note
None.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_CFR1_CAL_VALID_MASK, XSM_CFR1_OFFSET, and XSysMon_ReadReg.

u16 XSysMon_GetMinMaxMeasurement ( XSysMon InstancePtr,
u8  MeasurementType 
)

This function reads the Minimum/Maximum measurement for one of the following parameters :

    - Minimum Temperature (XSM_MIN_TEMP) - All families
    - Minimum VCCINT (XSM_MIN_VCCINT) - All families
    - Minimum VCCAUX (XSM_MIN_VCCAUX) - All families
    - Maximum Temperature (XSM_MAX_TEMP) - All families
    - Maximum VCCINT (XSM_MAX_VCCINT) - All families
    - Maximum VCCAUX (XSM_MAX_VCCAUX) - All families
    - Maximum VCCBRAM (XSM_MAX_VCCBRAM) - 7 series and Zynq only
    - Minimum VCCBRAM (XSM_MIN_VCCBRAM) - 7 series and Zynq only
            - Maximum VCCPINT (XSM_MAX_VCCPINT) - Zynq only
            - Maximum VCCPAUX (XSM_MAX_VCCPAUX) - Zynq only
            - Maximum VCCPDRO (XSM_MAX_VCCPDRO) - Zynq only
            - Minimum VCCPINT (XSM_MIN_VCCPINT) - Zynq only
            - Minimum VCCPAUX (XSM_MIN_VCCPAUX) - Zynq only
            - Minimum VCCPDRO (XSM_MIN_VCCPDRO) - Zynq only
    - Maximum VUSER0 (XSM_MAX_VUSR0) - Ultrascale
    - Maximum VUSER1 (XSM_MAX_VUSR1) - Ultrascale
    - Maximum VUSER2 (XSM_MAX_VUSR2) - Ultrascale
    - Maximum VUSER3 (XSM_MAX_VUSR3) - Ultrascale
    - Minimum VUSER0 (XSM_MIN_VUSR0) - Ultrascale
    - Minimum VUSER1 (XSM_MIN_VUSR1) - Ultrascale
    - Minimum VUSER2 (XSM_MIN_VUSR2) - Ultrascale
    - Minimum VUSER3 (XSM_MIN_VUSR3) - Ultrascale
Parameters
InstancePtris a pointer to the XSysMon instance.
MeasurementTypespecifies the parameter for which the Minimum/Maximum measurement has to be read. Use XSM_MAX_* and XSM_MIN_* constants defined in xsysmon.h to specify the data to be read.
Returns
A 16-bit value representing the maximum/minimum measurement for specified parameter. The System Monitor/ADC device guarantees a 10 bit resolution for the ADC converted data and data is the 10 MSB bits of 16 bit data read from the device.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_MAX_TEMP_OFFSET, XSM_MAX_VCCPDRO, XSM_MAX_VUSR0, XSM_MAX_VUSR3, XSM_MIN_VCCPDRO, XSM_MIN_VCCPINT, XSM_MIN_VUSR0, XSM_MIN_VUSR3, and XSysMon_ReadReg.

Referenced by SysMonPolledExample().

u16 XSysMon_GetOverTemp ( XSysMon InstancePtr)

This function returns the powerdown temperature of the OverTemp signal in the OT Powerdown register.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
A 12-bit OT Upper Alarm Register powerdown value.
Note
This API has been deprecated. Use XSysMon_GetAlarmThreshold(), instead. This API should be used only with V6/7 Series since the upper threshold of OverTemp is programmable in only V6 SysMon/7 Series and Zynq XADC.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_ATR_OT_UPPER_OFFSET, XSM_ATR_OT_UPPER_VAL_SHIFT, and XSysMon_ReadReg.

u32 XSysMon_GetSeqAcqTime ( XSysMon InstancePtr)

This function gets the status of acquisition from the ADC Channel Acquisition Time Sequencer Registers.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
The acquisition time for all the channels. Use XSM_SEQ_CH__* defined in xsysmon_hw.h to interpret the Channel numbers. Bit masks of 1 are the channels for which acquisition cycles are extended and bit mask of 0 are the channels for which acquisition cycles are not extended.
Note
None.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_SEQ06_CH_VALID_MASK, XSM_SEQ06_OFFSET, XSM_SEQ07_CH_VALID_MASK, XSM_SEQ07_OFFSET, XSM_SEQ_CH_AUX_SHIFT, and XSysMon_ReadReg.

u64 XSysMon_GetSeqAvgEnables ( XSysMon InstancePtr)

This function returns the channels for which the averaging has been enabled in the ADC Channel Averaging Enables Sequencer Registers.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
The status of averaging (enabled/disabled) for all the channels. Use XSM_SEQ_CH__* defined in xsysmon_hw.h to interpret the Channel numbers. Bit masks of 1 are the channels for which averaging is enabled and bit mask of 0 are the channels for averaging is disabled.
Note
None.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_SEQ02_CH_VALID_MASK, XSM_SEQ02_OFFSET, XSM_SEQ03_CH_VALID_MASK, XSM_SEQ03_OFFSET, XSM_SEQ09_CH_VALID_MASK, XSM_SEQ09_OFFSET, XSM_SEQ_CH_AUX_SHIFT, XSM_SEQ_CH_VUSR_SHIFT, and XSysMon_ReadReg.

u64 XSysMon_GetSeqChEnables ( XSysMon InstancePtr)

This function gets the channel enable bits status from the ADC Channel Selection Sequencer Registers.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
Gets the channel enable bits. Use XSM_SEQ_CH_* defined in xsysmon_hw.h to interpret the Channel numbers. Bit masks of 1 are the channels that are enabled and bit mask of 0 are the channels that are disabled.
None.
Note
None.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_SEQ00_CH_VALID_MASK, XSM_SEQ00_OFFSET, XSM_SEQ01_CH_VALID_MASK, XSM_SEQ01_OFFSET, XSM_SEQ08_CH_VALID_MASK, XSM_SEQ08_OFFSET, XSM_SEQ_CH_AUX_SHIFT, XSM_SEQ_CH_VUSR_SHIFT, and XSysMon_ReadReg.

u32 XSysMon_GetSeqInputMode ( XSysMon InstancePtr)

This function gets the Analog input mode for all the channels from the ADC Channel Analog-Input Mode Sequencer Registers.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
The input mode for all the channels. Use XSM_SEQ_CH_* defined in xsysmon_hw.h to interpret the Channel numbers. Bit masks of 1 are the channels for which input mode is differential and bit mask of 0 are the channels for which input mode is unipolar.
Note
None.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_SEQ04_CH_VALID_MASK, XSM_SEQ04_OFFSET, XSM_SEQ05_CH_VALID_MASK, XSM_SEQ05_OFFSET, XSM_SEQ_CH_AUX_SHIFT, and XSysMon_ReadReg.

u8 XSysMon_GetSequencerMode ( XSysMon InstancePtr)

This function gets the channel sequencer mode from the Configuration Register 1.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
The channel sequencer mode :
  • XSM_SEQ_MODE_SAFE : Default safe mode
  • XSM_SEQ_MODE_ONEPASS : One pass through sequence
  • XSM_SEQ_MODE_CONTINPASS : Continuous channel sequencing
  • XSM_SEQ_MODE_SINGCHAN : Single channel/Sequencer off
  • XSM_SEQ_MODE_SIMUL : Simultaneous sampling mode
  • XSM_SEQ_MODE_INDEPENDENT : Independent mode
Note
None.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_CFR1_OFFSET, XSM_CFR1_SEQ_SHIFT, XSM_CFR1_SEQ_VALID_MASK, and XSysMon_ReadReg.

Referenced by XSysMon_SetSeqAcqTime(), XSysMon_SetSeqAvgEnables(), XSysMon_SetSeqChEnables(), XSysMon_SetSeqInputMode(), and XSysMon_SetSingleChParams().

u32 XSysMon_GetStatus ( XSysMon InstancePtr)

The functions reads the contents of the Status Register.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
A 32-bit value representing the contents of the Status Register. Use the XSM_SR_*_MASK constants defined in xsysmon_hw.h to interpret the returned value.
Note
None.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_SR_OFFSET, and XSysMon_ReadReg.

Referenced by SysMonAuxPolledExample(), SysMonIntrExample(), and SysMonPolledExample().

void XSysMon_IntrClear ( XSysMon InstancePtr,
u32  Mask 
)

This function clears the specified interrupts in the Interrupt Status Register (IPISR).

Parameters
InstancePtris a pointer to the XSysMon instance.
Maskis the bit-mask of the interrupts to be cleared. Bit positions of 1 will be cleared. Bit positions of 0 will not change the previous interrupt status. This mask is formed by OR'ing XSM_IPIXR_* bits which are defined in xsysmon_hw.h.
Returns
None.
Note
The device must be configured at hardware build time to include interrupt component for this function to work.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon_Config::IncludeInterrupt, XSysMon::IsReady, XSM_IPISR_OFFSET, XSM_IPIXR_ALL_MASK, XSysMon_ReadReg, and XSysMon_WriteReg.

Referenced by SysMonIntrExample(), and SysMonSingleChannelIntrExample().

void XSysMon_IntrDisable ( XSysMon InstancePtr,
u32  Mask 
)

This function disables the specified interrupts in the device.

Parameters
InstancePtris a pointer to the XSysMon instance.
Maskis the bit-mask of the interrupts to be disabled. Bit positions of 1 will be disabled. Bit positions of 0 will keep the previous setting. This mask is formed by OR'ing XSM_IPIXR_* bits defined in xsysmon_hw.h.
Returns
None.
Note
The device must be configured at hardware build time to include interrupt component for this function to work.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon_Config::IncludeInterrupt, XSysMon::IsReady, XSM_IPIER_OFFSET, XSM_IPIXR_ALL_MASK, XSysMon_ReadReg, and XSysMon_WriteReg.

void XSysMon_IntrEnable ( XSysMon InstancePtr,
u32  Mask 
)

This function enables the specified interrupts in the device.

Interrupts enabled using this function will not occur until the global interrupt enable bit is set by using the XSysMon_IntrGlobalEnable()function.

Parameters
InstancePtris a pointer to the XSysMon instance.
Maskis the bit-mask of the interrupts to be enabled. Bit positions of 1 will be enabled. Bit positions of 0 will keep the previous setting. This mask is formed by OR'ing XSM_IPIXR_* bits defined in xsysmon_hw.h.
Returns
None.
Note
The device must be configured at hardware build time to include interrupt component for this function to work.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon_Config::IncludeInterrupt, XSysMon::IsReady, XSM_IPIER_OFFSET, XSM_IPIXR_ALL_MASK, XSysMon_ReadReg, and XSysMon_WriteReg.

Referenced by SysMonIntrExample(), and SysMonSingleChannelIntrExample().

u32 XSysMon_IntrGetEnabled ( XSysMon InstancePtr)

This function returns the enabled interrupts read from the Interrupt Enable Register (IPIER).

Use the XSM_IPIXR_* constants defined in xsysmon_hw.h to interpret the returned value.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
A 32-bit value representing the contents of the IPIER.
Note
The device must be configured at hardware build time to include interrupt component for this function to work.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon_Config::IncludeInterrupt, XSysMon::IsReady, XSM_IPIER_OFFSET, XSM_IPIXR_ALL_MASK, and XSysMon_ReadReg.

u32 XSysMon_IntrGetStatus ( XSysMon InstancePtr)

This function returns the interrupt status read from Interrupt Status Register(IPISR).

Use the XSM_IPIXR_* constants defined in xsysmon_hw.h to interpret the returned value.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
A 32-bit value representing the contents of the IPISR.
Note
The device must be configured at hardware build time to include interrupt component for this function to work.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon_Config::IncludeInterrupt, XSysMon::IsReady, XSM_IPISR_OFFSET, XSM_IPIXR_ALL_MASK, and XSysMon_ReadReg.

Referenced by SysMonIntrExample(), and SysMonSingleChannelIntrExample().

void XSysMon_IntrGlobalDisable ( XSysMon InstancePtr)

This function disables the global interrupt in the Global Interrupt Enable Register (GIER) so that the interrupt output from the System Monitor/ADC device is disabled.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
None.
Note
The device must be configured at hardware build time to include interrupt component for this function to work.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon_Config::IncludeInterrupt, XSysMon::IsReady, XSM_GIER_OFFSET, and XSysMon_WriteReg.

Referenced by SysMonIntrExample(), and SysMonSingleChannelIntrExample().

void XSysMon_IntrGlobalEnable ( XSysMon InstancePtr)

Functions in xsysmon_intr.c.

This function enables the global interrupt in the Global Interrupt Enable Register (GIER) so that the interrupt output from the System Monitor/ADC device is enabled.

Interrupts enabled using XSysMon_IntrEnable() will not occur until the global interrupt enable bit is set by using this function.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
None.
Note
The device must be configured at hardware build time to include interrupt component for this function to work.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon_Config::IncludeInterrupt, XSysMon::IsReady, XSM_GIER_GIE_MASK, XSM_GIER_OFFSET, and XSysMon_WriteReg.

Referenced by SysMonIntrExample(), and SysMonSingleChannelIntrExample().

XSysMon_Config * XSysMon_LookupConfig ( u16  DeviceId)

Functions in xsysmon_sinit.c.

This function looks up the device configuration based on the unique device ID.

The table XSysMon_ConfigTable contains the configuration info for each device in the system.

Parameters
DeviceIdcontains the ID of the device for which the device configuration pointer is to be returned.
Returns
  • A pointer to the configuration found.
  • NULL if the specified device ID was not found.
Note
None.

Referenced by SysMonAuxPolledExample(), SysMonIntrExample(), SysMonPolledExample(), and SysMonSingleChannelIntrExample().

void XSysMon_Reset ( XSysMon InstancePtr)

This function forces the software reset of the complete SystemMonitor/ADC Hard Macro and the SYSMON ADC Core Logic.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
None.
Note
The Control registers in the SystemMonitor/ADC Hard Macro are not affected by this reset, only the Status registers are reset. Refer to the device data sheet for the device status and register values after the reset. Use the XSysMon_ResetAdc() to reset only the SystemMonitor/ADC Hard Macro.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_SRR_IPRST_MASK, XSM_SRR_OFFSET, and XSysMon_WriteReg.

Referenced by XSysMon_CfgInitialize(), and XSysMon_SelfTest().

void XSysMon_ResetAdc ( XSysMon InstancePtr)

This function resets the SystemMonitor/ADC Hard Macro in the device.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
None.
Note
The Control registers in the SystemMonitor/ADC Hard Macro are not affected by this reset, only the Status registers are reset. This reset causes the ADC to begin with a new conversion. Refer to the device data sheet for the device status and register values after the reset. Use the XSysMon_Reset() API to reset both the SystemMonitor/ADC Hard Macro and the SYSMON ADC Core Logic.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_ARR_OFFSET, XSM_ARR_RST_MASK, and XSysMon_WriteReg.

int XSysMon_SelfTest ( XSysMon InstancePtr)

Functions in xsysmon_selftest.c.

Run a self-test on the driver/device.

The test

  • Resets the device,
  • Writes a value into the Alarm Threshold register and reads it back for comparison.
  • Resets the device again.
Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
  • XST_SUCCESS if the value read from the Alarm Threshold register is the same as the value written.
  • XST_FAILURE Otherwise
Note
This is a destructive test in that resets of the device are performed. Refer to the device specification for the device status after the reset operation.

References XSysMon::IsReady, XSM_ATR_VCCINT_UPPER, XSysMon_GetAlarmThreshold(), XSysMon_Reset(), and XSysMon_SetAlarmThreshold().

Referenced by SysMonAuxPolledExample(), SysMonIntrExample(), SysMonPolledExample(), and SysMonSingleChannelIntrExample().

void XSysMon_SetAdcClkDivisor ( XSysMon InstancePtr,
u8  Divisor 
)

The function sets the frequency of the ADCCLK by configuring the DCLK to ADCCLK ratio in the Configuration Register #2.

Parameters
InstancePtris a pointer to the XSysMon instance.
Divisoris clock divisor used to derive ADCCLK from DCLK. Valid values of the divisor are
  • 8 to 255 for V5 SysMon.
  • 0 to 255 for V6/7 Series and Zynq XADC. Values 0, 1, 2 are all mapped to 2. Refer to the device specification for more details.
Returns
None.
Note
- The ADCCLK is an internal clock used by the ADC and is synchronized to the DCLK clock. The ADCCLK is equal to DCLK divided by the user selection in the Configuration Register 2.
  • There is no Assert on the minimum value of the Divisor. Users must take care such that the minimum value of Divisor used is 8, in case of V5 SysMon.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_CFR2_CD_SHIFT, XSM_CFR2_OFFSET, and XSysMon_WriteReg.

Referenced by SysMonAuxPolledExample(), SysMonIntrExample(), SysMonPolledExample(), and SysMonSingleChannelIntrExample().

void XSysMon_SetAlarmEnables ( XSysMon InstancePtr,
u32  AlmEnableMask 
)

This function enables the alarm outputs for the specified alarms in the Configuration Registers 1 and 3:

    - OT for Over Temperature (XSM_CFR_OT_MASK)
    - ALM0 for On board Temperature (XSM_CFR_ALM_TEMP_MASK)
    - ALM1 for VCCINT (XSM_CFR_ALM_VCCINT_MASK)
    - ALM2 for VCCAUX (XSM_CFR_ALM_VCCAUX_MASK)
            - ALM3 for VBRAM (XSM_CFR_ALM_VBRAM_MASK)for 7 Series and Zynq
            - ALM4 for VCCPINT (XSM_CFR_ALM_VCCPINT_MASK) for Zynq
    - ALM5 for VCCPAUX (XSM_CFR_ALM_VCCPAUX_MASK) for Zynq
            - ALM6 for VCCPDRO (XSM_CFR_ALM_VCCPDRO_MASK) for Zynq
            - ALM8 for VUSER0 (XSM_CFR_ALM_VUSR0_MASK) for Ultrascale
            - ALM9 for VUSER1 (XSM_CFR_ALM_VUSR1_MASK) for Ultrascale
            - ALM10 for VUSER2 (XSM_CFR_ALM_VUSR2_MASK) for Ultrascale
            - ALM11 for VUSER3 (XSM_CFR_ALM_VUSR3_MASK) for Ultrascale
Parameters
InstancePtris a pointer to the XSysMon instance.
AlmEnableMaskis the bit-mask of the alarm outputs to be enabled in the Configuration Register 1. Bit positions of 1 will be enabled. Bit positions of 0 will be disabled. This mask is formed by OR'ing XSM_CFR_ALM_*_MASK, XSM_CFR_ALM_*_MASK and XSM_CFR_OT_MASK masks defined in xsysmon_hw.h.
Returns
None.
Note
The implementation of the alarm enables in the Configuration register 1 is such that the alarms for bit positions of 1 will be disabled and alarms for bit positions of 0 will be enabled. The alarm outputs specified by the AlmEnableMask are negated before writing to the Configuration Register 1.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_CFR1_ALM_ALL_MASK, XSM_CFR1_OFFSET, XSM_CFR3_ALM_ALL_MASK, XSysMon_ReadReg, and XSysMon_WriteReg.

Referenced by SysMonIntrExample(), SysMonPolledExample(), and SysMonSingleChannelIntrExample().

void XSysMon_SetAlarmThreshold ( XSysMon InstancePtr,
u8  AlarmThrReg,
u16  Value 
)

This functions sets the contents of the given Alarm Threshold Register.

Parameters
InstancePtris a pointer to the XSysMon instance.
AlarmThrRegis the index of an Alarm Threshold Register to be set. Use XSM_ATR_* constants defined in xsysmon.h to specify the index.
Valueis the 16-bit threshold value to write into the register.
Returns
None.
Note
Over Temperature upper threshold is programmable only in V6, 7 Series/Zynq XADC and UltraScale. BRAM high and low voltage threshold registers are available only in 7 Series XADC and UltraScale. VUSER0 to VUSER3 threshold registers are available only in UltraScale. All the remaining Alarm Threshold registers specified by the constants XSM_ATR_*, are available in all the families of the Sysmon.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_ATR_TEMP_UPPER_OFFSET, XSM_ATR_VUSR0_LOWER, XSM_ATR_VUSR3_LOWER, XSM_ATR_VUSR3_UPPER, and XSysMon_WriteReg.

Referenced by SysMonIntrExample(), SysMonPolledExample(), SysMonSingleChannelIntrExample(), and XSysMon_SelfTest().

void XSysMon_SetAvg ( XSysMon InstancePtr,
u8  Average 
)

This function sets the number of samples of averaging that is to be done for all the channels in both the single channel mode and sequence mode of operations.

Parameters
InstancePtris a pointer to the XSysMon instance.
Averageis the number of samples of averaging programmed to the Configuration Register 0. Use the XSM_AVG_* definitions defined in xsysmon.h file :
  • XSM_AVG_0_SAMPLES for no averaging
  • XSM_AVG_16_SAMPLES for 16 samples of averaging
  • XSM_AVG_64_SAMPLES for 64 samples of averaging
  • XSM_AVG_256_SAMPLES for 256 samples of averaging
Returns
None.
Note
None.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_AVG_256_SAMPLES, XSM_CFR0_AVG_SHIFT, XSM_CFR0_AVG_VALID_MASK, XSM_CFR0_OFFSET, XSysMon_ReadReg, and XSysMon_WriteReg.

Referenced by SysMonAuxPolledExample(), SysMonIntrExample(), and SysMonPolledExample().

void XSysMon_SetCalibEnables ( XSysMon InstancePtr,
u16  Calibration 
)

This function enables the specified calibration in the Configuration Register 1 :

  - XSM_CFR1_CAL_ADC_OFFSET_MASK : Calibration 0 -ADC offset correction
  - XSM_CFR1_CAL_ADC_GAIN_OFFSET_MASK : Calibration 1 -ADC gain and offset
  correction
  - XSM_CFR1_CAL_PS_OFFSET_MASK : Calibration 2 -Power Supply sensor
  offset correction
  - XSM_CFR1_CAL_PS_GAIN_OFFSET_MASK : Calibration 3 -Power Supply sensor
  gain and offset correction
  - XSM_CFR1_CAL_DISABLE_MASK : No Calibration
Parameters
InstancePtris a pointer to the XSysMon instance.
Calibrationis the Calibration to be applied. Use XSM_CFR1_CAL*_* bits defined in xsysmon_hw.h. Multiple calibrations can be enabled at a time by oring the XSM_CFR1_CAL_ADC_* and XSM_CFR1_CAL_PS_* bits. Calibration can be disabled by specifying XSM_CFR1_CAL_DISABLE_MASK;
Returns
None.
Note
None.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_CFR1_CAL_ADC_OFFSET_MASK, XSM_CFR1_CAL_DISABLE_MASK, XSM_CFR1_CAL_VALID_MASK, XSM_CFR1_OFFSET, XSysMon_ReadReg, and XSysMon_WriteReg.

void XSysMon_SetExtenalMux ( XSysMon InstancePtr,
u8  Channel 
)

The function enables the external mux and connects a channel to the mux.

Parameters
InstancePtris a pointer to the XSysMon instance.
Channelis the channel number used to connect to the external Mux. The valid channels are 0 to 6, 8, and 16 to 31.
Returns
  • XST_SUCCESS if the given values were written successfully to the Configuration Register 0.
  • XST_FAILURE if the channel sequencer is enabled or the input parameters are not valid for the selected channel.
Note
The External Mux is only available in 7 Series and Zynq XADC. This API should be used only with 7 Series and Zynq XADC.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_CFR0_CHANNEL_MASK, XSM_CFR0_MUX_MASK, XSM_CFR0_OFFSET, XSM_CH_AUX_MAX, XSM_CH_AUX_MIN, XSM_CH_VREFN, XSysMon_ReadReg, and XSysMon_WriteReg.

Referenced by SysMonAuxPolledExample().

void XSysMon_SetOverTemp ( XSysMon InstancePtr,
u16  Value 
)

This function sets the powerdown temperature for the OverTemp signal in the OT Powerdown register.

Parameters
InstancePtris a pointer to the XSysMon instance.
Valueis the 16-bit OT Upper Alarm Register powerdown value. Valid values are 0 to 0x0FFF.
Returns
None.
Note
This API has been deprecated. Use XSysMon_SetAlarmThreshold(), instead. This API should be used only with V6/7 Series since the upper threshold of OverTemp is programmable in in only V6 SysMon/7 Series and Zynq XADC.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_ATR_OT_UPPER_OFFSET, XSM_ATR_OT_UPPER_VAL_MASK, XSM_ATR_OT_UPPER_VAL_MAX, XSM_ATR_OT_UPPER_VAL_SHIFT, XSysMon_ReadReg, and XSysMon_WriteReg.

int XSysMon_SetSeqAcqTime ( XSysMon InstancePtr,
u32  AcqCyclesChMask 
)

This function sets the number of Acquisition cycles in the ADC Channel Acquisition Time Sequencer Registers.

The sequencer must be in the Safe Mode before writing to these registers.

Parameters
InstancePtris a pointer to the XSysMon instance.
AcqCyclesChMaskis the bit mask of all the channels for which the number of acquisition cycles is to be extended. Use XSM_SEQ_CH__* defined in xsysmon_hw.h to specify the Channel numbers. Acquisition cycles will be extended to 10 ADCCLK cycles for bit masks of 1 and will be the default 4 ADCCLK cycles for bit masks of 0. The AcqCyclesChMask is a 32 bit mask that is written to the two 16 bit ADC Channel Acquisition Time Sequencer Registers.
Returns
  • XST_SUCCESS if the given values were written successfully to the Channel Sequencer Registers.
  • XST_FAILURE if the channel sequencer is enabled.
Note
None.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_SEQ06_CH_VALID_MASK, XSM_SEQ06_OFFSET, XSM_SEQ07_CH_VALID_MASK, XSM_SEQ07_OFFSET, XSM_SEQ_CH_AUX_SHIFT, XSM_SEQ_MODE_SAFE, XSysMon_GetSequencerMode(), and XSysMon_WriteReg.

Referenced by SysMonAuxPolledExample(), SysMonIntrExample(), and SysMonPolledExample().

int XSysMon_SetSeqAvgEnables ( XSysMon InstancePtr,
u64  AvgEnableChMask 
)

This function enables the averaging for the specified channels in the ADC Channel Averaging Enable Sequencer Registers.

The sequencer must be in the Safe Mode before writing to these registers.

Parameters
InstancePtris a pointer to the XSysMon instance.
AvgEnableChMaskis the bit mask of all the channels for which averaging is to be enabled. Use XSM_SEQ_CH__* defined in xsysmon_hw.h to specify the Channel numbers. Averaging will be enabled for bit masks of 1 and disabled for bit mask of 0. The AvgEnableChMask is a 64 bit mask that is written to the three 16 bit ADC Channel Averaging Enable Sequencer Registers.
Returns
  • XST_SUCCESS if the given values were written successfully to the ADC Channel Averaging Enables Sequencer Registers.
  • XST_FAILURE if the channel sequencer is enabled.
Note
None.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_SEQ02_CH_VALID_MASK, XSM_SEQ02_OFFSET, XSM_SEQ03_CH_VALID_MASK, XSM_SEQ03_OFFSET, XSM_SEQ09_CH_VALID_MASK, XSM_SEQ09_OFFSET, XSM_SEQ_CH_AUX_SHIFT, XSM_SEQ_CH_VUSR_SHIFT, XSM_SEQ_MODE_SAFE, XSysMon_GetSequencerMode(), and XSysMon_WriteReg.

Referenced by SysMonAuxPolledExample(), SysMonIntrExample(), and SysMonPolledExample().

int XSysMon_SetSeqChEnables ( XSysMon InstancePtr,
u64  ChEnableMask 
)

This function enables the specified channels in the ADC Channel Selection Sequencer Registers.

The sequencer must be in the Safe Mode before writing to these registers.

Parameters
InstancePtris a pointer to the XSysMon instance.
ChEnableMaskis the bit mask of all the channels to be enabled. Use XSM_SEQ_CH_* defined in xsysmon_hw.h to specify the Channel numbers. Bit masks of 1 will be enabled and bit mask of 0 will be disabled. The ChEnableMask is a 64 bit mask that is written to the three 16 bit ADC Channel Selection Sequencer Registers.
Returns
  • XST_SUCCESS if the given values were written successfully to the ADC Channel Selection Sequencer Registers.
  • XST_FAILURE if the channel sequencer is enabled.
Note
None.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_SEQ00_CH_VALID_MASK, XSM_SEQ00_OFFSET, XSM_SEQ01_CH_VALID_MASK, XSM_SEQ01_OFFSET, XSM_SEQ08_CH_VALID_MASK, XSM_SEQ08_OFFSET, XSM_SEQ_CH_AUX_SHIFT, XSM_SEQ_CH_VUSR_SHIFT, XSM_SEQ_MODE_SAFE, XSysMon_GetSequencerMode(), and XSysMon_WriteReg.

Referenced by SysMonAuxPolledExample(), SysMonIntrExample(), and SysMonPolledExample().

int XSysMon_SetSeqInputMode ( XSysMon InstancePtr,
u32  InputModeChMask 
)

This function sets the Analog input mode for the specified channels in the ADC Channel Analog-Input Mode Sequencer Registers.

The sequencer must be in the Safe Mode before writing to these registers.

Parameters
InstancePtris a pointer to the XSysMon instance.
InputModeChMaskis the bit mask of all the channels for which the input mode is differential mode. Use XSM_SEQ_CH__* defined in xsysmon_hw.h to specify the channel numbers. Differential input mode will be set for bit masks of 1 and unipolar input mode for bit masks of 0. The InputModeChMask is a 32 bit mask that is written to the two 16 bit ADC Channel Analog-Input Mode Sequencer Registers.
Returns
  • XST_SUCCESS if the given values were written successfully to the ADC Channel Analog-Input Mode Sequencer Registers.
  • XST_FAILURE if the channel sequencer is enabled.
Note
None.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_SEQ04_CH_VALID_MASK, XSM_SEQ04_OFFSET, XSM_SEQ05_CH_VALID_MASK, XSM_SEQ05_OFFSET, XSM_SEQ_CH_AUX_SHIFT, XSM_SEQ_MODE_SAFE, XSysMon_GetSequencerMode(), and XSysMon_WriteReg.

Referenced by SysMonAuxPolledExample(), SysMonIntrExample(), and SysMonPolledExample().

void XSysMon_SetSequencerEvent ( XSysMon InstancePtr,
int  IsEventMode 
)

The function enables the Event mode or Continuous mode in the sequencer mode.

Parameters
InstancePtris a pointer to the XSysMon instance.
IsEventModeis a boolean parameter that specifies continuous sampling (specify FALSE) or event driven sampling mode (specify TRUE) for the given channel.
Returns
None.
Note
The Event mode is only available in 7 Series XADC and Zynq. This API should be used only with 7 Series XADC and Zynq .

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_CFR0_EC_MASK, XSM_CFR0_OFFSET, XSysMon_ReadReg, and XSysMon_WriteReg.

void XSysMon_SetSequencerMode ( XSysMon InstancePtr,
u8  SequencerMode 
)

This function sets the specified Channel Sequencer Mode in the Configuration Register 1 :

    - Default safe mode (XSM_SEQ_MODE_SAFE)
    - One pass through sequence (XSM_SEQ_MODE_ONEPASS)
    - Continuous channel sequencing (XSM_SEQ_MODE_CONTINPASS)
    - Single Channel/Sequencer off (XSM_SEQ_MODE_SINGCHAN)
    - Simultaneous sampling mode (XSM_SEQ_MODE_SIMUL)
    - Independent mode (XSM_SEQ_MODE_INDEPENDENT)
Parameters
InstancePtris a pointer to the XSysMon instance.
SequencerModeis the sequencer mode to be set. Use XSM_SEQ_MODE_* bits defined in xsysmon.h.
Returns
None.
Note
Only one of the modes can be enabled at a time.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_CFR1_OFFSET, XSM_CFR1_SEQ_SHIFT, XSM_CFR1_SEQ_VALID_MASK, XSM_SEQ_MODE_INDEPENDENT, XSM_SEQ_MODE_SIMUL, XSysMon_ReadReg, and XSysMon_WriteReg.

Referenced by SysMonAuxPolledExample(), SysMonIntrExample(), SysMonPolledExample(), and SysMonSingleChannelIntrExample().

int XSysMon_SetSingleChParams ( XSysMon InstancePtr,
u8  Channel,
int  IncreaseAcqCycles,
int  IsEventMode,
int  IsDifferentialMode 
)

The function sets the given parameters in the Configuration Register 0 in the single channel mode.

Parameters
InstancePtris a pointer to the XSysMon instance.
Channelis the channel number for conversion. The valid channels are 0 to 5, 8, and 16 to 31. Channel 6 is valid for 7 series and Zynq XADC. Channel 32 to 35 are valid for Ultrascale.
IncreaseAcqCyclesis a boolean parameter which specifies whether the Acquisition time for the external channels has to be increased to 10 ADCCLK cycles (specify TRUE) or remain at the default 4 ADCCLK cycles (specify FALSE). This parameter is only valid for the external channels.
IsEventModeis a boolean parameter that specifies continuous sampling (specify FALSE) or event driven sampling mode (specify TRUE) for the given channel.
IsDifferentialModeis a boolean parameter which specifies unipolar(specify FALSE) or differential mode (specify TRUE) for the analog inputs. The input mode is only valid for the external channels.
Returns
  • XST_SUCCESS if the given values were written successfully to the Configuration Register 0.
  • XST_FAILURE if the channel sequencer is enabled or the input parameters are not valid for the selected channel.
Note
  • The number of samples for the averaging for all the channels is set by using the function XSysMon_SetAvg.
  • The calibration of the device is done by doing a ADC conversion on the calibration channel(channel 8). The input parameters IncreaseAcqCycles, IsDifferentialMode and IsEventMode are not valid for this channel.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSM_CFR0_ACQ_MASK, XSM_CFR0_AVG_VALID_MASK, XSM_CFR0_CHANNEL_MASK, XSM_CFR0_DU_MASK, XSM_CFR0_EC_MASK, XSM_CFR0_OFFSET, XSM_CH_AUX_MAX, XSM_CH_AUX_MIN, XSM_CH_VPVN, XSM_CH_VREFN, XSM_CH_VUSR0, XSM_CH_VUSR3, XSM_SEQ_MODE_SINGCHAN, XSysMon_GetSequencerMode(), XSysMon_ReadReg, and XSysMon_WriteReg.

Referenced by SysMonSingleChannelIntrExample().

void XSysMon_SetTempWaitCycles ( XSysMon InstancePtr,
u16  WaitCycles 
)

This function sets the number of Wait Cycles for Temperature updation logic.

Parameters
InstancePtris a pointer to the XSysMon instance.
WaitCyclesis number of wait cycles
Returns
None.
Note
The default number of wait cycles are 1000(0x3E8).

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSysMon::Mask, XSM_CONVST_OFFSET, XSM_CONVST_WAITCYCLES_MASK, XSM_CONVST_WAITCYCLES_SHIFT, and XSysMon_WriteReg.

void XSysMon_StartAdcConversion ( XSysMon InstancePtr)

This function starts the ADC conversion in the Single Channel event driven sampling mode.

The EOC bit in Status Register will be set once the conversion is finished. Refer to the device specification for more details.

Parameters
InstancePtris a pointer to the XSysMon instance.
Returns
None.
Note
The default state of the CONVST bit is a logic 0. The conversion is started when the CONVST bit is set to 1 from 0. This bit is cleared in this function so that the next conversion can be started by setting this bit.

References XSysMon_Config::BaseAddress, XSysMon::Config, XSysMon::IsReady, XSysMon::Mask, XSM_CONVST_CONVST_MASK, XSM_CONVST_OFFSET, and XSysMon_WriteReg.

Variable Documentation

XSysMon_Config XSysMon_ConfigTable[]

This table contains configuration information for each System Monitor/ADC device in the system.

XSysMon_Config XSysMon_ConfigTable[XPAR_XSYSMON_NUM_INSTANCES]
Initial value:
=
{
{
XPAR_SYSMON_0_DEVICE_ID,
XPAR_SYSMON_0_BASEADDR,
XPAR_SYSMON_0_INCLUDE_INTR
}
}

This table contains configuration information for each System Monitor/ADC device in the system.