Embedded

View Original

379: Monstrous Cable Corporation

Transcript from 379: Monstrous Cable Corporation with Tom Anderson, Elecia White, and Christopher White.

EW (00:00:06):

Welcome to Embedded. I am Elecia White, alongside Christopher White. This week we're going to talk about the things we wish new college graduates knew and the things we wish we knew when we were new college grads. Tom Anderson will be joining us to discuss the hardware side of things.

CW (00:00:24):

Hi, Tom. How are you doing?

TA (00:00:26):

Hello.

EW (00:00:28):

We're going to treat this kind of like a panel.

CW (00:00:32):

What?

EW (00:00:32):

And so -

CW (00:00:33):

Who's the moderator?

EW (00:00:34):

Tom, will you introduce yourself as though you were on a panel about new college grads, and what they should know for engineering work?

TA (00:00:43):

Sure. My name is Tom Anderson and I work for a test equipment company that keeps changing its name. But I'm not here on behalf of Keysight today. I'm just speaking for myself.

EW (00:00:57):

Okay. We usually do lightning round, where we ask quick questions, and we want quick answers. But lightning round went on summer vacation without telling us.

CW (00:01:08):

Where did it go?

EW (00:01:09):

I don't know. Probably someplace very sunny. It did leave one question for you though. What is your favorite component and why?

TA (00:01:20):

Oh, I like the inductor, and maybe it's because most people seem to have trouble with them. And I learned how to wind my own coils awhile back and how to figure them out. And I think they're fun.

EW (00:01:35):

What does an inductor do?

CW (00:01:37):

Obviously, it inducts.

EW (00:01:39):

Is this how you get to be in hall of fames? You get a lot of inductors?

TA (00:01:43):

In some sense, it's the opposite of a capacitor. It's like a capacitor except for current. And so, if you think of a capacitor like accumulating charge, the inductor accumulates current, and I always think of it as spinning. The inductor stores the spin, but...really acceleration of charge is what it's really storing.

TA (00:02:09):

But since the electricity flows in loops, when you move something in a circle it's accelerating towards the center. And so that acceleration stores this energy in it, and as the things go round and round, it stores up a bunch of energy.

TA (00:02:24):

And that's that one half LI squared thing that is the equivalent of one half CV squared in a capacitor. And you also...get a differential equation that's pretty cool. They're great for little switching power supplies.

TA (00:02:41):

They make the little DC-to-DC converters efficient. They're a handy device. And you can resonate them. The other feature is you get them for free with every component that you buy.

EW (00:02:55):

You get resistors for free, don't you?

TA (00:02:56):

Yeah, but they all come with a little tiny inductor and a little tiny capacitor, more than one little tiny capacitor as well. But the inductor is the really fun one. And even if you get a capacitor, it's got a little bit of inductance.

TA (00:03:14):

And so that tends to cause problems. And that's where I like to work, is in those little regions,...where you start to get in trouble and you have to fix things.

CW (00:03:28):

Darn magnetic fields.

EW (00:03:30):

Electromagnetic fields. They don't like to just be one or the other.

CW (00:03:35):

Well, it's the shift between them. That's the trouble.

EW (00:03:37):

Okay. So we got a long email from Mike, a professor who'd like this show to be homework for his class. And he wanted us to talk about all kinds of things, mostly the challenges of engineering life after college.

TA (00:03:54):

Is this is going to be on the test?

EW (00:03:56):

This is the test. Thank you for joining us. You did this voluntarily.

TA (00:04:01):

Okay.

EW (00:04:02):

Mostly. Okay. So let's start with the easy stuff about pins. Because...when you take the microcontroller class, you hear about GPIO pins, and you work on an Arduino, and you know pin up, pin down.

EW (00:04:22):

But there's a whole lot more to it. And I think "floating" is where people start to realize it's not as simple as it looks. So what does "floating" mean when it describes an I/O pin?

TA (00:04:34):

[Hmm]. Well, can I say it's complicated, and it depends?

EW (00:04:40):

Of course. That is the traditional answer for all experts.

TA (00:04:43):

Okay. A floating pin,...typically, it's not an output unless the output's turned off. So it could be what's called a tri-stated output where you say, "Please turn off this output. I don't want it to be either a one or a zero. I'm going to let something else control this level."

TA (00:05:07):

Or it could be an input that doesn't have anything driving it, like another logic gate. And that's usually where you get in trouble with floating inputs, and they are trouble. Most things don't like to float, except when they do. Microcontrollers usually have inputs that can tolerate being floated or floating.

TA (00:05:30):

They have extra circuitry, either a pull-up resistor, or a pull-down resistor, or something else that means that you don't have to drive the pin. Pull-up and pull-down resistors tend to burn up power. And so it's not great in a battery-operated system.

TA (00:05:47):

And so they actually have a little transistor circuit that can hold on to the pin for you. The problem..., and what you run into with things like little simple logic gates, is when you have an input say to an inverter, or a NAND gate, or something, and it's floating. It can float to a weird voltage that's in between a one or a zero.

TA (00:06:11):

And what happens is at that input stage, there's a transistor going up to the supply, and there's a transistor going down to the ground. And both of those transistors can turn on a little bit at the same time. And that can cause a bunch of current to flow through that input.

TA (00:06:29):

And the chip can get really hot -

CW (00:06:31):

[Hmm], okay.

TA (00:06:31):

- when that happens, particularly if there's a lot of gates in one package that are all floating.

TA (00:06:37):

And so if you have a floating input like that and you want to test it,...you notice that there's a lot of power coming from your power supply, and so you want to figure out which chip it is, what you should do is you should lick your thumb before you press it onto the chips. Because one of them is going to be really hot.

TA (00:06:58):

And it can even latch up, which is a case where the current just keeps flowing, and...giving it a logic level won't even save it. The transistors won't turn off. I see manufacturers don't like to admit that their parts latch up. But you kind of learn which ones do.

TA (00:07:23):

And a lot of them do. The cheaper ICs often have latchup problems, and kind of what you're paying for in a premium chip a lot of times is something that won't latch up. Latchup is...actually an SCR. There's a parasitic SCR. What the heck does that mean?

EW (00:07:40):

SCR. Yeah.

TA (00:07:42):

There's extra transistors that we hope never turn on. They're inside these CMOS chips. When they do turn on, there's no way to turn them off. They latch. And SCR is kind of a latching transistor. So the only way to turn them off is to shut the power off.

TA (00:08:03):

And then you can turn them back on, and if you haven't burned out the chip, then they're fine. They don't keep conducting after that. And they happen when you put too much current through a pin.

TA (00:08:15):

So that's one of the failure modes. When you have a pin and you ask for too much current sometimes, you can get that state where it latches up.

TA (00:08:24):

And so if you're trying to do things like you drive a little servo motor directly from a pin of something that is maybe just a logic gate, and you say, "Yeah, but it can put out 20 milliamps. And my servo only takes 45 milliamps, or 50 milliamps, so I can probably get away with it."

TA (00:08:43):

Well, you might get a latchup, and then it'll work just fine until your demo. And then it latches up during your demo and gets hot. And it's very embarrassing.

CW (00:08:53):

I remember from my first job where I had to deal with microcontrollers, or pins and things directly, the EE had all sorts of other terms that he threw around. Open collector and open drain. And those went along with tri-state. I cannot remember what they mean. I knew what they meant -

EW (00:09:13):

High-Z was a good one for me. That was a -

CW (00:09:13):

Yeah High-Z, which is tri-state I think.

EW (00:09:15):

Yeah.

