cancel
Showing results for 
Search instead for 
Did you mean: 

hello , im using adc-dac combination where i want to regenerate the waveform using dac. im fedding input to the adc externally using waveform generator. But the problem is my adc buffer show value beyoud 4000 irrespective of the input. why is this so.

Sbhen.1488
Associate II

even i grounded the ADC input pin but still i receive garbage values of >4000.

Is there any problem with the configuration of adc. im currently stuck at the adc. anyone with the adc dac code help me out.

5 REPLIES 5
Paul1
Lead

Insufficient info

  • What IC (STM32xxxxx...)
  • What board/circuit? (Demo, Nucleo, custom...), Schematic for appropriate sections of custom board.
  • What Tools? MX, IDE versions?
  • ADC and DAC channels used
  • Configuration of ADC and DAC in MAX/IDE? including detailed options available
  • Where are you reading your ADC values? (Register, subroutine...)

Paul

Sbhen.1488
Associate II
  1. using STM32f466re nucleo board
  2. using cube mx ide to generate the code on keil
  3. using ADC1 IN3
  4. i have assign buffer to adc. feeding analog signal externally to adc. and storing in the converted samples values in buffer,
Ozone
Lead II

What voltage do you apply to the ADC ?

Signal frequencies ?

Generator output impedance ?

Do you have a common ground connected ?

im feeding 1khz 1 vpp signal from waveform generator. the waveform generator has 50 ohm impedance. i have common ground between the waveform generator and the stm32 board.

can u please help me with the code.?

Or u have any suggestion regarding the code.

That 1Vpp signal must translate into a voltage between 0V...+Vref (probably 3.3V) at the ADC inputs.

Negative voltages or voltages beyond VDDA might produce effects as you observe.

I think the F44x was one of the first families receiving only Cube/HAL treatment. I don't use Cube personally.

I would say, create a Cube/HAL project to read the ADC at an appropriate sampling rate, and to init the DAC properly.

The simplest way is to read the ADC value in the EOC/EOS interrupt, and write it directly the the DAC output.

The DAC output is high impedance, even with "buffer on" (1MOhm or 15kOhm), be aware when checking.

When validating the ADC, I always started with potentiometer, and a known direct voltage.