CAN Protocol Explained | Controller Area Network

Поділитися
Вставка
  • Опубліковано 26 вер 2024
  • In this video, I cover the basic theory of CAN communication. Enjoy!
    Further reading
    - en.wikipedia.o...
    - circuitstate.c...

КОМЕНТАРІ • 68

  • @nourabdennebi4935
    @nourabdennebi4935 8 місяців тому +12

    The way you properly explained it. Thank you so much, finally I could understand the protocols and what they do. I already had them from distributed system, but could never wrap my head on what do they do. Please keep posting videos!

  • @AkashPatil-wo8jh
    @AkashPatil-wo8jh 9 днів тому

    Very helpful sir !! Got a brief about CAN , now I can start in depth study

  • @arthurfricchione8119
    @arthurfricchione8119 Рік тому +6

    Josh your videos are excellent . Most videos just talk about twisted wires and terminating resistors . I personally enjoy learning how and why everything is communicating then build models of the circuiting to physically understand what is happening and how signals are produced. As you can tell I’m new at all this terminology but I will learn and understand what is going on. Thanks for sharing your knowledge. Artie 👍

    • @EV_engineer
      @EV_engineer  Рік тому +2

      Glad you are finding them helpful!

  • @SupremelyFly
    @SupremelyFly 3 місяці тому

    Good video. I like how you presented the information in a traditional manner using slides supported with a solid verbal explanation. Made it easy to take notes and follow.

  • @devadasanvarier9814
    @devadasanvarier9814 3 місяці тому +1

    Very good explanation. I am working as an ETO onboard Tanker ship. Main engine is utilising full electronic control using CANBUS protocol. It was difficult me to understand this concept. After watching your video, made it very clear how the CANBUS signal communicating and how it is transmitted over the bus. Thank you 😊

    • @KurtRonaldEsteban
      @KurtRonaldEsteban 3 місяці тому

      I'm here for the very same reason.
      ~ETO onboard LNG Tanker

  • @DominikBelca
    @DominikBelca Рік тому +4

    Nicely explained, even for me, not an EV Engineer but CS Guy :-)

  • @rishichowdary9764
    @rishichowdary9764 2 місяці тому

    So clear and consise . Up to the mark

  • @farizrahman6133
    @farizrahman6133 Рік тому +1

    Thank you so much for the simple explanation

  • @thirumeniparthiban6261
    @thirumeniparthiban6261 Рік тому +6

    Nice, @4:01 better to say each CAN message has its message ID, the CAN node itself does not have any ID.

    • @johmu5466
      @johmu5466 6 місяців тому

      Great point & a very helpful comment... Was wondering how “nodes an have ID” vs “messages” from a node having an ID…
      Things make much more sense now regarding how the communication works…

  • @n6ls0n
    @n6ls0n Рік тому

    200th subscriber here. Keep going. The vids are good

  • @lukeshbramhapurikar6499
    @lukeshbramhapurikar6499 Місяць тому

    Please make a video from message id i.e. in decimal to can frame
    Thanks for the video, it helps me lot to understand the sequence bit by bit.

  • @RCagataySahin
    @RCagataySahin 5 місяців тому

    Thank you for the clear explanation. I am really interested in these stuff. My background is mostly on mechanical engineering, and I wonder if learning communication protocols would be so useful for my career as well. Could you tell me how deep I should go into the topic to use it in my future?

  • @ahmadshahfuad5009
    @ahmadshahfuad5009 Рік тому +2

    Excellent and informative

    • @ecaredu2022
      @ecaredu2022 5 місяців тому

      CAN BUS ua-cam.com/video/EsKpbdRWXZM/v-deo.html

  • @habtamusium8646
    @habtamusium8646 2 місяці тому

    I hv got informative knlg ! many thanks .

  • @Patricia-e3Patricia___9a7
    @Patricia-e3Patricia___9a7 2 місяці тому

    The science of a smile and its impact on you.

  • @moisesaladro7344
    @moisesaladro7344 Місяць тому

    It believe you're talking about j1939, because CAN specification doesn't have physical layer, which is basically the signal interpretation and the arrangement of wires in twisted pairs.

  • @fcintaretu
    @fcintaretu 2 місяці тому

    Hi, thank you for the nice introduction. In my understanding, one CAN node can transmits multiple meassages with different IDs. In this context, the ID relates to a meassage, not to a node. Is my understanding correct?

  • @yasirshahzad3732
    @yasirshahzad3732 9 місяців тому +2

    Here you have said that the node with a lower ID will win the orbitation race. Can you explain how the clock and data of multiple nodes are synchronized? They do not affect each other; the clock and data remain independent.

    • @nwadeswim
      @nwadeswim 2 місяці тому

      I have been looking for that information for a while myself

  • @SpencerTechMelody
    @SpencerTechMelody Місяць тому

    Good sharing

  • @AKkarol7
    @AKkarol7 8 місяців тому

    Great tutorial. Thanks !

  • @nigeldsa1
    @nigeldsa1 Рік тому

    Not all applications of can bus have a master but some oem do have a master controller for transmitting and receiving the can data. Just like can open

  • @KHADIJABENMOUSSA-o3o
    @KHADIJABENMOUSSA-o3o 6 місяців тому

    well explained thank you

  • @PattysLab
    @PattysLab Рік тому

    awesome explination!

  • @gg-gn3re
    @gg-gn3re 9 місяців тому

    Used all over solar too. inverters / batteries / charge controllers etc

  • @UgoTheEngineer
    @UgoTheEngineer Рік тому +4

    This was a great explanation.

  • @rajvirgrewal4572
    @rajvirgrewal4572 Рік тому

    Hi, as you said there is no master controller on the can bus then isn’t there a CAN module that controls or links all different controllers on the bus and turns them on and off by using differ voltages thru the CAN hi and can low twisted wire pair, for example I want to move the right window up, window switch will send the some voltage to CAN module which then will send let’s say 2v in HI and 1.7v in LOW to the right window node/ ECU moving the glass up? Sorry my knowledge of CAN communication is quite low.

    • @EV_engineer
      @EV_engineer  Рік тому +1

      Each CAN node runs its own control algorithm. This algorithm might depend on CAN input from other controllers, if that's what you're asking. The control algorithm might also depend on other types of inputs, such as GPIO, SPI, UART. The window switch probably interfaces to a low voltage CAN controller through a hardware connection, if I had to guess. Not everything needs to be CAN ;)

  • @simaroaerial7237
    @simaroaerial7237 Рік тому +1

    Hello and thanks for CanBus tutorial. I used Arduino Mega with MCP2515 shield reading 7 CanOpen sensor information. Got 4 more sensors added to the work project. Unfortunately it did not work. Upon further investigation, I found out the new sensors are fault tolerant low speed can devices. I could not find any low speed Can shield on line to try with these sensors. Any idea besides changing the transceiver IC? Thanks.

    • @EV_engineer
      @EV_engineer  Рік тому

      Low speed fault tolerant CAN transceivers use completely different voltage levels, I would recommend using normal ones

    • @simaroaerial7237
      @simaroaerial7237 Рік тому

      @@EV_engineer , thanks for the reply. I do know that the transceiver voltage and termination resistor is different. I have a low speed fault tolerant sensor that I can not read data from but I can read data from other high speed sensors. I was simply asking if you know a shield, or mod or hack that I can do to read low speed sensors. One solution I thought of is using mcp2515 with TAJ1050 and replacing the transceiver with low speed type compatible with 2515 controller.
      thanks again for the reply. If I manage to make it work, I let you know.

    • @Yurihjjjn
      @Yurihjjjn Рік тому

      @@simaroaerial7237 HELLO, I hope you are doing fine, my project is also related to CAN i was hoping if we can have discussion a bit if possible? I am final year electrical engineering student.

    • @simaroaerial7237
      @simaroaerial7237 Рік тому

      @@Yurihjjjn ,
      I can help you to some degree. I can not share code for our sensors but I can share a store bought sensor that we used to develop the system. The difference between the two are 16 bit integer for the store bought device and our sensors that are 32 bit real number. The front end, meaning fetching the data either two bytes or 16 bites are the same. Back end process of the bit stream is different.

  • @lockerthird
    @lockerthird Рік тому

    Amayzzing video bruv

    • @ecaredu2022
      @ecaredu2022 5 місяців тому

      CAN BUS ua-cam.com/video/EsKpbdRWXZM/v-deo.html

  • @hasankmr
    @hasankmr Рік тому

    I have a question about can cominucation on car. As I searched on internet, Can2.0a and Can2.0b can coexist same bus line. Can an EVCU recieve messages from bus without any problem? Or is it possible that? An example EVCU, motor, and battery nodes connected same bus. Motor has Can2.0a and battery has Can2.0b. Can a standart EVCU' s work this situation?

    • @EV_engineer
      @EV_engineer  Рік тому

      Hi, here are some details about a mixed CAN network,
      Receiving Messages: A CAN 2.0B node can receive messages from CAN 2.0A nodes without any issue because of its backward compatibility.
      Sending Messages: If a CAN 2.0B node sends a message with an 11-bit identifier, a CAN 2.0A node can receive and understand it. However, if the CAN 2.0B node sends a message using a 29-bit identifier, the CAN 2.0A node will not be able to interpret it.

  • @cigga_b4170
    @cigga_b4170 Рік тому

    Thank you

  • @vidhyadhar64
    @vidhyadhar64 Рік тому

    Nice Video..Keep it up..

    • @ecaredu2022
      @ecaredu2022 5 місяців тому

      CAN BUS ua-cam.com/video/EsKpbdRWXZM/v-deo.html

  • @AvivMakesRobots
    @AvivMakesRobots Рік тому

    I like it.

  • @naveenraju.s6111
    @naveenraju.s6111 7 місяців тому

    good

  • @Soho9111
    @Soho9111 Рік тому +1

    Is the can H and can L sending a signal called LVDS ?

    • @EV_engineer
      @EV_engineer  Рік тому +1

      The CAN protocol does not use LVDS (Low-Voltage Differential Signaling) for its communication. While both CAN and LVDS use differential signaling for improved noise immunity, they are different technologies with different purposes and specifications.

  • @jaiminkotecha4460
    @jaiminkotecha4460 Рік тому

    hey, really nice explanation i have a project on ECU scanners going on and i have to understand how the work and fetch codes and everything so can you help me in that ?

    • @EV_engineer
      @EV_engineer  Рік тому

      Hi! Sounds like a tough project. I also want to learn about ECU scanners, stay tuned and I might make a video on this topic

    • @jaiminkotecha4460
      @jaiminkotecha4460 Рік тому

      @@EV_engineeryes, its my final year project from an internship and the company wants to manufacture scanner so a detailed video would really help.😃

  • @jeffreyrh
    @jeffreyrh 11 місяців тому

    Do all the nodes need to have a common ground?

  • @ថាន្នីសុគុណ

    Part two please

  • @franciscoxaviergonzalezrom4648
    @franciscoxaviergonzalezrom4648 9 місяців тому

    New subscriber!

  • @Nebbia_affaraccimiei
    @Nebbia_affaraccimiei 11 місяців тому

    3:43 why would they start to transmit at exactly the same time??

    • @wildgurgs3614
      @wildgurgs3614 10 місяців тому

      Sometimes two people in a single conversation will start speaking at exactly the same time. CAN nodes are, in that regard, no different, so the arbitration process decides which one gets to talk first.

    • @User_2051
      @User_2051 6 місяців тому

      in the video he says 0 overpowers 1, so 1 means that transmission is stopped, this seems counterintuitive to my knowledge of bits (1s and 0s) 0 being OFF and 1 Being ON @@wildgurgs3614

  • @James__tk0z
    @James__tk0z 2 місяці тому

    Pessimistic, but here are the details and anticipated actions for refunds

  • @something_different8968
    @something_different8968 Рік тому

    Thank you

  • @nirmalaarunkumar
    @nirmalaarunkumar Рік тому

    Awesome! Thanks.

    • @ecaredu2022
      @ecaredu2022 5 місяців тому

      CAN BUS ua-cam.com/video/EsKpbdRWXZM/v-deo.html

  • @bennguyen1313
    @bennguyen1313 Рік тому

    I'm interested in playing with CAN, but most of the open-source software I've seen use Linux/SocketCAN.
    Any idea if CAN hardware (Ixxat USB-to-CAN V2, Peak PCAN-USB, etc) will work on a Linux VM running inside of a Windows Host?