1.6 DAC Waveform Generation

This example application shows how to use the DAC to generate a 1 kHz Sine or Sawtooth wave with a look up table.

Description

This example application shows how to use the DAC Peripheral library to generate a 1 kHz Sine or Sawtooth wave with look up table. DAC starts conversion on a trigger from a timer period interrupt configured to occur at every 10 microseconds. In this application, the number of the DAC samples in a look up table 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/firmware.

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

Project NameDescription
sam_ha1_xpro.XMPLABX project for SAM HA1G16A Xplained Pro Evaluation Kit

Setting Up the Hardware

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

Project NameDescription
sam_ha1_xpro.XSAM HA1G16A Xplained Pro Evaluation Kit

Setting Up SAM HA1G16A Xplained Pro Evaluation Kit

  • Connect an oscilloscope to monitor the DAC pin PA02 (Pin 3 of the EXT1 header)
  • Connect the Debug USB port on the board to the computer using a micro USB cable
Note: ATSAMHA1G16A device in SAM HA1G16A Xplained Pro board is not recommended for new design, hence replace the device with ATSAMHA1G16AB device. Connect the supported external debugger to Cortex Debug Port.

Running the Application

  1. Build and Program the application using its IDE
  2. Observe a sine wave of 1 kHz frequency on DAC output pins
  3. Press switch to toggle the waveform shape from sine wave to sawtooth wave and back
  4. Refer to the below table for DAC output pin and switch details:
    BoardDAC Output PinsSwitch Name
    SAM HA1G16A Xplained Pro Evaluation KitPA02 (Pin 3 of the EXT1 header)SW0