1.1 Dynamic Voltage and Frequency Scaling (DVFS)

This MPLAB Harmony example application demonstrates and evaluates Dynamic Voltage and Frequency Scaling (DVFS) mechanisms by simulating various CPU workloads and observing the resulting system behavior.

Description

This source file defines the application state machine for an MPLAB Harmony project, including initialization, idle period measurement, and CPU load simulation functions (at approximately 95% and 60% load), to facilitate testing and evaluation of power management and DVFS mechanisms.

Downloading and Building the Application

To clone or download this application from Github, go to the main page of this repository and then click Clone button to clone this repository or download as zip file. This content can also be downloaded using content manager by following these instructions.

Path of the application within the repository is apps/dvfs/firmware.

To build the application, refer to the following table and open the project using its IDE.

Project NameDescription
sama7d65_curiosity.XMPLAB X project for SAMA7D65 Curiosity Board
sama7d65_curiosity_pro.XMPLAB X project for SAMA7D65 Curiosity Pro Board

Setting Up AT91Bootstrap Loader

To load the application binary onto the target device, it is necessary to use at91bootstrap loader. Refer to the at91bootstrap loader documentation for details on how to configure, build, and run bootstrap loader project and use it to bootstrap the application binaries.

Setting Up the Hardware

The following table shows the target hardware for the application projects.

Project NameDescription
sama7d65_curiosity.XSAMA7D65 Curiosity Board
sama7d65_curiosity_pro.XSAMA7D65 Curiosity Pro Board

Setting Up SAMA7D65 Curiosity Board

Setting Up the Board
  • Connect a programming cable from JTAG connector J27 on board to programmer (J-34 Debugger)
  • Powered the board with J1 connector
  • Connect FTDI cable to DEBUG

Setting Up SAMA7D65 Curiosity Pro Board

Setting Up the Board
  • Connect a programming cable from JTAG connector J64 on board to programmer (J-34 Debugger)
  • Powered the board with J1 connector
  • Connect FTDI cable to DEBUG
  • TWCK and TWD lines are interchanged between J2 and J3; connect J2 pin 1 to J3 pin 2 and J2 pin 2 to J3 pin 1

Running the Application

  1. Build the application using its IDE.
  2. Connect to the USB Serial COM port and configure the serial settings as follows:
    • Baud: 115200
    • Data: 8 Bits
    • Parity: None
    • Stop: 1 Bit
    • Flow Control: None
  3. Build and Program the application using its IDE.
  4. The result in Tera Term will be similar to the following output:
  5. The LED will blink every 3 seconds.