# How do aircraft systems communicate?

## Метаданные

- **Канал:** Ben Eater
- **YouTube:** https://www.youtube.com/watch?v=mhBya3JYteQ
- **Просмотры:** 390,751
- **Источник:** https://ekstraktznaniy.ru/video/20722

## Описание

Support these videos on Patreon: https://www.patreon.com/beneater or https://eater.net/support for other ways to support.

------------------

Social media:
Website: https://www.eater.net
Twitter: https://x.com/beneater
Patreon: https://patreon.com/beneater
Reddit: https://www.reddit.com/r/beneater

Special thanks to these supporters for making this video possible:
Adrien Friggeri, Aleksey Smolenchuk, aliceitc, Anthony Weems, anula, Ben, Ben Cochran, Ben Kamens, Benjamin Keil, Benji Bromberg, Bill Cooksey, Binh Tran, Bradley Stach, Brian Haug, Carl Fooks, Carsten Schwender, Chad Fertig, Chris Anders, Chris Lajoie, Craig Hawco, criis, Cristi Cobzarenco, Daniel Tang, David Clark, David Cox, David Dawkins, David House, David Sastre Medina, David Turner, Dean Winger, Deep Kalra, DemoniacDeath, Dennis Henderson, Derek Chandler, Dilip Gowda, Dirk Sperling, Dmytro G, Dustin Schoenbrun, Dzevad Trumic, Enrico Gueli, Eric Dynowski, Erik Chancy, Ethan Sifferman, Eugene Bulkin, Evan Serr

## Транскрипт

### Segment 1 (00:00 - 05:00) []

This altimeter was removed from an airplane and it's completely mechanical thing. You know, these wires here just power a light so you can see it at night. Uh but the way it works is it senses air pressure with this port on the back which is connected through some tubing to a you know sensor port which is really just a small hole on the outside of the airplane. And as the airplane climbs the outside air pressure decreases with altitude. So lower pressure outside the airplane results in lower pressure inside the altimeter which has a sensitive anoid that's mechanically hooked up to the pointers on the dial. But for this altitude to be accurate on the dial, you have to correct for the fact that ambient air pressure changes with weather. You know, high pressure systems, low pressure systems move around. And since all this thing is doing is measuring pressure, it's not going to give you an accurate altitude unless you compensate for the current ambient air pressure at the surface. And so it has a knob on it uh that you can use to adjust. And air traffic controllers provide pilots with current altimeter setting, which is basically the sea level uh air pressure in inches of mercury. And when you dial that setting in here on the dial, then the instrument will read your altitude correctly. I just checked in the current altimeter setting at the airport closest to me is 29. 81 in of mercury. And if I set that here, the altimeter shows that I'm pretty close to sea level, which is true. That that's where I am. But why am I talking about all this? Well, this instrument was removed and is being replaced with this electronic altimeter. Let me power it on so you can see. Obviously, this one's not purely mechanical. Uh, but it does the same thing. You know, it's got a static port on the back, uh, just like the other one did. It senses pressure and reads an altitude on the front. And there's an adjustment here to compensate for non-standard air pressure with the current altimeter setting. So, I can set it to 2 niner 81, and I get a pretty similar reading. And you know, these ports have these covers on here, and I don't want to take them off or mess with this one because it's going into an airplane, and I'm sure it's very sensitive, but I expect it would respond the same way hooked up to uh that syringe there. But this alimter and its replacement are backups. You know, they came out of one of these holes over here, and the replacements are going back in over here. But either way, they're really only used as a backup for the primary flight instruments, which are displayed on the screen here. The primary altimeter is here showing about 60 ft or so. And it too can be adjusted with the current altimeter setting which is displayed down here. And I can change it by turning this knob here. So I can set 2995 there and it reads about zero. But the whole reason I'm making this video is that there's a feature of this new backup altimeter uh that will allow the primary flight instruments to send data to the backup altimeter. That way, if you change this altimeter setting over here on the primary flight instruments, rather than having to also set it on the backup, it will get automatically communicated. And that got me really curious about how communication takes place between different systems in an airplane like this. You know, it's not every day you can take an airplane apart and hook an oscilloscope up to it and poke around. But that's what I'm going to do. Looking at the new altimeter, um, it's got this 26 pin connector on the back. And here's the documentation that shows in here what each of the pins is for. So you've got pin 19 and pin one which provide power and ground to the device. Um and then pin four is this dimmer input which is a signal that allows you to control the brightness of the screen. Um so you can get it to match all of the other instruments in the panel. Then there's all these gillum code bits um you know 0 through 9 which make up a 10- bit parallel interface that um just constantly outputs the altitude. And this 10- bit parallel interface is a special format that's used by transponders which would be a different piece of equipment in the airplane that sends the altitude information to air traffic control radar so that the controllers can see the altitude of the aircraft. And it'd be interesting to look at this parallel interface in a little more detail u maybe in a different video. But what I'm really interested in here are the remaining pins which really at this point are just the Arink out A and B and Erin in A and B. And Eric in this context refers to the Arin 429 protocol. Um and it's a serial protocol for communicating between systems in aircraft. And we could get into the spec here, but before we do that, um I think it'd be interesting just to hook up an oscilloscope to the air out A and B pins and see what we get. So, if we want to hook this up, pin one is ground. So, I've got a ground coming from a power supply here that we can connect to pin one. And then power is pin 19. So, I've got the power from my power supply going to pin 19. And this will be a 28vt power. Of course, it's off right now. So, that goes to pin 19, which is there. And then if we want to look at the air in out A and B, I've got an oscilloscope probe here that we can connect to um airrink out A which is pin two right here. And then B is this other oscilloscope probe which will hook to pin three. So that'll let us look at airring out A and

