Automotive and Embedded Networks

cancel
Showing results for 
Search instead for 
Did you mean: 

Is it possible to connect High Speed devices


with NI PCI-CAN/LS (Low Speed) if the
high speed device can work on a speed
that is accepted by the card (actually the
highest possible)? I'm trying to connect a High Speed device (a shaft encoder from Hengstler) with a NI PCI-CAN/LS card but no results, eventhough they
both can work at 125Kbps. I get a 'COMM ERROR:
tranceiver error detected' everytime I try
to scan the CAN bus with the SimpanlzLS.exe
example that comes with the card!
0 Kudos
Message 1 of 8
(7,299 Views)
As long as you are not using the fault tolerant capabilities of the Low Speed Tranceiver, you can connect high speed devices( within the 125K Baud) to it. Make sure that you have external power connected to the V+ and V- pin for the low speed CAN card ,even if the tranceiver is going to be internally powered. This external power is needed to power the Vbat pin.
This would also explain the error message you are seeing, if the high speed devices are transmitting and the Low speed port is supposed to be reading.
Message 2 of 8
(7,299 Views)
Thank you bsat,

It makes sence what you're telling me,
but how can I 'switch off' the fault
tolerant capabilities of the card?

One more thing: Where should I attach
the termination resistors on my high speed
devices (there are no RTH and RTL pins or something on them)?

Thank you
0 Kudos
Message 3 of 8
(7,299 Views)
The fault tolerant capabilities of the Low Speed CAN card are because of the Philips tranceiver on the card. If the device you are talking to with this CAN card is also a low speed device ( and so has the specific transceiver), the fault tolerant capabilities will apply and the termination resistors are needed at the tranceiver ( Rth and CAN_H and Rtl and CAN_L )for the device.
But if the device is a high speed device, and the baud rate is 125K , you don't need any termination resistors.
You should be able to talk to it as long as the V+ and V_ for the low speed CAN card is connected to the external supply (8-27V DC).
Your set up is similar to having a cable connect between the 2 ports of a Dual Speed CAN card ( one port will be low speed and the oth
er High speed).
0 Kudos
Message 4 of 8
(7,299 Views)
So I've now connected the card to the hi speed bus with 120ohms resistors at each end of the bus terminating it. The problem is that by looking through the osciloscope at the bus I see that the card transmited signal max voltage is 1 volt while other devices on the bus transmit around 2,5 volts. The devices on the bus don't reply at all to the instructions I send through the card, so I think I missing something...
0 Kudos
Message 5 of 8
(7,299 Views)
Can you test the set up after removing the 120 ohms resistor? The 120 ohms may be shorting the CAN_H and the CAN_L and the tranceiver may be going into the fault tolerant mode and hence the lack of communication between the card and the devices. Also what is the length of the cable? What is the programming interface you are using? If you are using LabView, you can set the IsRemote attribute to 2 and this will log all the low speed communication errors. This will give us more insight into what may be happening. Let me know what you see after removing the 120 ohms.
0 Kudos
Message 6 of 8
(7,299 Views)
Thanks,
I tried to take out the resistors and... in the bus there was nothing but a 50Hz signal! The length of the cable is around 1 and a half meter!
I'm using LabView to send CAN messages and
the errors are autmatically logged into the read queue. The error code corresponds to a 'tranceiver error'.
Thanks again
0 Kudos
Message 7 of 8
(7,299 Views)
Can you measure the impedance or the resistance across CAN_H and CAN_L ( at the end of the cable that is connected to the devices) to make sure that the cable is not internally shorted?
Do you have any low speed devices to test the low speed CAN card with?
0 Kudos
Message 8 of 8
(7,299 Views)