CW (00:09:16):

Does anybody know what open drain and open collector mean? Sure.

EW (00:09:20):

I'm sure that Tom does.

CW (00:09:21):

I'm sure he does too.

TA (00:09:22):

I do, actually. So in your old school transistors from a while back they were open collector because they used bipolar junction transistors, which have collector base and emitter instead of...drain gate and source. But fundamentally they do the same thing. The base or the gate provides the control.

TA (00:09:52):

And typically in these things, when you talk about open collector, it means they were open drain. It means they grounded the source or the emitter. And so what that means is that there's nothing pulling the output up. It's only pulling the output down.

CW (00:10:12):

Right. Okay. Yeah, I remember now.

TA (00:10:13):

So you have to hang a resistor on it or something. You have to hang a load on it if you want to see it on a scope. Otherwise it just pulls current. And in fact, you can think of a switching power supply or something. You might put an inductor up there.

TA (00:10:31):

And when you do you need that reverse diode. Say you're driving a relay with an open collector. That relay has a coil on it. Hey, my favorite component is in a relay.

TA (00:10:45):

And so when I pull down on that collector,...one end of the inductor or the coil I put on the power supply, and the other end of the coil I put on the open collector output. And when I turn on that gate, that's actually the logic low state and so on is at a zero. That's inconvenient, isn't it?

TA (00:11:12):

So I turn it on and the current flows from the power supply through the coil, and then through the collector or a drain of the output stage, and it winds up the energy in the coil. And that makes a magnetic field, and it pulls the switch.

TA (00:11:32):

When I turn that stage off, there's all this energy in the coil, and it's got to go somewhere. What happens is when you open circuit a coil that has current flowing in it, that current wants to keep flowing, and it will. And the voltage will rise across the coil until it finds a path out, and that path could easily be destroying your output transistor.

TA (00:12:01):

And so what people do is they put in a diode that dumps that current back into the power supply. So there's a diode pointing from that collector back up to the power supply.

TA (00:12:14):

And so that's another pattern that you'll see, is when you're driving a relay...you'll see this diode across there. And if you don't, the circuit will work for a little while until your demo, and then it fails.

EW (00:12:31):

When I started in this industry, I seem to recall that microcontrollers didn't have those diodes on every GPIO and most chips that I work with now seem to. Is that right? Are we getting...fewer latchups because the chips have more built in surrounding the GPIOs?

TA (00:12:53):

Well, you'd like it to. I think that some of them are pretty good, and some of them are still pretty fragile. It depends in part sort of what the application of it is, and how good a job they did, and what process they used, what's available in their process, and how much energy are we really talking about.

TA (00:13:13):

In these coils, it's quite a bit of energy. What they're better at now is ESD.

EW (00:13:19):

Oh, yes.

TA (00:13:19):

Good old electrostatic discharge. And that's really what those diodes are for, mostly. In general, you don't want to turn those diodes on if you can help it. They don't like to be on a lot. They can be.

TA (00:13:34):

I mean, in some cases there are reflections that happen where you send a signal down a line, and it reflects off the end and comes back. And you get a pulse that turns on those diodes, but that's actually pretty rare. Because microcontrollers are usually in pretty slow circuits, so it's less of a problem.

TA (00:13:54):

And their traces aren't too long, because you used a microcontroller and put it close to your device. So that helps as well. But for ESD, there are plenty of things that still really zap stuff. One of them is machine ESD. So they have the human ESD everybody's familiar with. You touch it, and it zaps it.

TA (00:14:15):

And that, there's a model for it people use. I think they charge up a little tiny capacitor to 1500 volts or something, and that's supposed to represent somebody static zapping it, which is a level you can't even feel, really. And so the zaps are pretty much invisible.

TA (00:14:34):

If you really give a wallop to something, it's more like 10,000 or 15,000 volts. If you get out of a new Honda, for some reason Hondas just have amazing ESD buildup. There's something, I don't know, maybe the tires are really clean or something like that. You can get just huge, huge static zaps.

TA (00:14:57):

And so it's really the machines that give the biggest ESD. Machine ESD is just huge. Something like a vacuum cleaner, like a Roomba in fact, make huge amounts of ESD. And they have to do a lot to control it.

CW (00:15:13):

I still have yet to destroy anything that way.

EW (00:15:16):

Okay. So we've kind of talked about what's inside. But I still want to do "What does 'floating' mean?" Because we've gotten, it depends, which it totally does.

EW (00:15:28):

But what if I had a power supply, and it was driving a chip, and...I had another probe, and I touched a pin that was floating and not connected to anything else? If the pin was an input, now it would read high. And if the pin was an output,...and it was high, probably nothing was going wrong.

EW (00:15:58):

If the pin is an output, and it was low, and I'm touching it with my power supply voltage, they're going to fight and maybe let the magic smoke out. What about pull-up and pull-down in that case?

EW (00:16:11):

Am I less likely to blow things up if my chip is using a resistor to do pull-up and pull-down instead of driving it? I guess pull-down, since I'm torturing it with power supply.

TA (00:16:26):

Okay. So, in either a pull-up or a pull-down resistor case, you're allowed to use some other device to pull it down. The problem is if you have two outputs, I think is what you're describing -

EW (00:16:40):

Yeah.

TA (00:16:40):

- and they disagree about what the direction is. And that can happen even for a very small amount of time. That can cause a problem, even for nanoseconds.

TA (00:16:54):

And so, a typical way that that happens is when you design something, we used to have to design with RAM chips. Remember that? When we had RAM in our systems?

EW (00:17:06):

Yes. And it didn't just come as part of our controller. Yes, I remember that.

TA (00:17:09):

Yeah, yeah. It was a separate chip. And I had to work with that once. And one time I actually had RAM with no processor. And so I had a little state machine that was controlling the RAM, and it was running through a sequence.

TA (00:17:22):

It had a counter to run through the addresses and then I would grab data from it and I could read data from it and write data with a little state machine. And so it had read-write lines on it and an output enable.

TA (00:17:39):

And that's kind of a complicated set of things to control, because there are several operations. You have your read operation, which is mostly what it was doing, which was reading values out of a lookup table. And the lookup table address was based on a counter. So it would just cycle through the memory.

TA (00:18:01):

And that was great, but I had to initialize that every now and then, or change a value. And so it would have to do a write. And in that case, the thing that's driving it has to change. So instead of the RAM chip driving, it was my I/O interface that was driving.

TA (00:18:21):

But in my state machine, the line that switched between the two had a little tiny overlap of just a few nanoseconds. And so for a few nanoseconds, they were both trying to drive the line at the same time, both my I/O system, and my RAM chip. And the RAM chip was really fragile.

TA (00:18:43):

And so it would work for about two weeks and then it would fail. The RAM chip would fail, and the RAM chips were expensive. And they were also very ESD sensitive. So it was very unclear as to what makes a RAM chip fail. But it turned out that it was my state machine.

TA (00:19:06):

And what I needed was a state machine that used a thing called a gray code, which is...where you don't have two bits that you're controlling that changed state at the same time.

TA (00:19:22):

And I think in FPGA synthesis now, when you make a state machine, you can just check a box that says, "Yeah, I want a gray code on that," and it does that for you. But at the time I had to redesign with these gray codes, which was actually pretty complicated to do.

EW (00:19:40):

I can imagine.

TA (00:19:42):

Yeah...I think it's a state machine where only one bit flips at a time, so you don't have the thing, like the carry, so if you want zero to one, that's fine.

TA (00:19:56):

