0
\$\begingroup\$

I encounter a problem with the DAC on both STM32F4/STM32F429 Discovery boards and hope someone can give me a hint.

The DAC (using DMA with output buffer enabled) generates a FSK controlling signal sequence with only two steps, which looks like as follows

enter image description here

As can be seen on the screenshot, the settling time of the voltage step is about 6 ms! Since the signal sequence controls a very sensitive VCO, this long settling time results in a corresponding segment of output freeuency that is unusable for my application.

I am wondering, is this a problem of settling time? If yes, is there a way to alleviate it?

Updated:

  • The probe connects directly to the DAC pin, which is the only pin used in the measurement.
  • I have calibrated my scope's probe.
  • The STM32F4 discovery board is powered via the USB port.

With this setup, I tried to capture the rising edge of the step from 0 to 4000 using different time scales. The results are as follows: enter image description here Compared to the above screenshot, the overshooting amplitude seems to be proportional to the step-voltage.

Due to my low reputation, I cannot post more than 2 links, but the zoom-in view shows a similar rising edge as @Arsenal's measurement. I think that is the real settling time.

I hope this update could lead to some new suggestions.

\$\endgroup\$
  • \$\begingroup\$ Scope the DAC's reference pin. \$\endgroup\$ – Matt Young Aug 7 '15 at 20:30
2
\$\begingroup\$

Are you sure that is real? Are you using a 10:1 scope probe?

The first thing I would check is the compensation on your scope probe - if that is not adjusted correctly you will see something like that.

Usually there is a test output from the scope to adjust the scope probe. The adjustment is usually done with a screwdriver into a slot in the probe. I don't know about Hantek

\$\endgroup\$
  • \$\begingroup\$ The OP has already said that it causes a real frequency error, so it isn't just a measurement artifact. \$\endgroup\$ – Dave Tweed Aug 6 '15 at 23:07
  • \$\begingroup\$ OK, I didn't read the question that the OP had actually observed the frequency out of the VCO being incorrect. I also see that the screen says the probe is in the x1 position so it is unlikely to be the cause. With only a few millivolts of error it could be power supply or even thermal causes. \$\endgroup\$ – Kevin White Aug 6 '15 at 23:55
2
\$\begingroup\$

I just tried this on my STM32F429 Discovery board. In debug mode I enabled the DAC manually and set 0x000 then 0xFFF and triggered on that edge.

The result I got is quite different from yours: STM32F429 DAC Jump 0x000 to 0xFFF 4ms per div

There is no settling time to be seen. Of course there is one: STM32F429 DAC Jump 0x000 to 0xFFF 20µs per div

But I'd say it's in the order of 25µs or so. I've also checked for the jump in the other direction and the picture is pretty much the same.

To try and see what the issue might be, I connected a 100nF capacitor to the output and that lead to an increase in settling time, but nothing of the sort you are seeing. Even with 100nF the settling time was around 100µs and not overshooting the set level.

So I'd say the problem is either something you have connected to the DAC or your scope, but you said you have unwanted frequencies from the VCO, so maybe not the scope.

\$\endgroup\$
  • \$\begingroup\$ Thank you for your experiment. I tried your way and measured again, please take a look at my update. \$\endgroup\$ – Goodwiller Aug 7 '15 at 20:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.