I'm designing a wide dynamic range current sense amplifier circuit using an INA240A1 (with a fixed gain of 20). It's going across a 2.5mΩ sense resistor, with a max current of +/-27A. This gives me a max Vout of +/-1.35V. It's being read by a 14bit ADC. This ADC has a dynamic range of +/- 1.5V, and so each bit calculates to be 183uV. This also translates to 3.66mA pk through the sense resistor.

I want to be able to have good measurement capability at the 10mA RMS level, which means some amplification is required. I am planning to sample both the unmodified output of the INA240 for the high current range. For low currents, I'm going to amplify the output of the INA240 by 50 and sample that output. At high currents it will simply clip, at low currents it should provide a signal my 14bit ADC can sample nicely, well within the 10mA RMS range.

The interesting thing about this design, is that for the low current range, the input voltage to the INA is miniscule. We're talking about a readable, 10mA RMS across a 2.5mΩ resistor. This resistor will develop 35uV pk across it at 10mA RMS.

My quandary is with amplifying such a small voltage up and it not being totally buried within noise. So I went over to the Texas Instuments Precision Labs course (absolutely fantastic resource for learning) and studied the sections about op-amp noise. Long story short, I've calculated that the total output noise generated by the INA240A1, when bandwidth limited to 30KHz, is going to be ~173.6uV RMS (or 512.86uV pk to 6 sigma).

This calculation is purely based on the noise spectral density of 40nV/√Hz for the INA240, with no 1/f noise added (as 1/f noise isn't shown in the datasheet). I've also ignored current noise, as this also isn't specified and is assumed insignificant. Finally, I've ignored resistor noise because the resistors are embedded within the IC and so I'm assuming that the 40nV figure includes the resistor noise, as 40nV/√Hz is pretty high. Can someone verify that I've calculated the noise output for this amplifier correctly for the given application?

If this is the case, then I'll be experiencing 512uV pk of noise, for 700uV pk of signal. Pretty crappy SNR if you ask me. Again, is this correct?

I may have to resort to increasing the Rsense resistor to obtain enough signal to measure the lower current ranges, or think of some way to dynamically alter the sense resistor resistance (a MOSFET with some kind of intelligent bias circuitry might help).

Thanks!