Generating multiple waveforms with fixed phase relationships | Cypress Semiconductor
Generating multiple waveforms with fixed phase relationships
I need to generate 3 sinusoids at around 30KHz, with relative phases of 0, 90, and 180 degrees. I've experimented with the WaveDac component, clocking it myself, and only turning the clock on after all three software initialization commands have been executed, but this still seems to result in the relative phases drifting over time. I assume this is due to the DMA having to wait from time to time.
So I've resorted to using VDAC8s, along with the Sin8 component that was shared on these forums a while back. (Sin8 a hardware lookup table, I'm attaching a block diagram, along with a project that implements the scheme with 4 DACs rather than 3.
I've gotten this to work, but it seems to have some mysterious timing issues/marginalities. For example, when I add a shift register that is not in any way connected to the waveform generation, the signals get corrupted.
So I have two questions: (1) Is this approach misguided in some way? and (2) is there a better/easier way to generate the signals I need?