### Segment 2 (05:00 - 10:00) [5:00]

B on two different uh traces there. And then the grounds for the scope probes will connect to the ground here from our power supply. So I'll just clip that there. clip this together so that all of our grounds are connected. So, here's that setup. If I power it on, the altimeter comes to life. And right away on the oscilloscope, it looks like we're getting something. Let me uh try to capture what we're seeing here. So, we look at the two signals. It looks like they're basically opposites of each other. And that's true. You know, the way this protocol works, it uses a differential pair. So the A and B signals here aren't separate signals. The actual signal is defined as the difference between A and B. And that's what it means for this to be a differential pair. So the real signal is actually a minus B. But you can see that for both A and B, they're really only ever in three different states. Either, you know, 0 volts, plus 5 volts, or minus 5 volts. And you also notice that whenever A is zero, B is also zero. And whenever a is + 5 volt, b is - 5 volt. And whenever a is - 5 volt, b is + 5 vol. All of that means is that if we look at the differential pair of a minus b, that differential pair is either zero because a and b are both zero or it's + 10 volt or minus 10 volt. We can actually have the scope do the math here. So if we can do we actually want to do a minus b. So that's a minus b. And really that differential pair ends up looking a lot like the A signal but a bigger total voltage swing. And this result, you know, whether you're looking at the uh subtracted pair or if you just look at the A signal, they're basically the same. It makes up a pretty straightforward bipolar return to zero encoding or BPRZ encoding. And it's bipolar because it goes positive and negative. And it's returned to zero because it returns to zero between each bit. And these are in fact bits. Each time it goes positive that indicates a binary one. Each time it goes negative it indicates a binary zero. Um so it's is pretty straightforward to read off you know binary you know 1 0 0 and so on. So why bother with this B signal at all? Well you know subtracting out the B signal is done to make this whole uh system more resistant to noise. You know, if you had some electromagnetic interference from some other system in the aircraft, you know, anything that could create a changing magnetic field electrically or metal parts in the engine moving, that changing magnetic field could induce a current in these wires and change the voltage, which would interfere with the signal. But the way this works is the two wires for A and B are twisted together and run together. So that, you know, hopefully any magnetic field that induces a current in one wire would induce roughly the same current in the other wire. That way, if both of these voltages were skewed in one direction or the other, when you subtract one from the other, then you end up subtracting out all that interference and are hopefully left with the original signal. And I can actually demonstrate that by injecting a bunch of noise into this signal. So, let me turn on a signal generator here. And that signal generator is now offsetting the scope ground here to simulate equal noise being injected into both A and B signals. So, let me see if I can get this to trigger properly. And you can kind of start to see that same signal that we were seeing before, but obviously with a lot more noise in it. And so, you can still sort of make out the signals, but it definitely makes it easier that you could misinterpret where the ones and zeros are. And of course, this would actually be even worse if it were real interference, you know, because the noise I'm injecting is pretty well behaved noise. So, you can still sort of make out the original waveform. But let's bring back that subtraction. And look at that. By subtracting B from A, we're subtracting the interference added to B from A. And we get um actually a pretty clean signal that we could easily interpret. So let's take a look at the actual data we're getting here. I've turned off the noise generation. So we can get rid of the differential signal and just look at the raw signals again. And I'll zoom out here. And what it looks like is we're getting a burst of data every say half second or so. Um and looks like every other time it's a little bit longer. So there's some data that we're getting every half second and second. If we zoom in um what you can see is that it's broken up into a series of you know what are called words in the spec. So we can see that there's an idle time here and then a sequence of bits and then another idle time. And if we keep going we'll get another word of data. So this idle time and then a bunch of bits and then some idle time. So that's a second. Here we have a third sequence of data and then we keep going over here. We get a fourth and then sometimes we get a fifth in here sixth at the end. So there's either four or

