Wide range current conversion transimpedance amplifier
I'm just concentrating on the non-linear control side.


  Is there a better/other way to achieve this?


I think using a wideband analogue multiplier is probably a better choice: -



The picture on the left shows how I envisage it working. You'll need to supply a control voltage (such as from a DAC) and this can be low-pass filtered to remove clock signals from the DAC's output causing noise in the multiplier's output.

If you have a 12 bit DAC you get 12bit control resolution - this is probably better than a digitial pot. I think there could be a reasonable chance of using the multiplier in the feedback loop of the TIA too. This means you could probably still keep the 300 ohm resistor but attenuate the op-amp voltage feeding it via the multiplier. If you attenuate it by (say) 1000 then your feedback resistor starts to behave like a 300k ohm. This neds some thinking to see how it would perform but maybe if you have a simulator this would help.

Another idea is to use a multiplying DAC like the LTC1590. Multiplying DACs do what they say on the tin. You can apply an ac signal to the reference input and get that ac signal out but attenuated by the digital word presented to the device from your MCU. The LTC is a dual DAC so this is probably overkill but, there are plenty of DACs around that will do the job. Search for "multiplying DAC". Here's a picture: -



You'll have to pick a device that doesn't have clock-feedthrough (or at least when you have a steady control number you stop the clock).