Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

What is the CAN interface and how is it different from I2C?

Not open for further replies.


Member level 2
Jan 20, 2005
Reaction score
Trophy points
Activity points
CAN interface

what is CAN interface and
what is differance between the CAN and I2C interface

CAN interface

CAN and I2C are 2 completely different buses used for similar purpose. I2C is a lot simpler and is mostly used in chip to chip data transfer mostly on a board level (not always) where 1 device is generally a microcontroller and the other(s) is a peripheral (again not always). CAN is mostly used to transfer data between 2 or more controllers on different boards within an enclosure like an automobile.

CAN interface

CAN was developed by Bosch for noisy automotive environment.
CAN uses differential signal (CAN H, CAN L) so it can combats common noise to both lines.
Due to its robustness, CAN is also used in industrial application. For e.g.

Re: CAN interface

On top of the other mentioned differences:
CAN uses predefined baudrates, max 1 Mbit, 500k, 250k, 125k, and all nodes have to use this speed. I2C transmits a clock and can transmit at different speeds. Commonly fast I2C is 400 kbit/s. There is a newer spec for 3.4 Mbit/s but hardly anything available for it. I2C has its roots in the consumer industry, CAN as mentioned in automotive.
With I2C, you usually address one node, with CAN you broadcast and which ever node is interested in your information will recieve it.

There are a lot more differences, you might want to check the website of ESA for a nice CAN tutorial


CAN interface

You can get a can tranceiver from microchip, and also a lot of pic's support can. It's a two wire, half duplex, differential signal, normally down a twisted pair. It is a protocol that is built on layers, like tcp/ip. At the transport level, it sends packets of data of up to 8 bytes, with an identifier, packet length, and data. These are broadcast, all nodes receive them. The nodes use the identifier to decide what to do with the message. The identifier is like the address. It also has sophisticated error detection, correction and collision avoidance. This is all done in hardware. (Thank f--k)! The protocols that are built on this can get very complex. Such as reprogramming and updating software in situe, troubleshooting and tweeking engine maagement, heads up displays, you name it! It is used extensively in the motor industry. All cars talk can!

Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to