0

I am doing research about some communication protocols: CAN, LIN, I2C, and how they're used mainly in the automotive industry but I'm getting confused as to when each of them are used and if their use cases overlap.

I understand when CAN is used over LIN: LIN is lower cost, less reliable, only uses one wire, is slower, and is time triggered; but I am not able to understand when you would use LIN over I2C since they're quite similar from my point of view. I guess there is a fundamental difference I'm not seeing but don't know what it is.

Fer P
  • 5
  • 1
  • LIN is basically used where a car manufacturer ought to be using CAN but they decided to cheap out on the electronics, it's a "poor man's CAN". Typically it is used in non-safety related parts like controlling car windows, mirrors etc. I don't think it is used much at all outside car electronics. – Lundin Feb 06 '23 at 08:54

2 Answers2

1

I'm not really familiar with LIN (I just did a quick research), but there are several significant differences :

  • LIN is single wire (not counting ground and power supply) vs 2 wires for I2C, which is a significant gain in space/cost/reliability wen you get as many components as in a modern car.
  • I2C is the short for "inter-integrated circuit", and it's really what it is meant for : to communicate between integrated circuits (situated on the same PCB) and not to communicate between different PCBs/devices. For PCBs that are really close, it might still work (at least for "normal" applications, not sure for automotive were you get a quite noise environment). But usually, when exceeding a few tens of centimeters, you start getting communication errors. So wiring a component at the other end of the car is out of question. On the other hand, LIN is up to 40m, so better suited for wiring around the whole car (or event truck)
  • I2C is a "general purpose" protocol, that is very used in the electronics industry, so many components are available for small prices. LIN seems to be rather specific to the automotive industy.

So I would say :

  • for a PCB to communicate with another one in the car : LIN (or CAN)
  • for communication within the same PCB : I2C
Sandro
  • 5,519
  • 6
  • 24
0

This is a quick synopsis, there are books on each subject. You can use google and enter the first 3 letters in your search bar and get thousands of responses. Each one was originally designed to solve a specific problem but has since expanded to cover a much broader area. The one chosen is a tradeoff that the designer has to make.

I2C (Inter-Integrated Circuit) is a bus interface connection protocol incorporated into devices for serial communication. It was originally designed for communication on PCBs, not as a bus that connects to off board devices. To the best of my knowledge there is no I2C bus in cars, usage on boards is excepted.

LIN (Local Interconnect Network) is a single wire, serial network used for communication between components in vehicles. Because of its single-wire architecture is more susceptible to electromagnetic interference than two-wire buses. The recommended data rate is limited to 20 kb/s and a maximum of 16 nodes.

The previous two need chassis ground to work properly in automotive as it is the return path.

CAN (Controlled Area Network) Is a 2 wire multi master very robust network. Basically it is a message-based protocol designed to allow the Electronic Control Units (ECUs) found in today's vehicles. Can is used in many applications beyond automotive.

Gil
  • 4,951
  • 2
  • 12
  • 14