MAX32520 Peripheral Driver API
Peripheral Driver API for the MAX32520
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
Security Monitor(SMON)

Modules

 SMON_Registers
 

Data Structures

struct  mxc_smon_ext_cfg_t
 

Enumerations

enum  mxc_smon_ext_sensor_t
 
enum  mxc_smon_clk_divide_t
 
enum  mxc_smon_freq_divide_t
 
enum  mxc_smon_vtm_t
 
enum  mxc_smon_temp_t
 
enum  mxc_smon_interrupt_mode_t
 
enum  mxc_smon_lowpower_mode_t
 
enum  mxc_smon_busy_t
 

Functions

void MXC_SMON_Init (void)
 
void MXC_SMON_Shutdown (void)
 
int MXC_SMON_ExtSensorEnable (mxc_smon_ext_cfg_t *cfg, uint32_t delay)
 
int MXC_SMON_SetSensorFrequency (mxc_smon_ext_cfg_t *cfg)
 
int MXC_SMON_SetErrorCount (uint8_t errorCount)
 
int MXC_SMON_TempSensorEnable (mxc_smon_temp_t threshold, uint32_t delay)
 
int MXC_SMON_SetTempThreshold (mxc_smon_temp_t threshold)
 
int MXC_SMON_VoltageMonitorEnable (mxc_smon_vtm_t threshold, uint32_t delay)
 
int MXC_SMON_SetVTMThreshold (mxc_smon_vtm_t threshold)
 
int MXC_SMON_ActiveDieShieldEnable (uint32_t delay)
 
int MXC_SMON_SelfDestructByteEnable (mxc_smon_ext_cfg_t *cfg, uint32_t delay)
 
void MXC_SMON_EnablePUFTrimErase (void)
 
void MXC_SMON_DisablePUFTrimErase (void)
 
int MXC_SMON_DigitalFaultDetectorEnable (mxc_smon_interrupt_mode_t interruptMode, mxc_smon_lowpower_mode_t lowPowerMode, uint32_t delay)
 
uint32_t MXC_SMON_GetFlags (void)
 
void MXC_SMON_ClearFlags (uint32_t flags)
 
void MXC_SMON_ExtSensorLock (void)
 
void MXC_SMON_IntSensorLock (void)
 
int MXC_SMON_isBusy (mxc_smon_busy_t reg, uint32_t delay)
 

Detailed Description


Data Structure Documentation

◆ mxc_smon_ext_cfg_t

struct mxc_smon_ext_cfg_t

The information required to configure an external sensor.

Enumeration Type Documentation

◆ mxc_smon_interrupt_mode_t

Digital Fault Interrupt mode.

Enumerator
SMON_DFD_INTERRUPT_NMI 

DRS/NMI.

SMON_DFD_INTERRUPT_PFW 

PFW IRQ.

◆ mxc_smon_lowpower_mode_t

Digital Fault Low Power mode.

Enumerator
SMON_DFD_LOWPOWER_ENABLE 

DFD enabled during LowPower mode.

SMON_DFD_LOWPOWER_DISABLE 

DFD disabled during LowPower mode.

◆ mxc_smon_temp_t

Temperature Sensor Thresholds.

Enumerator
SMON_TEMP_THRESHOLD_NEG_50 

-50 *C

SMON_TEMP_THRESHOLD_NEG_30 

-30 *C

◆ mxc_smon_vtm_t

Voltage Monitor Thresholds.

Enumerator
SMON_VTM_THRESHOLD_1_6 

1.6 V

SMON_VTM_THRESHOLD_2_2 

2.2 V

SMON_VTM_THRESHOLD_2_8 

2.8 V

Function Documentation

◆ MXC_SMON_ActiveDieShieldEnable()

int MXC_SMON_ActiveDieShieldEnable ( uint32_t  delay)

Enbale Active Die Shield Monitoring.

Parameters
delaytimeout delay
Returns
int see Error Codes for a list of return codes

