CAN Bus Properties and Troubleshooting

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
Well, hello everybody. My name is Eric Carmen  with Enovation Controls Technical Services. Today we're going to be talking about the physical  and electrical characteristics of a CAN data bus. We will also be reviewing some  troubleshooting techniques for   the most common problems you're  likely to encounter in the field. Before we begin, we should probably have a  brief discussion on what a CAN data bus is. CAN stands for controller area network and it's  basically a two wire high-speed data bus that   allows multiple devices to communicate with each  other. This is a multi-master data bus. What that   means is that any device connected to the network  can take control of the bus and transmit data. To help demonstrate some of the  principles we're going to learn today,   we have this panel behind us that has  all the major components that you'll   find in your typical CAN data bus.  Let's zoom in to get a closer view. This panel is a physical representation of  what you'll commonly see on a CAN data bus.   We have a main bus, sometimes  referred to as a backbone,   and then along the backbone we  have different devices stubbed out. We have an ECOM controller that we're going to use   to transmit data and monitor all  the devices that are on the bus. We have stubbed out on stub number  two an XMD valve controller. And then, on stub number  three, we have a PV380 display. On the far ends of the data bus, we have a  termination resistor located all the way on   the left and all the way on the right. A CAN bus  has to be terminated on the far ends of the bus. So, we've laid it out to give you a physical  representation of what that should look like. The CAN network uses a bus topology. What  that means is you have a main harness or   backbone and then each device is stubbed  out or daisy chained as you go along. In this example we're using yellow  and green twisted pair wire. This is   the minimum requirement for a CAN data  bus. You can also use twisted shielded   pair which is more optimal but it's a  little bit more difficult to manage. You can use pretty much any wiring technique  on the CAN data bus in this example we're   using a terminal strip to split off to the  ECOM control and then for the other two   stubs we're using the Deutsch triangular  connector system along with a splitter.   For the termination resistors we're also using  Deutsch termination plugs which have a built-in   120-ohm resistor that's encapsulated in  epoxy to keep it nice and watertight. That pretty much covers all the  physical aspects of a CAN data bus. Now let's talk about some of  the electrical characteristics. The two signal wires are referred  to as CAN Low and CAN Hi. The voltage that you'll measure  on these two wires is going to be   2.5 volts when there is no data being broadcast, and then CAN Low will switch  between 2.5 and 1.5 volts and CAN Hi will switch between 2.5  and 3.5 when it's broadcasting data. Let's take a look at the oscilloscope to  get a better view of what this looks like. I have the oscilloscope connected to CAN Hi  on channel 1 and CAN Low on channel 2 and   on the panel I have the XMD and the PV380  and the ECOM cable all broadcasting data. What we're seeing now on the oscilloscope are the   data packets being broadcast  at various time intervals. I have the oscilloscope set up for 1  volt per division so you can see that   the baseline for CAN data is sitting at  about 2.5 volts for CAN Hi and CAN Low. Let me separate the two signals so you  can see what I'm talking about here. I'm going to raise channel 1 up a little bit. Now I'll bring it back down so it's at the  same voltage reference as channel number 2   and as you can see in the time in between the  packets the voltage is sitting at 2.5 volts. Now let's take a closer look at the actual data  packet. I'm going to change our horizontal scale,   and this is pretty much what the message  looks like. I'm going to freeze-frame   this now so you can get a better view.  As you can see when data is active CAN   Hi goes between 2.5 and 3.5 volts and  CAN Low goes between 2.5 and 1.5 volts. If you look at the average voltage or the mean  voltage that the oscilloscope is measuring,   we have about 2.9 volts on CAN  Hi and 2.14 volts on CAN Low. This is pretty easy to see what's going on  when you have an oscilloscope connected,   but more than likely all you have is a multimeter. What does the voltage look like  when you have a multimeter? As you can see, most of the time the  voltage is at 2.5 volts DC with periodic   transition on CAN Hi to 3.5 volts  and on CAN Low down to 1.5 volts. When you're measuring this with a multimeter,  it's going to average these voltages together. So, you're going to get something just roughly a   little bit above 2.5 on CAN Hi and  a little bit below 2.5 on CAN Low. So right now, the average voltage  is about 2.56 on CAN Hi and then   we'll switch over to CAN Low and  the average there is about 2.5. Now typically when you're measuring  these voltages with a multimeter CAN Hi is going to be  somewhat greater than CAN Low. How much of a difference you'll  see depends on the bus loading. Right now, we're not sending a lot of data  on the bus so there's not a whole lot of   difference between CAN High and CAN Low because  most of the time it's sitting there at 2.5 volts. Let's take a look at what happens when you   disconnect everything from the  network except for one device. I'm going to unplug the ECOM cable and  the XMD and let's see what happens. Well, as you can see, there's a flood of data  on the network now. That's because the CAN   controller in the PV380 is trying to synchronize  with another device and there's nothing there. We can use this to our advantage because  the voltage you're going to measure with   the multimeter now is going to be much  higher on CAN Hi and much lower on CAN Low. Let's take a look at what the  voltage looks like on CAN Hi   and what we have now is 2.9 volts and  then on CAN Low we have 2.1 volts. It's much easier to determine what the average  voltage is on the data bus when you have   just one device connected. This will become  important when we get into troubleshooting. The next thing we need to talk about  are termination resistors. We've already   mentioned that at each end of the bus  you have to have a 120-ohm termination   resistor as we have located here and here.  Well, let's talk about why that is so. The CAN bus is a high-speed data bus and as  a signal propagates down the line if it is   not terminated part of that signal will reflect  back and then interfere with the next data signal   coming down the line, and what that could do is  disrupt communications and the bus could fail. So, you may ask, "well what about  the stubs? The stubs don't have a   termination resistor what  about reflections there?" Well, the same thing holds true for the stubs.  A certain amount of signal will reflect back,   however, if you keep the stubs short  enough then that won't cause a problem. If you have a really long stub  relative to the length of your   CAN bus, then that could pose a problem. The general rule of thumb is to keep  the stub length as short as possible. I'm going to link an application  article from Texas Instruments that   discusses the topic of termination  resistors and signal reflections. For the purposes of this conversation,   the rule is the CAN data bus has  to be terminated on both ends. Now, let's take a look at what  that resistance would look like. I've turned the power off and I have a multimeter   set to measure resistance and I  have it connected to the PV380. You can make your connection  to any place along this bus,   and you should measure the same resistance. So, what we show here is about 60 ohms which is  the parallel combination of two 120-ohm resistors. This leads us into the next part of our  conversation which is troubleshooting. The first step in troubleshooting a CAN data  bus is measuring the termination resistor,   so you want to pick the most  convenient spot to plug into   the CAN bus and measure between CAN Hi  and CAN Low and you should see 60 ohms. If the termination resistor is missing you'll only   measure 120 ohms. I'll unplug one of  these terminators to demonstrate that. As you can see the resistance  is now close to 120 ohms. If you had three termination  resistors in the network it   would be the parallel combination of  three resistors which would be 40 ohms. That's not as bad but it's also not as desirable  so you'd want to correct that situation. So, if you're only seeing 120 ohms  now, you're going to have to figure   out where on the data bus are we  missing the termination resistor. A physical inspection is usually  the best way to do that, however,   if the harness is really complicated and difficult  to get to if you can tap into the harness midway   somewhere then you can tell on which side of  the harness is missing the termination resistor. I'll demonstrate that here by unplugging  one of the connectors on the backbone. Now what we're measuring is about  27 kilohms on the multimeter. We're measuring this half of the  backbone and it looks like there's   no termination resistor installed, so we know  the problem is on this half of the harness. If I move my leads over to measure the resistance  on this half of the harness, as you can see we   have roughly 120 ohms, so we know that this  half of the harness is properly terminated. So, you'd want to find the far end of this half  of the harness and add a termination resistor. One thing to keep in mind is that some  devices, like our Murphy PowerView color   displays, have a built-in termination  resistor that is software selectable. So, if that's the case, you're not going  to see that resistance when you measure   it on the bus because it only becomes  engaged once the display is powered up. In that instance you'll want to look at the  data sheet for the device that's connected. The next most common problem you'll  encounter is a problem in the harness   itself where somebody has wired  CAN Hi and CAN Low backwards. Let's go ahead and swap CAN Hi and CAN Low on  our XMD valve controller and see what we get. Typically, the starting point is going to be to  measure your voltages somewhere on the harness. Right now, you can see that CAN  Hi is measuring 2.4 and then CAN   Low is measuring 2.6. Now that's  opposite of what it should be. CAN Hi should always be higher than CAN Low. You can't always go by this voltage  because remember that every device   on the network is contributing  a voltage of some kind, so they   all contribute a voltage on the network  and may give you a misleading reading. The only real way to determine what is going on is  to isolate the bus to only one device at a time. For this example, I'm going to  disconnect the PV380 and then   the ECOM controller and let's see what we get. Now the only device that's left on the  network is the XMD valve controller,   and as you can see, we have 3 volts on  CAN Low and roughly 2 volts on CAN Hi. So, we know that is backwards  of what it should be. The next step in this process would be to unplug  the connector from the XMD and verify that it's   pinned out properly, and if that's not the  cause of the problem then you'll just have to   investigate further up to harness to find out  where CAN Hi and CAN Low have been reversed. The next type of failure mode is if you're  missing one of the CAN data signals. If you have a display like the PV380 and you lose  one of the data signals, you're going to get an   error that'll tell you that there's a problem with  the CAN bus so that's really easy to diagnose. What if you had a device that didn't have a  display and didn't have any LED indications   to tell you that there was a problem  with the CAN bus? What would you do then? Well, let's demonstrate that. You're  basically going to go through the   process of elimination and go through all  the various steps and in this instance you'll   just have to unplug the connector and then  measure the CAN voltages on the connector. When we measure CAN Hi you can see  that we have 2.55 volts and then   when we measure CAN Low we have 0, so that  tells us that there's a wire disconnected   and we would investigate what  the cause of that would be. The last failure mode we're going to  talk about is if one of the CAN ports   on one of the devices is shorted to ground  either due to a lightning strike nearby or   somebody welding on the unit or some other  factor that has caused the output to fail. And typically, it fails in the shorted  to ground condition so what that means   is either CAN Low will be shorted to ground or  CAN Hi will be shorted to ground on that device. To simulate that I've taken a 47-ohm resistor and   connected it between CAN Low and  ground on the output of the PV380. So right now, we're measuring voltages on CAN  Hi and as you can see it's like 0.2 volts,   which right away we know there's a problem, and  then CAN Low is also measuring about 0.1 volts. I only shorted CAN Low, so why is  CAN Hi also showing low voltage? Well, remember CAN Hi and CAN Low are connected   together through this 120-ohm resistor  here and 120-ohm resistor over here,   so whenever there is a problem on CAN  Low it will show up on CAN Hi as well. So, in an instance like this, what  we want to do is disconnect the   termination resistors, which I'll do right here. Now the CAN signals are isolated from each  other, and as you can see we have 0.027   volts on CAN Low and 2.5 volts on CAN Hi so we  know the problem is on CAN Low however we don't   know which device the problem exists in, so once  again the only way to accurately determine which   device is causing the problem is to isolate  the bus and connect one device on at a time. So we already know that the  problem is with the PV380 but   I'm going to disconnect everything except  for the ECOM cable and see what we get. Okay so we saw that the problem was on CAN Low so  let's return our measurement to measure CAN Low. Okay, right now we have 2.09 volts  which is perfect for CAN Low,   so now let's add the devices back on one  at a time until we see the problem return. We're going to plug the XMD back in and our CAN   Low voltage is still looking really  good, now let's plug in the PV380. And now we see that CAN Low has dropped down to   0.027 volts so that tells us  that the PV380 has a problem. The next step in confirming that the PV380  indeed does have a problem, what we want to   do is turn power off and take a resistance  measurement of the CAN port on the PV380. Okay, now I have power turned off and  I'm going to simulate unplugging the   connector on the PV380 and now I'm  going to measure resistance between   CAN Low and ground and see what we get.  And as you can see, we have 50 ohms. The impedance should be in the megaohm  range between any of the CAN signals   and ground on the device. So, let's move  over to CAN Hi and see what we get there. CAN Hi is measuring 28 kilohms. The  measurement should be in the megaohms   region but there's a reason  why we're seeing 28 kilohms. The internal resistance between CAN Hi and CAN  Low is roughly 28 kilohms. Let's measure that. So that's about 28 kilohms. Since we have a short  between CAN Low and ground what we're measuring   here is their internal resistance between CAN  High and CAN Low and then the short to ground   that's why we're seeing about 28 kilohms when  we measure a resistance on CAN High to ground. On a good device that should be megaohms.  Let's take a look at what that would look like. Right now, I'm measuring the internal  resistance between CAN High and CAN   Low on the XMD and as you can  see it's roughly 28 kilohms. Next, let's measure the resistance between  CAN High and ground and as you can see,   we're measuring an open circuit and  that is the correct measurement. Between ground and CAN Low  we also have an open circuit. Let's go back and measure resistance  between CAN Low and ground on the   PV380 and as you can see, we're  measuring 50 ohms which indicates   that the CAN port has been blown on the  PV380 and it would need to be replaced. Well, that about wraps up this tutorial.  We hope that you found the troubleshooting   information beneficial for you. For  more information on this and many   other subjects, please visit our site at  enovationcontrols.com. We'll see you then.
Info
Channel: Enovation Controls
Views: 1,218,976
Rating: undefined out of 5
Keywords: CANbus, can data bus, controller area network
Id: ulcKnrPmJqM
Channel Id: undefined
Length: 18min 8sec (1088 seconds)
Published: Wed Apr 01 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.