Skip to main content
Andrew Kitaev
Associate
January 24, 2017
Solved

STM32F373 DAC documentation mistake/inaccuracy in DACout formula

  • January 24, 2017
  • 1 reply
  • 591 views
Posted on January 24, 2017 at 19:14

While researching a project I measured the output of STM32F373V8 DAC and had a hard time considering whether it is Ok.

Reading the latest Reference Manual (

June 2016 DocID022448 Rev 5)

for the MCU found a formula for DAC output, which states DACoutput = VDDA x (DOR/4096) (page 265 section 14.5.3 DAC output voltage), which is wrong TWICE in my opinion.

This confused me and took some time to research, results:

1) Of course in AN3126 (Audio and waveform generation using the DAC in STM32 microcontrollers) there is a real formula, which states DACout = Vref x (DOR/DAC_max_digital_value) but I see no point in needing AN to exploit the peripherial;

2) There is a case (with LQFP48) when VDDA and Vref are the same;

3) The real formula should state DACoutput = Vref x (DOR/4095) in my opinion.

I'd like the tech support to correct this issue till the next document revision. Hope you will read. And tell me, if this is not the place to report such mistakes.

Thanks, community.

Wish you luck!

#stm32f373 #errata #dac
This topic has been closed for replies.
Best answer by K.Oku
Posted on January 30, 2017 at 17:04

Hello,  Andrew.

You are right, it looks like documentation is not inline.

As far as I understood, the formula should be  DACoutput = Vref x (DOR/4096)

DAC is kind of R-2R implementation, Minimum code is corresponds to GND, but the maximum code has one resistor(corresponds 1LSB) under the VREF. So even DOR is full scale value, it does not go up to the VREF, but VREF - 1LSB.

Regards.

1 reply

K.Oku
K.OkuBest answer
ST Employee
January 30, 2017
Posted on January 30, 2017 at 17:04

Hello,  Andrew.

You are right, it looks like documentation is not inline.

As far as I understood, the formula should be  DACoutput = Vref x (DOR/4096)

DAC is kind of R-2R implementation, Minimum code is corresponds to GND, but the maximum code has one resistor(corresponds 1LSB) under the VREF. So even DOR is full scale value, it does not go up to the VREF, but VREF - 1LSB.

Regards.