...But going one to two, you wouldn't do that. You'd go one to three, because you only want one bit to change. And then you could go from three to two because that's a one bit change. So you can get to all the states. It's just you get there not by counting.

EW (00:20:14):

You get there by changing one bit at a time so that it doesn't have too much current effect, which causes the rest of the system to behave unhappily.

TA (00:20:24):

Well, it doesn't have the overlap where for that brief instant in time between the two codes, like...if I'm going in state from one to two, I'm turning off the first bit and turning on the second bit at the same time. But for a brief moment in time, I may actually visit state three where both of them are on, and that would be the problem.

EW (00:20:52):

Okay. So what else should we talk about with I/O pins? What else do people coming out of college believe that maybe we should alleviate them of that misconception?

TA (00:21:08):

Well, I'm not sure we got through the "floating" actually, if I ever answered your question. The floating is when the chip itself doesn't have any opinion about which state the line should be in. And so it's not driving or sucking up any current.

EW (00:21:25):

I was going to say that's the opposite of driven. Driven means someone cares, and they're putting energy into making it one or zero.

TA (00:21:33):

Right. And it might be a very small amount of energy, like in a pull-up or a pull-down that has a very large value. So it just barely pulls it up or down.

EW (00:21:44):

Anytime a chip is driving an output, does that mean somewhere there is a pull-up or pull-down? Or is there a way to drive an output without having a resistor?

TA (00:21:57):

Well, that's where the C and CMOS comes from. It's complimentary, which means it has both P-channel and N-channel transistors. And the P-channels pull up and the N-channels pull down. There's other logic families. Some of them don't have both directions...PMOS only pulls up and NMOS only pulls down.

TA (00:22:18):

And then there's other logic families that are used for high performance applications, that you hardly ever see in school...Some of them have pull-ups and pull-downs, and some of them don't. Microwave stuff in general is all N-channel because the P-channel devices tend to be slower.

EW (00:22:42):

Okay. So back to my question. If I have a chip, and I say, I want it to have a driven output, does that mean that somewhere in the chip it's connecting me to VCC or does that mean there's a pull-up?

TA (00:23:04):

Well, the pull-up is turned on and off.

EW (00:23:06):

Okay.

TA (00:23:06):

It's a transistor. And so that's the PMOS transistor that pulls the signal up. You could use a resistor to do the same thing, but it would take up power. Whenever the line was low, there would be some power being burned across the resistor.

TA (00:23:24):

And so the clever thing they did with CMOS is they have one transistor that pulls the signal up, and one that pulls it down. And they're both not supposed to be on at the same time, although they are very briefly.

TA (00:23:37):

And you get a little tiny pulse where there's current from the plus supply to the minus supply. You wish that was zero because only one of those transistors is turned on at a time.

TA (00:23:52):

And so...if you can maintain that, then it doesn't use any static power. It can just sit there and you don't use up any current from the supply, but you're still holding the line high or low.

CW (00:24:07):

One of the things about outputs is that they have current limits. I mean, I usually think about outputs as just logical signaling things, but you can drive things with them to a certain extent on certain chips.

CW (00:24:18):

If you look at the datasheets, they can source certain amounts of current. So knowing that your limit there is also probably important, and you don't just hook up random things you want to drive and hope for the best -

EW (00:24:29):

Don't hook the motors direct to your chip. You'll regret it.

TA (00:24:34):

Well, but that's where the fun is.

EW (00:24:35):

I know.

TA (00:24:35):

It's so fun to see the little servo wave the little flag around, right? Hanging off the Arduino pin for a few minutes, Until it's not. But then you just use a different pin, because you burned that one out.

EW (00:24:48):

Until you burn that one out.

TA (00:24:48):

Yeah.

CW (00:24:50):

That's why you get the big chips with lots of pins.

EW (00:24:52):

Lots of pins so you can burn them out sequentially.

CW (00:24:53):

That's why they give you more than one GPIO.

TA (00:24:56):

Yeah, yeah. And you can add another transistor to it, or -

CW (00:25:02):

Yeah.

TA (00:25:02):

It helps a lot to put that diode in I talked about earlier, because the motor has the same problem as the coil, and then it stores up this energy in the coil, and it needs to dump it out.

TA (00:25:13):

And if you put a diode from that output so the little arrow on the diode is pointing from the output up to the supply, then it gives a spot for that current to flow and most chips can do about 20 million amps.

TA (00:25:30):

And...if you have devices in one package and you're careful, you can parallel the pins and get more current that way. So for example, you can have a pack of inverters. Maybe you get six inverters in a pack, and you can put them all in parallel, and drive bigger stuff. It's not a great way to do it, but it does work.

EW (00:25:55):

So if I want 120 milliamps to go to my motor, I just use five pins all at the same time? Is that what you mean by -

CW (00:26:04):

I believe the number would be six.

TA (00:26:06):

Six, but yeah -

EW (00:26:08):

I chose that, because he said six, but I just got it wrong.

TA (00:26:16):

In principle, yes. In practice, the power supply pin also has a limit. And so you have to obey whatever that is , because all that 120 millamps has got to come through the one power supply pin. So that's the limitation of that approach. Yeah.

TA (00:26:31):

But I have seen it work to great effect, where people paralleled a couple of things, usually because they wanted...not really so much power for a motor or something. They just wanted a lower output impedance.

TA (00:26:45):

So you put them in parallel and the output impedance goes in half. And that's kind of what you're getting at with, "How much current can you drive?" Another way to say that is, "What's your output impedance?" And so if I take a 5V logic chip, and I short the output to ground, how much current do I get?

TA (00:27:10):

And so let's say I got 50 milliamps. I could say, "Well, my output impedance is therefore V over I equals R. So that would be 5Vs over 50 milliamps, I guess it would be a hundred ohms." And so if I wanted lower, I could just parallel more of them.

TA (00:27:32):

It usually doesn't come up, because usually people don't want to do that. But if you're charging up a really small capacitor, you can probably get away with it if you want to just charge it really quickly. Like a line driver.

TA (00:27:46):

People would normally use a line driver for that sort of thing. That's what they're designed for, is to have more output current.

EW (00:27:52):

Okay. To sum up, floating in I/O pins means nobody is driving it and it's not attached to a pull-up or pull-down. It is floating in the middle. Nobody can tell you what the value is. If it's an input, it may read zero. It may read one.

EW (00:28:07):

If there's nothing pulling it or driving it, floating is floating. And that is bad if you're trying to read it as an input that means something. It's good if you want it to not be sucking a lot of power.

TA (00:28:25):

...Well, it can be bad for power.

TA (00:28:28):

Because if it floats to that magic voltage where both the input transistors are turned on at the same time, because they're in a structure that's just like the output with an N-channel and a P-channel, and so if both of the N and the P turn on it at the same time, like they do in that little glitch during the transition, then it'll draw a bunch of current.

TA (00:28:51):

And that's not good. And I've definitely seen that happen and had that problem. And so a lot of chips have a specification actually for rise time. They'll say, "Make sure your rise time is quicker than some certain amount of time."

TA (00:29:06):

And the reason for that is they don't want to spend too much time at this funny voltage where it draws a lot of current. So you need to be careful about that. Now, some chips don't have that problem. They're designed to not have that, but it's something to look for.

TA (00:29:22):

And...there's not really a name for the specification that I know of, but there's often a graph of input current versus input voltage. And you'll see this funny little shape in the middle, it's kind of a fuzzy shape. And I think one of the reasons fuzzy is because the circuit also tends to oscillate at that frequency.

TA (00:29:42):

