Um... why? There's not a high rate of counts expected, and integrating on the rising edge of a peak
only takes microseconds, with no digital action at all. Then you digitize the integration capacitor
value, and reset it (probably polling driven, the CPU doesn't have other real-time tasks that need
rapid response).
If you expect 10k pulses/second, there's usually well over 20 us to make the conversion (and
if you want, two or more gains can be accomodated, using two or more integrators with
different hold capacitors; if the highest gain shows a maximum value, just convert
the voltage on a lower-gain channel (an Arduino UNO has six).
Trying to summarize here
The Teensyduino has a 180MHz microcontroller. Teensy 4.0 races along at 600MHz (I think), but right now, just like the Raspberry, supply is very short. The Beaglebone is a whole 1GHz chip PC. The Raspberry Pi has a overclockable 1.5GHz CPU, although the rate at which it can toggle a single GPU pin is less than that. I ran up an old Raspberry Pi 3B in a test run for SPI data transfer from ADC, and the limit was at 33MHz only because of the cycle time in the loaded software. Of course, it did have a whole Debian Linux OS loaded, with PyMCA and everything else. Not stripped down at all. I know it's a lazy overkill, but for me, this was about value. The thing is powerful, low cost, and runs the already highly developed open source software from the European Synchrotron Radiation Facility . I tried it, and it works on stashed captured data. It should be easy to figure a program to get the numbers from an ADC, and put them in a file that PyMCA can read.
Above all, I want the final gadget to be very affordable, yet still aspire to the practical limit in signal capture.
You can (apparently) sample slower, if you like .. [Mark's post #332]
Getting at a version of a energy pulse from a photodiode can, apparently, be "slowed down", or "stretched". This is the effect of low-pass filtering by bandwidth limitations in the main amplifier, and was used some time ago to allow the audio channel of a regular PC to be used as a ADC. The theory is the general size of the surviving pulse lump has sufficient correlation to the original pulse to be able to represent a photon energy. I explored the pulse distortion of the early circuits (post #232), and in my bones, I so disliked the results.
Mark has taken to mathematical awesomeness to show that the relationship of the (distorted) pulses to the original energy is still "pretty darn good". On the way, we can figure that he has a grip on numerical differentiation analysis and polynomial regression curve fitting! I love this, and I am keeping it in reserve in case my amplifier design ends up a bit slow. I consider it better than "in my bones"!
How many samples per second?
I still take the hardball approach. Consider this a personality defect from a life in military and aerospace norms. The duration of the original photodiode pulse is still, to some degree, "stretched" simply by the fact the charge is spread into the self-capacitance of the photodiode, which trades off signal height against dark current noise.
With 10V bias, it's 85pF, running 2.5nA dark current.
With only 2V bias, it's about 230pF, running about 1.3nA dark current.
We would love it to work at 2V bias, because of this next thing -->
Capturing energies down to less than 2keV with still as much as 10% absorption probability is what gives this gadget the promise of great performance for the dollar.
High or low, the duration of a photon pulse is about 10uS to 13uS, with tail to 20uS. Trading off cost vs speed, the £39 ADC will go at
2MSamples/sec, giving about 20 samples out of the pulse shape.
The extreme TIA gain - with low noise!
The reason I choose a op-amp with 500MHz gain-bandwidth product is to be able to preserve a pulse with waveshape content up to about 300kHz. Trying for a gain of a million in one stage is the recipe to stretch a pulse, and maybe have it drive into saturation from random noise and offsets. A transimpedance amplifier of (say) even 500MHz gain bandwidth product will not be able to move it's output other than very slowly. My way is to divide and conquer, by splitting the gain task between more stages, while still having more than 35dB gain in the first stage to bring the signal to the point it is out of reach of noise. The device is chosen for the lowest possible noise figure I can get, with input bias current in femto-amps. The gain-bandwidth product of the overall transimpedance amplifier is around 2.4GHz, allowing as much as 78dB(V) gain at 300kHz.
This instrumentation is intended to be able to see the small peaks at higher resolution, in between the big pulses. The metals we are interested in do not have huge energy flourescence.
20Msamples/second is where I am aiming. I can always slow it down some, if I have to. I can also relax the TIA performance some, if I have to. I can make it lower cost, but there is not very much left in it, because of the way we outrageously exploit low-cost little computer boards and free software.