This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

P82B96: I2C to CAN questions

Part Number: P82B96

Dear team,

1. Can P82B96's TX/RX and TY/RY connect to CANH/CANL directly? 

2. For below application, P82B96's TX/RX and TY/RY only connect to one CAN transceiver which means Tx/Ty connect to 1042's Tx at the same time and Rx/Ry connect to 1042's Rx at the same time, is it ok?

Thanks & Best Regards,

Sherry

  • Sherry,

    1. The TX/RX and TY/RY of P82B96 can technically connect directly to CANH and CANL, but you would not get the results you desire. Because CANH and CANL are differential along a 2.5V common mode signal, the logic levels would not translate correctly for a TX and RX input. Along with that, TX/TY is meant for transmitting and RX/RY is meant for receiving, while CANH and CANL are meant for both transmitting and receiving.
    2. This is okay, but I'd like to understand what is the intention here. Is it for a redundant network?

    Regards,

  • 1. If you connect Tx/Rx/Ty/Ry directly to the long cable, the result has nothing to do with CAN (and you cannot use CAN transceivers at the other end). But such a circuit is described in the P82B96 datasheet as a valid way of getting a long I²C connection.

    2. This is a valid way of converting I²C to the electric part of CAN. (It does not use the higher parts of the CAN protocol, so you should avoid calling it just "CAN".)

  • Hi Eric,

    Thanks for your reply!

    For the second question, in the below picture, one pair I2C interface needs two CAN transceivers to decode. I am thinking whether we can use one transceiver to achieve this function.

    Thanks & Best Regards,

    Sherry

  • Hi Ladisch,

    Thanks for your reply!

    Best Regards,

    Sherry

  • Sherry,

    Yes, you would only need one transceiver to achieve this function. Note what Clemens said as well though, you're only converting I2C to CAN electrically, the protocol is not handled, and this design is meant to increase the distance of the I2C signals.

    Regards,

  • Hi Eric,

    I checked with the customer today for their need, their MCU don't have I2C interface, so they need to use CAN interface to communicate with the other MCU. In my understanding, CAN's TX/RX should be fixed format, right? I am not sure whether P82B96 works here.

    Thanks & Best Regards,

    Sherry

    Thanks & Best Regards,

    Sherry

  • CAN and I²C are not compatible.

    Are there any common interfaces? UART? SPI? What speed do you need?

  • Sherry,

    I'm a bit confused now, so does I2C need to be involved at all then? And does the MCU they're using have a CAN controller? If they communicate to the other MCU through CAN, then I'm not sure we need I2C. 

    Regards,

  • HI Eric,

    MCU 1(left side) must communicate with MCU 2(right side), but MCU 1 only have CAN controller, and MCU 2 only have I2C interface. 

    Thanks & Best Regards,

    Sherry

  • Hi Sherry,

    As Clemens mentioned, neither P82B96 or TCAN1042 translate data-layer protocols. While the signals between the two MCUs may be electrically compatible they will essentially be communicating in different languages. To translate between these protocols, some form of digital processing will need to be used to convert the information into the proper format for each standard. If MCU 2 also has a SPI interface, this could be accomplished by TCAN4450. This device has an integrated CAN controller and transceiver which are capable of handling all of the CAN protocol (from MCU 1). The device can be interfaced with locally using SPI so the processor (MCU 2) can effectively communicate with the CAN network. 

    Note that TIDA060013 is designed to connect two devices using I2C communication protocol. The CAN transceivers are used for their ability to carry bi-directional signal over long cables. The design simply converts the signals electrically and does not distinguish between data-layer protocols. 

    Regards,
    Eric Schott

  • Sherry,

    Understood, in that case I'm not sure this will work. The MCU with the CAN controller will need to be able to receive CAN frames defined by the official CAN protocol specification. And unless the I2C MCU can be developed to send CAN frames through the I2C port, CAN and I2C communication back and forth won't be compatible. We can make it work based on the physical layer with the electrical signals, but unless the MCUs can interpret the message frames, there won't be any point. 

    Is the customer's I2C MCU able to be programmed to send and receive CAN messages? I very much doubt it, because that would be a lot of software overhead, but I wanted to ask just in case.

    Regards,