5.6.1 MVIO

Multi-Voltage I/O

5.6.1.1 Introduction

The Multi-Voltage I/O (MVIO) feature allows a subset of the I/O pins to be powered by a different I/O voltage domain than the rest of the I/O pins. This eliminates the need of having external level shifters for communication or control of external components running on a different voltage level. The MVIO-capable I/O pads are supplied by a voltage applied to the VDDIOx power pin(s), while the regular I/O pins are supplied by the voltage applied to the VDD device power pin(s).

Features

  • A subset of the Device I/O pins can be powered by VDDIOx
  • The VDDIOx supply can ramp up and down Independently of the VDD supply
  • VDDIOx Supply Voltage Monitoring with dedicated System Level Interrupt
  • Power on Reset circuitry for VDDIOx power domain with dedicated System Level Interrupt
  • Configurable Low-Voltage Detection circuit for VDDIOx power domain with dedicated System Level Interrupt
  • Internal Analog-to-Digital Converter (ADC) channel for measuring VDDIOx supply voltage

5.6.1.2 Supported Device Families

PIC18F-Q24

5.6.1.3 Required header files:

#include "mcc_generated_files/system/mvio/vddio2.h"

5.6.1.4 Module Documentation

5.6.1.4.1 Mvio

This file contains the API prototypes for the Multi-Voltage Input/Output (MVIO) driver.

Module description

This file contains the API prototypes for the Multi-Voltage Input/Output (MVIO) driver.

Version: MVIO Source Code Driver Version 1.0.0
Enumerations
Functions

Function Documentation

VDDIO2_HysteresisDisable()

void VDDIO2_HysteresisDisable (void )[inline]

Disables the Hysteresis for Resistor Ladder.

Parameters:
None.
Returns:

None.

VDDIO2_HysteresisEnable()

void VDDIO2_HysteresisEnable (void )[inline]

Enables the Hysteresis for Resistor Ladder.

Parameters:
None.
Returns:

None.

VDDIO2_Initialize()

void VDDIO2_Initialize (void )

Initializes the VDDIO2 module.

Parameters:
None.
Returns:

None.

Section: Included Files

VDDIO2_IsReady()

bool VDDIO2_IsReady (void )

Checks if VDDIO2 Voltage is within the range.

Parameters:
None.
Return values:
True

- The VDDIO2 supply voltage is within the acceptable range for operation.

False

- The VDDIO2 supply voltage is below the acceptable range for operation.

VDDIO2_LVDSet()

void VDDIO2_LVDSet (LVD_TRIP_POINTS trip_point)

Sets the Low Voltage Detection(LVD) Trip Point value.

Parameters:
trip_point

- Trip point value

Returns:

None.

VDDIO2_LVDStatusGet()

bool VDDIO2_LVDStatusGet (void )

Checks VDDIO2 Voltage with respect to the selected LVD Voltage.

Parameters:
None.
Return values:
True

- VDDIO2 Voltage is less than the selected LVD Voltage.

False

- VDDIO2 Voltage is greater than the selected LVD Voltage.

Enumeration Type Documentation

LVD_TRIP_POINTS

enum LVD_TRIP_POINTS

Contains the Trip Point voltage values for the MVIO driver.

Section: Included Files

LVD_TRIP_POINT_undefined
LVD_TRIP_POINT_1p70
LVD_TRIP_POINT_2p20
LVD_TRIP_POINT_2p40
LVD_TRIP_POINT_2p45
LVD_TRIP_POINT_2p65
LVD_TRIP_POINT_2p70
LVD_TRIP_POINT_2p85
LVD_TRIP_POINT_2p90
LVD_TRIP_POINT_3p15
LVD_TRIP_POINT_3p20
LVD_TRIP_POINT_3p70
LVD_TRIP_POINT_3p93
LVD_TRIP_POINT_4p40
LVD_TRIP_POINT_4p76
LVD_TRIP_POINT_4p80

5.6.1.5 File Documentation

5.6.1.5.1 source/mvio.c File Reference

#include <xc.h>
#include "../../mvio/vddio2.h"

Functions

5.6.1.5.2 source/mvio.h File Reference

#include <stdbool.h>

Functions

Enumerations