1. Is the difference between high- and low-speed CAN only with respect to baud rate values?

  2. Is the CAN transceiver programmable for a range of speeds or is it fixed for a specific value? For example, can a high-speed transceiver can be programmed for 500 kbit/s or 1 Mbit/s?

  3. What happens when a high-speed node is connected to a low speed node in the same network? Is it possible to get the data? Does it cause error frames?


1 Answer 1


High Speed CAN and Low Speed CAN has difference in Physical Layer implementation. Bosch's CAN standard talks about Data link layer and Network layer but it left out "Physical Layer". (IMO)Reason being, it could be optimizied in Future.

Coming to question, High Speed CAN is defined in standard ISO11898-2 while ISO11898-3 talks about Low Speed CAN.

  1. High Speed and Low Speed does have differences in Baud Rate. High Speed works from 10kbit to 1Mbits/sec and Low Speed restricts to 125kbps. Another major difference is Termination Resistance. High Speed CAN requires 120 Ohm termination on the bus while Low Speed CAN devices are self terminated (Every Device has Termination). Termination Resistors are to avoid Standing waves which would be significant in case of High Speed and Longer Bus lengths which is not significant in case of Low Speed CAN. Another Difference is High Speed CAN won't work if there is problem in Wiring but Low Speed CAN can work on Asynchronous network as it is terminated/grounded at every node. That's why Low Speed CAN is called as "Fault Tolerant CAN".

  2. CAN transcievers can be programmed to ANY value provided ALL devices on the bus are on same baud rate. (See this Question for details)

  3. If you connect High Speed Device on Low Speed Device network and if All nodes on bus have same baud rate, This High speed device will generate error frames until you connect a 120ohm terminator. Otherwise there would not be any issue as both have same voltage levels.

  • \$\begingroup\$ Thanks for the info. In the 2. I wanted to know if the Transceivers are programmable. i.e. same high speed transceiver can programed for 500kbps or either 1 Mbps? \$\endgroup\$
    – hemanth
    Jan 10, 2014 at 6:43
  • \$\begingroup\$ @hemanth Yes, as I said, High Speed ones can be configured to Any value between 10kbits/sec to 1Mbits/sec. Not restricted to 500 and 1M...And Configuration thing depends on Which chip you have.. If your chip supports it then no issues at all! \$\endgroup\$
    – Swanand
    Jan 10, 2014 at 7:26
  • \$\begingroup\$ I got your point that high speed can be be programmable 10 - 1000kbps, but are the Transceivers chips programmable? e.g. TJA xxx can be used for 10kbps & same TJA xxx can be used for 1Mbps? \$\endgroup\$
    – hemanth
    Jan 10, 2014 at 8:36
  • \$\begingroup\$ @hemanth Yes They can! But again, that depends on TJA xxx chip... If Manufacturer made it to work on 10-500k, You will not able to run it on 1M! \$\endgroup\$
    – Swanand
    Jan 10, 2014 at 9:38
  • 1
    \$\begingroup\$ CAN transceivers cannot be programmed, CAN controllers can. \$\endgroup\$
    – Lundin
    Mar 11, 2020 at 7:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.