cancel
Showing results for 
Search instead for 
Did you mean: 

How to operate DAC at update speed of 1MSPS?

C S
Associate II
Posted on October 25, 2017 at 06:56

The original post was too long to process during our migration. Please click on the attachment to read the original post.
8 REPLIES 8
AvaTar
Lead
Posted on October 25, 2017 at 07:53

When I set update rate to 500ksps, I get triangular wave which has uneven slope. Can anyone tell me what should I do to resolve this and what should I do to get my code running as desired?

Reduce output rate. You ignored the settling time of the DAC, i.e. it's bandwidth.

The F405/407 for example specifies 3 .. 6us.

S.Ma
Principal
Posted on October 25, 2017 at 08:01

Check for the DAC maximum slew rate, activate the output buffer and remember to check the output signal without loading the output too much (a follower op-amp would simplify things before optimizing).

On my side, I usually use a Timer output compare pin and feed it through the DAC trigger input pin. This way, I can manually play with a jumper wire and debug the DAC manually. If later using ADC, they too uses a different input trigger pin, so it is possible to tune ADC/DAC sampling skew.

C S
Associate II
Posted on October 25, 2017 at 08:19

By output rate, do you mean update rate of DAC? Actually I need DAC running at 1MSPS. Reducing speed of DAC is not an option unfortunately. 

Besides, it is mentioned that DAC speed can be as kept as high as 1 MSPS for my board.

C S
Associate II
Posted on October 25, 2017 at 08:21

I already have output buffer activated. So it should not be a problem,right?

Posted on October 25, 2017 at 08:41

So it should not be a problem,right?

It is.

Surely you can stuff words faster into the DR register, but the actual DA converter electronics is the slowest element in this chain.

The L476 has a typical settling time of 2us - check the datasheet.

You cannot beat Nyquist.

C S
Associate II
Posted on October 25, 2017 at 09:51

Okay. Got it. So my DAC cannot run at a speed more than 1/settling time which gives 500ksps. Is that right?

Posted on October 25, 2017 at 10:06

At least you cannot go faster than the DAC is able to.

I think older datasheets specified in more detail which settling time. E.g. for 1 LSB and for a full-swing change.

For the L476, I have seen just the 2us typical / 5us worst case (always assume the worst ...).

If you need a 1Msps rate, I would consider an external DAC.

But it could become troublesome to achieve the required peripheral data rates.

Posted on October 28, 2017 at 04:26

On my side, I usually use a Timer output compare pin and feed it through the DAC trigger input pin. This way, I can manually play with a jumper wire and debug the DAC manually. If later using ADC, they too uses a different input trigger pin, so it is possible to tune ADC/DAC sampling skew.

Very clever! Thanks!