Currently in my system we use 16 I/O expanders with I2C interface. I want to change it to CAN interface. Which is the best possible way without compromising the cost? I tried searching for 16I/O expanders with CAN interface but the maximum I could get is 8I/O. Are there any CAN to I2C converters, If yes I can use the same I/O expanders, just put a converter before.

Also looking for ADC with CAN interface!

Please help. Thanks in advance


Which is the best possible way without compromising the cost?

Your cost will go up, if you want to replace I2C with CAN. An I/O expander with CAN interface is "simply" a microcontroller with a CAN interface. A bridge between CAN and I2C is also a microcontroller with a CAN interface. So, you are looking at a cost of a CAN bus driver IC, cost of a microcontroller itself (maybe with a crystal), labor cost of programming that microcontroller.

As a side benefit, you get some processing power at the periphery, and other goodies which come on microcontrollers.

p.s. I understand why replacing I2C with CAN may be a right idea.

  • \$\begingroup\$ I understand the cost will go up. But are there any 16 I/O expanders with CAN interface in market? Also is ADC's with CAN interface available? \$\endgroup\$ – Ashok Apr 26 '19 at 7:02
  • 1
    \$\begingroup\$ A microcontroller with CAN interface and 16x GPIO is your I/O expander. Same with ADC. Microcontrollers with CAN, 16x GPIO, ADC are on the market alright. You are unlikely to find canned [pun semi-intended] or hard-wired CAN I/O expanders or ADCs on the market, because different industries run different network protocols, on top of CAN physical layer. Such network protocols are a lot more varied than I2C. [If you find canned devices like that, those are exceptions.] \$\endgroup\$ – Nick Alexeev Apr 26 '19 at 7:15
  • 2
    \$\begingroup\$ @Ashok The key is that CAN is intended for relatively long ranges in rugged environments, while I/O expanders with I2C are intended for on-board or short range communication in "nice" environments. So none make expander IC for CAN because there's likely not much of a market for it. You can find plenty of higher level DIN rail I/O stuff using CANopen though, complete with supply and output drivers. So this is probably where you need to step back and look at the bigger picture - what is your product supposed to do and what's the requirements. \$\endgroup\$ – Lundin Apr 26 '19 at 7:43
  • \$\begingroup\$ That's correct! Is it possible for a CAN to I2C converter IC so that I2C enabled expanders and ADC can be used, which is readily available also. \$\endgroup\$ – Ashok Apr 26 '19 at 8:45

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.