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.

TCAN4550: CAN to RS-485 conversion

Part Number: TCAN4550
Other Parts Discussed in Thread: TCAN1042-Q1, THVD1451, TCAN1042HV

My customer is looking to interface CAN to RS-485. Do we have a recommendation as to how to do this?  

Maybe the TCAN4550 to an MCU which then connects to a RS-485 transceiver on another port?

  • Hi Mark,

    Yes, that would do it.  Or you could use an MCU with an internal CAN controller and use an external transceiver IC like TCAN1042-Q1.  Keep in mind that the interfaces work differently in terms of the data link layer.  CAN has a defined frame structure and supports ID-based arbitration of messages so that simultaneous transmissions from multiple nodes can be sequenced automatically in a priority order.  RS-485, on the other hand, doesn't have a defined data protocol (although simple UART start/stop bit encoding is common) and uses a physical layer that cannot directly support multi-master arbitration.  So, you would need to be thoughtful about how the data is packaged up between these two interfaces and how bus access is managed on the RS-485 side.

    If you don't care about the data protocols and are just looking for direct physical layer conversion there may be a simpler solution bypassing an MCU in favor of some discrete logic.  Let me know if that is the case and we can give it some more thought.

    Max

  • Hi Max,

    Digging into this a little more, it looks like the interest is to do a direct physical layer conversion as you mention in your second paragraph. 

    Any suggestions for this are appreciated. . 

  • Hi Max,

    If the RS-485 bus is full duplex, could one get away with a simple interface such as using a THVD1451/52 RS-485 transceiver connected to a CAN transceiver like the TCAN1042HV?  Just interconnect the logic data lines (D to RXD, R to TXD). The RS 485 side would need to default to having R data high to keep the CAN bus in recessive mode when not sending data. 

    Half duplex RS-485 would be more challenging since one would have to deal with the T/R control of the RS-485 bus and the switching times between the modes is probably too slow for CAN. 

  • Mark,

    So just to confirm - the CAN portion of this would be just sending something like UART data using a CAN transceiver, right?  I.e., no CAN controller used, only one node ever transmitting at a given time, etc.?  If so, yes, using a full-duplex RS-485 transceiver would simplify the control logic.  What you suggested would work: it would translate incoming data on CANH/CANL to Y/Z (not A/B), which would always be enabled as a driver, and would translate incoming data on A/B to both CANH/CANL and Y/Z (since the CAN transceiver would "loop back" the data).

    Regards,
    Max