◆ MXC_SMON_ClearFlags()

void MXC_SMON_ClearFlags ( uint32_t  flags)

Clear flags set in Security Alarm Register.

Parameters
flagsflags to clear from Security Alarm register

◆ MXC_SMON_DigitalFaultDetectorEnable()

int MXC_SMON_DigitalFaultDetectorEnable ( mxc_smon_interrupt_mode_t  interruptMode,
mxc_smon_lowpower_mode_t  lowPowerMode,
uint32_t  delay 
)

Enbale Digital Fault Detector.

Parameters
interruptModeinterrupt mode, mxc_smon_interrupt_mode_t
lowPowerModelow power mode, mxc_smon_lowpower_mode_t
delaytimeout delay
Returns
int see Error Codes for a list of return codes

◆ MXC_SMON_ExtSensorEnable()

int MXC_SMON_ExtSensorEnable ( mxc_smon_ext_cfg_t cfg,
uint32_t  delay 
)

Enables desired External Sensor.

Parameters
cfgconfiguration for setting up external sensor
delaytimeout delay
Returns
int see Error Codes for a list of return codes

◆ MXC_SMON_GetFlags()

uint32_t MXC_SMON_GetFlags ( void  )

Get Flags set in Security Alarm Register.

Returns
uint32_t SECALM register

◆ MXC_SMON_isBusy()

int MXC_SMON_isBusy ( mxc_smon_busy_t  reg,
uint32_t  delay 
)

Checks if the registers are busy before wirting to it.

Parameters
regsee mxc_smon_busy_t for registers
delaytimeout delay
Returns
int see Error Codes for a list of return codes

◆ MXC_SMON_SelfDestructByteEnable()

int MXC_SMON_SelfDestructByteEnable ( mxc_smon_ext_cfg_t cfg,
uint32_t  delay 
)

Enable Self Destruct Byte on External Sensor 0.

Parameters
cfgconfiguration for setting up SDBE, mxc_smon_ext_cfg_t
delaytimeout delay
Returns
int see Error Codes for a list of return codes

◆ MXC_SMON_SetErrorCount()

int MXC_SMON_SetErrorCount ( uint8_t  errorCount)

Set number of acceptable errors for external sensor.

Parameters
errorCountError count 0 - 31
Returns
int see Error Codes for a list of return codes

◆ MXC_SMON_SetSensorFrequency()

int MXC_SMON_SetSensorFrequency ( mxc_smon_ext_cfg_t cfg)

Set frequency for external frequency.

Parameters
cfgconfiguration for setting up external sensor
Returns
int see Error Codes for a list of return codes

◆ MXC_SMON_SetTempThreshold()

int MXC_SMON_SetTempThreshold ( mxc_smon_temp_t  threshold)

Set Temperature Threshold.

Parameters
thresholdtemperature threshold, mxc_smon_temp_t
Returns
int see Error Codes for a list of return codes

◆ MXC_SMON_SetVTMThreshold()

int MXC_SMON_SetVTMThreshold ( mxc_smon_vtm_t  threshold)

Set Voltage Monitor Threshold.

Parameters
thresholdvoltage threshold, mxc_smon_vtm_t
Returns
int see Error Codes for a list of return codes

◆ MXC_SMON_TempSensorEnable()

int MXC_SMON_TempSensorEnable ( mxc_smon_temp_t  threshold,
uint32_t  delay 
)

Enable Temperature Sensor.

Parameters
thresholdtemperatue threshold, mxc_smon_temp_t
delaytimeout delay
Returns
int see Error Codes for a list of return codes

◆ MXC_SMON_VoltageMonitorEnable()

int MXC_SMON_VoltageMonitorEnable ( mxc_smon_vtm_t  threshold,
uint32_t  delay 
)

Enable Voltage Monitor.

Parameters
thresholdvoltage threshold, mxc_smon_vtm_t
delaytimeout delay
Returns
int see Error Codes for a list of return codes