eapbg #48 Introduction to CAN (Controller Area Network)
HTML-код
- Опубликовано: 10 май 2017
- Electronics and Programming Beginners Guide
www.eapbg.com
An introduction to CAN, Controller Area Network. The packet structure, how arbitration works and how to connect transceivers.
This is by far the best explanation of how a Can bus works on the web. Thanks.
Agree
This is by far my most popular video. I just took everything that didn't make sense to me and explained it. Have you watched my video on advanced CAN. That one may make your head hurt. I'm working on my own CAN project and probably spent 6 months working to understand how the baud rate works. Out of curiosity what did make this video stand out?
@@eapbg I will take a look. Thanks for mentioning
@@eapbg Your down to earth vocabulary and presentation style. You seem to ask and answer practical questions.
@@eapbg Like the video! The people are searching for videos, which answer their questions. But unfortunately, some videos are just repeating the information, which is easy for everyone to get, they are not trying(or maybe even avoid) to answer the tricky questions, that bothers everyone. But you explained everything that need to be clarified! Thank you very much, I will follow your other videos in the future. And another reason for the popularity of this video, in my opinion, maybe because CAN Bus is used widely and is a very popular topic.
Awesome. Went from having no CAN knowledge to now feeling pretty confident about its architecture and overall functionality. Thanks.
This covered a couple aspects that made everything much clearer. Thanks for taking the time to put this out there!
I must say that I was not convinced that my 35 minutes would be worthy, because I watched so many vídeos about it that added nothing to my knowledge, but thank God I went through and what I wanna say is: thank you, thank you... eternally grateful to you for sharing your knowledge.
Try my CAN baud rate video. Let me know what you think.
very very helpful; your analogy of CAN communication to a general announcement rather than a phone call to an intended recipient made so much sense, thank you
Very nice, informative and "to the point" presentation. Truly Enjoyed it, Bolshoi Sposiba!
Hi,
I have gone through the number of videos. But here you 'Handsomely' described this protocol.It was nice explanation and the way you described the thing.
Big old thumbs up right back at you. Clear, beautifully explained and very enjoyable to watch.
So far the best ever content I have seen on the web, Thanks
Best explanation I have found on RUclips.
Thanks
Amazing lecture on CAN, hope to see more of your videos in the future. Thankyou
This is the best Lecture on CAN
Every node speaks at the same time? Thank you for discussing this! Arbitration was my biggest confusion regarding CAN. Everyone I spoke to regarding CAN, failed to explain this to me.
"How do they decide who communicates?"
"Well, you see, there is a can high and a can low..."
"Yes, I know!!!!!"
I went through the same struggle. As a whole, no one ever described arbitration. Everyone had a little piece and you had to put them together. Microcontroller data sheets are where I finally got my insights.
Thank you for the addressing/arbitration part. Very good stuff.
This was excellent... I needed to learn about CAN for a medical device I am working one and this helped a lot. thanks!
Thanks. Your single video helps understand the phy level of can bus. Thanks.
Best of the CAN explanation i got in the web. Thanks.
Great job . Excellent straight forward explanation.
Real good explanation, the best and logical among the ones found on this platform!
Thanks, glad you like it.
Very good and detailed explanation, I like your teaching style.
Excellent explanation. I was looking for exact this thing.
dood im an aspiring auto tech pro , your a dam good instructor one of the best presentations of CANBUS i have seen on YT!!!. Dave hobbs eat your heart out this guy is a good teacher you should collaborate with some tech instructors on YT here like scanner danner or pine hollow auto diagnostics just a thought !!!
Thanks. I'm actually an ex mechanic and funny enough I did not use any of this for any kind of diagnostic work. Nor did I even learn it until much later. The info in this video is all design related. Engineers would use this to design a network from scratch. For troubleshooting CAN bus networks in cars all you really need to know; is the wiring good, are the termination resistors good, are the voltages stable and not shorted, and unplug modules until it starts working. If you haven't already check out my video on CAN bus baud rate. That one will make your head hurt. I have thought of doing an eapbg auto edition. As a mechanic, I was the go-to diagnostic and driveability guy. I was thinking of some videos on how car subsystems work like EVAP, fuel injection, or operational strategies. I wouldn't do anything make model specific mostly because I've been out of the game for at least a decade now. Not sure how much demand there actually is for stuff like that.
You are a great instructor. Thank you.
Very good presentation. Well done. Thank you!
By far the best CAN intro on youtube. Thank you so much. This answered many questions.
Thanks
Thank you so much. Very smooth tutorial for beginners.
Best explanation of CAN BUS
very clear and throughout most of the important things what CAN bus does for us. Love it and thumbs up!
Thanks, glad you like.
Excellent presentation, thank you.
I know this is an old video, but it was the first one that I actually was able to make sense of, for CAN. I'm not saying that I'm not competent, but at least I have a decent idea of how it works. Being an instructor, I really like the way you presented it, without trying to read a prepared presentation.
Glad you liked it. The draw back of not being a prepared presentation is that I missed some stuff. Try the CAN Baud rate video.
your explanation is very good, I hope to find more VDU for you.thank you
Dude you are an amazing teacher! far better than my uni prof. Cheers!
Thanks, glad you liked it.
Great video.
Thanks for clear explanation.
Awesome video - answered all my questions. Thanks
Excellent explanation! Thanks 👍
Best Video on RUclips till date about CAN BUS 👌🏻💥💥💥!
Thanks
nice clear explanation. Thank You
Thank you! It is beautiful as you said.
Amazing introduction for beginners !
Thanks, I'm glad you like it.
One of the best explanations...
Thanks, glad you liked it.
Excellent my friend . Thank you and please do more CAN videos
Thank you, it's super clear.
Awesome video, THANK YOU!
Awesome explanation!
ok thanks, now i know the difference between an oscilloscope and a CAN sniffer i was confused about the two. Thanks for explaining it
Dude... simply awesome! Thank you..
Thanks very much for a great video I understand a lot more now.
Nice explanation, thank you.
Great explanation . Thanks.
This is so well done :) great job :)
Very informative. Very helpful. Thanks
Great Presentation, thank you!
Thank you man, really great video...
Very well done. Thank you!
Informative, Valuable....Tq so much :)
Very informative video. Please come up with new videos pertaining to CAN Bus.
I'm not sure I understand what you're asking. CAN BUS is the automotive application of CAN. For other than, its in a car everything else is the same.
You are very knowledgeable about electronics. Good job¡
great and very clear explanation, thank you
Clear explaination, thanks~
Excellent explanation
Excellent video! Keep it up :)
learned a lot more from this vid than I expected - cheers
Out of curiosity, what did you find informative that you didn't know before?
@@eapbg You made it easy to understand the address - bit, sample, bit, sample to determine who can speak and that it is not a node-to-node network. thanks.
Good explanation sir thank you for the video
Yeah, totally agree with you CAN implementation is elegant. Just a quick note, now with CAN FD, up to 64 bytes of data could be transfer. And the data rate is also improved. :)
Woah, a single video gonna save me from the final. Thanks. :fire:
Just awesome !
Thank for sharing this information...tha was awesom thank you
Thank you for this useful information.
Thank you
Great video!
Wow I really loved this explanation. I was always wondering how arbitration worked and now I don't have to!
Glad to hear it. Arbitration is probably the most confusing part. If not the most confusing then it is tied with time quanta.
@@eapbg Thanks for replying :). Do you have a plan to make one for CAN-FD?
@@skthelimit I do not. I know nothing about it.
master class, thanks dude!
Grate explanation!
thank you...very good explanation
You are just good, great job and thank you for sharing
Thanks, have you watched my advanced look at the CAN baud rate?
Very informative...thnk you sir ✌️
thank you so much that was very helpful
This is a way better explanation that SparkFun did - actually learnt something
Out of curiosity what did you like better? I just watched the sparkfun video and I thought that he did a really good job.
I think the SparkFun video was good but assumed more general knowledge about communications. He sometimes gets bogged down in the jargon and loses us noobs.
thank you very much. I follow you from now on
afaiu the first CAN implementations used rs485 transceivers with the data input hardwired and using the tx enable to do dominant/recessive
Interesting.
Thank you for the great introduction, you helped me a lot, but I will be thankful if you provided an example of setting up a network between CANBus devices (for example between MCUs) and what the parameter to be set.
Have you looked at my baud rate video on can?
Ordered and clear , almost like at the university
thanks for the video, best explanation ever
No problem. Try the CAN advanced baudrate video.
Excellent
Perfect!
very educative thank you regards
Question, when a node Crashes can it bring the entire network down for instance like a short or voltage spike?
In theory, it's possible. If a node goes nuts and starts using addresses that conflict with others or monopolizes the bus with some high priority address it could bring the bus down. Also, it's possible for a node to hold the bus in its dominant state. Both of these are highly unlikely and would require horrific software to even be possible. Otherwise, if a node goes down it normally tristates its pins which places the transceiver into effectively a listen mode. This won't effect the bus.
Dude you're awesome.
Thanks
Thank you!
very nice video for bigners................
Thank you for amazing video. One question I have is let's say an identifier consist of all zeros and has highest priority in the bus, but doesn't it mean that everytime it is going to win the bus arbitration. Then how others will be able to send the data ?
Messages on the bus are both prioritized and have a time schedule. When designing the bus, because the bus is not managed by a master, the designer must make sure that the bus is not 100% congested. There must be some idle periods to make sure that even the lowest priority messages get through. If we use a car, for example, an ID of all zeroes would be like an airbag deployment (don't know the actual ID just an example). This would happen, sort of, once in a lifetime. So a single all zeroes event would override everyone else just once. Other messages like vehicle speed would be seen maybe every 100ms. It is important and the speed change in 100ms is fairly small. Coolant temperature is very slow changing and so every 10s might be fast enough. The time scheduleing does not come from the CAN bus, it is scheduled by the particular module that is transmitting the message.
Thanks, yes a Central Gateway they call them also. So a Central Gateway controls all the difference busses, like SAE J1850 signals, ISO9141 signals, ILS signals, CAN signals? Does every car have a central gateway circuit board?
The Central Gateway does not control the bus. It is only a ling between the buses. The Central Gateway is also not just a circuit board. It tends to be built into something like a body control computer or gauge cluster. It is difficult to speak in absolute terms like "every car". No, not every car has one because back in carburetor days there were not buses. Then some networking was required and there was only one bus that linked a few things. Because there is only one bus then a Central Gateway is not required. Also it is possible for the Central Gateway not to connect to all the buses. Sometimes there are buses that are isolated from the rest of the vehicle.
Thanks, Instead of disconnecting one module at a time is there other ways to troubleshoot? You can look at the CAN signals ID message number and Hexidecimal value and CRC value, can this point you in the direction of knowing if the Module is bad or good? You can measure the CAN signals with the module "connected" and look at the ID message number, hexidecimal value and save them. Then you can measure the CAN signals with the module "disconnected" and look at the ID message numbers and hexidecimal values and save them. After you have saved both connected and disconnected values you can "compare" them to each other?
I'm not sure what kind of issue you're trying to diagnose but your welcome to try.
VERY GOOD explanation! My only question is, what happens if a line to an ECU is shorted or severed? Is that when the ACK say "Hey! where are you?" In this case, the bus is still alive and well, but the one ECU does not respond to the ACK?
CAN is tricky that way. Any one module can ACK effectively for the entire bus. The ACK only represents that a message came through correctly and not who needed it. Because modules don't talk to each other a module can vanish and the bus would never know. In cars there is a work around. Usually the gateway module (BCM or gauge cluster) keeps track of what modules are up and sets a code if it hasn't seen one in a while. There is also like a role call type feature.
I'm not a CAN expert by any means but I know that the technology has been around for a long time. With that said, I can see CAN being replaced by possibly EtherCAT in the future. A much faster and deterministic communications protocol. Of course it may take some time since the CAN system works well and why change something that isn't broke?
Actually EtherCAT protocol is actually based on CAN Open over EtherCAT (COE). The distinguishing factor in EtherCAT is that the message is decoded in ASIC hardware which makes it much faster and deterministic.
Thanks, every car as a TIPM central gateway that all the modules connect to? The TIPM central gateway has all the CAN transsciever chips on the TIPM circuit board? Because the TIPM has Microcontroller ECU chips and CAN transcievers chips to do what, i'm not sure what the TIPM circuit board does really.
The TIPM seems to only be only a Chrysler thing. Not sure if the TIPM is a gateway for Chrysler. A gateway is a central place where multiple buses connect. A car can have multiple buses. Any more it tends to be CAN buses, high speed, medium speed, and low speed. High speed is used for the engine computer, body computer, airbags, ABS, and so on. Basically all the really important stuff. To make sure the bus is not congested with the not important stuff, the stuff is moved to a slower bus. Things like door locks, windows, windshield wipers, climate control, rear defrost, radio, and so on. The gateway moves information between the buses. It filters the information and only moves what is needed. For example, the climate control needs to know the coolant temperature. The gateway moves that information from the high-speed bus to one or both of the lower speed ones. Something to note that seems to be a confusing spot. A transceiver is just a connection point to the bus. The bus is a differential type bus. Microcontrollers can't speak differential. The transceiver is basically an adapter between single-ended and differential. A transceiver does not exist on its own.
Thanks, The DLC connector has SAE J1850 signals and ISO9141 signals, what are they used for and the common failures occurs from there signals? are there signals only used for the scanning tool or the oscilloscope
Only the high speed CAN bus is mandated by the government. Everything else is up to the manufacturer.
But what would i use the CAN logging and deep recording data for to use for what? you mean its hard for the oscilloscope to trigger the CAN message data by the oscilloscope triggering?
Unless you have a specialty oscilloscope they can only decode the data that's on the screen. Same goes for the triggering. This is used for reverse engineering.
EAPBG, when writing a CAN Diagnostic program to test each CAN module do you just "Ping" the CAN ID message for each CAN module and CAN IC chip?
no
EAPBG, a CAN transceiver chip converts the 0vdc to +5vdc to a CAN +3.2vdc, +2.5vdc, +1.5vdc signals by differential amplifiers or level shifting circuits? Differential amplifiers won't shift the levels of the voltages so how does the CAN transceiver chip do this please?
The explanation of how a can transceiver works is far too complicated for a RUclips comment. Try reading a transceiver datasheet.