And in fact, there's a whole app note about this problem from Texas Instruments on this floating input or rise time problem. And like a lot of things, the manufacturer's app notes tell the long story, because they're tired of having people call and having to tell them the same story over and over again.

TA (00:30:04):

They write it down for everybody to look at. And so that's what you should look at...You have references in the show notes? We can -

EW (00:30:12):

Yes.

TA (00:30:12):

- put them in there.

EW (00:30:13):

We will reference that in the show notes. Okay. So floating...is not always a low-current state. Is High-Z different.?

TA (00:30:27):

Yes. The High-Z is an output, and it is designed to not have both transistors turn on at the same time during that. And it will happily sit there and float.

EW (00:30:42):

And High-Z means I am not participating. Just pretend that there is no wire attached. Is that kind of a mental model?

TA (00:30:52):

Yeah, usually there's a little bit of current that can flow, but not very much. And in fact, if you look at...say a data bus, which goes High-Z every now and then, because no one is driving the data bus, you'll see the lines get really slow.

TA (00:31:11):

And you'll see these long sort of smooth RC time constant things going through in the graph on the scope. Have you ever seen that?

CW (00:31:23):

Probably, but I probably didn't know what I was looking at.

TA (00:31:25):

So it looks really weird, because you see all these ones and zeros in there, and then every now and then things just get really smooth and slow.

CW (00:31:33):

Okay.

TA (00:31:34):

And so that waveform can spend too much time in this forbidden region, because it's driving other inputs that have this input current problem. And so people put pull-up resistors on a bus to deal with that. But that would burn power.

TA (00:31:50):

So in something like an embedded system or battery-operated system, what people do is they actually have a special chip that you can put on,...I think it's called a bus hold IC, that keeps it from doing that.

TA (00:32:03):

It keeps it either low or high based on where it just was. So it's in effect a little latch that sits there and keeps the bus from floating out on those tri-stated outputs.

EW (00:32:18):

Okay. That's a new word. Tri-state means undriven? I mean -

TA (00:32:24):

Ah, yes. Yeah. When they're turned off.

EW (00:32:26):

Okay.

TA (00:32:26):

When the output is turned off, you call it -

CW (00:32:29):

High-Z and tri-state are the same thing, right?

TA (00:32:30):

Tri-state, yeah. There's different words for the same thing like all good words. There's so many to choose from.

EW (00:32:40):

And the "Z" in High-Z is impedance.

CW (00:32:42):

Yes.

TA (00:32:43):

Yes, it is.

EW (00:32:44):

Right.

CW (00:32:47):

Because "Z" is for impedance.

EW (00:32:48):

Of course it is.

CW (00:32:49):

The invisible "z" in the word impedance.

EW (00:32:50):

Yes.

TA (00:32:50):

Yeah. And you're ready for it to be a complex number, because Zs are weird, and complex numbers are weird. And so we get a "Z" there.

CW (00:33:00):

I always think it's hilarious, because audio interfaces, if you look at the one on the desk right in front of you, there's a thing on the front that says High-Z for one of the plugs as if musicians know what that means. No offense, musicians.

TA (00:33:12):

But do they put the magnitude around there?

CW (00:33:16):

No.

TA (00:33:16):

You need the little absolute value sign with the "Z" in it...It's the magnitude of the impedance that gets you. At some frequency it's low-Z, right?

CW (00:33:28):

Yep.

TA (00:33:29):

If you go to a high enough frequency.

EW (00:33:32):

Okay. So moving on from question one from Professor Mike, we only have about 45 more, so -

CW (00:33:41):

That's good, because we've got about 45 more minutes.

EW (00:33:46):

I'm torn between asking about ADCs, because I know that you probably know so much more about ADCs, or about how you figure out all of these details and all of this jargon without knowing.

EW (00:34:01):

I mean, floating, High-Z, tri-state. If we've learned about impedance, and resistors, and inductors, and all of those things in school, how do we get to tri-state?

CW (00:34:14):

Well, okay, let me interject briefly...It's sort of overwhelming, because we're talking about everything all at once here. And that wasn't at least how I encountered this stuff.

CW (00:34:25):

It wasn't, I just suddenly appeared as a software engineer and somebody said, "Hey, do you know all of these electrical engineering terms?"...One thing came up a week and I could spend time understanding it.

CW (00:34:38):

So was that your experience, is that suddenly everybody was throwing out High-Z, and floating, and then ADC this and that? Or...kind of as you worked through problems, you encountered them individually?

TA (00:34:52):

Well, I got really good training. And that was, I think, one of the benefits of working at a big company...is that you'll find people there that know a lot of stuff and can teach it to you. Unlike say maybe a startup where there might not be anybody else around who's got a lot of experience and time to teach you all the material.

TA (00:35:14):

And so in addition to that, there were a lot of people hired at the same time that I was, because there was a big hiring boom at the time, which was really fortunate for me, because otherwise I probably wouldn't have gotten hired. They must have been desperate. So, what happened was they even had a program for training people.

CW (00:35:37):

Oh, wow.

TA (00:35:38):

And so once a week we would go into a conference room.

TA (00:35:40):

And somebody who was an expert in oscillators, or filters, or amplifiers, would get up and just walk through it completely from a totally practical point of view and using the jargon and the devices and the schematics of the type that were in our products so that everybody could get on the same page.

TA (00:36:05):

And so I was just really fortunate to have all that. And I actually still have the notebooks from that, and they're still they're still quite valid. So my fundamentals education was really strengthened by my work education.

TA (00:36:24):

And I really recommend that people get a lot of fundamentals in school, at least from the point of view of hiring, who do you want to hire? Do you want people with practical experience that have done a lot of projects and are all excited about building things?

TA (00:36:42):

Or do you want people who are really heavy on the theory and really understand the basis for how devices work and how to analyze circuits? And it's kind of a trade-off, because you want people who are excited and are going to be engaged about what they're doing.

TA (00:37:02):

But it's really expensive to teach everybody all the theory that they need to go with it. It helps if you have a lot of people learning it at once, like happened with me, but, yeah, it's difficult. I went into it thinking that I already knew everything, because I had built these projects.

TA (00:37:22):

And then I found out when I got there that I didn't know nothing hardly. And there were all these other people that knew so much more. And so I just tried to absorb it as quickly as I could. And that was really my main focus for a few years.

EW (00:37:37):

It's really tough, because you and I went to, I think the same large company, which no longer exists.

TA (00:37:45):

Well, it exists.

EW (00:37:46):

No, it doesn't.

TA (00:37:47):

Well, the same people are doing the same thing -

EW (00:37:52):

Alright. I'll give you that.

TA (00:37:52):

- that they were when we were there.

CW (00:37:54):

The names have changed. Protect the innocent.

TA (00:37:54):

But the door has a different name on it. But, really, in my case anyway, a lot of the same people are still there. When I go to the 40 year service award anniversary, if they ever have it, because it was during COVID, but...there's a lot of people that have been there for 40 years.

TA (00:38:14):

And...yeah, it's really the same culture. The culture lives on from HP in Keysight actually. The good parts of it, anyway.

EW (00:38:31):

And when I was at HP, it was this learning experience. And when you came out of college, they did make an effort. I didn't have classes. That sounds kind of awesome.

EW (00:38:45):

But I did have people I could talk to that I knew would answer my questions, because they weren't so pressured for time that they couldn't be bothered to deal with a new newbie.

EW (00:39:00):

And so, I think a lot of the pin information, with the floating, and the High-Z, that all happened pretty quickly, because they gave me a manual to read and told me what they wanted things to do. And I had to to figure out the words, and it wasn't easy.

