MXO4 Road Test - Mostly Filtering
A little while ago I posted the details of a high side current sensing amplifier that I use to measure low power sensor currents using a scope or a DMM.
I though it would be nice to see what the MXO4 made of the signals.
The amplifier looks like this:
amp.png
The scope measures the voltage across R106. The amplifier has a gain of 10, so 1mA of sensor current shows as 10mV on the scope.
The sensor is connected to a PC based debug system, a power supply and the serial port of the PC. The MXO4 is powered via an isolating transformer and has no direct connection to mains ground. This is necessary to avoid quite large DC errors and noise from the earth loop created when both the PC and the scope are grounded in the normal way.
With this set up the offset error in current (what you read with no current) is about 10uA. Without the isolating transformer it varies according to exactly how the earth loop is connected via scope probes etc but is typically between 2 and 5 mA.
This is normal and in no way a fault of the MXO4 – it would be nice to see the problem at least mentioned from time to time . Because the MXO4 can measure quite tiny signals it’s more likely to bump into this problem. In an ideal world it would have isolation built in.
The Picoscope that I often use as a reference device is very poor in this respect – it’s a built-in problem with any PC based scope, they can’t be isolated at the mains connection. (Pico do offer a scope with isolated inputs but I have experience of its performance.)
This is a typical supply current waveform from my sensor is running normally.
current_long_pulse
You can see how the sleep current drops to about 100uA during the long off time, and that it peaks to more than 1mA about every 17ms.
This next trace zooms in on the on pulse:
Current_1MHz.png
You can see how the sensor gets pretty much all the business done in 500us but that there is a short initial pulse of current greater than 20mA.
This is a reasonable looking waveform and not very noisy despite the 1MHz bandwidth set for the scope.
I reduced the bandwidth to 10kHx in the Acquisition menu, this is much closer to the bandwidth of the amplifier and should be about optimum.
But this is what I saw:
current_10khz
Eeek !
That can’t be real.
It’s not there at 300kHz bandwidth.
current_300kHz.png
Expecting I had made some kind of foolish error I connected the proble to the MXO4 cal terminal and set the bandwidth 10 10kHz again.
RS_own_cal.png
It’s not perfect at 3MHz either:
RS_own_cal_3MHz
But if you reduce the bit depth:
RS_own_cal_hd_off
This is the same probe all the time – it’s just that the maths processing used to make the 12 bit real data look like 18 bits isn’t exactly sorted.
You might wonder if this is a necessary issue that will always occur when you try to enhance the resolution of a scope.
Let’s see how the Pico 6424E gets on (12 bit real resolution enhanced to 16, looking at the MXO4 cal pulse):
pico_RS_cal_wave_16bit
And zooming in to the corner:
pico_RS_cal_wave_16bit_zoom
I talked to Shabaz about this and he suggested that the maths filters might be different so I tried low pass filters based on maths post processing of the waveform (At least I think it’s post processing the waveform.)
This is a rectangular filter:
Cal_pulse_maths_filter1
And this is a Guassian filter.
Cal_pulse_maths_filter2
The odd choice of scale factor for the maths waveforms is what the MXO4 defaulted to. It’s a bit odd.
There is no detailed explanation of the filtering in any of the R&S documentation that I have found.
A couple of days later I was playing with a board I made to support an AY-3-8912 sound generator chip. I bought the chips, cheap, from AliExpress. They turned up, 10 stacked one on top of the other and wrapped in clingfilm – but they do work.
I was looking at the output of the LM386 power amp I had used to drive a speaker from the sound chip. The signal was very noisy but the MXO4 managed to pick out the modulated noise (gunshot example from the AY-3-8912 data sheet). Note that the trigger level is 6.9mV
Moudulated_noise1
I zoomed right into this – with a huge magnification. The screen is showing 2.2 seconds and the zoom window is 1050us wide – that’s a zoom factor of 2095 (approx.).
Getting hold of the zoom window edges could be tricky but the MXO4 has a nice feature to help you click on the unclickable ( in passing I should say that use a mouse rather than attempting to poke the screen with my fingers.)
Modulated_noise_cursor.
The hexagons allow you to pick the thing you want. This scheme is used in several other places when you try to pick by mouse but not everywhere it might be useful.
Having established that the the operating frequency of my AY-3-8912 was what I expected, I wanted to work out where the noise was coming from.
I switched out the 500kHz filter and got this:
Modulated_noise_no_filter
At first glance this wasn’t very helpful.
I connected the Picoscope up as well and it was completely unable to trigger on the AY-3-8912 signals (just triggered all the time).
I was (and still am a bit) recovering from Covid and that’s my excuse for the brain failure.
The R&S is doing its best to show a huge (1Vp-p) 13MHz signal with a small (50mVp-p) sound generator signal mixed in with it.
The Picoscope filters the waveform after the trigger compare and logic. The MXO4 filters the data and applies the trigger comparison to the filtered data. So much to its credit it can correctly trigger on the sound generator signal even though it is swamped by the HF noise.
I replaced the 47nF capacitor in the Zobel network (series RC across speaker load) on the output of the LM386 (it had fallen off) and the oscillation stopped.
Summary
The basic architecture of the MXO4 is good, it can apply filtering and resolution enhancement in real time before the triggering logic and this has some very real benefits.
Unfortunately the filters themselves have serious quirks and introduce artifacts into the data. It may be that there are circumstances where this is the best trade off, but if so the effect should be properly explained in the manual and there should be a better range of settings offered to allow the operator to choose the most suitable option for a given measurement.