Skip to main content
grisom13
Associate III
March 22, 2026
Question

G473 ADC crosstalk

  • March 22, 2026
  • 1 reply
  • 175 views

Hello. Have some issues with MCU ADC configuration and data.

Hardware:
                                                                                                                                                                                                                                         

  - MCU: STM32G473MET3                                      

  - ICs: BTS70401 smart high-side switches (2 channels on ADC4)                                                                                                                                                                                     

  SW1: PE15 = ADC4_IN2                                   

  SW2: PD9 = ADC4_IN13

 

  Problem:

  When both channels enabled, ADC reads ~3000 instead of ~4095 during short circuit. Single channel reads correctly (4095).

 

  Attempts Made:

 

  1. ADC Configuration:

    - Changed ContinuousConvMode from ENABLE → DISABLE

    - Added ADC calibration at startup

    - Changed Overrun from OVERWRITTEN → PRESERVED

    -  sampling times 12-600 cycles 

  2. Channel Multiplexing:

    -  Double-read technique (discard first, use second)

    - Triple-read with dummy conversions

    -  Excessive delays (50-640 cycles) - no improvement

 

  Question:

 is there a real 100 % code line that guarantees ADC channel samples only its pin voltage?
Thank you.

1 reply

TDK
Super User
March 22, 2026

> ADC reads ~3000 instead of ~4095 during short circuit

"Short circuit" being shorting the pin to VDD? That's a massive difference between 4095 and. I don't expect this can be anything other than a hardware issue or a misunderstanding in how things are actually set up. Especially as changing other ADC settings has no effect. Keep rechecking your assumptions.

"If you feel a post has answered your question, please click ""Accept as Solution""."
grisom13
grisom13Author
Associate III
March 22, 2026

No, Not shorting MCU pin to GND. Infineon High side switch BTS70401 shorted to GND.

The BTS70401 has a IS pin connected to MCU. 

If BTS70401 shorted to GND, ADC4_IN2 on MCU read 4094 RAW

If add one more BTS70401 to the same ADC4_IN12 and short it to GND then RAW reading are never 4095, (around 3000). 

 

Originally I did the same config with the same IBTS70401 on STM32G0 - and all ADC raw are with the margin they should be.