### Segment 3 (10:00 - 15:00) [10:00]

six pieces of data essentially that this is sending us at any point in time. So let's take a look at this particular piece of data and I'll walk through how to decode it. So I just printed out what was on the screen here and I wrote in the binary, you know, so if it was a positive voltage, I wrote a one. If it's negative voltage, it's a zero. So I wrote all that in and then I also um drew these little dividers here uh based on the ERIC protocol. So if we go through and decode this, we start out with the label. So 1 0 is a two, 011 is a three, and one is a five. Just converting the binary to decimal. So 235 is the label. um which describes this information. So that basically says what type of information this is. And if we go into the Eric specification, it lists all the different possible labels um label codes here. And 235 in octal, which is kind of how that's decoded, right? Um could be a variety of different things. In this case, because we're dealing with an altimeter, I think it's safe to assume that this is the barrow correction in inches of mercury. So hopefully we would expect to see in here whatever that um altimeter setting was that's currently dialed into the altimeter. These next two bits are source or destination information and I think not sure exactly what cases this is used in but I think it can identify um what system in the airplane this is coming from or going to. Then you have the actual data itself which I'll get to. And at the end here this is kind of a status u and again depending on the type of data this could be used in one way or another. I think zero just means that um there's no error. And then this last bit is a parody bit. And 429 always uses odd par. So there should be an odd number of ones in here. So we got 1 2 3 4 5 6 7 8 9 10 11 12. And then this one makes 13 for an odd number of ones. So that's set to one. We have an odd number of ones in here. So we know that none of these at least we didn't have a single bit flip. Um so that's just kind of a very basic error checking mechanism and then the rest of this is um the actual data. So if we decode this in this particular case, this altimeter setting, if we look at the spec, there's different ways that it could be encoded for the barrel correction, it's encoded as BCD, which is binary coded decimal, which is actually very convenient for decoding it because it means that we have blocks of four bits. Each of those represents a decimal digit. So 0 0, that's a zero. 1 0 1, if we decode that, that's a nine. 1 0 1 again is a nine. And 0 1 0 is a two. And the way you read this is 299. And that is in fact the altimeter setting. It's 299. When we start capturing again, and it's a little annoying because it's only coming in every other time. But if we change this altimeter setting, you can see some of the bits changing. Hopefully you can see that. Looks like yeah, we got a couple bits here. Whoops. If I change that, that changes. And so indeed, it's sending the current altimeter setting using that encoding. And in fact, this particular oscilloscope, we can have it decode the airring for us. So if we go to serial here, I've got this already set up for ARIN 429, um, which is one of the different, uh, protocols that it can decode. And it's showing us right down here the decode. So here is label 235 and uh here's that 2995 which is the current altimeter setting. And if I change the altimeter setting you can see it changes. So now it's 2991. And actually we can have this trigger on um serial I believe. So if we set this to trigger on serial we can say I want to trigger on a particular label. So if we want to trigger on label 235, it will just show us that label. And now we can change the altimeter setting. And we see it updating. And if we want to look at some of the other things that the altimeter is outputting, we can um actually just trigger on word start. Whoops. Word start. and zoom out here. And you can see we've got label 203, 204, 212, and 217. 203 and 204 are altitudes. So the altimeter is transmitting its altitude on air. 212 and 217 I believe are vertical speed. And then of course 234. 235 we already saw is the altimeter setting. 234 is also an altimeter setting. So if we look at 234

### Segment 4 (15:00 - 20:00) [15:00]

