4
\$\begingroup\$

I bought the IAR Kickstarter kit to work with the SM470R1B1M-HT (Texas Instruments) microcontroller. I would like to implement CAN communication between the microcontroller and a PC. I need to send commands from the PC and get some response from the controller.

CAN document for SM470R1B1M-HT.

I am a little bit confused about my CAN connection termination.

I have the IAR kick starter kit with a CAN connection, and I am trying to PC via CANUSB (CANUSB). I have terminated CAN_H and CAN_L with a 120 ohm resistor after the CAN transceiver and then connected to a DB9 male connector. I have connected the DB9 male connector to the CANUSB device using a DB9 female connector. I have checked the connections, and everything seems right.

I am confused about termination at the other end of CAN network which is on the CANUSB connection side. Do I need termination with 120 ohm at the DB9 connector to CANUSB?

Please have a look at the images about my connections:

Connection

I have terminated with a 120 ohm resistor after the CAN transceiver on the board. Please have a look at the termination at the board side: Board

I have closed that open connection to terminate.

\$\endgroup\$
3
\$\begingroup\$

In the link to CANUSB that you provided it says,

the CAN network should also be properly teminated in both ends, so if you connect CANUSB in the end of the network, you must add one 120ohm resistor near the CANUSB and then one 120ohm resistor in the other end of the network.

So the CANUSB device does not already include a terminator and you should include a terminator near there if it is one of the two endpoints of your network.

In practice, the CAN terminators aren't always necessary over short cable runs. If you're using a 2 meter cable, for example, then you may find that the communications work successfully with only one terminator or both terminators at one end of the cable. But you should use terminators at both ends just to remove poor termination from the list of possible problems you'll encounter.

From the schematic, I get the impression that the terminator is on-board your device. That may be OK but it means that your device will always be an endpoint of whatever CAN network it's attached to. And it means that you could have at most two of your devices on a single network. If you intend for your device to be used on a network with multiple other CAN devices then you may not want to embed a terminator in you device. Instead, leave it up to the network installer where to place the terminators on the network.

\$\endgroup\$
  • 1
    \$\begingroup\$ Just to be clear, at least one terminator is required, regardless of cable length. It is needed to hold the lines in the recessive state. \$\endgroup\$ – user28910 Jun 30 '14 at 14:09
1
\$\begingroup\$

I have interfaced with existing CAN devices and have found the various interactions to require either none or some resistance. In one case, any terminating resistance caused the circuit to not work. In another, it needed resistance to work, and the 1st resistor I grabbed was 84 ohms and then I could see the data.

In the case of the transceivers, it is my observation that the majority of people experimenting with CAN will be interfacing with other peoples' hardware, so try to design in a jumper to add or remove termination.

It would seem there is much "voodoo" with CAN, in which the magic increases to the square with: bit rate; cable length; and other vendor's components. Thankfully, the voodoo is inversely proportional to the cube of the engineer's experience in the lab.

The discussion of configuring the controller's clocking is however, a whole-nother level, more in line with ancient astronaut theorists.

\$\endgroup\$

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.