EW (00:39:24):

...I couldn't Google for it, because Google was barely a thing. But even if Google was a thing, it was so many words. You can't Google for the whole dictionary. And so classes like Tom is saying would be really helpful.

CW (00:39:44):

Yeah, no, no. I just had a different experience, because I went to a startup, and I was already somewhat of a senior engineer -

EW (00:39:50):

You were a senior software engineer.

CW (00:39:50):

- without a lot of electrical engineering.

EW (00:39:51):

Yeah.

CW (00:39:51):

So I was a peer with the electrical engineer. And so we worked through a design, and basically, over the course of time I learned all of these things just kind of working with him. So much different experience.

CW (00:40:02):

But yeah, so if you're a new college grad, and you're being dumped into a situation as a software engineer with maybe some microcontroller experience, and you don't know all this stuff, it probably can be overwhelming.

CW (00:40:13):

I was just trying to inject a little bit of "don't panic," because if I listened to this podcast -

EW (00:40:19):

Oh.

CW (00:40:19):

- as a new college grad, I'm going to get a little scared.

TA (00:40:22):

Oh, okay.

CW (00:40:22):

Because I think we're talking about a lot of stuff here.

TA (00:40:25):

Well, that's true. Yeah. And a lot of my job is actually teaching this stuff to people. That is a fairly big percentage, not as much anymore, but for about ten years, that's mostly what I did.

TA (00:40:39):

So I think I've given some back, and there's plenty of people to teach you this stuff when you get there, if you get to a good place.

CW (00:40:46):

Right.

TA (00:40:46):

That's maybe something to think about is, when you're looking around, figure out how you would learn things.

EW (00:40:54):

You know the part of the interview where they ask, "Do you have any questions for us?" One of the questions should be, "How am I going to go from a new college grad to a senior engineer?"

CW (00:41:05):

Yeah, yeah.

EW (00:41:05):

And they should have a path. And it shouldn't just be, "Well, once you've been three years in the job, you'll be engineer, and in another three you'll be senior." It's not like that. There should be some training. Okay. So my question was, do you want to talk about ADCs, or do you want to talk about learning things as we go along?

TA (00:41:28):

We can talk about ADCs, but I fear that it will be...much worse than the floating pins. But we can perhaps brush on it lightly.

EW (00:41:41):

Okay.

TA (00:41:41):

So different ADCs, I think the question, well, it was like, what kind of ADC should I use, and does it matter, right?

EW (00:41:52):

Yeah. And some of the real-world challenges. And when we say ADC, we do mean analog-to-digital converter.

TA (00:41:59):

Right. So...we're starting with an analog signal, and analog signals have this problem in that if you pollute them in any way, it's very difficult to unpollute them.

TA (00:42:14):

And so when you're doing anything like driving a signal through a cable or a radio or anywhere else, if it's an analog signal, you have to take great care to keep it well-shielded, and be careful that there isn't interference coming from the power supplies or from electromagnetic interference, or even things like ESD.

TA (00:42:42):

You don't want to get a pop in your audio from a static zap. So the advantage of the digital is that you can clean up a signal after it's been digitized, much easier if it's digital than if it's analog.

EW (00:43:01):

But more importantly, you can transfer a signal.

TA (00:43:04):

Well, yes.

EW (00:43:04):

If I want to send something six feet away, a shielded cable is likely to get noise, but if I send it digitally over SPI or something, it's likely to arrive entirely intact.

TA (00:43:21):

Well, the digital part of it does. Whether or not you capture the analog part of it depends on how good your analog-to-digital converter is. And also you can get a really good cable, is another way to do it. Triple-shielded cables are what we use in instruments for that or even fancier cables are available.

EW (00:43:47):

But then the connectors, there's always something with the cable that goes wrong.

TA (00:43:55):

Yes, there is. But there's digital cables too,...and they're not perfect either, but yes, you're right. Analog cables are much more sensitive and much more expensive than digital cables. Although if you look at USB-C, -

EW (00:44:14):

Oh, no.

TA (00:44:14):

- it's actually got some very exotic coaxial cable in it. There can either be what's called micro coax, which is this very thin strand of wire inside a shield. And then there's another shield around it. And there's more shields.

TA (00:44:37):

And it's a microwave signal, because the data rate is very fast. Or they have what's called Twinax, where they have a twisted pair inside of a shield. So it's like coax except instead of one wire on the inside, it's two that are twisted.

TA (00:44:56):

So yeah, so digital signals can be quite sensitive, particularly when they get into the higher performance systems. And in fact, there's whole sets of test equipment just about that.

EW (00:45:09):

Do the gold cables really make a difference in audio?

CW (00:45:13):

...I fear we're way off track here. Remember, we were talking about ADCs.

EW (00:45:18):

Right. Okay.

TA (00:45:18):

Okay.

CW (00:45:20):

Not low-oxygen cables. Focus.

TA (00:45:24):

Alright. Well, thank you for bailing me out on that one, Chris. I won't get hounded by the big cable, monstrous cable corporation. So let's see. ADCs. Yes. So the different ADCs for different applications.

TA (00:45:46):

So if you're doing audio, you would use probably an audio ADC, and you would look up in your book, start with analog devices, and figure out what you need. And then maybe look for something cheaper if you can find it. But at least you'll know that if it exists, they have it.

TA (00:46:06):

And so for something like an audio ADC, it's totally different from the little ADC that's in your microcontroller. They work in a different way, and they have a whole different set of problems, and a whole different set of solutions for it.

EW (00:46:23):

I mean, there are sigma-delta ADCs, and I don't know, I'm just going to make up words to describe the other ADCs. Do I care about that sort of thing, or...can it sample in the range range I want and give me the number of bits I care about?

CW (00:46:48):

The number of bits you care about is a deep question.

EW (00:46:52):

That is a very deep question.

TA (00:46:54):

And it's also things like, do you want to have a multiplexer in front of your A-to-D converter?

EW (00:47:03):

The answer to that is always no.

TA (00:47:05):

Okay. So you never want to look at more than one thing.

EW (00:47:08):

No, I want to have multiple ADCs.

TA (00:47:12):

Oh, okay.

EW (00:47:14):

Because -

TA (00:47:14):

Well, I could never afford that, but yes. Okay.

EW (00:47:17):

I mean, I have done systems where I needed four or eight signals to happen at a time. Fast signals. And kind of like cables, the changeover for the multiplexer,...it's like the connector, it works and if you get it all right, it works fine. But if you get it the least bit wrong it all goes very bad.

CW (00:47:41):

What are the most important things to consider when looking at an ADC? There's a few big numbers, right? There's sampling rate and there's the bit depth. And then there's the full... -

EW (00:47:54):

Bandwith.

CW (00:47:54):

- the analog bandwidth, and then there's the full range voltage, and all those kinds of things, right? Some of those, I think, are a bit intimidating for someone who's never seen one before.

TA (00:48:04):

Sure. And there's also the question of, are you sampling a fixed voltage?

CW (00:48:11):

Right.

TA (00:48:11):

Or is it a sine wave, or...a music waveform, or something like that? Because that will affect the answer also. Does it have some sample and hold functionality, because if the signal changes while the conversion is going on, what do you want to have happen?

TA (00:48:32):

Usually you want to say, "Well, I want to just sample it for a little bit of time and then use that." Use the voltage when you started to finish the conversion...Because if you don't, you can cause really bad problems.

EW (00:48:53):

Could you define conversion?

CW (00:48:53):

[Ah].