that gives us this altimeter setting uh 1073. That's actually the same altimeter setting is 304, which is set, but it's in millibars rather than inches of mercury. So anyway, that's some of the different data that this altimeter is outputting. And that's no surprise because that's exactly what the documentation says it should be outputting. labels 203, 204, 212, 217, 234, and 235. But when this particular altimeter is installed, none of that's going to be used. In fact, these output pins aren't going to be hooked up at all to anything. The only thing that's going to be hooked up is the Eric input um because this altimeter can read uh from the primary avionics in the airplane, labels 234 and 235. So that when the altimeter setting is updated on the primary avionics in the airplane, the backup altimeter, which is what this is, will automatically follow that setting. So somewhere the primary avionics in this airplane must be able to transmit ERIC 429 data. And indeed it can. Behind these screens are a number of different line replaceable units, including these two units here, which are the integrated avionics units. The uh integrated avionics units uh provide uh various communication other various navigation functions, control logic as well as communication interface to all other units in the system. If I pull this out, on the back of this unit are a number of different connectors. And one of these connectors carries a number of different communications channels going off to all different parts of the aircraft. And that's this uh I believe it's this one here, the J 603. This is the pin out for that connector. And you can see it's got Ethernet RS485. Um whole bunch of Arin channels, uh CANBUS, more RS485, more air. Um it keeps going. We've got uh a bunch of RS232 signals. Um all kinds of fun stuff here. Air output here. More Ethernet. I could probably spend months poking around and exploring all these signals. Uh but then this plane would probably never fly again. Uh but what I can do is while the uh new instruments are being installed, this cable has been hooked up to one of the spare Eric 429 outputs on the back of that uh integrated avionics unit and it goes back around behind the panel and into one of these connectors back there. Um and eventually it's going to get run back behind the panel to where the new altimeter is being installed and obviously cut a lot shorter than this. But right now I have a chance to hook this up to my oscilloscope and look at what's coming out of this whole system. Okay, so all the avionics are put back together. Everything's been checked out and the airplane's powered on and I've got my scope hooked up to that air output. So, let's take a look. So, I've got the scope triggering on label 235, which is that alimter setting. And you can see it's capturing uh 2995, which is in fact the current altimeter setting. And if I change the altimeter setting, you can see it's updating it right away. And actually, it's updating much faster than once a second. Um, because you basically you can see me spinning that knob. It's updating pretty much in real time. So, that's pretty cool. Let's see what else we're capturing here. If we zoom out, we can see that there is these bursts just kind of like the other instrument was doing that happen periodically. In this case, it looks much more frequently because we're looking at 10 20 25 milliseconds apart, something like that. So, much more frequently. But if we zoom in, we can see a bunch of different labels here. And we can actually get a listister. So we go serial listister. Bring that up. This actually lists all of the decoded labels that it sees. Well, that's really washed out. Let me adjust the exposure on that. That's probably a little more legible. What I could do is just do a single grab here. Try to grab something that's got a bunch of stuff there. And it' be interesting to kind of look at what some of these different labels are. So 203, I think we saw before, that's altitude. 206 is air speed. And it kind of makes sense that would be zero since the airplane's not moving. 211 is temperature. And looking at the temperature on the airplane instruments, it says it's 22° C. So I'm not sure how that maps to 02C00, but that could be interesting to look at. 235, of course, we've already seen. That's our altimeter setting. 260. Not sure what that is. Looks like it could be a whole bunch of different things. None of that really makes sense, I guess. Put your guesses in the comments. 320 looks like it might be magnetic heading. That's interesting. The current heading of the airplane, according to the magnetometer, is uh 129°. So, I'm not sure how that maps to 2D30. That could be another interesting puzzle. 013 015 016. According to the spec I have these are, you know, track angle, wind speed, wind direction. All of them claim to be binary coded decimal format, which these clearly are not. And so I think this is kind of the deal with Eric is that the labels can be used in different ways by different

### Segment 5 (20:00 - 21:00) [20:00]

manufacturers in different airplanes. And you know, because the entire airplane is certified and tested and everything together, the exact use of these labels may not be the same across different airplanes. But anyway, there's definitely a lot of really interesting stuff going on here. I could probably spend hours poking around here, but hopefully you found this interesting. And now I'm back and the installation's wrapped up. You can see the new altimeter and the other backup instruments are installed over here on the left. Everything's closed up. Just waiting on the final paperwork and sign off and everything. Uh then the airplane will be officially airworthy again. Uh nothing's accessible with the scope anymore, but you can see it's all working as intended. You know, if you change the altimeter setting on the primary altimeter, it automatically updates over on the backup over here. And if for some reason this isn't working, you can also update it directly on the backup over here. But then when the primary changes again, they'll reync. And if we want to get the correct altimeter setting, we can listen to the latest weather broadcast. — 010. Weather's better than 55. Temperature 23. 1 alimter 2 ner 95. expect GPS or visual approach. — The altimeter is 2995. So I can dial that in here and it shows approximately the same altitude on both altimeters. And I think I saw as part of the calibration, this one was uh indicating about 9 ft low at sea level, but I think that's well within spec. But anyway, I hope you found this interesting, something a little bit different that you don't get to dig into every day. But anyway, thanks to all my patrons who help make these videos possible. Uh, if you like these videos and are able to support me, consider doing so. And if you already have, well, thank you.
