Jump to main content

##

# 1.11 DAC Waveform Generation with DMA

This example application shows how to use the DAC with the DMA to generate a 5 kHz sinusoidal waveform without CPU intervention.

## Description

The DAC Peripheral library is used in hardware trigger mode to generate a Sine wave. The TC peripheral is configured to generate a trigger every two microseconds. Trigger is connected to the DAC using the EVSYS peripheral. DMA is used to setup a linked list to transfer sine wave samples from look up table to the DAC “DATABUF” register. In this application, the number of DAC samples per cycle(0 to 360 degrees sine wave) is 100.

## 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/dac/dac_wav_gen_dma/firmware.

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

Project Name | Description
--- | ---
pic32cm_jh01_curiosity_pro.X | MPLABX project for PIC32CM JH01 Curiosity Pro Evaluation Kit

## Setting Up the Hardware

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

Project Name | Board
--- | ---
pic32cm_jh01_curiosity_pro.X | PIC32CM JH01 Curiosity Pro Evaluation Kit

### Setting Up PIC32CM JH01 Curiosity Pro Evaluation Kit

- Connect an oscilloscope to monitor pin 1 (DAC) of 2-pin header labeled DAC-OUT
- Connect the Debug USB port on the board to the computer using a micro USB cable

## Running the Application

1. Build and Program the application using its IDE
2. Observe a sine wave of 5 KHz frequency on DAC output pin

Refer to the below table for DAC output pin details:

Board | DAC Output Pin
--- | ---
PIC32CM JH01 Curiosity Pro Evaluation Kit | Pin 1 (DAC) of 2-pin header labeled DAC-OUT