Previous blog posts of my MSOX3034T Road Test:
In this blog post, part of my Keysight InfiniiVision MSOX3034T RoadTest, I will show some experiments / applications the analog channels of the scope can be used for. The experiments involve mostly low speed (<20MHz) applications.
1. Power Supply Measurements
First, I wanted to see how bad (or good ) the cheap lab power supplies are.
The victim was a relatively chinese DPH5005 50V 5A step-up / down programmable power supply:
The oscilloscope's 10x probe was simply connected to the output leads of the power supply. The experiments were conducted either with no load, or a 10 Ω load.
The load I used was a 10 Ω resistor rated at 0.25W. As the resistor was rated only for 0.25W, and I did not had any low value higher wattage resistors, I put the resistor it in a glass of water , so it can handle ~2.5W continuously without catching on fire.
The first thing I wanted to see was the power on characteristics. I was interested in the rise time and possible overshoots.
To do the measurement, I set the trigger level to ~4V, the vertical scale to 1V/div. Then, I started to take single shot measurements, to capture the behaviour when enabling the output of the supply.
This is what the capture looked like, after a couple of adjustments of the horizontal scale, and with rise time and over shot measurements added:
The rise time was ~65 ms at no load. There is no overshot visible on the output.
The next thing I wanted to see if we can figure out the switching frequency of the supply. For this I enabled the Fast Fourier Transform (FFT) view some averaging.
The plot shows a spike at ~155 kHz and some of its multiplies, so this may be the switching frequency of the supply.
Then I wanted to see is how well the supply handles a short circuit on its output. The supply was set to 5V with a current limit of 0.5A.
To take a measurement, I set the triggering to Falling Edge with a trigger level of ~3.5V. The I took measurements in single shot mode, while shorting the output of the supply.
This is what the result looked like:
After an initial ~3V drop caused by the short, the output voltage settles down to ~0.03V in roughly 0.5 ms.
The last thing I wanted to see was the ripple / noise characteristics of the power supply. Because of the above mentioned not exactly ideal measurement setup, I was mainly interested in AC RMS values.
To do this measurement, I set the coupling on channel 1 to AC, and also turned on the 20 MHz bandwidth limit to filter some of the high freq noise. The horizontal scale was set to 1 ms/div, while the vertical one to 50 mV/div. I also enabled the Peak-to-Peak and AC RMS measurements, with statistics display.
The average AC RMS values are ~1.70 mV under no load, and 5.79 mV under a 0.5A load.
The peak-to-peak to noise is 106 mV average under no load, and ~113.5V mV under 0.5A. The spec of the supply for ripple is < 100mV peak-to-peak, and with a proper measuring setup probably would show that this value is met.
2. Measuring the Inductance of an NFC Antenna
An PCB based NFC antenna is basically a PCB copper trace forming a coil. In order to work efficiently the resonance of the antenna circuit must be tuned to 13.56 MHz.
The tuning is done using capacitors, with values calculated based on the inductance of antenna coil. As, I did not have an LCR meter, the method I used at that time to calculate the inductance of the coil was online calculators. Those gave me an inductance value between 1.9 and 2.0 μH.
Now, with an oscilloscope and a function generators we can measure the actual inductance of the antenna coil. I found a couple of methods on the internet to do this, and I ended up trying two of them.
As preparation, I took a spare PCB of the project, soldered female pin header connectors on the two ends of the antenna coil and the secured the with some hot glue (after on the previous two attempts without hot glue the pads were lifted up ).
I also fabricated a BNC cable terminated with two pins on one end. This can be used to connect the function generator output to a breadboard, to other cables, or directly to some female pin headers.
The PCB antenna is connected to the function generator with the above cable, while the signal is probed with probing tip and the springy ground tip:
The first method to measure inductance uses a 20 kHz sine wave generated by the function generator set to 0.5 Vpp @ 50 Ω voltage (~1 Vpp in open loop).
First, we measure the signal with the oscilloscope: it was 1.06 Vpp in my case.
Next, we connect the signal to or antenna (or coil) and measure the voltage drop across the coil. We adjust the frequency of the sine wave, such that the voltage across the antenna is exactly half of the initial value (1.06 Vpp): in my case this happened at 2.97 MHz.
We throw this value (2.97 MHz) in a formula and it gives use the inductance in μH. We can also take into the account the series resistance the coil (in my case ~0.5Ω, measured with a multimeter) and use a formula that takes that to account.
The resulting inductance values were 1.547 μH and 1.562 μH.
The second method uses a triangle wave set to a higher voltage, ex. 2 Vpp @ 50 Ω (~4 Vpp open loop) and some arbitrary frequency (ex. 200 kHz).
We connect the signal to the antenna (or coil) and then capture the signal across it with the scope.
The resulting signal is kind of a square wave, but at the top and bottom they have slopes, instead of a horizontal line. We need to use some cursors to measure a couple of values.
Then putting in the values in some formulas we get the inductance and series resistance of the coil.
The resulting inductance is 1.6 μH, with an series resistance value of 0.46 Ω.
Now, the 1.9-2.0 μH inductance calculated by the online tools is close, but not quite the same as the measured 1.56-1.6μH inductance.
The resulting tuning capacitor values are of by ~ 30 pF. In the actual project I used 133 pF, which result in a resonance frequency of ~ 15 MHz.
Later in this road test, I will try to re-build circuit with the two setups and measure the actual resonance frequency of the antenna circuit.
3. Inspecting USB Signals
One technology I'm interested to use more in my DIY projects is USB. It is much more convenient to use with a PC or phone, compared to a serial bus or other protocol that would require and adapter. Also, there are some couple of affordable and popular micro-controllers that support it: STM32, nRF52*, ESP32-S2 etc.
With an oscilloscope we should be able to debug it, if there are some problems. Most micro-controllers will support USB with up to Full Speed (12Mbps), while SoC based systems (Raspberry, and other single board computer) have support up to High Speed (480) or even USB 3.x (5Gbps).
To be able to easily probe different USB devices, I decided to take an old 30 cm USB extension cable, and hack it so it can accept oscilloscope probes. So, I cut open the cable, soldered some female pin headers to the Data+ and Data- wires, and piece of metal to the GND wire.
I use heat shrink tube to isolate the wires, and some hot glue for structural stability. Then, I built back the shielding and isolated everything with some tape. It came out a little bit ugly, but it seems to work
This is what it looks like in action:
The device I used to test is a Logitech M325 wireless mouse. To check that the device works in USB Full Speed (12M) mode, I used the lsbusb command:
The mouse shows up as device, with 3 different Human Interface Device (HID) sub-devices working at 12M speed.
So, I connected the USB receiver to my laptop using the adapter and hooked up the oscilloscope probes:
D- is connected to channel 1 (yellow), while D+ to channel 2 (green).
I used the Auto Scale functionality to set up the basics, and the scope was able to trigger correctly. As USB uses differential signalling (between D+ and D-), I also set up a Math channel with Chan.2 - Chan.1 (D+ minus D-).
The output looked something like:
Now, to understand what is happening we need some USB basics.
First we can check the speed with some cursors. If we measure the width of what looks like a bit, we get 83 ms. This corresponds to 12 MHz or 12 Mbps.
Then to understand the signal we can use this table:
We can see the Idle state, the Start of Packet (SOP) condition, and the data encoded in the signal:
And the End of Packet (EOP) condition;
From there we could even reconstruct the higher level abstractions of USB. But, I was to lazy to do this .
Unfortunately, we need to do this manually, as the Serial decode functionality of the scope does not seems to support USB (it seems to be a 4000 series feature).
I also took a look a look at a High Speed (480M) USB signalling:
The above capture shows packets from a file transfer from an USB stick.
The signal looks a little bit noisy. I'm not sure if the probing causes this, or the fact that we passed the 350 MHz bandwidth limit of the scope a little bit (480Mbps). Anyway, the capture still seems to contain information to be able to decode it, if we would want this.
In the next blog post I will take a look on the Logic Analyzer functionality of the instrument. Then, I will come back with some high speed / freq stuff (MIPI CSI-2, high speed USB, radio).
Hope you enjoyed this post!