2019-12-06 02:56 AM
Hi
I thinking of buying and STM32WB (P-NUCLEO-WB55 evaluation board) because of the fast ADC.
I need to sample four analog signals with a rate of a few hunderd Ksps and store their values.
Thanks in advance,
Solved! Go to Solution.
2019-12-20 06:09 AM
Hello,
As said above by Remi, the ADC is fast enough for your " few hunderd Ksps" application, you can even use it with resolution 12 bits.
You can refer to STM32WB reference manual for conversion time calculation.
conversion time = (sampling time + conversion time resolution) x (1/ ADC clock freq)
for example, with ADC resolution 12 bits, sampling time 47.5 ADC clock cycles, ADC clock freq 64MHz:
conversion time = 0.9375us <=> 1Msmp/sec
About examples to help you start your application:
There are several examples in STM32WB FW package (available to download on www.st.com).
Here are some examples using multiple ADC channels:
...\Firmware\Projects\P-NUCLEO-WB55.Nucleo\Examples_LL\ADC\ADC_GroupsRegularInjected_Init
Convert one channel with trigger from timer and data transfer by DMA, another channel on asynchronous trigger
...\Firmware\Projects\P-NUCLEO-WB55.Nucleo\Examples\ADC\ADC_MultiChannelSingleConversion
Convert 3 channels (1 from GPIO and 2 internals (VrefInt, internal temperature sensor)) with data transfer by DMA.
Best regards
Philippe
2019-12-06 03:14 AM
The datasheet for the STM32WB55CC says 4,26 Msps.
Up to 7,11 Msps with reduced resolution.
2019-12-06 03:18 AM
Yes this seems to be the case when using one adc. But i think, (i cant really find this) that it would be divided by x when sampling x at the same time.
2019-12-06 06:31 AM
Yes, it will be x/4 if you use a single adc. Or x/2 if you use two adcs for 2 channels each. If that chip has two adcs. Still gets you well over a couple hundred ksps in either case.
2019-12-09 02:10 AM
For 8 bit resolution , the fast ADC of the STM32WB can achieve up to 5.81 Msps. This let over 1.4 Msps for each of the 4 signals.
It is by far enough for the signals you want to sample.
2019-12-09 03:10 AM
For sure, that is the way a multiplexed SAR ADC works.
I would choose the lowest sampling rate ( longest sampling time) possible, as this would ease the design of the analog input section.
In the Msps range, this is much more difficult then it seems at first glance.
2019-12-20 06:09 AM
Hello,
As said above by Remi, the ADC is fast enough for your " few hunderd Ksps" application, you can even use it with resolution 12 bits.
You can refer to STM32WB reference manual for conversion time calculation.
conversion time = (sampling time + conversion time resolution) x (1/ ADC clock freq)
for example, with ADC resolution 12 bits, sampling time 47.5 ADC clock cycles, ADC clock freq 64MHz:
conversion time = 0.9375us <=> 1Msmp/sec
About examples to help you start your application:
There are several examples in STM32WB FW package (available to download on www.st.com).
Here are some examples using multiple ADC channels:
...\Firmware\Projects\P-NUCLEO-WB55.Nucleo\Examples_LL\ADC\ADC_GroupsRegularInjected_Init
Convert one channel with trigger from timer and data transfer by DMA, another channel on asynchronous trigger
...\Firmware\Projects\P-NUCLEO-WB55.Nucleo\Examples\ADC\ADC_MultiChannelSingleConversion
Convert 3 channels (1 from GPIO and 2 internals (VrefInt, internal temperature sensor)) with data transfer by DMA.
Best regards
Philippe
2019-12-20 06:21 AM
Hi Philippe
Thanks for the examples and extensive information!
Cheers,
Taxara