2017-01-24 10:14 AM
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 #dacSolved! Go to Solution.
2017-01-30 08:04 AM
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.
2017-01-30 08:04 AM
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.