Physical layers and media: That about does it for the inner workings of CAN. One last topic we need to examine is the hardware needed for a proper CAN bus implementation. We will do this with a simple CAN bus like the one shown here, where we will be using TINI as a CAN sensor (transmitter) and as a CAN actuator (receiver). The Bosch specification does not include any physical layer details like the media, connectors, pinout, etc. It is possible to implement the CAN protocol on a variety of media like twisted-pair wires, optical fiber or even power lines. The ISO specification does provide details for implementing CAN on twisted pair. The number of devices on a CAN network is theoretically unlimited (remember, that message ID is an ID on the data, not the device, so multiple nodes can be sending messages using the same message ID, which will not limit the network size). The real limit, however, is the signal drive capability of the transmitter, which limits the practical number of nodes to around 30-90 depending on the devices. The CAN network cable length is dependent on the data rate and the media; 1 Mbit/ second is guaranteed by the CAN specification if you are using twisted-pair cabling (like CAT 3 or better network cable) under 40 meters in length. Some typical CAN bus maximum lengths are listed in Table 12-1.
The ISO specification also specified terminating resistors of 120 Ω on each end of the CAN bus to cut down on reflections, which can increase the error rate on the bus, but these are often unnecessary at low data rates (< 125 kbps).
Figure 12-11: Some common CAN connectors
There is no standard for the CAN connector. Each higher layer protocol (we talk about them in the next section) defines its own. Some common connectors include the 9-pin D-subminiature connector (like what is common on PC serial ports), the 5- pin mini quick disconnect, the 4-pin micro quick disconnect (or quick change) and screw-terminals.