I just finished up an interesting new (to me) TIA design for a Far Eastern customer. (There's no NDA, so I can talk about it.) It made a pretty interesting study.
It works up to about 30 uA photocurrent, but manages to be shot noise limited above 20 nA at 400 kHz and 100 nA at 1 MHz with 30 pF of photodiode capacitance, which is a factor of about 20 better than I originally expected. (A narrower current range device can be shot noise limited at 20 nA at 1 MHz.)
It uses a pair of parallelled BF862s in a bootstrapped bootstrap, connected to another pair in a cascoded common-source configuration. It avoids the 300 kelvin resistor noise by having a main signal path with no resistors! It uses capacitive feedback on the common-source stage and a differentiator going into the second stage--really an odd design, but it works great. (Bootstrapping the drains of the bootstrap FETs was good for 3 dB of SNR, interestingly.) LTSPICE said I could get a bit better performance by running the bootstrap a bit above IDSS, but I wasn't that brave.
It's for a relatively narrowband application, so in principle it could run at lower frequency, except that it has to work around fluorescent lights.
Electronic ballast fluorescents produce not only EMI but also strongly modulated light. With a 40 kHz switching frequency the harmonics go up to above 1 MHz. The phosphor isn't fast enough to do that, of course, but there are mercury and argon emission lines all over the place, and the plasma responds pretty fast, especially near the ends of the tube, so you have to pick an operating wavelength that avoids the emission lines. 940 nm is pretty good, fortunately--there are lines at 870 and
1010 nm that are inconveniently close, but relatively weak.What I wound up with was a glorified AM radio--the above-mentioned TIA stage running into a 74VHC4053 analogue mux connected as a double balanced mixer, with a 1455 kHz LO and two 455 kHz ceramic IF filters, cascaded so as to increase the stopband attenuation.
Besides the TIA, the two most challenging parts were: (1) Achieving a 1% linearity spec over the full range, including the gain error from a 1x-128x programmable gain amp. Doing a built-up PGA with good accuracy at 1 MHz is surprisingly hard with jellybean parts, I discover--the on-resistance specs of muxes are the pits. (2N7002s to the rescue.)
(2) Getting rid of the DC and low frequency photocurrent without using resistors. I made a BJT current sink degenerated with 4 diodes in series with the emitter. Using N diodes reduces the transconductance by a factor of N+1, and increases the equivalent shot noise voltage by sqrt(N+1), so the resulting current sink runs 10*log(N+1) dB lower than full shot noise--7 dB for 4 diodes. So far, so vanilla. The problem was that the capacitance of the diodes dominated at low photocurrents, which essentially doubled the 1 MHz noise at 40 nA. I used BFT25A C-B junctions for the diodes, but that was the best I could get. I'd love to figure out how to make fast, wide range, sub-Poissonian current sources below 100 nA.
So I learned something about a corner of the design space that I'd never worked in before, which I thought was pretty neat.
Cheers
Phil Hobbs