TA (00:48:57):

So typically there is a signal somewhere that says "start conversion," and you hit that bit or that pin and it says, "Okay, whatever the voltage is here, I'll remember that." And typically it holds it on a capacitor.

EW (00:49:20):

Kind of like the red light that happens when you're recording. It's the, "I am measuring now."

TA (00:49:27):

Yes. But this one is only good for one sample...Okay, so I hit this pin, and I say, "Alright, turn on the light. I've chosen the voltage that I want to convert. I've sampled it." And after it's sampled, it's going to sit at that fixed voltage.

TA (00:49:52):

And then the A-to-D converter takes that analog voltage and converts it to a digital code. That's typically just a binary number that goes from the minimum of zero to the maximum of all ones...For just about everything I've said, there are many exceptions.

EW (00:50:19):

Exactly.

TA (00:50:19):

Because it's a really big topic, right? There's all different kinds. And, yeah, you can go crazy trying to figure out all the different kinds of ADCs if you don't know which one you need.

CW (00:50:30):

Well, and you can go from ones that cost five cents to ones I've worked with, which cost thousands of dollars. And so, that is a big difference.

TA (00:50:40):

Yes. Imagine one that would allow you to manufacture a 100 gigahertz oscilloscope.

CW (00:50:48):

Yeah.

TA (00:50:48):

That's a really fancy ADC in there. It's really fast. It's very expensive. And it only does that one thing well. You won't find it anywhere else.

EW (00:51:03):

Okay. So conversion is when it is measuring. And when you say capacitor, that's usually inside the ADC package.

TA (00:51:10):

Well, it could be, or it could be in a sample-and-hold circuit, or a track-and-hold, depending on which kind you have. But yes, the trend is to go towards more integration where everything is consolidated. And in that case, you would have the sampling, and the ADC, and everything is all inside of a microcontroller.

TA (00:51:33):

And it just does whatever the microcontroller does, and you just have to live with it. And if you need a better one, then you shop around and see if you can find a better microcontroller. And usually you can't, because the ADCs in microcontrollers aren't very good. And so you just have to put up with it.

EW (00:51:52):

Okay. So the ADCs in microcontrollers. This is like the one in say, Arduino. They are doing a chip, the ATmega3 -

CW (00:52:02):

3623. I don't know.

EW (00:52:02):

- 28 -

CW (00:52:02):

Whatever.

EW (00:52:03):

Something.

CW (00:52:07):

Yeah. 328. That sounds right.

EW (00:52:08):

And so, I can read the ADC, and often it's hooked up to like a temperature sensor or to a light sensor, and I can make a little light theremin. And I sample it as fast as I care to, which if you could measure this, it probably would be a few times a second, maybe 50 times a second.

EW (00:52:34):

But that's totally different than if you are recording audio at a professional level where you want to record something 96,000 times a second or 44.1 thousand times a second. It's a very different piece of hardware.

CW (00:52:52):

Well, for one thing, you've got to find a place to put all that.

EW (00:52:55):

Right. The data, I don't even want to talk about -

CW (00:52:58):

Yeah. Right, right.

EW (00:52:58):

- how the data works, because that's all software...So there's that area of, what is it you want to sample, and you mentioned giga-sampling ADCs. What is the difference between bandwidth and sampling? It's not just Nyquist.

TA (00:53:21):

Yeah. That gets into some really complicated stuff. Yeah.

CW (00:53:27):

Well,...my understanding, and you can tell me I'm wrong, Tom, the bandwidth part is the analog electronics part. What the input of the whole circuitry that gets before the thing that does the conversion, what it can handle.

CW (00:53:41):

Whereas the sampling is purely how fast can the conversion thing happen? And those don't necessarily have to be in lockstep. You can have ones that have narrow analog bandwidth or a wider analog bandwidth than their sampling rate would indicate.

TA (00:53:56):

Right. Yeah. That's a good way to say it. I worked on a system once where there wasn't any signal inside the band that you would normally use. So it was sampling at 6.4 kilohertz. Let's call it 6.4 kilohertz.

TA (00:54:22):

But I didn't have any signal in the Nyquist area between zero and 3.2 kilohertz. All the signal was between 3.2 kilohertz and the 6.4 kilohertz. And through the magic of signal processing -

EW (00:54:42):

I mean, that works.

TA (00:54:42):

- you can recover that signal.

EW (00:54:46):

Mathematically, that's totally fine.

TA (00:54:49):

Yeah. And it -

EW (00:54:49):

And yet I'm screaming here going, "Nooo."

TA (00:54:53):

And it's one of these things where, you know like when you have a lot of inverters in a chain and all the logic is turning upside down in your head so many times it makes you want to scream? It's like that.

CW (00:55:06):

...You just decide aliasing is your friend, is what you're telling me.

TA (00:55:11):

Yes.

CW (00:55:11):

Okay.

TA (00:55:11):

Yes, so it was carefully controlled aliasing.

EW (00:55:15):

I mean, if you have a really good high-pass filter -

CW (00:55:18):

And you know what your signal is,...yes. Okay. Alright.

TA (00:55:22):

Right. Right. So in my case, I had a very good band-pass filter, and I knew exactly where the signals would be. And I was actually only interested in a small bandwidth around the center of the passband of my filter. Yeah. That became the system.

TA (00:55:41):

And so yes, the bandwidth of the system needed to be higher to handle this higher frequency, but it also couldn't have the lower frequency's signals present.

TA (00:55:54):

And you'll see the same trick really is used, or a similar trick is used, and that you can actually make a much more accurate measurement often of an AC signal than a fixed DC signal. Because when you get down to DC, there are extra sources of noise in circuitry.

TA (00:56:20):

It's called 1/f noise. So when you're looking in the frequency domain, and you want to look at zero frequency or DC, you get an infinity when you talk about 1/f noise. It basically says that the noise becomes infinite at low enough frequency. What the heck does that mean?

TA (00:56:38):

Well, ultimately, what it means is that at low frequencies, you hear this sort of popcorn noise, or this sort of pink noise, instead of the regular white noise that you get from a broadband noise. There are these extra noise sources. Yeah, I'm not sure...This may be too advanced, talking about here, yeah.

CW (00:57:03):

No, it's fine.

EW (00:57:04):

It isn't that. It's that we have told them how to use aliasing to get filtering, which I believe is not something we should be encouraging new college graduates to do.

CW (00:57:18):

Yeah, that's probably a good point.

EW (00:57:19):

That's sort of the story you tell, "Can you believe I have ever done that?"

CW (00:57:24):

Well, but that's the sort of thing where, "I have this part, unfortunately," right? "And I have to make it work." Which can be useful. But that's another thing, is understanding your ADC by way of understanding the kind of signal you're going to put into it. I think that's what we've been kind of dancing around, right?

CW (00:57:43):

The right ADC depends greatly on what you're going to be sampling. And that goes to all of those little number you have to choose, bit depths, and sampling rate, and...analog bandwidth. Even bit depth, you can say, "Oh, a higher bit depth is always better. I should always get the highest bit depth I can," right?

EW (00:58:02):

No.

CW (00:58:03):

But that doesn't actually turn out to matter if your signal has a lot of noise in it, and the actual input dynamic range of your signal is low. Then you shouldn't pay extra for four extra bits or eight extra bits.

CW (00:58:15):

You can probably get by,...because one of the main things that bit depth goes to is dynamic range, which is like, "What is the biggest difference between the noise and my signal that I can actually sample?"

TA (00:58:30):

