Skip to main content
Associate II
September 2, 2025
Question

Can't get maximum ADC samples mentioned in datasheet using STM32H743ZI2 USB FS

  • September 2, 2025
  • 2 replies
  • 982 views

Guys currently I am working on STM 32 H7 board and trying to achieve 3.6MSPS as per mentioned in an datasheet, after many tries currently I can able to take 175k samples/second as 12 bit resolution ADC values using an USB FS but if they claimed to be 3.6MSPS is achievable means then we can achieve it right?? here I have attached my code that can get max of 175 samples only but I have to achieve more, help me to get out this problem

2 replies

Ozone
Principal
September 2, 2025

Consult the datasheet + reference manual. I don't have a H7 variant.
Surely you will need maximal ADC clock frequency, minimal sampling time, and minimal inter-sample delays.
And probably a reduced resolution, and interleaved mode (were two peripheral units operate in unison to achieve a greater sample rate than each individual unit).

But I suspect your sampling hardware might not be up to the task. The external amplifier and interfacing circuitry at that frequencies requires a high bandwidth and low impedance which are not easy to achieve.

PandianAuthor
Associate II
September 2, 2025

Yeah thank you for your valuable response. but they claimed as at 16 bit resolution each ADC can go Upto 3.6MSPS..but while going with an Interleaved mode we uses 2 ADC to run an single signal right?? and here I mentioned an line from datasheet  - 3× ADCs with 16-bit max. resolution (up to 36 channels, up to 3.6 MSPS) while comparing to 3.6MSPS I only got around 175k samples only for an second which is smaller right?

Andrew Neil
Super User
September 2, 2025

@Pandian wrote:

 I am working on STM 32 H7 board 


What board? 

Please give details - see:   How to write your question to maximize your chances to find a solution.

 


@Pandian wrote:

able to take 175k samples/second as 12 bit resolution ADC values using an USB FS 


What does USB FS have to do with an ADC?

Is the problem with the ADC, or are you just talking about transferring the acquired data via USB?

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
PandianAuthor
Associate II
September 2, 2025

Yeah, Thank you , I am working with an STM32 NUCLEO H743ZI2 development board and I want to get max number of samples from ADC and i have already tried UART, I2C etc but to reach an 3.3MSPS, I am going with an USB FS transfer, (in an USB CDC transfer I can read an ADC values in every line using Tera-term, currently i got only 175k samples per second, but according to the datasheet I have to get an 3.3MSPS), I have already attached my code text file. I Hope you understand and I just need an solution to get those maximum number of ADC samples.

 

Andrew Neil
Super User
September 2, 2025

Still unclear whether your problem is

  1. Getting the maximum sample rate out of the ADC itself, or
  2. The transfer rate over USB.

 

What USB Class are you using?

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.