Multi Channel DDS Drive WaveDAC

Thread Starter


Joined Mar 10, 2018
Looking around I saw a PSOC user who did a 24 bit DDS component for
PSOC. A component is on onchip resource inside chip, there are standard
components already done by PSOC IDE, and users can create their own thru
schematic capture and/or Verilog.

This shows two DDS channels implemented on chip, along with clocked wavedac
components clocked by DDS, also onchip. Based on resources looks like chip
could do 4 independent channels

Of course you can sync the channels, set the phase relationship of each channel,
and of course clock rate. Sweep them, etc........

PSOC VDACs used in wavedac, settling time only good enough to clock to 1 Mhz.
One could use the IDACs which are good for 10 Mhz to get higher sine/saw/arbitrary
out of wavedac. Used 64 samples for sine wave, so that limits sine out to roughly 15
Khz. Harmonic distortion high at 100 Khz. Down in the audio region harmonics ~ 35
or better db down. If I used more samples in wavedac configurator that would result in
lower harmonic distortion. I did for trial clock the wavedac VDAC at 6.4 Mhz, still got
a reasonable sine out, but harmonic distortion high.

Looking at right hand resource window not much internal was used to do all this. Lots
of room for other stuff. 4 lines of code use, just start instructions for each component.
Of course to do sweep more code necessary, maybe another 4 -6 lines.

Mixed signal processors with logic fabric entertain some interesting capabilities.


Interesting to contemplate a 4 channel f() generator all on one chip. Although external
components needed to drive 50 ohms.

The DDS direct outputs will clock well into the Mhz range. The above setup
was to yield 1 Hz resolution. Of course if you lower the DDS input clock you
could get centuries for a waveform period.

Regards, Dana.
Last edited:


Joined Feb 20, 2016
That's quite neat.
Maybe I should have another look at the PSOC boards. I did purchase 20 for a project quite a while ago but gave up as they were so hard to use. Other friends of mine found the same thing, and they too abandoned them. It would be worth a return visit.

Thread Starter


Joined Mar 10, 2018
Which boards did you buy, PSOC 1, 3, 4, or 5LP ?

There are debug board (relatively easy to use), bootloader boards (can't debug,
but real cheap, more involved because of the need to handle the bootloader
environment), and some high end boards with a lot of options and capabilities.

Regards, Dana.

Thread Starter


Joined Mar 10, 2018
The 4's would have been bootloader. There was a period where folks had a lot of
issues with USB and Windows. And compunding this was the switch to Win 10
at the time. But I think thats behind us. I think if you use the latest version of PSOC
creator you can up update the bootloader.

The 5 boards with debug a lot easier to use, and the 4M or 4DS family board has debug as well.

I did not work much with the bootloader boards as I always wanted a debug environment.
The cheap 5LP board always worked for me, early on would drop USB connection sporadically,
but that was eons ago. No longer an issue. And PSOC programmer you can detect if it needs
a firmware update.

Point of all this is use your 5LP board, update its firmware. And try some of the projects in
the video series on Cypress, PSOC 101. Once you get comfy with that go to a 4M board,
its low end psoc, but still can do a lot of stuff. Just does not have as much fabric, and
no dsp and a few other capabilities like the 5LP stuff.

And if I catch your posts here I will certainly help. I am retired, so travel and activity do not always have
me online. i do not classify myself an expert, as wife would put it I am a close cousin to a single cell amoeba.

Another step that caught people when opening example projects is regular revisions over
time are released for the standard components inside PSOC, and you first have to
execute update components for the menu before a build. Thats generally a one time
requirement, unless a new version of Creator is released and then good practice do it
automatically. I suggested to them to make it auto detect.. But they do give a warning
if my memory serves me.

As always there are some excellent EEs over at their forum handling questions. I did
quite a lot of work over there, but moved on to explore some other stuff. Their response
time varies, sometimes excellent, other times a day or two. But searchable forum.

I am a fan of PSOC because it bridges FPGA world and standard micro world. I got tired
of building breadboards every time I wanted to do something simple. Now I use PSOC
as a test bed generator/problem solver as well as a GP processor with analog and
rout-ability and DSP and customization.

After you drag and drop a component onto schematic, right click, go to datasheet, and all
the APIs are there you can use to operate the component. As well as an explanation of all
the other stuff like inputs/outputs......

Regards, Dana.
Last edited: