1
\$\begingroup\$

As far as I understand some serial protocols use RS485/422 differential signalling to be immune to noise for long distances. We also know that differential signalling is about voltage levels and inversion i.e. it has nothing to do with the protocol itself.

Now I'm wondering why I2C communication link not extended by using two RS485 transceivers. I never saw any example of it. Is there a particular reason why I2C is always single ended?

\$\endgroup\$
  • \$\begingroup\$ I2C is a bidirectional communication, open drain. So not possible to use rs485 as it is unidirectional. \$\endgroup\$ – Marko Buršič Oct 30 at 13:10
  • 2
    \$\begingroup\$ Yes, there are special ICs made just for this. You can't use RS422/485 ICs though since I2C is open drain and has a very important reason for being such. It seems you need to read about how I2C works. \$\endgroup\$ – DKNguyen Oct 30 at 13:28
3
\$\begingroup\$

It was easy enough to find out there are indeed differential I2C transceivers, for example https://www.nxp.com/docs/en/data-sheet/PCA9615.pdf

The reason regular I2C is not differential is that it's primarily intended for short distances within the same PCB. To quote the datasheet of above mentioned PCA9615: "The SMBus/I2C-bus was conceived as a simple slow speed digital link for short runs, typically on a single PCB or between adjacent PCBs with a common ground connection."

Every extra feature comes with a penalty in hardware costs and complexity. Without knowing the exact application of long-distance communication, any particular solution might be too expensive, too power-hungry, not support multi-drop connections, etc. For the same reason, there's not only RS485 but also RS232, UART, Ethernet, etc. Different solutions optimize for different usage scenarios.

\$\endgroup\$
1
\$\begingroup\$

If you want I2C-style communication over longer distances, you should be looking at , which is widely used in industrial and automotive applications for exactly that purpose.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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