Excellent point. Yes. There's usually some distortion for high-level signals. And so you have a limit up there as to how big a signal your system needs to reproduce. At some point it's limited by distortion, and then at the low end, it's limited by noise.

TA (00:58:48):

And so, in general, you want to avoid the noise, and then have some nice linear range where you're doing your analog-to-digital conversions, and all your A-to-D codes are spread across this region.

TA (00:59:01):

And then you have your high end where...you'd rather that your ADC didn't limit your system on the distortion end. So very often you'll see systems where they don't use the whole range of the ADC...The top bit, even, of the A-to-D converter doesn't get used very often.

EW (00:59:27):

Not intentionally.

TA (00:59:29):

And this is intentionally, yeah, to stay away from the distortion region of the ADC. Because ADC distortion, when you go to the very end, and you try to take a conversion that's out of range, it can cause a lot of problems in the system. And so usually you want to avoid that in the system and have the distortion be somewhere else.

TA (00:59:57):

So yes, I agree. That's a great way to say it. I think the other thing that it really brings up is that you need to be prepared to keep learning when you come out of school, because wherever you go, there are going to be some tricks that you need that you don't know yet.

TA (01:00:17):

And so it's going to be a long road to learn everything you need, and you need to plan on putting a lot of time in for that.

EW (01:00:28):

As you're approaching or have unfortunately missed your 40 years at Keysight/HP, are you still learning?

TA (01:00:40):

Yes. Yes. I have to do things all the time. I just switched departments a few months ago, and so I have a whole new set of things to learn about. We make ICs at Keysight, and I work in Keysight Labs. And I recently switched to the section that works on ICs.

TA (01:01:02):

And so, I have a whole new set of things. I've worked on circuit boards for the past 40 years, and now I work on ICs, mostly. So that is a whole new -

EW (01:01:16):

That's a switch.

TA (01:01:16):

Yeah, that's a whole new set of challenges. Yeah.

EW (01:01:22):

How do you learn things? Do you read? Do you watch videos?

TA (01:01:27):

Well, I have some tricks that I use. Most of the things about circuits are actually very old, and you're just applying them in different ways. And so I don't worry too much about the circuits part of it. I have a bunch of references that I like. "The Art of Electronics" is really good book.

TA (01:01:53):

...I tend to go for the vintage things. There's old instrument manuals. The best ones are from about 1976 to 1996...That was back when we published all the schematics for the HP test equipment. And they had service manuals that explained how the circuits worked.

TA (01:02:17):

The theory of operation, they call it there's the old HP journal articles bell system, technical journal. You can go and look up designs and chip suppliers.

TA (01:02:30):

They have reference designs, they have datasheets, they have application notes. In many cases, they actually have the IC designs in the datasheets. They have little schematics. And if you're designing an IC, that can be really helpful, to have someone else's schematic right there.

TA (01:02:49):

There's particularly some older books that are for devices that are a lot slower, because they're from the 1970s or whatever, but they gave you the full schematic.

TA (01:03:01):

And so if you just build that with modern transistors, you end up with a high performance circuit, especially because they were really trying to squeeze the most performance they could out of the devices that they had at the time.

TA (01:03:13):

So they came up with really great designs. There's nothing wrong with a bunch of them. But I have a method for design. Now I'm not actually designing ICs. I'm actually working on tools for IC design. But I do have a methodology that I use for design in general.

TA (01:03:37):

And they don't really teach much design in school, I don't think, it's mostly analysis, right? You...don't have on an exam, "Design me a circuit that does this." Not very often. There's a few classes that have that. Filter synthesis maybe, or simple analog things, but even those are usually analysis problems.

TA (01:03:58):

And so what I do is a different path. I like to work from the equations and the typologies of the circuits. And so I start with the specifications, like, "What are all the inputs, and what are all the outputs?" And so I put the inputs on the left and the outputs on the right, and I say, "Well, something goes in the middle, not quite sure what it is."

TA (01:04:22):

Maybe I draw a guess in there. And then I can take the constraints that I have, which is what the circuit needs to do, and I can use that to generate the design. Because the topology gives me the equations, the specifications give me the numbers that go into the equations.

TA (01:04:46):

And so if I solve the equations and plug in the specifications, I can actually get the design out of that. And so in analog electronics, that's kind of a cool way to do it. And the problem is you tend to get these big algebra problems you can't solve, but they have symbolic algebra programs.

TA (01:05:04):

So you can just plug in the equations into Maxima, or Mathematica, or whatever, and it can help you with that. I don't think that's a really common way to do it, but it's what I like to do. And there are some things that happen when you do that.

TA (01:05:23):

You'll solve for the value of a resistor, and it comes out negative. Well, what does that mean? Well, that actually means something. If I have a voltage divider, think about this, I have a voltage divider.

TA (01:05:34):

The equation for a voltage divider, if I have an R1 and an R2, the gain or attenuation, I guess you'd say, is R1 divided by the quantity R1 plus R2. So if I have R1 is 1K, I have 1K over 1K plus, and then maybe it came out to negative 200 for R2. That was my problem, is I got negative 200.

TA (01:05:57):

So what that means is...that my voltage divider is optimum when it's R1, which is 1000, divided by 800. R1 plus R2 is 800. And so that means it's got gain. It's 1000 divided by 800. And so I don't need a voltage divider there.

TA (01:06:19):

What I need is an amplifier. So in this case, a negative resistor means I need an amplifier. So I could have guessed an attenuator and the math would tell me I need an amplifier.

EW (01:06:32):

And so, I mean, I like the idea of constraints, goals, inputs, outputs. So many people forget that that's a huge part of engineering. And I also tend to put magic goes here and then slowly work out what the magic's going to be. Although for me, it's not usually equations.

EW (01:06:56):

It's more, how do things go together, and how do they flow together? As Chris pointed out earlier, if you have 44 K of data coming in at 16 bits per sample, and you need to output something about that, you have to keep up. You have to figure out the buffering system as one piece of the puzzle.

EW (01:07:19):

When you talk about breaking this down,...did you do that in an hour, a day, a month? What kind of timeline are you looking at when you talk about doing this breaking down?

TA (01:07:35):

Well, the first time you do it, it takes a while to learn the tools. And what I'm talking about is a bit different in that I'm mostly dealing with analog things.

EW (01:07:45):

[Affirmative].

TA (01:07:46):

And so the equations are linear, and you can actually solve them. And that way it comes out real nice, because if you write the equations properly anyway, they can be solved. I guess it took me maybe a month to learn the technique.

TA (01:08:07):

And then it actually saved some time, because I had a whole lot of stages to design, and I could get one out and in a few days, I suppose. But yeah, it's not a really fast way to work. And it might be over-engineering for a lot of things.

TA (01:08:26):

When you're doing test equipment, you sort of have to over-engineer because, well, it's not over-engineering, because everything has to be really good. Because you're competing, not only against competitors, but what you did last year, and what you did last year was really, really good.

TA (01:08:45):

So to make things better is hard. Anytime you have a system that's optimized, and you try to improve it, it's really tough, right?

EW (01:08:56):

First pass optimization is pretty easy. Thousandth path optimization is really hard.

TA (01:09:03):

Right. You almost have to say, well, what's your secret weapon going to be? What do you have that's new, that's going to do something new for you?

TA (01:09:13):

So...you plug in your secret weapon into the equations and hope that you can get a new optimum. Maybe it's a new kind of device that is somehow better or cheaper. So if I'm doing a really good job of this, the other sort of feature of it is that I can derive the same thing in two different ways.

TA (01:09:41):

