Introduction

Author: Alec Miller, Microchip Technology Inc.

This application note describes how an Arbitrary Waveform Generator (AWG) can be implemented using Direct Memory Access (DMA) and an 8-bit buffered Digital-to-Analog Converter (DAC). The waveform that is generated in this application can be up to 255 samples long, and is created using a look-up table (LUT) in RAM with data from user-generated files loaded onto an SD card. Once the waveform has been read from the SD card, the AWG operates core independently without additional CPU intervention. The waveforms are generated by using a DMA to automatically load values from the LUT in RAM into the DAC output register at an interval determined by a timer.