Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

I2C vs RS485

Status
Not open for further replies.

saurabh17g

New Member
i want to know the difference between RS485 and I2C. I want to compare the two protocols in terms of advantages/disadvantages, datarate, robustness since both are 2 wire.
How about implementing /communicating devices using an Ethernet cable. I am planning to use PIC 24fj 64 family of microcontrollers
 
I2C requires less hardware (no transceiver needed for I2C) but RS-485 can go for much longer distances and is more noise tolerant. I2C also has addressing automatically in it and multi-master systems are easier since I2C has recessive and dominant bits to help you arbitrate the bus when multiple masters are trying to transmit simultaneously.

RS485 doesnt have any so you have to deal with addressing manually for all devices on the bus and is harder to multi-master. Using a single bus-coordinator is easier with RS-485 since then you don't have to deal with the possibility of multiple masters trying to send signals simultaneously on the bus. Many controllers support 9-bit which helps you filter out when an address is being sent so the devices spend more time doing their job and less time looking at the bus for data that you already know is meant for another device.

Also, I2C is synchronous while RS-485 is not.
 
Last edited:
Thanks Jon. would you comment on the third option- ethernet.

It really depends what you're wanting to do, certainly I2C wouldn't be a good choice as it's specifically for connecting IC's on the same board, nothing else really.

By FAR the easiest is RS232 or RS485, the lack of memory in PIC's really means you don't usually need incredibly fast connections, as you don't have that much data to shift.
 
Hello guys this is a really useful thread.Thanks saurabh17g.

What I want to know is what is RS485 protocol.I'm doing like this.I just send a character to the PIC UART & connect a MAX485 (driver outputs enable) so it will transmit the character to the other end through the balanced lines.

Is this called RS485?
 
Let's see if I can explain this simply with the proper wording, RS 485 is not a protocol its just the electrical standard used for the communication ports. The MAX485 IC, if it's connected and powered properly should handle that.

If you need to know more about the standard Google "RS 485 standard"
 
Last edited:
Status
Not open for further replies.

New Articles From Microcontroller Tips

Back
Top