Skip to content

These MPLAB X bare metal examples in Getting Started with Multi Voltage I/O (MVIO) (TB3287) show how the MVIO is used on the AVR® DB family of microcontrollers. The MVIO peripheral allows a subset of the I/O pins to be powered by a different I/O voltage domain VDDIO2, eliminating the need for external level shifters

Notifications You must be signed in to change notification settings

microchip-pic-avr-examples/avr128db48-getting-started-with-mvio-mplab

Repository files navigation

MCHP

Getting Started with Multi Voltage I/O (MVIO)

A new feature introduced in the AVR® DB Family is the Multi-Voltage I/O (MVIO) peripheral. In this example, VDDIO2 supplies a different voltage level PORTC, than on the rest of the PORTs, which are supplied by VDD. It is possible to monitor this voltage level with the internal analog-to-digital converter (ADC) and also possible to get an interrupt when the voltage level for the MVIO, called VDDIO2, goes in and out of acceptable voltage range.

overview

These examples show how the Multi-Voltage I/O feature works on the AVR DB family of microcontrollers. It covers the following use cases:

  • Polling VDDIO2 Status: Checking if the VDDIO2 voltage is within acceptable range by reading the Status bit.
  • Interrupt on VDDIO2 Status: Make use of the interrupt that occurs when the Status bit changes state.
  • Measuring VDDIO2: Use the internal ADC to measure the VDDIO2 voltage.
  • Blink a 3V LED with VDD at 1.8V: Basic example of MVIO blinking an LED with forward voltage higher than VDD.

Related Documentation

Software Used

Software Used

Hardware Used

Setup

  • Connect the hardware together as seen in the schematic of the application note

Operation

  • Connect the AVR128DB48 Curiosity Nano to a computer using a USB cable
  • Clone the repository or download the zip to get the source code
  • Open the project folder you want to run with MPLAB X
  • Compile and run the code

Changing Voltage

Drag and drop one of the following files to the "Curiosity" disc on your computer:

  • VDD1V8.txt - Sets voltage to 1.8V
  • VDD3V3.txt - Sets voltage to 3.3V

Conclusion

After going through this example, you should have a better understanding of how to set up the MVIO peripheral to utilize the internal level shifters to communicate with and drive external components.

About

These MPLAB X bare metal examples in Getting Started with Multi Voltage I/O (MVIO) (TB3287) show how the MVIO is used on the AVR® DB family of microcontrollers. The MVIO peripheral allows a subset of the I/O pins to be powered by a different I/O voltage domain VDDIO2, eliminating the need for external level shifters

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published