That is sort of a hallmark of expertise in how to do something, is to be able to analyze the same problem from two different angles and show that you get the same result.

TA (01:09:55):

And it's also the basis of measurement, and metrology, and standards, and that sort of thing, is to say, "Well, I can measure things mechanically and electrically, and I get the same answer."

TA (01:10:09):

That's kind of the basis of network analysis, for example. And it depends on a model. So there's a lot to know to be able to do that. So you have to have these models that work well that you can use to analyze things in different ways.

TA (01:10:27):

And then if you're really good with that model, what that means...is that you can take the actual specifications of the product, the things that really go in the brochure for the product, and you can say, "Well, this specification meant that my circuit had to do these exact things."

TA (01:10:46):

And since my circuit had to do these exact things, I had to use these exact components. So...from the datasheet, you can trace down to the resistor values. And...that feels really good when you can do that.

EW (01:11:06):

It's tough though. I mean, it's really hard to be able to be in a position to do that...where your work can stand alone that far.

TA (01:11:21):

Well, that's the system engineering,...is that somebody is responsible for the system as a whole. The default condition is, when you come into a project, there's no specifications, right? Who would do that? Who would write down what you need? That would be weird.

TA (01:11:37):

Unless you have a systems engineer, and then they would be that person. And that's great, but they may not have a lot of detail that you need yet. Because the whole system design is sort of interactive. Like, "How good does it need to be?" "Well, how good can you make it?"

TA (01:11:55):

So if I'm going to talk to people, actually I made a list, who do I have to talk to about my circuit, right? I have the system engineer. There's the power supply designer. I've got the firmware person. Somebody's doing digital controls.

TA (01:12:13):

There's another system somewhere that's sending me an input signal and another person who's receiving my output signal. I've got a mechanical engineer. I've got a production test engineer, a marketing engineer. I've got a project manager.

TA (01:12:29):

And so if I understand the system, I can talk to each one of these people and say how it relates to them. And when I'm first learning the system, I have to talk to all those people, and find out what their expectations are, and what they really need.

TA (01:12:47):

And that's actually more difficult than the design in many cases. Once you understand all those things, then you can sort of plug in the topology. And you can run all these things backwards. And you can run the analysis backwards, and you can calculate out and synthesize the circuit.

EW (01:13:07):

Well, sure. Except one of those people changed their mind. Now you have to do it again.

TA (01:13:12):

Well, if you keep that thread alive, then you can deal with change much easier. Because unlike the other person who sat on the bench with the soldering iron and fiddled with the values until it worked, you're able to plug in new values into the equations.

TA (01:13:33):

Simulators go a long way to doing the same thing. Everything I said you can do with the computer algebra and the equations you can also do with simulator and fiddle with the values in there. That's probably the more common way to do it now.

EW (01:13:48):

So with schematics, especially, they're very hard to search for solutions. How do you solve engineering challenges you can't Google the solution for?

TA (01:14:00):

Well, some people claim to be able to Google for schematics. I've never had much luck with it. I really like reading schematics, and I have, over the years, gotten faster and faster at it. In fact, I can turn the pages more quickly and sort of absorb what I'm looking at.

TA (01:14:22):

Because I've looked at a really lot of schematics, because one of my jobs involved sort of design reviews for a very large number of designs. And so I ended up with that sort of uncanny ability to read schematics quickly, which looks really weird and feels really weird while I'm doing it.

TA (01:14:43):

I don't know how it works. I don't know how I can read a schematic like a book.

EW (01:14:49):

Practice.

TA (01:14:49):

It's a very strange sensation. Yes. Well, it's like, if you think about how do I know how to read, you can get into a really weird mental loop, and then same with schematics, right? You just kind of learn to look at them and understand what they do without seeing the details.

TA (01:15:08):

You just see the overall flow, and then if something catches your eye, you can drill down and see what's interesting about it, much like scanning a datasheet. When you first look at a datasheet for an 800-page microcontroller datasheet, it's very intimidating, right?

TA (01:15:28):

But eventually you learn, well, there's a whole bunch of boilerplate and things that are kind of boring. And so I I'll go find the part that I'm interested in. So where do I find those parts that I'm interested in? There's actually not that many. "The Art of Electronics" is really good. The old books. I have a really weird way of doing it.

TA (01:15:55):

I look at really old schematics, made with vacuum tubes. And it's really good to be able to learn to read those, because a lot of things that people claim to be new, state-of-the-art, or whatever, are actually very old vacuum tube circuits, or their equivalent to them.

TA (01:16:14):

And so there's a website called TubeBooks.org, and it has all these old books about vacuum tube circuits and other things. There's one called dynamical analogies that's really good. It's all about analogies to circuits and how they work or don't work. And I have a list of books, actually. I could put my list of books in a show note.

EW (01:16:48):

Alright, we can do that.

TA (01:16:49):

And they're different, because there are books that are just specialty books. I have one on power supplies that I really like, and it's the abstract case of power supplies. I don't really do that much with abstraction and circuits... It's not like software where you say, "What would an ideal power supply look like?"

TA (01:17:10):

And then, "How do I slowly piece in one practical component at a time?" That's sort of an unusual approach to understanding power supplies, but there is a book that does that. "Modern Switchmode DC-to-DC Converters," I think it's called, or something like that, by Severns and Bloom.

TA (01:17:30):

And I think it's out of print, but it's really good. And so that's what I use. Some of these rare books, I may have cornered the market in, because I tend to buy them for other people. And so that's why you probably want to go to TubeBooks.org to find them.

EW (01:17:47):

They have a lot. That was pretty amazing.

TA (01:17:49):

Yeah. They have so many old books, and many of them are from the golden age of books, which is basically about 1955 to 1963 or so. I think it was associated with Sputnik, the response of the U.S. to Sputnik. It was a large effort in education, and they made everything really clear.

TA (01:18:18):

They wrote in a different style that was much more urgent and clear than modern textbooks, or application notes, or anything else. And so there's the "Radiotron Designer's Handbook" from 1955. That's sort of the classic and that's on that TubeBooks.

EW (01:18:39):

Cool.

TA (01:18:40):

But you have to know how to design with tubes. And if you want to learn tubes, I have a shortcut that I wrote, actually, using vacuum tubes to learn JFETs. And it's a Medium article that I wrote, and it actually explains both vacuum tubes and JFETs, how they work, and why they work. And I think, it's short and it's pretty good.

EW (01:19:12):

Well, Tom, you have imparted a great amount of knowledge and given us paths to look for more. Are there any thoughts you'd like to leave us with?

TA (01:19:23):

Yes, I have a tip.

EW (01:19:24):

Okay.

TA (01:19:25):

My tip is check the power supply first.

CW (01:19:32):

That's it. That's the whole tip.

EW (01:19:37):

That's the whole tip.

TA (01:19:37):

That's it.

EW (01:19:37):

Our guest has been Tom Anderson, Engineer at Keysight Technologies.

CW (01:19:42):

Thanks, Tom. This was fun.

TA (01:19:44):

Thank you.

EW (01:19:45):

Thank you to Christopher for producing and co-hosting. Thank you to Professor Mike for your list of questions. We'll probably ask some of these to other guests as well. And thank you for listening. You can always contact us at show@embedded.fm, or hit the contact link on embedded.fm.

EW (01:20:04):

I have a quote to leave you with from Renée Watson's "Piecing Me Together" book I read this weekend that was pretty good. "It makes me feel like I'm learning a secret code or something. I don't know. It's powerful...knowing how to read words and knowing when to speak them is the most valuable commodity a person can have."