CAN ISO11898-2 to CAN ISO11898-3 (fault-tolerant) gateway
I do not know if this forum is the correct one. Perhaps "hardware development" is other possibility.
The CAN part of all my USB-CAN devices are based on 82C251 transceivers and so
the voltage levels are according to ISO 11898-2 (2.5Volts in reccesive and 3.5/1.5 in dominant bits).
If I want to connect with a fault tolerant ISO11898-3 CAN network (as used in the SEAT/VW/audi CAN confort bus), I think I need to
do a gateway to translate the different voltage levels.
With my USB-CAN devices based on 82C251 transceivers, I have not any problems to read the fault tolerant ISO11898-3 bus. As the differential voltage CANH/CANL in ISO11898-3 networks is bigger than in ISO11898-2 networks, I suppose this is the reason because it is read perfectly by my USB-CAN device.
The problem is when I try to send something to the bus (for instance a message to go up/go down the door windows). I have detected this message "sniffing" the CAN confort bus, but when we try to reproduce this message sending it with my USB/CAN, the door window did not move.
So, I think that the problem is the different voltage levels between my USB-CAN ISO11898-2 interface and the ISO11898-3 voltage levels in the CAN network.
For that I have made a PCB based on a circuit similar to the one that you can
see in the following link and designed by Daynasur
It is based in a cross connection (TX-RX & RX-TX) between a 82C251 transceiver
in the ISO11898-2 part and a TJA1054 in the ISO11898-3 part.
An external 5-volt source is used to supply all these circuits
I have two little differences with the design of this link:
- I do not use the termination resistor and the capacitor in the CANH-CANL pins
of the 82C251
- The BAT pin in the TJA1054 is connected to the 5-volt supply.
Previous to connect this gateway to the Confort CAN bus of my vehicle, I have made a little workbench with two nodes in the ISO11898-2 part of my gateway.
The message transmission between two nodes situated in the ISO11898-2 part of my
CAN network is OK if the gateway is not connected or even if it is connected but
The problem is when the gateway is connected to the bus and supplied. A
continuous error message appears in the communication between the two nodes of
the ISO11898-2 part.
The ISO11898-3 part of the CAN network is not connected. It is floating. I
can not understand which is the problem. Someone can explain it and give me a
solution to do a good gateway.
If I connect the CANH pin of the TJA1054 to GND and the CANL pin to VDD (I put a
continuous recessive bit in the ISO11898-3 part of my CAN network), the
connection between the 2 nodes is stablished again. But I can not understand what
So, I though that the problem is that the ISO11898-3 part of my gateway can not be floating.
So, I though that if I connect the ISO11898-3 part of my gateway to my SEAT confort bus, I could solve my problem.
But when I connect my gateway to the Confort bus, some problems appears ( a general fault appears in the FIS display of my SEAT).
I suppose that I am perturbing the connection between other nodes in the Confort bus and so, it is detected by the car.
I know that peak-system has a commercial gateway for that (PCAN-TJA1054) but I would like to know what I am doing bad in my gateway design.
Someone can give me an idea about the problem?
Thanks in advance & sorry by the sermon.