We tackle the subtle differences between analogue and digital data transmission and why frequency changes everything.
Welcome to Pragmatic. Pragmatic is a discussion show contemplating the practical application of technology. By exploring the real-world trade-offs, we look at how great ideas are transformed into products and services that can change our lives. Nothing is as simple as it seems. Pragmatic is brought to you by ManyTricks, makers of helpful apps for the Mac. Visit manytricks.com/engineered for more information about their amazingly useful apps. We'll talk more about them during the show. Pragmatic is part of the Engineered Network. For other great shows, visit engineered.network today. I'm your host, John Chidjie, and I'm joined by my co-host, Carmen Parisi. How are you doing, Carmen? Pretty good, John. How about you? Doing well. Wonderful. Yeah, so I'm going to dive straight into this episode and I'd like to call this Everything is Analog because- I like the sound of that so far. Keeps me employed. Yeah, you would like the sound of that. One of the things that I found fascinating about digital is the idea that things will have a discrete state. It's either on or it's off, but the truth is that that's just not reality. It's kind of like how mathematics is an approximation of reality. Like, maths is not real. You know, there's no such thing as one of something. There's no such thing as two of something. It's always an approximation. And I don't want to go into that too much, but I may have opened a big can of worms just by making that statement. We're getting trippy already and we're only 30 seconds in. I'm sorry about that. Anyway, but anyway, the point is I want to dig into the differences between analogue and digital, why it is the way it is and why digital is really analogue. So, this is going to annoy some people, I just know it is, but that's okay, I don't care. So, I did talk about some of the things I'm going to cover again on this episode, but I really did skim over them. Last time that was on episode 12, about 6 minutes, 8 seconds in, and again at 8 minutes, 30 seconds in for about a minute and a half each, roughly. But we're going to dive a lot deeper than that into the theory behind why things have evolved the way they are and why we are where we are and why I would make such a silly statement like everything is analog. So, would you like to describe to the listeners what an analog signal is? Sure. An analog signal in the time domain is continuously varying. So, you know, if you're trying to measure the signal at any point in time, you can shrink down time to, you know, some infinitesimal scale that even the physicists say doesn't exist and there should still be a value there. It can exist in any amplitude, so if you want to measure the voltage, you can get down to microvolts, nanovolts, picovolts if you want to go crazy, femtovolts. There's not just one or two different levels it can exist at. Excellent, very good. Digital, of course, then you just suggested is it's either one state or the other. It's either on or it's off or it's one or it's zero. But I guess problem is in the real world if we just want to talk about voltage levels for example which is one method of carrying digital information digital logic is in that case about that voltage level but how do we determine what's a logic 1 and what's a logic 0. So digitally we carry data you know these days silicon via transistors and real-world examples of those historically are things like like CMOS, ECCL and TTL. So, you've got a mid-coupled logic and TTL is transistor logic. - Yeah, and before that you had diode transistor and resistor transistor. - Yeah, and go back-- - There's all sorts of flavors. It's a whole outfit that soup. - Oh, absolutely, and you could go back to valves if you really, really wanted to, but could valve diodes and so on. But I'm gonna be selfish and go with TTL 'cause I play with TTL predominantly when I was younger. So you know what, hey, I'm going to talk about TTL just briefly. So logic zero in the case of TTL, for example, is when an analog voltage is between zero volts and 0.8 volts. The region from 0.8 volts to two volts is technically undefined. And then from two volts to VCC, VCC typically being 4.75 to 5.25, that's a logic one. you'll often see VCC written down. You'll also see others like VDD and VSS. If you ever wonder what they are, is that's voltage from collector to collector or collector-collector voltage, if you want to think about it that way. So, what that's all about is the bipolar junction transistors or BJTs as they're sometimes called, they'll have a base, a collector and an emitter. And one of the TTL connection structures involves multiple collectors tied together to a source voltage and that gives rise to the expression VCC but the truth is that there's actually a lot of TTL configurations like NAND gates for example they're technically not VCC connections you know it'd be like a VBC like a base collector or something like that but irrespective it doesn't really matter that's just where that came from now these days of course TTL is pretty well dead you know as a door now so it should but by but never mind because we switch to things like FETs which switch a heck of a lot faster and in the case of field effect transistors FETs the common usages are VDD and VSS because in a FET we will have a gate and we'll have a drain and a source so VDD is drain to drain VSS source to source so if you see VCC VDD VSS now you know where they they came from. So there you go. Cool. So anyway, moving right along. So why on earth would you want to do this? Why would you want to take a perfectly good analog signal, perfectly good and say, you know what, I'm going to make it digital. And then I guess the point and then transmit it and redo the same reverse on the other end. It seems like you've given up a lot of like infinitesimal value information, infinitesimally small value information, you throw it out the window and you've just gone to one or the other based on two state conditions. I guess the reason that it's good is because any noise that the analog signal picks up between the transmission and the reception can be cleaned up, provide the voltage to stay within valid ranges of course, and that would then lead to data corruption if it wasn't valid. That means that we can then take that at the other end and basically repeat the signal in its original form and we can get rid of all the noise. So we can overcome line loss and noise up to a point. So when have you got a digital connection of any kind, you know, they're going to be limitations you're going to place on that. So we will rate cables for example and we'll say right well the cables have got to have certain characteristics otherwise you know you've got a maximum range of like 100 meters. In some cases cheap cables like a cheap Cat5 cable or something like that might struggle to take 10/100 ethernet 100 meters. You know, so we'll just say, oh, it's generically 100 meters, but if you use a really high quality cable, you'll probably get 150 or 180 meters or whatever that is in feet, you know, 300 feet, whatever. So be sure to get the gold plated vacuum sealed with built in antivirus. You know, I did the cold plated thing on an episode before. So that's yeah. But yes. No, dear listener, he's joking. Please do not buy gold plated anything. Thank you very much. Anyhow, moving on. I mean, feel free to, fine. If you want, just don't expect anything out of it. It'll look nice though. Okay. - Very pretty. - Very pretty. Yeah, that's pretty much it. Okay, so digital is good from the sense that we can recover noise. However, the problem is that there's a range limitations because voltages can't be guaranteed to be in the same ranges from side to side. But there's also other problems that you get with digitizing data. And that's what I want to focus in on a bit. So cumulative noise, that's out the window, we can regenerate the data, fantastic. But the thing is that beyond resistance, which is and resistance is essentially just in a nutshell, is when electrons pass through a conductive material, essentially, as those electrons bump along, they will lose energy as the next one is bumped and the next one is bumped and the next one is bumped. And that's just based on the number of free electrons they are and how attracted they are to the nucleus of whatever they're being bumped past, if that makes any sense. Insofar as, you know, you can't beat resistance unless it's a superconductor, and that's another story. But anyway, so I'm not talking about resistance, I want to talk about the two other big, bad, well, they're not big and bad, in the sense of data transmission they are, and that's inductance and capacitance. - It's not just data transmission that they'll come back to haunt you. It also plays a big part in the switching converters I work on every day. Oh, absolutely. Oh, sure. And yeah, we should probably put that down as a topic for the future someday. But absolutely. But for the moment, for the moment, data transmission. So capacitance. You want to talk about capacitance for a sec? Sure. So capacitance, Q equals CV, just throwing out the basic one. I don't know why. But yeah, So if you have two wires running side by side, one with current and the other with none, it will present a capacitance between them, sometimes called parasitic capacitance. It also doesn't even have to be a wire. If you have a wire going over a ground plane as well, you will make a capacitor, however small. What is the capacitance for epsilon s over d? Epsilon is constant based on the material. S is the surface area and d is the distance between the two wires or the wire in the plane or the two planes. So as you decrease the distance, you'll get more capacitance. If you increase the surface area, you'll get more capacitance as well. And you can also change the dielectric constant as well to adjust the capacitance. But usually on a circuit board, it's FR4, and I believe the 4 stands for the dielectric constant, correct? I think so, but don't quote me. Yes, we can look that up and confirm, but I'm pretty sure that's what it is. So capacitance will ruin your day because it'll slow down your edges. So if you're expecting a nice clean you know transition from 0 to 1 or 1 to 0 and there's a lot of parasitic capacitance or your transistors have a lot of capacitance you know it's not an infinite rise time like we'd like to expect and like to model it will you know have some rise time in the nanosecond range usually give or take faster if you're doing really high speed logic. But yeah, so the capacitance will slow it down instead of rising in one nanosecond, maybe it's five, six, seven, eight more if it's really bad, you have a crappy board layout. And that can affect your transitions. If you have a clock that's gonna sample your signal five nanoseconds after the signal goes high and you're still slowly rising, you could be in that undefined state that John talked about between your input high and your input low and you get some corruption of your data stream. Yes, exactly. Jump into the punchline and that's okay. But I guess the thing is that why it takes time, why it has that effect is that it's kind of, I think it's kind of, think of it like if your target is to reach, if you're filling a bucket with water and your target voltage level is the top of that bucket, then if you start out with a, with a track or a series of tracks on a circuit board or in a cable, wires in a cable, and you put current through one of them, what's gonna happen is it's going to take a little bit of time, not long, like you said, nanoseconds perhaps, in order for that current to actually build up to that level in the top of the bucket. That amount of time is, and that's what you'll see is you'll see that voltage rising, right? You'll see that level rising instead of it going straight to there like a sharp edge, like all the drawings in textbooks would have you believe, no, it actually has a rise time and that's because the capacitance is you have to overcome that and fill that up before you actually reach your target. So the thing about capacitance also is it's measured in farads and that's actually named after Michael Faraday and one farad capacitor is essentially one coulomb of electrical charge, and that has a potential of one volt between the plates. Now, I just realized that I then used coulomb to describe farads, which is not helpful. A coulomb is, and I don't know this off the top of my head, I did write this down, is 6.241 by 10 to the 18 electrons worth of charge. And that sounds like- That's a lot of electrons. Yeah, I mean, if that sounds like a lot, that's because it is. So one farad capacitors? No, you don't have many of them, right? No, that's in the super cap range. Yeah, that's crazy big. So, most of the ones that we use in circuit boards and stuff, we're talking about micro farads or less. So, and if we're talking about parasitic capacitance, you're in the pico farad range. Exactly. Yeah, very low number pico farads. Yeah, pico farads is 10 to the minus 12. Yeah, exactly. And it's the sort of thing that's why your rise times, you know, for example, if it is like 100 nanoseconds or whatever it is, it's because that capacitance is so low. And you may say, okay, shrug, what's the big deal then if it's so low? Okay, well, we'll get to that in a minute and not want to jump ahead too far. So, okay, inductance, who is kind of related to capacitance, but in a different way. And with inductance, that's because when you flow current through a wire generates an electric field. And if you then take that wire and, you know, wind it into a coil, then that will actually create a much more intense electric field, electromagnetic field. And, you know, that presents an inductance, which is essentially as you're building that electric field because matter, that is to say matter is in, you know, material, whether that's air, whether that's wood, water, steel, doesn't matter, whatever it is, everything has what I call permeability. And that permeability is going to resist the creation of that electric field and different materials will have different permeabilities. So when you generate an electric field, it's not instantaneous, just like capacitance, same problem. And once you've built up that electric field, if you turn the current off, the field will then collapse and the funny thing is about that as the field collapses it continues to drive the current for a short period of time so you sort of get this charge up period and then feel collapse period and that effect by how much energy it takes to overcome that and and so on that's actually measured in Henry's is actually named after Joseph Henry and the funny thing about that was that although he discovered inductance about the same kind of time as Michael Faraday it was actually kind of more widely credited to Henry for some reason but anyway if you really want to derive the equations for all this I know you mentioned some of them before there's a link in the show notes to Maxwell's equations you know and they're all derived from that so if you want to go ahead and go and derive some equations you can in your own time. It's like there's an exercise to the listener. Yeah exactly see how insane you're feeling or you know, whatever, have fun. Okay, so capacitance and inductance are essentially the dynamic components of a changing voltage when you're carrying a current. Together with the static component, which is resistance, they are collectively assessed and referred to as circuit impedance. Now, I don't want to go any deeper than that. Suffice it to say, when you're trying to transmit digital information and power supplies, but that's another story, another story, another episode. With digital data transmission, that is your enemy. Yes. In an ideal world, when you can, to a point, say for low-speed digital, maybe TTL level or probably not, I'm sure John can list some issues with it. You tend to neglect the parasitic capacitance and inductance in your circuit and just pretend it's not there. Well, in the early days, it didn't matter. I mean, you could lay your tracks any way you liked. It didn't matter because the data was going past in the kilohertz or the low megahertz. They didn't start to notice this until about 20 years, 25 years ago. So in the early days of electronic circuits and switching, it was all just like, oh, we can just make it fast. Yeah, we just make it faster. Let's just, you know, crank up the clock speed, you know. But then I started- - Yeah, that rise time in the nanosecond, if that became 10 or 100 nanoseconds, you didn't matter if you're working at a kilohertz timescale, that's still infinitely fast for your purposes. - Exactly right. So you could model it and you could get away with this simple, beautiful, straightforward picture of your line in your mind of a perfectly square function with no rise time or essentially negligible rise time and it wouldn't matter. And anyway, so I guess, okay, so where are we at? So just to hold back just for a second. So as the BJT or the FET switches on, the voltage rise is slowed down by your inductance and your capacitance. As the charge builds, the electric field forms, and that gives you that curved edge to the voltage as it rises, and when it reaches the maximum, and the same effect as it sort of slopes off and curls off as the voltage is turned off and the fields collapse and the charge dissipates. And the faster you switch, the more the chances that you're gonna actually switch before you reach that valid target voltage, is something you mentioned about five minutes ago. And that means that you're going to start corrupting your data. If you're transmitting data from point A to point B, you absolutely have to yeah, you absolutely have to know if you're in a valid voltage range. Otherwise, you've got nothing. Yeah. So there's a second. Sorry, I was going to say, you know, we mentioned curved edges. You can also have the the reverse problem where you you get a very sharp edge and you start ringing. So instead of just coming up and stopping at one volt or five volts, whatever you're working at for VCC, you know, you could swing up to six, seven volts and then come back down to four and a half and, you know, kind of ring out and then settle eventually at five volts. And that's just as much of a problem as a too slow of an edge. That's true. Very true. So, cause of overshoot and, and so on. Yes. Okay. If you're transmitting data, just getting back to transmitting data again from point A to point B, it's necessary to have a way to differentiate between the gaps between a series of consecutive values. So let's say you've got one, one, one, one, one, and then a zero. You need to be able to tell the difference of how many ones that is. And in the same thing with successive zeros. I mean, when you go from one to zero, it's obvious the transition between them is clear. So how do you do that? And the answer is you have a clock and the clock is guaranteed to turn on and off once every cycle, wherever there is a bit. So we sample the voltage at the transition points to extract the digital state at that point in time. So I'm going to steal some I squared C terminology and I'm going to talk about SDA and SCL. So, you know, single data, single clock, or serial data, serial clock. I forget what the S stands for, but anyway. So SDA and SCL. So two wires, one carries data, one carries a clock and it sends data like this. And eventually you reach a point where it's not possible to switch any faster because the impedance issues are preventing you from actually getting valid data from point A to point B. Now, admittedly, this sort of a problem was, you know, just as much as much at the time was just as much about BJTs and CMOS switching speeds. So I admit that it's not the transition to what we're gonna talk about with Parallel Serial and so on and modeling. It wasn't entirely driven by impedance issues because obviously, BJTs are on the way out, CMOS, FETs, they were coming in, and obviously switching rates improved and that changed things as well. So they were all contributing factors, I admit this. But anyway, the initial thought was, and I talked about this previously on a previous episode, was to go from a single data stream to multiple parallel paths. In other words, going from serial to parallel. So instead of just clocking through one bit, one data line, you would clock in like eight bits and have an eight bit bus or 16 bits or 32 or 64, 128, whatever. And that just then created a whole new problem because now you have to align each of those individual data lines with the same clock. So that created the problem of bus skew whereby, you know, bit zero could arrive before bit 15. And when you would clock it through, you would then start to get skewed data. So then you could have clock skew relative to the bus lines and of course you can have skew individual lines of the bus relative to the other lines on the bus. Anyway, so it was around about this point where people started to realize that serial was actually a better way to go if you wanted to get high-speed data from one point A to point B. And they realized that we had to stop modeling, or rather we had to stop ignoring digital data lines when we were doing modeling. 'Cause ordinarily, if you're designing an analog circuit, you would model and you would control the impedance of that set of tracks, because you wanna make sure that your impedance is matched on the whole route and at each end. Yes. Because if you- Yes, sorry. I was going to say, we didn't mention this in our previous episode on radios, but that whole radio chain is usually an impedance match circuit. 50 ohms is pretty typical or 75 as well. That's true, absolutely right. But in the bad old days, they never bothered because they didn't have to, you know, 10 kilohertz. It didn't matter. But once you start going higher and higher frequency, you cannot avoid this. You can say it's a digital signal as much as you want, but the truth is that, you know, the capacitance and the inductance will kill you. Well, not kill you literally, but it'll kill your signal. And that's kind of, when you're an analog or digital designer, it's the same thing as being killed. That's what it feels like. You look at it and it's a very sad waveform. ManyTricks is a great software development company whose apps do, you guessed it, many tricks. Their apps include Butler, Kimo, Leech, Desktop Curtain, TimeSync, Usher, Moom, NandMangler, Resolutionator, and Witch. There's so much to talk about for each app that they make, so we'll just touch on some of the highlights for five of them. Which, you should think about which as a supercharger via command tab app switcher. If you've got three or four documents open at once in any one app, then which is beautifully simple pop-up quickly lets you pick exactly the one that you're looking for. Name mangler, let's say you've got a whole bunch of files, you need to rename them quickly, efficiently and in huge numbers. Well, name mangler is great for creating stage renaming sequences with powerful pattern matching, showing you the result as you go. And if you mess it up, just revert back to where you started and you can try again. MOOM makes it easy to move any of your windows to whatever screen positions you want. Halves, corners, edges, fractions of the screen, and you can even save and record your favorite window arrangements with a special auto-arrange feature when you connect or disconnect an external display. It's really awesome. I use it every day. Usher can access any video stored in iTunes, Aperture, iPhoto, and on any connected hard drives on your Mac, allowing you to easily group, sort, tag, and organize them all in one place. Install some plugins, and there's no need to convert anything to an iTunes format to watch it. So if you've got a great video collection scattered across different programs, drives, and formats, then Usher can help you neatly sort it out. Resolutionator is their latest app, and it's gloriously simple. It's a dropdown menu from the menu bar, and you can change the resolution of whatever display you like that's currently connected to your Mac. The best part, though, you can even set the resolution to fit more pixels that are actually there on the screen physically, and it's still usable, handy when you're stuck on your laptop screen and you need more screen real estate and you're missing your desktop. That's just five of their great apps. There's still another five to check out. All of these apps have free trials and you can download them from manytricks or oneword.com/engineered and try them out before you buy them. They're also available from their respective pages on that site or through the Mac App Store. However, if you visit that URL, you can take advantage of a special discount off their very helpful apps exclusively for Engineered Network listeners. Simply use ENGINEERED25, that's engineered the word and 25 the numbers in the discount code box in the shopping cart to receive 25% off. This offer is only available to Engineered Network listeners for a limited time, so take advantage of it while you can. Thank you once again to ManyTricks for supporting the Engineered Network. Anyway, okay, so problem is that in order to overcome this problem with digital data transmission, we actually had to, we the industry, had to start modeling it as an analog transmission line. And that's when I come back to everything is analog. So we're trying so desperately to convert information into digital to overcome the problems with noise, which we then achieve. But the more data we push through, the faster we push it through, we come back to analog modeling techniques to handle our digital data. And the transition seems to be around about 100 MHz. And I say around about because there's a lot of variables. There's all sorts of things you can do to try and extend it a little bit further and tweak this and tweak that and so on. But inevitably around about that frequency we start giving up on parallel. We start giving up on just laying tracks randomly or having tracks that are just precisely the same length so that your propagation delays are all the same and laying them out perfectly in parallel. we just give up on all of that and we just say you know what I'm just going to go with a Transmission line two strips, and they are always the same gap sandwiched between exactly the same kind of planes and everything is completely impedance controlled from end to end and That is essentially when we start talking about what they have come to coin the phrase as high-speed serial So and where I talked about this previously was when I talked about parallel ATA and serial ATA on episode 12 So refer you back to that if you want to know more about the hard drives and solid-state drives and and their switch to high speed serial for interconnecting So that's if you'll hit your motherboard on those squiggly lines typically you see it around the memory as well Although I don't know if that's parallel or serial off the top of my head Well not talking about addressing lines but the point is that there's other issues as well with high speed that I just want to quickly touch about and my favourite one that's annoyed me is jitter and the first time I saw jitter it kind of blew my mind because you have this idea that a clock is pure. I don't know why I ever thought that but you know for whatever my brain thought oh yeah that's a clock so clocks are always on and off one cycle right they're always the same period and they drift with time right forward or back like there because they never if you say i've got a clock and it's exactly 100 megahertz then it's always 100 megahertz maybe it's going to be like 100.001 megahertz so it's always going to creep forward so we've got an rtc like a real-time clock based on that frequency then it's going to drift ever so slightly with time when the first time i saw on a digital sampling oscilloscope and i saw the jitter on a high speed clock it kind of blew my mind. Have you ever seen jitter? Oh, yeah, that plays a big part in switching regulators on the phase node, which for the purposes of this episode is a digital signal between zero and whatever your input voltage is. It's got very sharp edges like the digital we're talking about, and it suffers from all the same problems from capacitance, inductance, jitter. So, the way that I've seen jitter on a DSO is that you'll set the trigger level to, let's say where the clock edge rises up to maximum. You'll set that and lock that in the center of the screen. And then you just set your span such that you can actually see the width of that actual pulse, that clock pulse. And if you can see that on the screen, like half a waveform, slightly more than half on each side of center, and then you'll see the width of those clock periods changing and they sort of like wobble left and right. turn on the persistence feature to see how much and you know check every edge yeah that's it so the clock it does not I mean you may think hey I've got a period of like you know 10 10 50 nanoseconds or something like that or whatever it is and it's not it'll be like 49.1 and then it'll be 50.2 and then it'll be 49.7 it'll be 50.1 and it's all over the place it's not exactly the same every single cycle. And that's a big problem because if you're using that clock, even if you're using high-speed serial, if you're using that clock to try and extract and recover your data, you're in big trouble. You know, because you can't be guaranteed you're actually sampling the right point. You could be slightly behind, slightly ahead. And clock drift is simply the fact that your jitter will be predominantly positive or predominantly negative. So over a long period of time, those slight additions or slight subtractions will change the overall frequency and that will cause the drift. So I just find jitter fascinating. I guess the first time, like I said, first time I saw it, it just melted my brain. I thought it was the craziest thing in the world. 'Cause I just had this picture in my head that a clock's always gonna be precise. And it's like, no, it's not. So anyway. - A lot, a lot of money, you can get a very low jitter clock and that can be true. - Yeah, but if you zoom in far enough, it's still gonna have jitter. You know, you can never- - Everything is analog. - There you go, right there. Everything is analog. - Roll credits, we're done. No, we're not. We're not done. We're not done yet. Okay. We've only just begun. Man, we could go on for hours, but we're not going to for the sake of our listeners' mental well-being. So, okay. So, traditional... All right, so I've talked about it. Okay, right. So, now we've come full circle. One of the things that you can do to overcome this jitter problem and high-speed serial problem is we can actually start to encode the clock with the data. It's at that point where would you like to talk about that? Oh, encoding techniques. Yes. Taking a nap over here. Yes, so there's various ways you can encode your digital logic in your data. The first and the most basic one is called a non-return to zero. And like I said, this is the extremely basic, it's what you think about when you consider digital logic. Transitions only occur when the logic bits change. And it requires a very accurate clock and error detection to make sure your data's being sent properly. So if you have a string of four zeros, you will just sit at zero volts for four clock cycles and then transition to a one whenever that comes along. Very error prone, like we said. Archaic clock. Simple in implementation and thought process, but has its drawbacks. So you can move to what's called a biphase method of encoding. And the state transition in a biphase system happens at the end of every bit frame. So logic highs have an additional transition in the mid-bit. And it allows for some clock information to be passed along with the data stream. So if you wanted to send along a zero zero on your circuit board, you would send low plus high. So instead of just being zero for one clock cycle, you would transition high. Or it could be high plus low. So if you started at a one, you would transition to a zero mid-clock instead of saying low low. Cool. Cool. Same with 1-1. You would say, you know, low-high or high-low, depending on where you started. Did I get that right? Yep, that sounds right. Yeah, trying to make sure it was clear and I'm not just, you know, rambling for our listeners. Yeah, no, that's okay. It's the idea is that when we encode the clock with the data, it means that we're guaranteed that it's going to be essentially synchronized and that means that it's funny though because it tends to you would think oh that's wasteful and I guess it kind of is a little bit but at the same time it overcomes that problem and then you can then crank the speed up even more and that's the ultimate goal is to go faster and sometimes you have to take a step back to take a few steps forward and I guess that's the way to think about it And yeah, yeah, yeah, so by allowing more transitions, you know for 00 instead of being low low you go low high or high low you know you're You're taking away some of the error from clock skew and jitter and you know, you're saying there's a definite transition here There is another bit. We're not just you know, hanging out not knowing what the lines doing Yes, exactly. So yeah, that's it. Exactly, right so Manchester encoding, I think, is similar to biphase. Correct. Yes. You want to talk a little bit about that? Sure. So, it's similar to biphase in that you always get, you know, a transition at the end of every bit frame, but you structure your data in such a way that it always yields a DC value of 50 percent or halfway between the supplies. So, if you're at five volts, you know, it always sees a lot. The line always sees an average voltage of 2.5 volts. And similarly, if you're at 1 volt, you always see a half a volt. So what this means is that the average power over a long period of time is constant, regardless of the data stream. And again, the state transitions occur halfway between the bit time frame. So why would you want the same average power? Well, it simplifies your circuit design in your receiver, is how I understand it or your transmitter. - Yeah. - You can bias it easier, I think. - Yeah, I know that it is popular. The bottom line though is that they're all different, subtly different ways of implementing the same kind of idea, which is to integrate the clock with the data. And this is just, yeah, we're just talking about like bit level data transfer. We're not even talking about when you start to structure, like packets and CRCs and parity and all that other stuff. I'm not even talking about that. But obviously you also build in more redundancy on top of that so that you can then identify that when data's gone astray and so on and so forth. But not wanting to get into that, just talk about the lowest level nitty-gritty, that's it. And honestly, I don't have too much else I wanted to talk about. I guess I just find this whole thing that digital is, one is always a one, a zero is always a zero. That is so completely false. And once you get your head around that, you can sort of understand that everything is truly is analog and all the digital stuff that we play with, all the software that's- It's all defined. It's like, is it true? Is it false? You know, all that sort of stuff. It's all built on- It's layers of abstraction on top of the real world. And in the real world, everything is analog. Yes, and there's so many different techniques and stuff to get over the fact that digital is not a "real" scenario. One of my favorites I always like is channel equalization, which is, we talked about about 100 megahertz, you're transmitting along, say, a coax cable, and like John said, at about 100 megahertz, you start running into issues where your nice pretty ones and zeros are not. So if you look at just the Bode plot of the cable to get its frequency response, you'll see it starts to roll off like a low-pass filter at 100MHz in this example. So with channel equalization, at the other end you have your receiver and you send out a test pulse, see how it changes, and you configure a filter so that you add gain at 100MHz and above to keep the channel "flat". And it's really cool stuff. Yeah, actually beyond just channel equalization it sort of makes me realize that one of the things we've focused on a lot so far just talking about this topic is you know circuit board, circuit tracks and everything. I did sort of talk about cables but honestly cabling is the same sort of problem you know and yeah and it's like it's one of those things so long as we use cables and wires and all that sort of stuff to and I say all that sort of stuff for a specific reason is that all the stuff that we're talking about has to do with the problems associated with inductance and capacitance. I haven't talked about optics and I don't know if I should, maybe that's a topic for another episode but honestly a lot of the problems with cabling go away with optics but a whole different set of problems come onto the table with optics, right? So, you know, things like band radius, things about like splices, joints, patches, all of that stuff, which is more analogous to resistance. But, you know, you don't and of course, you know, fiber also like optics has also got other problems with different interference and, you know, wavelength division, multiplexing and all that other rubbish. So, you know what, another topic for another day. But honestly, it comes back to the cables and it's not about the plating on the end. It's how accurate and how well built the cable itself is. And that's why you'll have like tight tolerances for Cat6. and they'll say, if you get this Cat5 cable, it's not guaranteed to work over a 10 meter length at 10 gig. So, you know, a Cat5 cable isn't rated to run at one gig or 10 gig over a certain distance. And that's simply because the tolerances for capacitance and inductance on those twisted pairs inside the four pair structure, if it's a four pair cable, you know, that is not as tightly controlled on a Cat5 cable. You go to Cat6e, for example, and that's a much tighter spec. And that is guaranteed to carry gigabit or 10 gigabit over a certain distance. So that's why people say, oh, well, I'm gonna lay Cat6e cables now. They're only plugged into an ethernet switch that's doing gigabit, but I wanna go to 10 gig at some point. So by laying these cables now, I'm sort of future-proofing it to a point, despite the fact that cables are now more expensive to get a 6e than it is on a Cat5. That's just another example beyond the circuit board that people will deal with from day to day. So if it was me and I was putting, twisted pair copper through my house, I'd get the more expensive, higher quality cable design to run at 10 gig on the presumption that at some point in the next two or three years or five years, the 10 gig switches are gonna become more commonplace. And then because they are better quality, they can handle the high speed serial data better. There you go. Did you have anything else you wanted to add on this Or should we wrap it up? Pfff, well I could add quite a bit, however I'd be just riffing and my digital modelling knowledge is not good enough for that. Oh, okay, fair enough. Well then, in that case, if you want to talk more about this, you can reach me on Twitter @johnchiji, or you can follow Pragmatic Show to specifically see show announcements about the show and other related stuff. Remembering now that Pragmatic is part of the Engineered Network and also has an account at engineered_net that has announcements about the show and the network, all the shows actually on the network, and you can check them all out at engineered.network. If you'd like to get in touch with Carmen, what's the best way for them to get in touch with you, mate? Best way to get in touch with me is via Twitter, @FakeEEQuips, and I'm usually on every day checking during meetings. Oh, you're not supposed to admit that, but I also may or may not do the same thing. There If you'd like to send any feedback about the show or the network, please use the feedback form on the engineered.network site. That's where you'll also find show notes for this episode. I'd like to thank ManyTricks for sponsoring the Engineered Network. If you're looking for some Mac software that can do ManyTricks, remember, specifically visit this URL, manytricks.com/engineered for more information about their amazingly useful apps. Thanks also for the ManyTricks for being a launch sponsor for the Engineered Network. Finally, the network also has a Patreon account that should be up now. So if you like what we're doing here at the Engineered Network and you'd like to contribute something, anything at all, it's all very much appreciated. And it helps to not only keep the existing shows going, but it also helps to bring new shows to you. So there are a few perks in there as well. If you'd like to go and check it out, it all helps. Thanks again everyone for listening and thank you, Carmen. All right. Thank you, John. And thanks again for listening. Thanks everybody. [MUSIC PLAYING] [Music] [MUSIC] (upbeat music) (upbeat music) (upbeat music) (upbeat music) (upbeat music) (upbeat music) [Music] (dramatic music) [BLANK_AUDIO]