Would it be possible to generate a 6kHz trapezoidal wave by gating the clock going to the AD9833, set to triangle wave mode? What is the amplitude accuracy of this device? If this is not possible, which DDS devices have internal memory to store this waveform?
A trapezoidal wave is quite unusual..
You can use the AD5930/AD5932 + uC and generate two triangle waveforms, controlling with the uC the high or low period.
Another option is using a high speed DAC with memory, ie AD9106.
Let me know if you have any other question.
Do you need control of the rising and falling slopes of the trapezoidal waveform as well as the length of the DC portions? I'm trying to think of ideas but at the moment the only thing I can think of is to pass a triangle wave into a clamping circuit.
Yes, I need control of both. I need to maintain the ratio between the RMS voltage and the peak voltage
The concept I was considering was using the triangle wave mode, setting the phase so that the phase accumulator, then clocking MCLK the number of times required to get to the top of the triangle wave, stopping the clock for the DC portion using the uC, then restarting it to go down the wave
What you propose I think would technically work, but it may be difficult to get the AD9833 to stop at the exact peak (min or max) of the output triangle wave. However, I can't think of a better solution other than creating your own DDS with an MCU and a DAC.
I've recently been discussing DDS amplitude accuracy with musach to help another customer and I believe he told me the AD983x and AD593x parts' DAC full-scale output has an accuracy of +/-10%, but I don't know what the variation could be over time.