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.

Комментарии • 286

  • @felixcat4346
    @felixcat4346 5 лет назад +54

    This is by far the best explanation of how a Can bus works on the web. Thanks.

    • @rodrigotbw
      @rodrigotbw 5 лет назад

      Agree

    • @eapbg
      @eapbg  5 лет назад +7

      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?

    • @rodrigotbw
      @rodrigotbw 5 лет назад

      @@eapbg I will take a look. Thanks for mentioning

    • @felixcat4346
      @felixcat4346 5 лет назад +4

      @@eapbg Your down to earth vocabulary and presentation style. You seem to ask and answer practical questions.

    • @carolinewang3812
      @carolinewang3812 3 года назад +1

      @@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.

  • @jeremy7923
    @jeremy7923 5 лет назад +6

    Awesome. Went from having no CAN knowledge to now feeling pretty confident about its architecture and overall functionality. Thanks.

  • @notsonominal
    @notsonominal 3 года назад +3

    This covered a couple aspects that made everything much clearer. Thanks for taking the time to put this out there!

  • @AlexsandroRNeto
    @AlexsandroRNeto 2 года назад +1

    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.

    • @eapbg
      @eapbg  2 года назад

      Try my CAN baud rate video. Let me know what you think.

  • @joshuaboerger7965
    @joshuaboerger7965 6 лет назад

    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

  • @yazdihr
    @yazdihr 5 лет назад +3

    Very nice, informative and "to the point" presentation. Truly Enjoyed it, Bolshoi Sposiba!

  • @yashelectron
    @yashelectron 6 лет назад +2

    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.

  • @roberthorwat6747
    @roberthorwat6747 5 лет назад +1

    Big old thumbs up right back at you. Clear, beautifully explained and very enjoyable to watch.

  • @acchuification
    @acchuification 2 года назад +1

    So far the best ever content I have seen on the web, Thanks

  • @jacotolkien
    @jacotolkien 4 года назад +4

    Best explanation I have found on RUclips.

    • @eapbg
      @eapbg  4 года назад

      Thanks

  • @frankgrudge8823
    @frankgrudge8823 2 года назад

    Amazing lecture on CAN, hope to see more of your videos in the future. Thankyou

  • @rishikeshg8926
    @rishikeshg8926 3 года назад +2

    This is the best Lecture on CAN

  • @byllgrim6045
    @byllgrim6045 6 лет назад +4

    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!!!!!"

    • @eapbg
      @eapbg  6 лет назад +2

      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.

  • @modulate72
    @modulate72 5 лет назад

    Thank you for the addressing/arbitration part. Very good stuff.

  • @hchattaway
    @hchattaway 2 года назад +1

    This was excellent... I needed to learn about CAN for a medical device I am working one and this helped a lot. thanks!

  • @koche9917
    @koche9917 2 года назад +1

    Thanks. Your single video helps understand the phy level of can bus. Thanks.

  • @SantoshSingh-nm1pe
    @SantoshSingh-nm1pe 3 года назад +1

    Best of the CAN explanation i got in the web. Thanks.

  • @scottb4029
    @scottb4029 3 года назад +1

    Great job . Excellent straight forward explanation.

  • @kreetykhatri4698
    @kreetykhatri4698 4 года назад

    Real good explanation, the best and logical among the ones found on this platform!

    • @eapbg
      @eapbg  4 года назад +1

      Thanks, glad you like it.

  • @Mano8881
    @Mano8881 6 лет назад

    Very good and detailed explanation, I like your teaching style.

  • @HassanAliAnwar
    @HassanAliAnwar 5 лет назад +1

    Excellent explanation. I was looking for exact this thing.

  • @northernpatriot9078
    @northernpatriot9078 4 года назад +4

    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 !!!

    • @eapbg
      @eapbg  4 года назад +3

      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.

  • @hootanbadii1799
    @hootanbadii1799 5 лет назад

    You are a great instructor. Thank you.

  • @eoliversec
    @eoliversec 5 лет назад

    Very good presentation. Well done. Thank you!

  • @lJUSTwanaCOMMENT
    @lJUSTwanaCOMMENT 4 года назад +8

    By far the best CAN intro on youtube. Thank you so much. This answered many questions.

    • @eapbg
      @eapbg  4 года назад +1

      Thanks

  • @ahmedazad7704
    @ahmedazad7704 6 лет назад

    Thank you so much. Very smooth tutorial for beginners.

  • @devadevanand5323
    @devadevanand5323 6 лет назад +1

    Best explanation of CAN BUS

  • @wsmao1154
    @wsmao1154 4 года назад

    very clear and throughout most of the important things what CAN bus does for us. Love it and thumbs up!

    • @eapbg
      @eapbg  4 года назад

      Thanks, glad you like.

  • @arnarmar75
    @arnarmar75 6 лет назад

    Excellent presentation, thank you.

  • @laserdad
    @laserdad 2 года назад +1

    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.

    • @eapbg
      @eapbg  2 года назад

      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.

  • @Elborie2000
    @Elborie2000 5 лет назад +1

    your explanation is very good, I hope to find more VDU for you.thank you

  • @javierhernandez2735
    @javierhernandez2735 4 года назад

    Dude you are an amazing teacher! far better than my uni prof. Cheers!

    • @eapbg
      @eapbg  4 года назад

      Thanks, glad you liked it.

  • @user-dt3rs2rm3r
    @user-dt3rs2rm3r 6 лет назад

    Great video.
    Thanks for clear explanation.

  • @SandyWalsh
    @SandyWalsh 3 месяца назад

    Awesome video - answered all my questions. Thanks

  • @kessedk
    @kessedk 5 лет назад

    Excellent explanation! Thanks 👍

  • @Pure_India
    @Pure_India 4 года назад

    Best Video on RUclips till date about CAN BUS 👌🏻💥💥💥!

    • @eapbg
      @eapbg  4 года назад

      Thanks

  • @benjaminrich9396
    @benjaminrich9396 6 лет назад +1

    nice clear explanation. Thank You

  • @tehyun
    @tehyun 5 лет назад +1

    Thank you! It is beautiful as you said.

  • @MclarenF1rocket
    @MclarenF1rocket 5 лет назад

    Amazing introduction for beginners !

    • @eapbg
      @eapbg  5 лет назад

      Thanks, I'm glad you like it.

  • @supreethanil2023
    @supreethanil2023 5 лет назад +1

    One of the best explanations...

    • @eapbg
      @eapbg  5 лет назад

      Thanks, glad you liked it.

  • @blackdragonfang9369
    @blackdragonfang9369 6 лет назад

    Excellent my friend . Thank you and please do more CAN videos

  • @huajianhuang9127
    @huajianhuang9127 5 лет назад +1

    Thank you, it's super clear.

  • @mohamedelwany4591
    @mohamedelwany4591 5 лет назад

    Awesome video, THANK YOU!

  • @manuctz
    @manuctz 3 года назад

    Awesome explanation!

  • @billwilliams6338
    @billwilliams6338 5 лет назад

    ok thanks, now i know the difference between an oscilloscope and a CAN sniffer i was confused about the two. Thanks for explaining it

  • @carverparkes2276
    @carverparkes2276 3 года назад +1

    Dude... simply awesome! Thank you..

  • @blazingsaddles5021
    @blazingsaddles5021 5 лет назад

    Thanks very much for a great video I understand a lot more now.

  • @antonindeschamps6050
    @antonindeschamps6050 5 лет назад

    Nice explanation, thank you.

  • @thawfeekyahya007
    @thawfeekyahya007 4 года назад

    Great explanation . Thanks.

  • @mba2ceo
    @mba2ceo Год назад +2

    This is so well done :) great job :)

  • @xavierchesang5995
    @xavierchesang5995 4 года назад

    Very informative. Very helpful. Thanks

  • @yosilv
    @yosilv 3 года назад

    Great Presentation, thank you!

  • @martinortuno2505
    @martinortuno2505 6 лет назад

    Thank you man, really great video...

  • @richardstucinski8271
    @richardstucinski8271 4 года назад

    Very well done. Thank you!

  • @kalyanirama.k7310
    @kalyanirama.k7310 6 лет назад

    Informative, Valuable....Tq so much :)

  • @jaikaran6427
    @jaikaran6427 6 лет назад +7

    Very informative video. Please come up with new videos pertaining to CAN Bus.

    • @eapbg
      @eapbg  6 лет назад

      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.

  • @user-dw4vv6ht4g
    @user-dw4vv6ht4g 11 месяцев назад

    You are very knowledgeable about electronics. Good job¡

  • @lokeshchebrolu6878
    @lokeshchebrolu6878 3 года назад

    great and very clear explanation, thank you

  • @swordfish2r2011
    @swordfish2r2011 5 лет назад

    Clear explaination, thanks~

  • @saidzeid4860
    @saidzeid4860 3 года назад +1

    Excellent explanation

  • @davidsavic4630
    @davidsavic4630 5 лет назад

    Excellent video! Keep it up :)

  • @captainboing
    @captainboing 4 года назад

    learned a lot more from this vid than I expected - cheers

    • @eapbg
      @eapbg  4 года назад

      Out of curiosity, what did you find informative that you didn't know before?

    • @captainboing
      @captainboing 4 года назад

      @@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.

  • @hughjackmanmechanic8045
    @hughjackmanmechanic8045 5 лет назад

    Good explanation sir thank you for the video

  • @xiaominlu970
    @xiaominlu970 6 лет назад

    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. :)

  • @TienHuynh5312
    @TienHuynh5312 4 года назад

    Woah, a single video gonna save me from the final. Thanks. :fire:

  • @pradeepchannagiri
    @pradeepchannagiri 5 лет назад

    Just awesome !

  • @JoseGomez-md7yz
    @JoseGomez-md7yz 5 лет назад

    Thank for sharing this information...tha was awesom thank you

  • @muratcanyazici7674
    @muratcanyazici7674 3 года назад

    Thank you for this useful information.

  • @tesla516
    @tesla516 6 лет назад +2

    Thank you

  • @kpjVideo
    @kpjVideo 3 года назад

    Great video!

  • @skthelimit
    @skthelimit 4 года назад +1

    Wow I really loved this explanation. I was always wondering how arbitration worked and now I don't have to!

    • @eapbg
      @eapbg  4 года назад +1

      Glad to hear it. Arbitration is probably the most confusing part. If not the most confusing then it is tied with time quanta.

    • @skthelimit
      @skthelimit 4 года назад

      @@eapbg Thanks for replying :). Do you have a plan to make one for CAN-FD?

    • @eapbg
      @eapbg  4 года назад

      @@skthelimit I do not. I know nothing about it.

  • @carrocesta
    @carrocesta 2 года назад

    master class, thanks dude!

  • @dimagilberg8416
    @dimagilberg8416 2 года назад +1

    Grate explanation!

  • @codewithme2746
    @codewithme2746 2 года назад +1

    thank you...very good explanation

  • @godwinagbekogawugah1404
    @godwinagbekogawugah1404 4 года назад

    You are just good, great job and thank you for sharing

    • @eapbg
      @eapbg  4 года назад

      Thanks, have you watched my advanced look at the CAN baud rate?

  • @prakhyathmunna254
    @prakhyathmunna254 2 года назад +1

    Very informative...thnk you sir ✌️

  • @ramwatt7113
    @ramwatt7113 5 лет назад

    thank you so much that was very helpful

  • @dabay200
    @dabay200 5 лет назад

    This is a way better explanation that SparkFun did - actually learnt something

    • @eapbg
      @eapbg  5 лет назад

      Out of curiosity what did you like better? I just watched the sparkfun video and I thought that he did a really good job.

    • @joshtsquas
      @joshtsquas 4 года назад

      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.

  • @sadikalo7835
    @sadikalo7835 2 года назад

    thank you very much. I follow you from now on

  • @fuzzy1dk
    @fuzzy1dk 7 лет назад

    afaiu the first CAN implementations used rs485 transceivers with the data input hardwired and using the tx enable to do dominant/recessive

    • @eapbg
      @eapbg  7 лет назад

      Interesting.

  • @EhabAwni
    @EhabAwni 4 года назад

    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.

    • @eapbg
      @eapbg  4 года назад

      Have you looked at my baud rate video on can?

  • @dibrag8927
    @dibrag8927 6 лет назад

    Ordered and clear , almost like at the university

  • @yersonjaimes1299
    @yersonjaimes1299 3 года назад

    thanks for the video, best explanation ever

    • @eapbg
      @eapbg  3 года назад

      No problem. Try the CAN advanced baudrate video.

  • @newtonstan2113
    @newtonstan2113 Год назад +1

    Excellent

  • @karzak96
    @karzak96 5 лет назад

    Perfect!

  • @seshachary5580
    @seshachary5580 Год назад

    very educative thank you regards

  • @liquidsteel
    @liquidsteel 5 лет назад +1

    Question, when a node Crashes can it bring the entire network down for instance like a short or voltage spike?

    • @eapbg
      @eapbg  5 лет назад +1

      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.

  • @pickleriiick4925
    @pickleriiick4925 4 года назад

    Dude you're awesome.

    • @eapbg
      @eapbg  4 года назад

      Thanks

  • @nassernajinasrallah
    @nassernajinasrallah 3 года назад

    Thank you!

  • @adarshwankhade7086
    @adarshwankhade7086 5 лет назад

    very nice video for bigners................

  • @LJ-rr9ne
    @LJ-rr9ne 4 года назад

    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 ?

    • @eapbg
      @eapbg  4 года назад +2

      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.

  • @billwilliams6338
    @billwilliams6338 5 лет назад

    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?

    • @eapbg
      @eapbg  5 лет назад

      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.

  • @billwilliams6338
    @billwilliams6338 5 лет назад

    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?

    • @eapbg
      @eapbg  5 лет назад

      I'm not sure what kind of issue you're trying to diagnose but your welcome to try.

  • @Bheisler
    @Bheisler 4 года назад +1

    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?

    • @eapbg
      @eapbg  4 года назад +1

      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.

  • @busarider29
    @busarider29 6 лет назад +3

    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?

    • @blacksheep4863
      @blacksheep4863 5 лет назад +2

      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.

  • @billwilliams6338
    @billwilliams6338 5 лет назад

    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.

    • @eapbg
      @eapbg  5 лет назад

      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.

  • @billwilliams6338
    @billwilliams6338 5 лет назад

    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

    • @eapbg
      @eapbg  5 лет назад

      Only the high speed CAN bus is mandated by the government. Everything else is up to the manufacturer.

  • @billwilliams6338
    @billwilliams6338 5 лет назад

    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?

    • @eapbg
      @eapbg  5 лет назад

      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.

  • @billwilliams6338
    @billwilliams6338 4 года назад

    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?

  • @billwilliams6338
    @billwilliams6338 5 лет назад

    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?

    • @eapbg
      @eapbg  5 лет назад

      The explanation of how a can transceiver works is far too complicated for a RUclips comment. Try reading a transceiver datasheet.