Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

PSoC™ 5, 3 & 1 Forum Discussions

RaAl_264636
Level 5
Level 5
50 sign-ins 25 sign-ins 10 solutions authored

Hi,

I've two data values which should control the frequency and the amplitude of a waveform output by DAC. Changing the frequency is already implemented. What's the best way to achieve this? Implementing a IDAC and control the value with a PWM as suggested in AN60305 to get a multiplying DAC would be one way. This solution seems to require a low-pass filter, but there's no starting point to calculate the LPF component values.

Are there any other ways to change the amplitude (aside of multiplying the values in software and using the upper bits of the result)?

Regards,

Ralf

0 Likes
1 Solution
odissey1
Level 9
Level 9
First comment on KBA 1000 replies posted 750 replies posted

All depends on  required freq, bandwidth. Using PWM will severely lower useful frequency.

One way of amplitude adjustment is hardware multiplier (see the YouTube for project link

Cypress PSoC5 hardware ramp generator with variable amplitude - YouTube

This multiplier pairs well with DDS24 frequency generator

DDS tunable frequency / phase generator using Cypress PSoC5 - YouTube

View solution in original post

0 Likes
4 Replies
odissey1
Level 9
Level 9
First comment on KBA 1000 replies posted 750 replies posted

All depends on  required freq, bandwidth. Using PWM will severely lower useful frequency.

One way of amplitude adjustment is hardware multiplier (see the YouTube for project link

Cypress PSoC5 hardware ramp generator with variable amplitude - YouTube

This multiplier pairs well with DDS24 frequency generator

DDS tunable frequency / phase generator using Cypress PSoC5 - YouTube

0 Likes

Another way to adjust amplitude without loosing bit resolution is to make R2R DAC out of 0.1% resistors, connected to SIO pins  (for example port 12 on KIT-059). Such DAC works better than IDAC8 at high frequency. The SIO pins offer special mode, when output voltage can be controlled by the Vddio in range 0.5 - 5V, Depending on application, this might be sufficient. The Vddio can be adjusted either by using a DAC or PWM.

0 Likes

Third way is to control the gain of the output OpAmp as shown here

http://www.cypress.com/blog/psoc-insiders-blog/design-idea-analog-gain-controlled-digitally

0 Likes

Hi,

thank you for those links. I think I'll dig into the hardware multiplier approach, it sounds promising. I want to keep the DFB block clear for now, I want to use it for filtering CapSense input (already made some experiments, but the output of the DFB was not what I expected - another thing which I've to dig into).

Regards,

Ralf

0 Likes