
This patch updates the doxygen for the drivers spi,spips,srio,sysmon,tmrctr to include .h files in the listof files provided in the index.html file. Signed-off-by: Kedareswara rao Appana <appanad@xilinx.com>
1517 lines
86 KiB
HTML
Executable file
1517 lines
86 KiB
HTML
Executable file
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
|
<title>
|
|
Xilinx Driver sysmon v7_0: xsysmon.c File Reference
|
|
</title>
|
|
<link href="doxygen_kalyanidocs/doc/css/driver_api_doxygen.css" rel="stylesheet" type="text/css">
|
|
</head>
|
|
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
|
|
<hl>Software Drivers</hl>
|
|
<hr class="whs1">
|
|
|
|
<!-- Generated by Doxygen 1.6.1 -->
|
|
<div class="navigation" id="top">
|
|
<div class="tabs">
|
|
<ul>
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<div class="tabs">
|
|
<ul>
|
|
<li><a href="files.html"><span>File List</span></a></li>
|
|
<li><a href="globals.html"><span>File Members</span></a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="contents">
|
|
<h1>xsysmon.c File Reference</h1><code>#include "<a class="el" href="xsysmon_8h.html">xsysmon.h</a>"</code><br/>
|
|
<table border="0" cellpadding="0" cellspacing="0">
|
|
<tr><td colspan="2"><h2>Functions</h2></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a543ff01a3a1c5b625c2b874cbb809465">XSysMon_CfgInitialize</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr, <a class="el" href="struct_x_sys_mon___config.html">XSysMon_Config</a> *ConfigPtr, u32 EffectiveAddr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a7f77755a291cf2bac28ff12a5cdd5d8a">XSysMon_Reset</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a34d731dace546db3397741f0d229cb3b">XSysMon_GetStatus</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a2220b73838f1d10b79b688d1a8ce4c03">XSysMon_GetAlarmOutputStatus</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#ad9997219e88de3f17da39970d52014fe">XSysMon_StartAdcConversion</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a9efcdd44a813be1e9b0e33b64c616cb3">XSysMon_ResetAdc</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">u16 </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a07ab2025481799032cd40ff62f4b10f6">XSysMon_GetAdcData</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr, u8 Channel)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">u16 </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#ae3e66317b9e918f0aeb5ca8bdc204c31">XSysMon_GetCalibCoefficient</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr, u8 CoeffType)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">u16 </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a15022394c1ba90705c3227f6cfa0f892">XSysMon_GetMinMaxMeasurement</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr, u8 MeasurementType)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#af3504732dccf017f38fa7ffd7483f358">XSysMon_SetAvg</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr, u8 Average)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">u8 </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#ab3af3c52fe39c41739b9fe95657e23ed">XSysMon_GetAvg</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a44e6fba16cf4b8cc69301523ed8344ce">XSysMon_SetSingleChParams</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr, u8 Channel, int IncreaseAcqCycles, int IsEventMode, int IsDifferentialMode)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a458e2807135bef154d249e80b145520a">XSysMon_SetAlarmEnables</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr, u32 AlmEnableMask)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a97e7f65e62613938d74c4b4ddfa8a3fc">XSysMon_GetAlarmEnables</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a94f9f1484443b0855b724b44e97f998c">XSysMon_SetCalibEnables</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr, u16 Calibration)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">u16 </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a1997b528dc71315f9ac87b7b3985967d">XSysMon_GetCalibEnables</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a433e353cd5a25454ce2a6da51494e478">XSysMon_SetSequencerMode</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr, u8 SequencerMode)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">u8 </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a046913c88b8e3b794d21a14b8ed5219c">XSysMon_GetSequencerMode</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a415023d979e637bac035cf6f902ab256">XSysMon_SetSequencerEvent</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr, int IsEventMode)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#aa5e941d4d6d614920634a8ff1925cbfd">XSysMon_SetExtenalMux</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr, u8 Channel)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a3c119682ea951295d41462e329da881a">XSysMon_SetAdcClkDivisor</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr, u8 Divisor)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">u8 </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a78664f36e8cac2dd37b6cf6ddc340076">XSysMon_GetAdcClkDivisor</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a60d92b3a70aab326364319b3d1f1a7cc">XSysMon_SetSeqChEnables</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr, u64 ChEnableMask)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">u64 </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#ad9aa35ccde843ef5b7182d171d3b4324">XSysMon_GetSeqChEnables</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#ae7072bfa213b7318fcc29408a459c0bb">XSysMon_SetSeqAvgEnables</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr, u64 AvgEnableChMask)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">u64 </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a5a31c725e3171a80ca4d90eebcee5577">XSysMon_GetSeqAvgEnables</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a3d3d8052fae049f4ca772b5956ced31f">XSysMon_SetSeqInputMode</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr, u32 InputModeChMask)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a45d42e268bdaba00cdbd121894aac96f">XSysMon_GetSeqInputMode</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#aeafd06e40eff4807b362edf043d725e8">XSysMon_SetSeqAcqTime</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr, u32 AcqCyclesChMask)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#abbe503899860c22ba1ee72db5171ba34">XSysMon_GetSeqAcqTime</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#af9d2de8d4141ae1e7e073ea296df739d">XSysMon_SetAlarmThreshold</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr, u8 AlarmThrReg, u16 Value)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">u16 </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#adacbf7c393aa18cacfc08e267db5e87b">XSysMon_GetAlarmThreshold</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr, u8 AlarmThrReg)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a433f79238dd1c1cdd6e1b1cfb9c0e7a1">XSysMon_SetOverTemp</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr, u16 Value)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">u16 </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a40de55fb20bf40a5cc9c12fe9ee844bd">XSysMon_GetOverTemp</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a8967ba93f41673db1105df3d6d851e62">XSysMon_EnableUserOverTemp</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a1d7558af57526ea84cb80a2395549b53">XSysMon_DisableUserOverTemp</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a6d5e047df91be7cc3463ae0881754f0f">XSysMon_EnableTempUpdate</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#a1d581ce24419f37988afac551a0f1a75">XSysMon_DisableTempUpdate</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr)</td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xsysmon_8c.html#ae3c96e6cb365a22d5aff07acaedb2101">XSysMon_SetTempWaitCycles</a> (<a class="el" href="struct_x_sys_mon.html">XSysMon</a> *InstancePtr, u16 WaitCycles)</td></tr>
|
|
</table>
|
|
<hr/><a name="_details"></a><h2>Detailed Description</h2>
|
|
<p>This file contains the driver API functions that can be used to access the System Monitor/ADC device.</p>
|
|
<p>Refer to the <a class="el" href="xsysmon_8h.html">xsysmon.h</a> header file for more information about this driver.</p>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>None.</dd></dl>
|
|
<pre></pre><pre> MODIFICATION HISTORY:</pre><pre> Ver Who Date Changes
|
|
----- ----- -------- -----------------------------------------------------
|
|
1.00a xd/sv 05/22/07 First release
|
|
2.00a sv 07/07/08 Modified the ADC data functions to return 16 bits of
|
|
data.
|
|
3.00a sdm 09/02/09 Added APIs for V6 SysMon.
|
|
4.00a ktn 10/22/09 Updated the file to use the HAL processor APIs/macros.
|
|
The macros have been renamed to remove _m from the name
|
|
of the macro.
|
|
5.00a sdm 06/15/11 Added support for XADC (7 Series Families).
|
|
5.01a bss 02/28/12 Added support for Zynq.
|
|
5.02a bss 11/23/12 Added XSysMon_EnableTempUpdate,
|
|
XSysMon_DisableTempUpdate and XSysMon_SetTempWaitCycles
|
|
APIs (CR #679872)
|
|
5.03a bss 04/25/13 Modified XSysMon_SetSeqChEnables,
|
|
XSysMon_SetSeqAvgEnables, XSysMon_SetSeqInputMode
|
|
and XSysMon_SetSeqAcqTime APIs to check for Safe Mode
|
|
instead of Single Channel mode. CR #703729
|
|
7.0 bss 7/25/14 Modified XSysMon_GetAdcData,
|
|
XSysMon_GetMinMaxMeasurement,
|
|
XSysMon_SetSingleChParams, XSysMon_SetAlarmEnables,
|
|
XSysMon_GetAlarmEnables,XSysMon_SetSeqChEnables,
|
|
XSysMon_GetSeqChEnables,XSysMon_SetSeqAvgEnables,
|
|
XSysMon_GetSeqAvgEnables,XSysMon_SetAlarmThreshold
|
|
and XSysMon_GetAlarmThreshold to support Ultrascale
|
|
</pre> <hr/><h2>Function Documentation</h2>
|
|
<a class="anchor" id="a543ff01a3a1c5b625c2b874cbb809465"></a><!-- doxytag: member="xsysmon.c::XSysMon_CfgInitialize" ref="a543ff01a3a1c5b625c2b874cbb809465" args="(XSysMon *InstancePtr, XSysMon_Config *ConfigPtr, u32 EffectiveAddr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XSysMon_CfgInitialize </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon___config.html">XSysMon_Config</a> * </td>
|
|
<td class="paramname"> <em>ConfigPtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u32 </td>
|
|
<td class="paramname"> <em>EffectiveAddr</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function initializes a specific <a class="el" href="struct_x_sys_mon.html">XSysMon</a> device/instance. This function must be called prior to using the System Monitor/ADC device.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>ConfigPtr</em> </td><td>points to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> device configuration structure. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>EffectiveAddr</em> </td><td>is 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.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if successful.</li>
|
|
</ul>
|
|
</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>The user needs to first call the <a class="el" href="xsysmon_8h.html#a02fbbb117ca8d4002ff222dcf2e4892d">XSysMon_LookupConfig()</a> API which returns the Configuration structure pointer which is passed as a parameter to the <a class="el" href="xsysmon_8c.html#a543ff01a3a1c5b625c2b874cbb809465">XSysMon_CfgInitialize()</a> API. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a1d581ce24419f37988afac551a0f1a75"></a><!-- doxytag: member="xsysmon.c::XSysMon_DisableTempUpdate" ref="a1d581ce24419f37988afac551a0f1a75" args="(XSysMon *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XSysMon_DisableTempUpdate </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function disables the Temperature updation logic for TEMP_OUT port</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>None </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a1d7558af57526ea84cb80a2395549b53"></a><!-- doxytag: member="xsysmon.c::XSysMon_DisableUserOverTemp" ref="a1d7558af57526ea84cb80a2395549b53" args="(XSysMon *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XSysMon_DisableUserOverTemp </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function disables programming of the powerdown temperature for the OverTemp signal in the OT Powerdown register.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>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. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a6d5e047df91be7cc3463ae0881754f0f"></a><!-- doxytag: member="xsysmon.c::XSysMon_EnableTempUpdate" ref="a6d5e047df91be7cc3463ae0881754f0f" args="(XSysMon *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XSysMon_EnableTempUpdate </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function enables the Temperature updation logic so that temperature can be sent over TEMP_OUT port.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>None </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a8967ba93f41673db1105df3d6d851e62"></a><!-- doxytag: member="xsysmon.c::XSysMon_EnableUserOverTemp" ref="a8967ba93f41673db1105df3d6d851e62" args="(XSysMon *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XSysMon_EnableUserOverTemp </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function enables programming of the powerdown temperature for the OverTemp signal in the OT Powerdown register.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>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. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a78664f36e8cac2dd37b6cf6ddc340076"></a><!-- doxytag: member="xsysmon.c::XSysMon_GetAdcClkDivisor" ref="a78664f36e8cac2dd37b6cf6ddc340076" args="(XSysMon *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u8 XSysMon_GetAdcClkDivisor </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>The function gets the ADCCLK divisor from the Configuration Register 2.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>The divisor read from the Configuration Register 2.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>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. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a07ab2025481799032cd40ff62f4b10f6"></a><!-- doxytag: member="xsysmon.c::XSysMon_GetAdcData" ref="a07ab2025481799032cd40ff62f4b10f6" args="(XSysMon *InstancePtr, u8 Channel)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u16 XSysMon_GetAdcData </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>Channel</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>Get the ADC converted data for the specified channel.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Channel</em> </td><td>is the channel number. Use the XSM_CH_* defined in the file <a class="el" href="xsysmon_8h.html">xsysmon.h</a>. 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.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>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.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>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. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a97e7f65e62613938d74c4b4ddfa8a3fc"></a><!-- doxytag: member="xsysmon.c::XSysMon_GetAlarmEnables" ref="a97e7f65e62613938d74c4b4ddfa8a3fc" args="(XSysMon *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XSysMon_GetAlarmEnables </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function gets the status of the alarm output enables in the Configuration Register 1.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>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 <a class="el" href="xsysmon__hw_8h.html">xsysmon_hw.h</a> to interpret the returned value.</dd></dl>
|
|
<p>Bit positions of 1 indicate that the alarm output is enabled. Bit positions of 0 indicate that the alarm output is disabled.</p>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>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. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a2220b73838f1d10b79b688d1a8ce4c03"></a><!-- doxytag: member="xsysmon.c::XSysMon_GetAlarmOutputStatus" ref="a2220b73838f1d10b79b688d1a8ce4c03" args="(XSysMon *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XSysMon_GetAlarmOutputStatus </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function reads the contents of Alarm Output Register.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>A 32-bit value read from the Alarm Output Register. Use the XSM_AOR_*_MASK constants defined in <a class="el" href="xsysmon__hw_8h.html">xsysmon_hw.h</a> to interpret the value.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="adacbf7c393aa18cacfc08e267db5e87b"></a><!-- doxytag: member="xsysmon.c::XSysMon_GetAlarmThreshold" ref="adacbf7c393aa18cacfc08e267db5e87b" args="(XSysMon *InstancePtr, u8 AlarmThrReg)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u16 XSysMon_GetAlarmThreshold </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>AlarmThrReg</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function returns the contents of the specified Alarm Threshold Register.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>AlarmThrReg</em> </td><td>is the index of an Alarm Threshold Register to be read. Use XSM_ATR_* constants defined in <a class="el" href="xsysmon_8h.html">xsysmon.h</a> to specify the index.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>A 16-bit value representing the contents of the selected Alarm Threshold Register.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>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. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ab3af3c52fe39c41739b9fe95657e23ed"></a><!-- doxytag: member="xsysmon.c::XSysMon_GetAvg" ref="ab3af3c52fe39c41739b9fe95657e23ed" args="(XSysMon *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u8 XSysMon_GetAvg </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function returns the number of samples of averaging configured for all the channels in the Configuration Register 0.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>The averaging read from the Configuration Register 0 is returned. Use the XSM_AVG_* bit definitions defined in <a class="el" href="xsysmon_8h.html">xsysmon.h</a> file to interpret the returned value :<ul>
|
|
<li>XSM_AVG_0_SAMPLES means no averaging</li>
|
|
<li>XSM_AVG_16_SAMPLES means 16 samples of averaging</li>
|
|
<li>XSM_AVG_64_SAMPLES means 64 samples of averaging</li>
|
|
<li>XSM_AVG_256_SAMPLES means 256 samples of averaging</li>
|
|
</ul>
|
|
</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ae3e66317b9e918f0aeb5ca8bdc204c31"></a><!-- doxytag: member="xsysmon.c::XSysMon_GetCalibCoefficient" ref="ae3e66317b9e918f0aeb5ca8bdc204c31" args="(XSysMon *InstancePtr, u8 CoeffType)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u16 XSysMon_GetCalibCoefficient </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>CoeffType</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function gets the calibration coefficient data for the specified parameter.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>CoeffType</em> </td><td>specifies the calibration coefficient to be read. Use XSM_CALIB_* constants defined in <a class="el" href="xsysmon_8h.html">xsysmon.h</a> to specify the calibration coefficient to be read.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>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.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a1997b528dc71315f9ac87b7b3985967d"></a><!-- doxytag: member="xsysmon.c::XSysMon_GetCalibEnables" ref="a1997b528dc71315f9ac87b7b3985967d" args="(XSysMon *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u16 XSysMon_GetCalibEnables </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function reads the value of the calibration enables from the Configuration Register 1.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>The value of the calibration enables in the Configuration Register 1 :<ul>
|
|
<li>XSM_CFR1_CAL_ADC_OFFSET_MASK : ADC offset correction</li>
|
|
<li>XSM_CFR1_CAL_ADC_GAIN_OFFSET_MASK : ADC gain and offset correction</li>
|
|
<li>XSM_CFR1_CAL_PS_OFFSET_MASK : Power Supply sensor offset correction</li>
|
|
<li>XSM_CFR1_CAL_PS_GAIN_OFFSET_MASK : Power Supply sensor gain and offset correction</li>
|
|
<li>XSM_CFR1_CAL_DISABLE_MASK : No Calibration</li>
|
|
</ul>
|
|
</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a15022394c1ba90705c3227f6cfa0f892"></a><!-- doxytag: member="xsysmon.c::XSysMon_GetMinMaxMeasurement" ref="a15022394c1ba90705c3227f6cfa0f892" args="(XSysMon *InstancePtr, u8 MeasurementType)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u16 XSysMon_GetMinMaxMeasurement </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>MeasurementType</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function reads the Minimum/Maximum measurement for one of the following parameters :</p>
|
|
<ul>
|
|
<li>Minimum Temperature (XSM_MIN_TEMP) - All families</li>
|
|
<li>Minimum VCCINT (XSM_MIN_VCCINT) - All families</li>
|
|
<li>Minimum VCCAUX (XSM_MIN_VCCAUX) - All families</li>
|
|
<li>Maximum Temperature (XSM_MAX_TEMP) - All families</li>
|
|
<li>Maximum VCCINT (XSM_MAX_VCCINT) - All families</li>
|
|
<li>Maximum VCCAUX (XSM_MAX_VCCAUX) - All families</li>
|
|
<li>Maximum VCCBRAM (XSM_MAX_VCCBRAM) - 7 series and Zynq only</li>
|
|
<li>Minimum VCCBRAM (XSM_MIN_VCCBRAM) - 7 series and Zynq only</li>
|
|
<li>Maximum VCCPINT (XSM_MAX_VCCPINT) - Zynq only</li>
|
|
<li>Maximum VCCPAUX (XSM_MAX_VCCPAUX) - Zynq only</li>
|
|
<li>Maximum VCCPDRO (XSM_MAX_VCCPDRO) - Zynq only</li>
|
|
<li>Minimum VCCPINT (XSM_MIN_VCCPINT) - Zynq only</li>
|
|
<li>Minimum VCCPAUX (XSM_MIN_VCCPAUX) - Zynq only</li>
|
|
<li>Minimum VCCPDRO (XSM_MIN_VCCPDRO) - Zynq only</li>
|
|
<li>Maximum VUSER0 (XSM_MAX_VUSR0) - Ultrascale</li>
|
|
<li>Maximum VUSER1 (XSM_MAX_VUSR1) - Ultrascale</li>
|
|
<li>Maximum VUSER2 (XSM_MAX_VUSR2) - Ultrascale</li>
|
|
<li>Maximum VUSER3 (XSM_MAX_VUSR3) - Ultrascale</li>
|
|
<li>Minimum VUSER0 (XSM_MIN_VUSR0) - Ultrascale</li>
|
|
<li>Minimum VUSER1 (XSM_MIN_VUSR1) - Ultrascale</li>
|
|
<li>Minimum VUSER2 (XSM_MIN_VUSR2) - Ultrascale</li>
|
|
<li>Minimum VUSER3 (XSM_MIN_VUSR3) - Ultrascale</li>
|
|
</ul>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>MeasurementType</em> </td><td>specifies the parameter for which the Minimum/Maximum measurement has to be read. Use XSM_MAX_* and XSM_MIN_* constants defined in <a class="el" href="xsysmon_8h.html">xsysmon.h</a> to specify the data to be read.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>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. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a40de55fb20bf40a5cc9c12fe9ee844bd"></a><!-- doxytag: member="xsysmon.c::XSysMon_GetOverTemp" ref="a40de55fb20bf40a5cc9c12fe9ee844bd" args="(XSysMon *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u16 XSysMon_GetOverTemp </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function returns the powerdown temperature of the OverTemp signal in the OT Powerdown register.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>A 12-bit OT Upper Alarm Register powerdown value.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>This API has been deprecated. Use <a class="el" href="xsysmon_8c.html#adacbf7c393aa18cacfc08e267db5e87b">XSysMon_GetAlarmThreshold()</a>, 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. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="abbe503899860c22ba1ee72db5171ba34"></a><!-- doxytag: member="xsysmon.c::XSysMon_GetSeqAcqTime" ref="abbe503899860c22ba1ee72db5171ba34" args="(XSysMon *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XSysMon_GetSeqAcqTime </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function gets the status of acquisition from the ADC Channel Acquisition Time Sequencer Registers.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>The acquisition time for all the channels. Use XSM_SEQ_CH__* defined in <a class="el" href="xsysmon__hw_8h.html">xsysmon_hw.h</a> 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.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a5a31c725e3171a80ca4d90eebcee5577"></a><!-- doxytag: member="xsysmon.c::XSysMon_GetSeqAvgEnables" ref="a5a31c725e3171a80ca4d90eebcee5577" args="(XSysMon *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u64 XSysMon_GetSeqAvgEnables </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function returns the channels for which the averaging has been enabled in the ADC Channel Averaging Enables Sequencer Registers.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>The status of averaging (enabled/disabled) for all the channels. Use XSM_SEQ_CH__* defined in <a class="el" href="xsysmon__hw_8h.html">xsysmon_hw.h</a> 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.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ad9aa35ccde843ef5b7182d171d3b4324"></a><!-- doxytag: member="xsysmon.c::XSysMon_GetSeqChEnables" ref="ad9aa35ccde843ef5b7182d171d3b4324" args="(XSysMon *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u64 XSysMon_GetSeqChEnables </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function gets the channel enable bits status from the ADC Channel Selection Sequencer Registers.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>Gets the channel enable bits. Use XSM_SEQ_CH_* defined in <a class="el" href="xsysmon__hw_8h.html">xsysmon_hw.h</a> 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.</dd>
|
|
<dd>
|
|
None.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a45d42e268bdaba00cdbd121894aac96f"></a><!-- doxytag: member="xsysmon.c::XSysMon_GetSeqInputMode" ref="a45d42e268bdaba00cdbd121894aac96f" args="(XSysMon *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XSysMon_GetSeqInputMode </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function gets the Analog input mode for all the channels from the ADC Channel Analog-Input Mode Sequencer Registers.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>The input mode for all the channels. Use XSM_SEQ_CH_* defined in <a class="el" href="xsysmon__hw_8h.html">xsysmon_hw.h</a> 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.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a046913c88b8e3b794d21a14b8ed5219c"></a><!-- doxytag: member="xsysmon.c::XSysMon_GetSequencerMode" ref="a046913c88b8e3b794d21a14b8ed5219c" args="(XSysMon *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u8 XSysMon_GetSequencerMode </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function gets the channel sequencer mode from the Configuration Register 1.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>The channel sequencer mode :<ul>
|
|
<li>XSM_SEQ_MODE_SAFE : Default safe mode</li>
|
|
<li>XSM_SEQ_MODE_ONEPASS : One pass through sequence</li>
|
|
<li>XSM_SEQ_MODE_CONTINPASS : Continuous channel sequencing</li>
|
|
<li>XSM_SEQ_MODE_SINGCHAN : Single channel/Sequencer off</li>
|
|
<li>XSM_SEQ_MODE_SIMUL : Simulataneous sampling mode</li>
|
|
<li>XSM_SEQ_MODE_INDEPENDENT : Independent mode</li>
|
|
</ul>
|
|
</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a34d731dace546db3397741f0d229cb3b"></a><!-- doxytag: member="xsysmon.c::XSysMon_GetStatus" ref="a34d731dace546db3397741f0d229cb3b" args="(XSysMon *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">u32 XSysMon_GetStatus </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>The functions reads the contents of the Status Register.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>A 32-bit value representing the contents of the Status Register. Use the XSM_SR_*_MASK constants defined in <a class="el" href="xsysmon__hw_8h.html">xsysmon_hw.h</a> to interpret the returned value.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a7f77755a291cf2bac28ff12a5cdd5d8a"></a><!-- doxytag: member="xsysmon.c::XSysMon_Reset" ref="a7f77755a291cf2bac28ff12a5cdd5d8a" args="(XSysMon *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XSysMon_Reset </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function forces the software reset of the complete SystemMonitor/ADC Hard Macro and the SYSMON ADC Core Logic.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>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 <a class="el" href="xsysmon_8c.html#a9efcdd44a813be1e9b0e33b64c616cb3">XSysMon_ResetAdc()</a> to reset only the SystemMonitor/ADC Hard Macro. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a9efcdd44a813be1e9b0e33b64c616cb3"></a><!-- doxytag: member="xsysmon.c::XSysMon_ResetAdc" ref="a9efcdd44a813be1e9b0e33b64c616cb3" args="(XSysMon *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XSysMon_ResetAdc </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function resets the SystemMonitor/ADC Hard Macro in the device.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>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 <a class="el" href="xsysmon_8c.html#a7f77755a291cf2bac28ff12a5cdd5d8a">XSysMon_Reset()</a> API to reset both the SystemMonitor/ADC Hard Macro and the SYSMON ADC Core Logic. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a3c119682ea951295d41462e329da881a"></a><!-- doxytag: member="xsysmon.c::XSysMon_SetAdcClkDivisor" ref="a3c119682ea951295d41462e329da881a" args="(XSysMon *InstancePtr, u8 Divisor)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XSysMon_SetAdcClkDivisor </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>Divisor</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>The function sets the frequency of the ADCCLK by configuring the DCLK to ADCCLK ratio in the Configuration Register #2.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Divisor</em> </td><td>is clock divisor used to derive ADCCLK from DCLK. Valid values of the divisor are</p>
|
|
<ul>
|
|
<li>8 to 255 for V5 SysMon.</li>
|
|
<li>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.</li>
|
|
</ul>
|
|
</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>- 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.<ul>
|
|
<li>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. </li>
|
|
</ul>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a458e2807135bef154d249e80b145520a"></a><!-- doxytag: member="xsysmon.c::XSysMon_SetAlarmEnables" ref="a458e2807135bef154d249e80b145520a" args="(XSysMon *InstancePtr, u32 AlmEnableMask)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XSysMon_SetAlarmEnables </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u32 </td>
|
|
<td class="paramname"> <em>AlmEnableMask</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function enables the alarm outputs for the specified alarms in the Configuration Registers 1 and 3:</p>
|
|
<ul>
|
|
<li>OT for Over Temperature (XSM_CFR_OT_MASK)</li>
|
|
<li>ALM0 for On board Temperature (XSM_CFR_ALM_TEMP_MASK)</li>
|
|
<li>ALM1 for VCCINT (XSM_CFR_ALM_VCCINT_MASK)</li>
|
|
<li>ALM2 for VCCAUX (XSM_CFR_ALM_VCCAUX_MASK)</li>
|
|
<li>ALM3 for VBRAM (XSM_CFR_ALM_VBRAM_MASK)for 7 Series and Zynq</li>
|
|
<li>ALM4 for VCCPINT (XSM_CFR_ALM_VCCPINT_MASK) for Zynq</li>
|
|
<li>ALM5 for VCCPAUX (XSM_CFR_ALM_VCCPAUX_MASK) for Zynq</li>
|
|
<li>ALM6 for VCCPDRO (XSM_CFR_ALM_VCCPDRO_MASK) for Zynq</li>
|
|
<li>ALM8 for VUSER0 (XSM_CFR_ALM_VUSR0_MASK) for Ultrascale</li>
|
|
<li>ALM9 for VUSER1 (XSM_CFR_ALM_VUSR1_MASK) for Ultrascale</li>
|
|
<li>ALM10 for VUSER2 (XSM_CFR_ALM_VUSR2_MASK) for Ultrascale</li>
|
|
<li>ALM11 for VUSER3 (XSM_CFR_ALM_VUSR3_MASK) for Ultrascale</li>
|
|
</ul>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>AlmEnableMask</em> </td><td>is 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 <a class="el" href="xsysmon__hw_8h.html">xsysmon_hw.h</a>.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>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. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="af9d2de8d4141ae1e7e073ea296df739d"></a><!-- doxytag: member="xsysmon.c::XSysMon_SetAlarmThreshold" ref="af9d2de8d4141ae1e7e073ea296df739d" args="(XSysMon *InstancePtr, u8 AlarmThrReg, u16 Value)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XSysMon_SetAlarmThreshold </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>AlarmThrReg</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </td>
|
|
<td class="paramname"> <em>Value</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This functions sets the contents of the given Alarm Threshold Register.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>AlarmThrReg</em> </td><td>is the index of an Alarm Threshold Register to be set. Use XSM_ATR_* constants defined in <a class="el" href="xsysmon_8h.html">xsysmon.h</a> to specify the index. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Value</em> </td><td>is the 16-bit threshold value to write into the register.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>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. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="af3504732dccf017f38fa7ffd7483f358"></a><!-- doxytag: member="xsysmon.c::XSysMon_SetAvg" ref="af3504732dccf017f38fa7ffd7483f358" args="(XSysMon *InstancePtr, u8 Average)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XSysMon_SetAvg </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>Average</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>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.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Average</em> </td><td>is the number of samples of averaging programmed to the Configuration Register 0. Use the XSM_AVG_* definitions defined in <a class="el" href="xsysmon_8h.html">xsysmon.h</a> file :</p>
|
|
<ul>
|
|
<li>XSM_AVG_0_SAMPLES for no averaging</li>
|
|
<li>XSM_AVG_16_SAMPLES for 16 samples of averaging</li>
|
|
<li>XSM_AVG_64_SAMPLES for 64 samples of averaging</li>
|
|
<li>XSM_AVG_256_SAMPLES for 256 samples of averaging</li>
|
|
</ul>
|
|
</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a94f9f1484443b0855b724b44e97f998c"></a><!-- doxytag: member="xsysmon.c::XSysMon_SetCalibEnables" ref="a94f9f1484443b0855b724b44e97f998c" args="(XSysMon *InstancePtr, u16 Calibration)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XSysMon_SetCalibEnables </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </td>
|
|
<td class="paramname"> <em>Calibration</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function enables the specified calibration in the Configuration Register 1 :</p>
|
|
<ul>
|
|
<li>XSM_CFR1_CAL_ADC_OFFSET_MASK : Calibration 0 -ADC offset correction</li>
|
|
<li>XSM_CFR1_CAL_ADC_GAIN_OFFSET_MASK : Calibration 1 -ADC gain and offset correction</li>
|
|
<li>XSM_CFR1_CAL_PS_OFFSET_MASK : Calibration 2 -Power Supply sensor offset correction</li>
|
|
<li>XSM_CFR1_CAL_PS_GAIN_OFFSET_MASK : Calibration 3 -Power Supply sensor gain and offset correction</li>
|
|
<li>XSM_CFR1_CAL_DISABLE_MASK : No Calibration</li>
|
|
</ul>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Calibration</em> </td><td>is the Calibration to be applied. Use XSM_CFR1_CAL*_* bits defined in <a class="el" href="xsysmon__hw_8h.html">xsysmon_hw.h</a>. 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;</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aa5e941d4d6d614920634a8ff1925cbfd"></a><!-- doxytag: member="xsysmon.c::XSysMon_SetExtenalMux" ref="aa5e941d4d6d614920634a8ff1925cbfd" args="(XSysMon *InstancePtr, u8 Channel)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XSysMon_SetExtenalMux </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>Channel</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>The function enables the external mux and connects a channel to the mux.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Channel</em> </td><td>is the channel number used to connect to the external Mux. The valid channels are 0 to 6, 8, and 16 to 31.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if the given values were written successfully to the Configuration Register 0.</li>
|
|
<li>XST_FAILURE if the channel sequencer is enabled or the input parameters are not valid for the selected channel.</li>
|
|
</ul>
|
|
</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>The External Mux is only available in 7 Series and Zynq XADC. This API should be used only with 7 Series and Zynq XADC. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a433f79238dd1c1cdd6e1b1cfb9c0e7a1"></a><!-- doxytag: member="xsysmon.c::XSysMon_SetOverTemp" ref="a433f79238dd1c1cdd6e1b1cfb9c0e7a1" args="(XSysMon *InstancePtr, u16 Value)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XSysMon_SetOverTemp </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </td>
|
|
<td class="paramname"> <em>Value</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function sets the powerdown temperature for the OverTemp signal in the OT Powerdown register.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Value</em> </td><td>is the 16-bit OT Upper Alarm Register powerdown value. Valid values are 0 to 0x0FFF.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>This API has been deprecated. Use <a class="el" href="xsysmon_8c.html#af9d2de8d4141ae1e7e073ea296df739d">XSysMon_SetAlarmThreshold()</a>, 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. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aeafd06e40eff4807b362edf043d725e8"></a><!-- doxytag: member="xsysmon.c::XSysMon_SetSeqAcqTime" ref="aeafd06e40eff4807b362edf043d725e8" args="(XSysMon *InstancePtr, u32 AcqCyclesChMask)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XSysMon_SetSeqAcqTime </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u32 </td>
|
|
<td class="paramname"> <em>AcqCyclesChMask</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>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.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>AcqCyclesChMask</em> </td><td>is the bit mask of all the channels for which the number of acquisition cycles is to be extended. Use XSM_SEQ_CH__* defined in <a class="el" href="xsysmon__hw_8h.html">xsysmon_hw.h</a> 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.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if the given values were written successfully to the Channel Sequencer Registers.</li>
|
|
<li>XST_FAILURE if the channel sequencer is enabled.</li>
|
|
</ul>
|
|
</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ae7072bfa213b7318fcc29408a459c0bb"></a><!-- doxytag: member="xsysmon.c::XSysMon_SetSeqAvgEnables" ref="ae7072bfa213b7318fcc29408a459c0bb" args="(XSysMon *InstancePtr, u64 AvgEnableChMask)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XSysMon_SetSeqAvgEnables </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u64 </td>
|
|
<td class="paramname"> <em>AvgEnableChMask</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>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.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>AvgEnableChMask</em> </td><td>is the bit mask of all the channels for which averaging is to be enabled. Use XSM_SEQ_CH__* defined in <a class="el" href="xsysmon__hw_8h.html">xsysmon_hw.h</a> 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.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if the given values were written successfully to the ADC Channel Averaging Enables Sequencer Registers.</li>
|
|
<li>XST_FAILURE if the channel sequencer is enabled.</li>
|
|
</ul>
|
|
</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a60d92b3a70aab326364319b3d1f1a7cc"></a><!-- doxytag: member="xsysmon.c::XSysMon_SetSeqChEnables" ref="a60d92b3a70aab326364319b3d1f1a7cc" args="(XSysMon *InstancePtr, u64 ChEnableMask)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XSysMon_SetSeqChEnables </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u64 </td>
|
|
<td class="paramname"> <em>ChEnableMask</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>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.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>ChEnableMask</em> </td><td>is the bit mask of all the channels to be enabled. Use XSM_SEQ_CH_* defined in <a class="el" href="xsysmon__hw_8h.html">xsysmon_hw.h</a> 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.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if the given values were written successfully to the ADC Channel Selection Sequencer Registers.</li>
|
|
<li>XST_FAILURE if the channel sequencer is enabled.</li>
|
|
</ul>
|
|
</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a3d3d8052fae049f4ca772b5956ced31f"></a><!-- doxytag: member="xsysmon.c::XSysMon_SetSeqInputMode" ref="a3d3d8052fae049f4ca772b5956ced31f" args="(XSysMon *InstancePtr, u32 InputModeChMask)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XSysMon_SetSeqInputMode </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u32 </td>
|
|
<td class="paramname"> <em>InputModeChMask</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>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.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>InputModeChMask</em> </td><td>is the bit mask of all the channels for which the input mode is differential mode. Use XSM_SEQ_CH__* defined in <a class="el" href="xsysmon__hw_8h.html">xsysmon_hw.h</a> 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.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if the given values were written successfully to the ADC Channel Analog-Input Mode Sequencer Registers.</li>
|
|
<li>XST_FAILURE if the channel sequencer is enabled.</li>
|
|
</ul>
|
|
</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a415023d979e637bac035cf6f902ab256"></a><!-- doxytag: member="xsysmon.c::XSysMon_SetSequencerEvent" ref="a415023d979e637bac035cf6f902ab256" args="(XSysMon *InstancePtr, int IsEventMode)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XSysMon_SetSequencerEvent </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>IsEventMode</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>The function enables the Event mode or Continuous mode in the sequencer mode.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>IsEventMode</em> </td><td>is a boolean parameter that specifies continuous sampling (specify FALSE) or event driven sampling mode (specify TRUE) for the given channel.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>The Event mode is only available in 7 Series XADC and Zynq. This API should be used only with 7 Series XADC and Zynq . </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a433e353cd5a25454ce2a6da51494e478"></a><!-- doxytag: member="xsysmon.c::XSysMon_SetSequencerMode" ref="a433e353cd5a25454ce2a6da51494e478" args="(XSysMon *InstancePtr, u8 SequencerMode)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XSysMon_SetSequencerMode </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>SequencerMode</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function sets the specified Channel Sequencer Mode in the Configuration Register 1 :</p>
|
|
<ul>
|
|
<li>Default safe mode (XSM_SEQ_MODE_SAFE)</li>
|
|
<li>One pass through sequence (XSM_SEQ_MODE_ONEPASS)</li>
|
|
<li>Continuous channel sequencing (XSM_SEQ_MODE_CONTINPASS)</li>
|
|
<li>Single Channel/Sequencer off (XSM_SEQ_MODE_SINGCHAN)</li>
|
|
<li>Simulataneous sampling mode (XSM_SEQ_MODE_SIMUL)</li>
|
|
<li>Independent mode (XSM_SEQ_MODE_INDEPENDENT)</li>
|
|
</ul>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>SequencerMode</em> </td><td>is the sequencer mode to be set. Use XSM_SEQ_MODE_* bits defined in <a class="el" href="xsysmon_8h.html">xsysmon.h</a>.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>Only one of the modes can be enabled at a time. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a44e6fba16cf4b8cc69301523ed8344ce"></a><!-- doxytag: member="xsysmon.c::XSysMon_SetSingleChParams" ref="a44e6fba16cf4b8cc69301523ed8344ce" args="(XSysMon *InstancePtr, u8 Channel, int IncreaseAcqCycles, int IsEventMode, int IsDifferentialMode)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int XSysMon_SetSingleChParams </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"> <em>Channel</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>IncreaseAcqCycles</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>IsEventMode</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>IsDifferentialMode</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>The function sets the given parameters in the Configuration Register 0 in the single channel mode.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>Channel</em> </td><td>is 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. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>IncreaseAcqCycles</em> </td><td>is 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. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>IsEventMode</em> </td><td>is a boolean parameter that specifies continuous sampling (specify FALSE) or event driven sampling mode (specify TRUE) for the given channel. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>IsDifferentialMode</em> </td><td>is 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. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
|
|
<li>XST_SUCCESS if the given values were written successfully to the Configuration Register 0.</li>
|
|
<li>XST_FAILURE if the channel sequencer is enabled or the input parameters are not valid for the selected channel.</li>
|
|
</ul>
|
|
</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd><ul>
|
|
<li>The number of samples for the averaging for all the channels is set by using the function XSysMon_SetAvg.</li>
|
|
<li>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. </li>
|
|
</ul>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ae3c96e6cb365a22d5aff07acaedb2101"></a><!-- doxytag: member="xsysmon.c::XSysMon_SetTempWaitCycles" ref="ae3c96e6cb365a22d5aff07acaedb2101" args="(XSysMon *InstancePtr, u16 WaitCycles)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XSysMon_SetTempWaitCycles </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u16 </td>
|
|
<td class="paramname"> <em>WaitCycles</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>This function sets the number of Wait Cycles for Temperature updation logic</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>The default number of wait cycles are 1000(0x3E8). </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ad9997219e88de3f17da39970d52014fe"></a><!-- doxytag: member="xsysmon.c::XSysMon_StartAdcConversion" ref="ad9997219e88de3f17da39970d52014fe" args="(XSysMon *InstancePtr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void XSysMon_StartAdcConversion </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="struct_x_sys_mon.html">XSysMon</a> * </td>
|
|
<td class="paramname"> <em>InstancePtr</em></td>
|
|
<td> ) </td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
<p>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.</p>
|
|
<dl><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em> </td><td>is a pointer to the <a class="el" href="struct_x_sys_mon.html">XSysMon</a> instance.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
|
<dl class="note"><dt><b>Note:</b></dt><dd>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. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<p class="Copyright">
|
|
Copyright © 1995-2014 Xilinx, Inc. All rights reserved.
|
|
</p>
|
|
</body>
|
|
</html>
|