If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
If SPI capturing under DMA , we can get a slot every 2µsec which looks to me good enough.
On the computing platform subject, for experimental and measurement work, I would suggest to go to NUCLEO boards with any supported type of STM32 chip (cheap < 30$)
The MAX11158 achieves 93.7dB SNR and -100.0dB THD. This ADC guarantees 18-bit no-missing codes and ±2.7 LSB INL (typ)
It has a ENOB of around 15 bits
I'm not too concerned about production quantities, all I need even for a swinging prototype is an eval board. STM Nucleo boards are easily available. PIC32 Curiosity boards don't seem to be, or maybe they don't make as many varieties as STM.
In general, I'm not concerned about the processor, or even the manufacturer. This is really an area where different people can choose different processors and still collaborate. Once you get the timers, SPI, and other peripherals working the actual DSP code can be common. And that's the part that needs the most work.
There is a supplementary argument not to go that way.
Although NUCLEO boards with that CPU exist and are available in stock, the CPU itself is to be found NOWHERE!!!
You will currently find a shortage of all high end processors.
I use Microchip dspic33 and pic32's and is the same situation. They have been back ordered for 2 years, and keep advancing the delivery dates.
A good source to see what is avaliable is Findchips.com. It searches all the major suppliers.
If SPI capturing under DMA , we can get a slot every 2µsec which looks to me good enough.
On the computing platform subject, for experimental and measurement work, I would suggest to go to NUCLEO boards with any supported type of STM32 chip (cheap < 30$)
There is a supplementary argument not to go that way.
Although NUCLEO boards with that CPU exist and are available in stock, the CPU itself is to be found NOWHERE!!!
Typically I only use the internal ADC for auxillary tasks like measuring battery voltages or reading pots. In the TekPoint I used it as the signal ADC but that is a low-performance app. Usually the performance of internal ADCs is OK but not spectacular. The 'H743 has an SNR of 74dB in single-ended mode -- that's a perfect 12 bits -- or 83 dB in differential which is a decent 14 bits. Right now the AFE looks to be up to 84dB of dynamic range so this is barely enough, and would require a differential driver. And I'm always concerned about an ADC that is on the same silicon as a micro, that can't help.
My preference is to start with an external ADC and to start with some overkill. Right now I'm looking at 18 bits and 100k-1M Sps. Often there are pin-compatible parts with different sample rates and even different bits, like 16b which may end up being just fine.
The stm32h7 mcu series might have a lot potential for metal detectors. Two 12bit DACs, two 16bit SAR ADCs Up to 3.6 msps and lots of memory. There are some development boards on ebay. What do you think?
There'a an oversampling technique that doesn't require any noise in the front end.
It consists of using a port pin, resistor and capacitor to create a ramp signal of the desored amplitude and slowly shift the ADC reference between acquisitions.
FTP uses that in a lot of detectors we make. Our so-called "13-bit platform" models actually use an 11-bit ADC with 2 bits of dithering.
I botched the noise summations in the two noise posts. I have now fixed the math and the numbers are a bit better. Sorry about that. With the noise floor close to the 16-bit level for the current-mode preamp it makes more sense to use an 18b ADC.
For any hope of oversampled processing gain you need the ADC to have some noise bits. So if the front-end has an SNR of 80dB, a 12b ADC (74dB) won't cut it.
There'a an oversampling technique that doesn't require any noise in the front end.
It consists of using a port pin, resistor and capacitor to create a ramp signal of the desored amplitude and slowly shift the ADC reference between acquisitions.
For any hope of oversampled processing gain you need the ADC to have some noise bits. So if the front-end has an SNR of 80dB, a 12b ADC (74dB) won't cut it.
Very nice noise analysis Carl. I have been leery of the 24bit ADC requirement due to noise. You just showed this to be true.
I still think over sampling with a fast 12bit ADC would work but having extra resolution shouldn't hurt.
.
I haven't seen any glaring problems with the last post so I'll continue using my current mode approach. Now the input resistance is RL instead of 2R1. For RL I will arbitrarily use 20Ω and to keep the gain the same as before R2 is now 100Ω
The feedback resistor R2 (100) has a noise that is
The opamp noise has not changed:
The opamp current noise still splits with the same ratio:
Same correlation as before so the total differential noise is
This is applied to a difference amp with a gain of 5 so its output noise is 135.0nV/rtHz.
NBW is the same as before so the total integrated noise is now 135uV rms or 809.7uvpp. This is 1235 codes per volt so a 5V full-scale input would need 6175 codes, or 13 bits. Or for a 16 bit converter @ 5V we have about 11 LSBs of noise. This is a little better than before.
By using a low input resistance all the noise terms have been reduced but the opamp noise now dominates. A 1nV/rtHz opamp will knock the vn3 term down to 6nV/rtHz and the overall noise down to 52.1nV/rtHz or 52.1uV rms or 312.6uvpp. This is 4.1 LSBs of noise @ 16 bits which is starting to look pretty decent.
It's looking like a 24b converter is massive overkill and a good 16b ADC will do the job. I may use 18b just to hedge my bets. This will reduce the ADC cost by $20-30.
Last edited by Carl-NC; 02-10-2023, 07:10 PM.
Reason: Fixed my math
Leave a comment: