InfiniiMax AutoProbe 1 Caveats

For most mortal souls probing up to 12Ghz, Agilent’s integrated active probe system is called the the AutoProbe 1, which looks like this:

Regular full blown Windows-based Infiniium oscilloscopes takes any AutoProbe 1 probes (as long as the shape fits), but I noticed my DSO6104A (InfiniiVision 6000A series) do not take my 1152A (2.5Ghz) probes nor my fancy 1168A (10Ghz) and 1169A (12Ghz) probes.

Turns out the more compact, embedded (VxWorks) Agilent scopes that boots almost immediately. It’s called the InfiniiVision Series, which covers 1000 X-, 2000 X-, 3000A/T X-, 4000 X-, 6000 X-, 5000, 6000, and 7000 Series.

I’m not rich enough to get my hands on the X series, but I know from the architecture that 5000, 6000 and 7000 series are basically the same scope. 5000 and 6000 series looks almost identical while the 7000 series adds a giant screen and a slightly different keypad layout (the BNC ports do not align with the channel buttons and dials).

Turns out the datasheets shows two caveats:

  • 100Mhz model uses different hardware. They don’t take Autoprobe interface as there’s absolutely no reason why you need an active probe to get 100Mhz single ended. Agilent skipped the hardware for it (thus the autoprobe pins) altogether although they kept the recessed space reserved for Autoprobe so they don’t have to mold a different front bezel just for the 100Mhz models.
  • They basically take only Generation I AutoProbe I, namely the 1130 series
  • Gen 0 (not an official name) AutoProbe 1 does not work: 1152A (2.5Ghz single ended) for 54845A. These differential probes: 1153A, 1154A, 1155A, 1159A are also considered too old. They were intended to work with old Infiniiums such as 54845A
  • Gen 2 AutoProbe 1 (only 10Ghz 1168A/B and 12Ghz 1169A/B models) does not work. These embedded scopes usually max out at 1.5Ghz, with the exception that 6000X goes up to 6Ghz, which is still way below 10Ghz
  • N2800 series are Autoprobe I, but it’s Gen III (has a bigger butt extending away from the AutoProbe I hole), so it doesn’t work
  • The rest are Autoprobe II and III that’s beyond our mortal souls (and way out of the league of InfiniiVision scopes)

 6 total views

Evoluent Vertical Mouse 4 Cable Mod

The mouse cable for Evoluent Vertical Mouse 4 is extremely long, which creates a lot of clutters especially when my keyboard has a USB hub relay built in (it’s the mouse is less than a feet away from it). Instead of splicing the cable, which creates a hard junction that’s not flexible, I modified the mouse to take a micro-USB cable instead.

 5 total views

AC Coupling (removing DC drift) 3-Amp INA Instrumentation Amplifier (DC restoration)

While clearing out my old data, I came across the teaching materials I’ve helped rewritten as a teaching assistant of Biomedical Electronics Lab (Stanford EE122A).

It’s a generic concept in electronics that often used in EKG/ECG circuits to remove the baseline drift on the fly so the analog signal won’t drift off the rails (exceed the dynamic range limited by the op-amps) before the post-processing filter (whether it’s analog or digital) kicks in to remove the DC component.

This concept is called ‘DC restoration’, which is often not taught in standard electronics textbooks. Instead it’s detailed in one of the instrumentation amp (INA) Burr-Brown (now TI) application notes.

It’s a slick trick but the rationale wasn’t very well explained even in the application note itself. It was presented as a feedback design but it doesn’t tell you intuitively what was fed back and why INA chips, and why the reference pin is the right injection point.

Most textbooks don’t even teach the existence of the reference pin (they always short the reference to the ground without explaining). Application notes talk about the REF pin, but they often jump too quickly into cookbook recipes and equations (likely because customers just want quick answers) so they never tell you the thought process.

This blog post shares my intuition of DC-restoration that’s exposed to EE122A students after I’ve updated the lab document. Hope electronic hobbyists and industry people will find it useful.

Before we get to DC restoration, we must see that the purpose of a 3-amp INA is basically a non-inverting buffer stage (primarily done to increase input impedance) followed by a single difference amp (output) stage.

Non-inverting configuration has higher input impedance as the input goes directly to the high impedance non-inverting (+) input pin without taking material current from the input (loading), so there’s no good reason to lose this property by doing inverting op-amp configuration twice.

Most practical INA chips assign some of the user-adjustable gains at the buffer stage because ‘mirrored-ground’ (superposition) allows one resistor to program the gains for the 2 buffer amps without adding more mismatch, but conceptually the first stage’s primary purpose is a buffer. The rest of the gains can be hard-coded by manufacturing with matched ‘resistors’ inside the IC, mostly at the output difference amp stage.

But for illustration (so not to drown the readers in math), let’s assume the design choice of assigning the gains at the input buffer stage and make the output stage a unity gain difference amplifier (V_pV_n), which I use small letters (n, p) to denote the outputs of the buffer stage internal to the INA chip.

The REF pin (the part of R_4 exposed in Figure 6 above) is often advertised as an offset adjustment pin. This is just one of the many uses if you really understand the idea behind the 1-amp difference amplifier configuration.

The slightly more shallow perspective (more modular or system perspective that I’ve shared with EE122A students) is that if you look at an standard 3-amp INA configuration in regular textbooks like this,

Understanding CMR and instrumentation amplifiers - EDN

the entire sub-circuit (3 amp INA) is floating so it has absolutely no idea what the reference (‘ground’) would have been if we did not ARBITRARILY define it through R_4 by tying it to the CM ground, by forcing REF pin (V_{REF}) to be 0V (relative to the common mode ground shared with the inputs)!

In other words, we now have an INA ‘ground’ and a Common Mode (CM) ground, which they do not have to be the same unless we force them to be equal by shorting the REF pin to the CM ground.

This means whatever voltage V_{REF} we set the REF pin to be, it’s the baseline of the system (amplifier) and the whole output shifts moves up and down by whatever V_{REF} relative to common mode ground we are feeding into the REF pin for the moment.

The DC restoration takes advantage of the user-definable baseline (INA ‘ground’) by extracting a low-frequency (drift) portion of the output signal V_o with an INVERTING low-pass filter (LPF) with frequency response L(\omega), and re-define it as the INA’s ‘ground’ level. This is the LPF:

e.g. if the signal’s baseline drifted up by 1V, a -1V is generated by the inverting LPF and the INA ‘ground’ respond by moving from 0V down to -1V, which pulls the entire signal down by 1V, cancelling the 1V increase in baseline. All the voltages used here are relative to the common mode ground.

As with any AC coupling circuit, there is no precise definition of what ‘DC’ or ‘baseline’ is. It’s up to the experimenter to consider what cutoff frequency in the LPF is close enough. Technically DSP engineers can call a running window of trimmed-median the baseline if they wanted to.

The feedback (how fast the INA ‘ground’ is readjusted) is as responsive as the phase delay introduced by the LPF’s time constant. If you only consider anything below 0.00001Hz to be DC, you have to pay a price for the long delay catching up to the changes which might or might not be considered a baseline drift (it’s an application specific context).

I also have an alternate view of DC restoration which does not use the concept of INA ‘ground’ (not taught in EE122A). This is based on seeing the final stage op-amp (1-amp INA) not just as a simple difference amplifier, but as a 3-input arithmetic circuit (summing and subtractions) through super-position (setting one input to 0V at a time and add the results up).

This is the gut of a 1-amp INA difference amplifier

We can break it down into a (1 input) inverting amplifier plus a summing (2 inputs) non-inverting amplifier.

The equations for inverting amplifier and non-inverting amplifiers are not symmetric! The core part of the feedback gain in EITHER CONFIGURATION are ALWAYS set at the feedback branch which ONLY goes to the inverting input (-), aka R_1 and R_2!

  1. Inverting amplifier portion do not care about the resistors at the non-inverting input (+), but
  2. Non-inverting amplifier portion’s gain is determined by the 2 resistors at the inverting input (-)! The resistors at the non-inverting inputs (+) never boost the amplifier gains! They only attenuate signal from external sources (like voltage dividers). The gain boost happens ONLY at the inverting branch!

Why? By superposition (short out other inputs you are not considering)

  1. Inputs to R_3 (V_p) and R_4 (V_{REF}) shorted to the common ground gives an inverting amplifier. They don’t matter to V_n. The gain to V_n is -\frac{R_2}{R_1}.
  2. Input to R_1 (V_n) shorted to the common ground gives a non-inverting amplifier, which the gain boost (1+\frac{R_2}{R_1}) is relative to voltage V_+ showing up at the non-inverting input (+), which is the result of attenuating V_p through R_3 and V_{REF} through R_4.

The output contributions, if R_1=R_2 and R_3=R_4,

  1. [Inverting amplifier gain of -1 relative to V_n] contributes -V_n to the output
  2. [Non-inverting amplifier gain of 2 relative to V_+] if R_4 is set to ground through V_{REF}, R_3 and R_4 forms a 1:1 potential divider which halves V_p to give \frac{V_p}{2} at V_+. Doubling (2x gain) the halved input gives an overall gain of 1, therefore contributing V_p to the output

So the overall output equation is V_p - V_n if V_{REF} is grounded to 0V.

The intuition for DC restoration is to untie the REF pin (going to R_4) from CM ground and treat it as equals to V_p pin (going through R_3, so instead of a potential divider, they form a non-inverting summing amplifier:–r1-q34558104

So the DC restoration circuit can be seen as a 3-input arithmetic amplifier that gives the equation V_{REF}+V_p-V_n and you can subtract the baseline by setting V_{REF} to be whatever baseline your inverting LPF feedback branch judged. The overall AC-coupled system response is \frac{1}{1+L(\omega)}.

Note that ALL 3 inputs (V_p, V_n, V_{REF}) should be driven from sources with low output impedance. V_p and V_n is the outputs of a buffer op-amp so they already have good low impedance outputs feeding to the last stage. We’ll need to do the same for V_{REF} by using an op-amp to lower the output resistance whether it is an active low pass filter or active potential divider, because V_+ do not see V_p differently from V_{REF}. Noise showing up from high resistance output driving REF pin do not simultaneously appear on V_n, so it’s not canceled and therefore it’s worsening the common mode rejection (CMR).

 19 total views,  1 views today

Descriptive names for logic operations on a pair (x, y)

It reads as “The output is TRUE only when the reduction (x,y)\rightarrow z meets the description of the operations below”

0 inputs:

  • Constant: gives the same hard-coded result regardless of inputs

1 input:

  • Transfer: Hardwired to one of the inputs
  • Complement: NOT

2 inputs (symmetric):

  • Comparison: different (XOR), identical (NXOR or equivalence)
  • Arithmetic: AND, OR and its complements NAND, NOR

2 inputs (asymmetric):

  • Inhibition: ONLY 1 followed by 0 is an inhibition. It’s a WHITE-list: anything else is not an inhibition (starting with 0 doesn’t inhibit)
  • Implication: ANYTHING GOES as long as 1 is be followed by 1. It’s a BLACK-list: anything else qualifies as an implication (starting with 0 does not break the implication)

Implication is the complement of Inhibition, as the only case that breaks an implication is inhibition.

This ‘operator’ instead of truth-table view is more often used in electrical engineering than in computer science. There are many names for the same thing, but I put in some thought to find the intuitive words to make it easy to understand and remember

WARNING: Those there are tempting faint similarities between logic and set theory, there’s no direct tight duality between the two. Whitelist/Blacklist in inhibition/implication do not make sense with set-diff/subset as we are talking about a one-shot relationship here in logic, while set theory talks about the relationship between elements picked after it is quantified by “for all” vs “there is”. i.e. Truth table do not mix with sets

 7 total views

Oh! Humanity

Onion used to my favorite satire newspaper before it was taken over by the wokes. When I was in college, some teaching assistants read us an article as a treat before starting a session. Here’s one of my favorite headlines. Here’s one of my favorite

Newborn Loses Faith In Humanity After Record 6 Days
It took me 7 years. I guess I was slow.

I grew up in Hong Kong and I can tell you for sure that you are going to have a very hard time surviving there is you are not a hardcore cynic. People are very harsh to each other but most are sticklers to the rules and contracts to the letter (they believe in the rule-OF-law), to the extent that some mind find inflexible or outright cruel.

Socialist (Chinese Communist Party) is a shit-magnet, identifying the nastiest people in any population. Hong Kong Protests in 2019 showed me people aren’t predominantly bad. I might have picked up a little bit of faith in humanity again after seeing the spirits of the freedom-fighters. The scumbags I should have hated with passions are now wagging their tails and licking the boots of the Chinese Communist Party.

 6 total views

E5070B / E5071B shutting itself down immediately after turning on

Got a second customer coming in today with a E507XB series network analyzer that does not turn on. Looks like it’s a common problem within the model series.

If the unit turns on without the CMOS battery but it doesn’t turn on the 2nd time after the CMOS was cleared, you have a very expensive problem which likely I’m the only person who can solve it because it’s months of effort tracing the circuit and the timings inside. I chasing regretted chasing down the rabbit hole and spent more labor than 3 good unit’s costs for the few grands I’ve charged, but I might be able to recoup the labor in the future as more of the E507XB fails the same way.

UNLESS it’s a SC815E (there are 2 revisions that uses different motherboard), it’s NOT the motherboard or the power supply. I’ve seen some faulty SC815E doing the same on other model series, but not the VP22s (I replaced 4~5 different VP22s, they all do the same thing). It’s some good timing issues that’s hard to pinpoint to a specific module (you can replace everything on the digital side and it still doesn’t work) which I had to design, build and test a special circuit to correct it.

If you have a unit E5060 series or E5070 series VNA (Vector Network Analyzer) that doesn’t boot, I’m likely to have the exact experience fixing it. Of course I’m open to solving other problems with the analyzer as well. I offer free eval (no fix, no fee). Please email me at or call me at 949-682-8145.

 9 total views

Flashing router firmware through Serial Port: CFE bootloader (usually Broadcom) based routers

Here’s a summary of learnings from dd-wrt’s serial recovery instructions:

  1. Use a UART controller that signals at 3.3V (e.g. FTDI TTL-232R-3V3) to talk to the board. Regular serial RS-232 ports requires a voltage level shifter converting the signal to swing between 0V to 3.3V.
  2. You only need 3 pins: Tx, Rx and Ground. There’s voltage contention if you plug in the Vcc from TTL-232R-3V3 (It’s the USB’s 5V despite the signaling is 3.3V) to the 3.3V supply of the router. You don’t need the Vcc pin. It didn’t harm anything or do anything when I connected the Vcc pin.
  3. Stick with all serial port defaults and only set the baud to 115200 (default is 9600) and turn off flow control (default is xon/xoff). I use Putty for terminal.
  4. The terminal serves as the monitor for the computer on the router that shows a text console. Broadcom uses CFE bootloader (others use U-Boot with busybox).
  5. CFE bootloader defaults to with subnet mask (aka /24). Set up the network interface to have a static IP on the same subnet to talk to the board.
  6. Good habit: nvram erase
  7. The flash program relies on TFTP protocol to receive the firmware file. So get your TFTP client ready. Microsoft included a TFTP client/server since Windows 7 but usually disabled (turn it on in Windows OptionalFeatures.exe).
  8. TFTP is a simple push(put)/pull(get) design. You can either “push a file on your computer” or “get a file as filename”. You’d want to specify -i switch (binary image transfer) with Windows tftp.exe.
  9. So type this command at the command prompt but don not press enter until your router is ready to grab the file: tftp -i put {path to whatever TRX firmware file}
  10. Go back to the serial terminal and tell the router to accept a TFTP push (in a window of a few seconds before it time out) and flash the memory region flash1.trx with this command: flash -ctheader : flash1.trx
  11. Immediately initiate the TFTP push from your computer (Windows command line example in Step #9 above)
  12. Wait for a couple of hours! The terminal might tell you that it has received the file completely, but it won’t show anything when it’s writing to the flash! It’s a painfully slow process with no feedback. Just be patient!

Some observations

  • FreshTomato firmware absolutely won’t tell you on the screen after it has done flashing (Merlin-WRT does). Just turn the router back on after a couple of hours.
  • Merlin firmware repeats (exposes) the raw passwords to the serial port!
  • FreshTomato firmware boots to a linux prompt on the serial port

 18 total views