3142 views|4 replies

6547

Posts

0

Resources
The OP
 

Understanding the CAN bus from the bottom up [Copy link]

This post was last edited by Jacktang on 2021-8-28 23:09

1. Introduction

CAN bus was developed by BOSCH of Germany, with a maximum speed of 1Mbps. CAN has a strong fault tolerance, and the CAN controller has a built-in powerful error detection and processing mechanism.


In addition, unlike traditional networks (such as USB or Ethernet), CAN nodes do not transmit large data blocks between nodes. A CAN message frame transmits a maximum of 8 bytes of user data. The use of short data packets can also make the system more stable. The CAN bus has a bus arbitration mechanism and can form a multi-master system.


2. CAN Standard


CAN is a serial communication bus defined by an international standards organization. It was originally used in the automotive industry, using two signal buses to replace the complex wiring in the car. The CAN bus has high anti-interference, self-diagnosis and data error detection functions, which make the CAN bus widely used in various industrial occasions, including building automation, medical and manufacturing.


The CAN communication protocol ISO-11898:2003 standard describes how information is transmitted between devices on the network and which layered items of the Open System Interconnection Reference Model (OSI) are met. The actual communication is carried out in the physical medium connecting the devices, and the characteristics of the physical medium are defined by the physical layer in the model. The ISO11898 architecture defines seven layers, and the lowest two layers in the OSI model are the data link layer and the physical layer, as shown in Figure 2-1.

Figure 2-1: ISO 11898 standard architecture layering


In Figure 2-1, the application layer establishes the communication link of the upper application-specific protocol, such as the CANopenTM protocol. This protocol is maintained by the user and manufacturer organization CiA around the world. For more information, please visit the CiA website: can-cia.de.


Many protocols are application specific, such as industrial automation, diesel engines or aviation. Another example of an industrial standard is the CAN-based protocol, DeviceNetTM developed by KVASER and Rockwell Automation.


3. Standard CAN and Extended CAN


The CAN communication protocol is a carrier sense, message priority based collision detection and arbitration (CSMA/CD+AMP) multiple access protocol. CSMA means that each node on the bus must monitor the bus before attempting to send a message, and can only send when the bus is idle.


CD+AMP means that collisions are resolved by pre-programmed message priority bit-by-bit arbitration, which is located in the identification field of each message. The message with a higher priority identifier always gets bus access, that is, the last one in the identifier that remains at a logic high level will continue to transmit because it has a higher priority.


The ISO-11898:2003 standard, with an 11-bit identifier, provides a maximum signaling rate from 125 Kbps to 1 Mbps. Later revisions use an extended 29-bit identifier. The standard 11-bit identifier field is shown in Figure 3-1, providing 2048 different message identifiers, and the extended 29-bit identifier field is shown in Figure 3-2, providing 537 million different message identifiers.


3.1 Standard CAN


The standard CAN has only an 11-bit identifier, and the data length of each frame is 51+(0~64)=(51~117) bits.


Note: Bit stuffing is not taken into account (bit stuffing is described in Section 5 of this document).

Figure 3-1: Standard CAN---11-bit identifier

· SOF - Start of Frame, dominant (logic 0) indicates the beginning of a message and is used to synchronize nodes on the bus.

Identifier - Standard CAN has an 11-bit identifier that is used to determine the priority of the message. The smaller the value of this field, the higher the priority.


· RTR - Remote Transmit Request bit, this bit is dominant (logic 0) when it is necessary to request information from another node. All nodes can receive this request, but the frame identifier identifies the node being targeted. The response data frame is also received by all nodes and can be used by interested nodes.


IDE - The identifier extension bit is dominant when it indicates a standard CAN format and recessive when it indicates an extended CAN format.


· r0 - reserved bit (may be used by future revisions of the standard)


DLC - 4-bit data length code indicates the number of bytes of transmitted data. A CAN frame can transmit up to 8 bytes of user data.


Data 0~8 – Up to 8 bytes of user data can be transmitted


CRC - A 16-bit (including 1-bit delimiter) CRC checksum is used to check the transmission data segment before (including) the user data area.


ACK - 2 bits, including the acknowledgement bit and the acknowledgement delimiter. In the message frame of the sending node, the two ACK bits are recessive bits. When the receiver correctly receives a valid message, the receiver will send a dominant bit to the sending node during the acknowledgement bit to indicate the acknowledgement. If the receiver finds that there is an error in this frame of data, it will not send an ACK response to the sending node, and the sending node will retransmit this frame of data later.


EOF – 7-bit end-of-frame flag, all recessive. If a dominant bit appears in these 7 bits, a stuffing error will occur.


IFS – 7-bit interframe flag. It takes a certain amount of time for the CAN controller to correctly put the received frame into the message buffer. The interframe interval can provide this time.

3.2 Extending CAN


The extended CAN has a 29-bit identifier and the length of each frame data is 71+(0~64)=(71~135) bits.


Note: Bit stuffing is not taken into account (bit stuffing is described in Section 5 of this document).

Figure 3-2: Extended CAN---29-bit identifier


The extended CAN message adds the following content compared to the standard CAN message:

· SRR – replaces the remote request bit, which is recessive. So when the standard frame and the extended frame conflict with each other and the basic identifier of the extended frame is the same as the identifier of the standard frame, the standard frame has priority over the extended frame.

IDE – This is a recessive bit that indicates the extended frame flag. The 18-bit extended identifier follows the IDE bit.


r1 – reserved

4. CAN Messages


4.1 Arbitration


The basic principle of a typical CAN is shown in Figure 4-1. From the figure, it can be seen that the bus logic state is opposite to the driver input and receiver output logic.


Under normal circumstances, the logic high level is 1 and the logic low level is 0, but the CAN bus has a logic high level of 0, called dominant, and a logic low level of 1, called recessive. Therefore, many transceivers have built-in pull-up resistors at the driver input end, and when there is no input, the CAN bus will be recessive (logic low level).

Figure 4-1: Inverted CAN bus logic


When the bus is idle, the node that starts sending a message first obtains the right to send.


If multiple nodes access the bus at the same time, CAN uses a non-destructive, bit-by-bit arbitration method to determine which node uses the bus: each sending node starts arbitration from the first bit of the arbitration field (identifier and RTR field), and the node that continuously outputs the most dominant levels (0) can continue to send.


Therefore, the CAN message with a lower identifier value has a higher priority. The CAN message with an identifier value of 0 has the highest priority because it outputs the most dominant levels.


4.2 Message Types


CAN has four different message types: data frame, remote frame, error frame and overload frame.


5. Bit filling mechanism


The frame start, arbitration field, control field, data field, and CRC checksum field are all encoded by bit stuffing. Bit stuffing means that whenever the transmitter detects five consecutive bits of the same logic in the bit stream, it will automatically insert a complement bit into the bit stream.


For example, if there are 5 consecutive dominant bits, a recessive bit is automatically inserted after the 5 dominant bits. The receiver automatically deletes this inserted stuffing bit.


The remaining bit fields of a data frame or remote frame (CRC delimiter, response field, and frame end field) are fixed and not filled. Error frames and overload frames are also not filled.


CAN network synchronization requires enough rising edges, which is one of the purposes of bit stuffing specified in the CAN protocol. Other functions of bit stuffing are to ensure that the data frame is not treated as an error frame (consisting of 6 consecutive dominant or recessive bits) and to ensure the correct identification of the frame end mark (7 consecutive recessive bits).


6. Error detection and fault definition


The CAN bus is very robust, which is possible due to the fact that CAN has multiple error checking mechanisms. The CAN protocol defines five error detection methods: three at the message level and two at the bit stream level.


If an error occurs in a data frame, the frame will be discarded and the receiving node will send an error frame. This will force the sending node to resend the error message until the receiving node receives it correctly. If the same message is repeatedly wrong for a certain number of times, the sending node can turn off the sending function to reduce the impact on the bus.


Error detection at the message layer includes CRC and ACK. The 16-bit CRC field contains a 15-bit checksum and a 1-bit delimiter. The ACK field contains a 1-bit acknowledgement bit and a 1-bit delimiter.


CRC check errors are easy to understand. It generates CRC checks on the data field and the bits before the data field. Since the data stream of a CAN message frame is very small (up to 8 user data), the error detection capability of the 15-bit CRC is very good.


So, how does the ACK field work? This is stipulated by the CAN protocol, that is, after the sending node sends a frame of data, the receiving node must respond to the sending node. If the sending node does not receive the response signal from the receiving node, it will consider that its transmission has failed and retransmit the data.


The third error checking method at the message layer is format checking. This check monitors the fields in the message that must be recessive bits. If dominant bits appear in these fields, a format error is detected. These fields include SOF, EOF, ACK delimiters, and CRC delimiters.


One of the error detection in the bitstream layer is that every data bit sent to the bus will be monitored. If the sent bit is different from the bit on the bus, a bit error will occur. This monitoring mechanism does not monitor the bits in the arbitration field, because when multiple nodes compete for the bus at the same time, the node with higher priority may overwrite the arbitration field bit on the bus.


Another error detection mechanism at the bitstream layer is the bit stuffing rule: after five consecutive identical logic bits, if the logic of the sixth bit is still the same as the first five, a bit stuffing error occurs.


7. Network topology


CAN uses differential signals and requires a pair of signal lines. Twisted-pair cables are recommended. The network topology is shown in Figure 7-1. Using differential signals can suppress common-mode interference, increase system reliability, and allow the use of higher rates.


The high-speed ISO 11898 standard stipulates that the maximum CAN transmission rate is 1Mbps. At this rate, the maximum transmission distance is 40 meters (30 nodes are connected, and the CAN signal is not isolated). The recommended maximum node branch length is 0.3 meters, and it is recommended to use shielded or unshielded twisted pair cables with a cable characteristic impedance of 120 ohms.

Figure 7-1: CAN bus network topology diagram


8. Terminal matching


The terminal matching resistance is equal to the characteristic impedance of the transmission cable, which is provided by the cable supplier and is generally approximated as Z=√(L/C). Among them, L is the inductance per unit length of the cable, and C is the capacitance per unit length of the cable.


Due to the structure of CAN transceiver, the change from recessive to dominant is driven by transistor, so it is very steep. However, when it returns from dominant to recessive, it needs terminal resistance to discharge, otherwise it will discharge slowly due to the distributed capacitance of the wire, resulting in bit width error. Therefore, the practice of not adding terminal resistance to the so-called short-distance and low baud rate CAN bus is wrong.


RS485 is different from CAN bus. Since RS485 transceivers generally have built-in failure protection circuits, terminal matching resistors are not allowed at short distances and low baud rates.


9. Cables and wiring


The CAN bus uses differential signal transmission. If shielded twisted pair cables are used, the shielding layer should be grounded at a single point.


Figure 9-11 shows the anatomy of a CAN cable with a single shield and a demonstration of its connection.

Figure 9-1: Cable signal distribution, grounding and terminal matching


Generally speaking, the smaller the cable cross-sectional area, the greater its distributed capacitance, distributed inductance and DC resistance. When the communication distance is long, capacitance, inductance and DC resistance will cause signal attenuation, waveform distortion and jitter.


Generally speaking, cable suppliers will provide a signal attenuation graph. The curve shown in Figure 9-2 shows the relationship between 24-AWG cable attenuation and frequency:

Figure 9-2: Signal attenuation


10. Differential signal voltage amplitude


As shown in Figure 10-1, the two signal lines CAN_H and CAN_L are both around 2.5V in static state. At this time, the state indicates logic 1, which is called recessive; CAN_H is higher than CAN_L, which indicates logic 0, which is called dominant. At this time, the CAN_H voltage is usually 3.5V and the CAN_L voltage is 1.5V.

Figure 10-1: CAN level amplitude


The CAN standard stipulates that the differential voltage on the CAN bus can only be identified as a dominant level when it is >0.9V, and can only be identified as a recessive level when it is <0.5V. The level polarity cannot be determined between 0.5 and 0.9. As shown in Table 10-1:

Table 10-1: Relationship between differential voltage amplitude and level polarity


When wiring in actual projects, it is easy to omit or add too much terminal matching resistance. We can evaluate whether the terminal matching resistance is omitted or added too much by measuring the CAN differential voltage amplitude. If the wire resistance is not taken into account, the terminal resistance is fixed to 120 ohms, and the single-node CAN bus differential voltage is shown in Table 10-2:

Table 10-2: Relationship between the number of terminal matching resistors and the differential voltage amplitude


11. Cable cross-sectional area and communication distance


The cross-sectional area of the cable has a great influence on the communication distance, especially for long-distance communication. The distributed capacitance, distributed inductance and DC parameters on the long-distance transmission line will cause signal attenuation. Many CAN communication applications have the characteristics of long distance and low baud rate.


For example, our company's KTC161 communication control system uses 10kpbs, and the transmission distance must be no less than 3km. In this case, the DC resistance of the transmission cable has a great influence on the transmission distance, because this DC resistance will divide the voltage with the terminal matching resistance.


As shown in Figure 11-1, Node 1 and Node 2 are 5 km apart, the DC resistance of the transmission cable used is 12.8 ohms/km, and the terminal matching resistance is 124 ohms. The waveform differential voltage amplitude sent by Node 1 is 2V. When it passes through the 5km transmission cable to Node 2, the differential voltage amplitude is about 1V, and the signal is attenuated by half!


It should be pointed out that the differential voltage on the CAN bus must be >0.9V to be recognized as a dominant level. Now node 2 only has a 1V differential voltage, and its reliability has become lower.


To ensure reliable data communication, a useful rule of thumb is that the differential voltage amplitude of the end node should not be less than 1.2V.


It should be noted that the influence of distributed capacitance and distributed inductance is deliberately ignored in the figure, so the transmitted waveform is not distorted.

Figure 11-1: Schematic diagram of DC resistance voltage division of transmission cable


For twisted pair cables, assuming that the terminal matching resistance is the same as the cable characteristic impedance, the cross-sectional area and maximum communication distance can be referred to Table 11-1:

Table 11-1: Relationship between cross-sectional area and maximum communication distance


In order to minimize the voltage attenuation caused by the DC resistance of the cable, a larger terminal resistance value (150~300 ohms) helps to increase the bus length. For example, using a twisted pair cable with a cross-sectional area of 1.5 mm2, the cable characteristic impedance is 120 ohms. When transmitting data at a baud rate of 5kpbs, the maximum transmission distance is 5km using a 120 ohm matching resistor, but it can be transmitted up to 7km using a 300 ohm matching resistor!


12. Baud rate, terminal matching resistance and communication distance


Section 11 above describes the relationship between the cross-sectional area of the transmission line and the communication distance. This section will keep the cross-sectional area of the transmission line unchanged and examine the impact of other parameters on the communication distance. Taking a shielded twisted pair with a cross-sectional area of 1.5 mm2 as an example, the relationship between the baud rate, terminal matching resistance and communication distance is shown in Figure 12-1.


Among them, when the baud rate is high, the communication distance is limited. For example, at 1Mbps, the CAN communication distance after signal isolation is about 25~30 meters (in most actual projects, the CAN communication module will be electrically isolated, and the isolation device will reduce the communication distance). If the baud rate is low and the terminal matching resistance is increased, long-distance communication is possible. For example, at 5kbps and the terminal matching resistance is 390 ohms, the communication distance can reach 10km!

Figure 12-1: Relationship between baud rate, terminal matching resistance and communication distance


13. Signal delay and communication distance


At high baud rates, the signal delay limits the CAN communication distance. When the signal passes through the isolation optocoupler, transmission cable, and ESD device, it will cause signal delay. If the CAN resynchronization is not enough to compensate for this delay, it will cause sampling errors and ultimately CRC check errors.


Figure 12-1 shows the maximum communication distance of a transmission cable with a cross-sectional area of 1.5mm2 at different baud rates and terminal matching resistances. When the baud rate is 1Mbps, the communication distance is about 30 meters. The transmission loss of a 30-meter communication cable can be ignored, and the main factor affecting the communication distance is signal delay.


Typically, the transmission cable delay is 5ns/m, the high-speed optocoupler delay can reach 25ns, and the magnetic coupling isolation device delay is 3~5ns. In the CAN communication system, a good delay standard is:


Among them, tl_MAX is the maximum delay time and tBIT is the bit time.


Taking 1Mbps as an example, its bit time is 1us, then tl_MAX < 0.245 × tBIT = 0.245 × 1us = 245ns. The signal can reach this delay time by transmitting 49 meters on a 1.5mm2 transmission cable. In addition, considering the signal rise/fall time and the isolation device, ESD device, and PCB routing delay, in actual projects, a 1Mbps baud rate can only be transmitted for 30 meters on a 1.5mm2 transmission cable.


This is why the RS485 baud rate can reach 10Mbps or even 50Mbps, while the maximum rate of the CAN standard is only 1Mbps.


Table 13-1 gives the reference standards for determining delay. In actual projects, it is recommended that the signal delay be in the good column.

Table 13-1: Maximum delay reference standard

14. Minimum spacing between nodes


The CAN bus is a distributed parameter circuit whose electrical characteristics and response are mainly determined by the inductance and capacitance distributed along the physical medium. The physical medium here includes the connecting cables, connectors, terminals and CAN devices connected along the bus.


Under no-load conditions, the characteristic impedance of the transmission cable is approximately Z=√(L/C), where L is the inductance per unit length of the cable and C is the capacitance per unit length of the cable. As the load increases, the capacitance on the transmission line increases (load capacitance, capacitance of the load and bus connection line), and the characteristic impedance of the transmission cable becomes smaller than under no-load conditions. If the load is relatively concentrated, the characteristic impedance of the transmission cable in the load area and the characteristic impedance of the cable in the idle area will differ greatly, which will cause impedance mismatch. As shown in Figure 14-1.

Figure 14-1: Schematic diagram of CAN bus principle with unbalanced load


Impedance mismatch on the CAN bus causes signal reflections, which is compounded by CAN's arbitration mechanism: during arbitration, two or more nodes may send multiple dominant bits simultaneously.


As shown in Figure 14-1, when switch S1 switches from dominant state to recessive state at t=0, the CAN driver differential output voltage is Vs, and the differential signal on the bus changes from dominant state (Vs) to stable recessive state (0V). This signal waveform will propagate down along the bus, and when it reaches the load area of the bus, the reflected voltage caused by impedance mismatch will return to the source end.


The minimum safe distance d between loads is a function of the total load capacitance CL of the equipment and the distributed capacitance C per unit length of the cable, and is defined as follows:


The total device load capacitance CL includes the sum of the capacitance of the CAN transceiver pins, connectors, isolation components, protection components, printed circuit board traces, and other physical connections.


The 3.3V CAN transceiver can generally reach 16pF capacitance, please refer to the transceiver data manual for details; the printed circuit board trace is generally 0.5pF~0.8pF/cm, which depends on the material and structure of the circuit board; the capacitance value of connectors and protection devices (such as ESD devices) may range greatly, please refer to the device data manual for details; the distributed capacitance of unshielded twisted pair medium is approximately 40pF/m~70pF/m.


Figure 14-2 gives a clearer graphical display:

Figure 14-2: Minimum CAN device spacing


15. Signal bit sampling point location


The signal bit sampling point refers to the position where the CAN node recognizes a level logic. The CAN standard divides each bit on the bus into different stages, as shown in Figure 15-1.


As can be seen in the figure, each bit is divided into four continuous parts: synchronization segment, propagation segment, phase buffer segment 1 and phase buffer segment 2. Among them, the sampling point is located after phase buffer segment 1, and the duration of the synchronization segment, propagation segment, phase buffer segment 1 and phase buffer segment 2 are all programmable, so the sampling point position is also indirectly programmable.

Figure 15-1: Schematic diagram of each data bit segment


Generally, CAN nodes sample each bit once (or three times, mostly used in low-speed situations), and the sampling point position is in the area after 50% of a bit, in order to stabilize the signal level. The later the sampling point, the more stable the waveform. However, the later the better is not necessarily the case. When the sampling point position exceeds 95%, errors may occur due to bit deviation during transmission.


CIA recommends that the sampling point be 87.5% of a bit time. In actual projects, it is generally set to 70%~90%. Most automobile manufacturers specify the sampling point to be 70%~80%.


The sampling point is slightly later, such as 80-90%, which is conducive to long-distance transmission. Increasing the synchronization jump width SJW value in the node baud rate register (increased to 3 unit time) can increase the bit width and sampling point tolerance.


16. Baud rate deviation

Due to the influence of the crystal oscillator, the actual value of the CAN communication baud rate will deviate from the theoretical value. If the baud rate deviation between two nodes is large, it is easy to cause problems such as increased bit error rate or communication failure.


The CAN standard stipulates that the deviation between the set theoretical baud rate and the actual baud rate shall not exceed ±1%; the baud rate deviation that the node needs to tolerate shall not be less than ±3%.


17. Node capacitance


In the process of CAN communication circuit design, node capacitance is easily overlooked. Node capacitance includes transceiver pin capacitance, PCB trace capacitance, ESD device capacitance and other connection capacitance.


The CAN standard has a strict definition of node capacitance. The capacitance affects the slope of the rising and falling edges. When the node capacitance increases, the rising and falling edges will slow down, resulting in bit time distortion and increased bit error rate. Slow rising and falling edges will increase signal delay, affecting signal transmission quality and communication distance at high baud rates.


The node capacitance is not easy to measure and requires special instruments. When designing the circuit, the total capacitance of the devices used in the CAN interface circuit should be estimated in combination with the typical values given in the data sheet. For high baud rates, the single node capacitance is recommended to be <100pF. The recommended values for multi-node capacitance are shown in Table 17-1. Low baud rate applications can relax the requirements.

Table 17-1: Maximum single node capacitance


18. Number of nodes


The number of nodes that can be connected to the network is determined by the minimum load impedance that the transceiver can drive. The maximum number of nodes is given by the following formula (considering the worst case):


Among them, Rdiff_min is the minimum differential input impedance of the transceiver, RL_min is the minimum load resistance that the transceiver can drive, and RT_min is the minimum terminal matching resistance.


In the above formula, the minimum differential input impedance of the transceiver (Rdiff_min) and the minimum load impedance that the transceiver can drive (RL_min) are determined by the transceiver chip, and the minimum terminal matching resistance (RT_min) is determined by the characteristic impedance of the transmission cable and the specific application.


Taking the PCA82C251 transceiver used by our company as an example, the minimum differential input impedance of the transceiver is Rdiff_min = 20K ohms, and the minimum load impedance that the transceiver can drive is RL_min = 45 ohms. Assuming that the minimum terminal matching resistance is RT_min = 120 ohms, the maximum number of nodes is 112.


19. Common mode voltage range


Common-mode voltage refers to the potential difference between the ground of the sending node and the ground of the receiving node on the bus. Too high common-mode voltage will affect the system, which may cause intermittent restart, deadlock, increased bit error rate and even damage to the equipment. In long-distance communication systems, the problem of common-mode interference will be more prominent, because as the distance of the communication line increases, the ground loop will pick up more noise, causing the common-mode voltage to increase.


Current CAN transceivers can tolerate a certain common-mode voltage. The ISO 11898 standard stipulates that CAN transceivers must be able to tolerate a common-mode voltage of -2V to 7V. For CAN communication systems that are several thousand meters long, the common-mode voltage tolerance specified in the standard is far from meeting actual requirements. Therefore, galvanic isolation is still necessary for long-distance data transmission systems.


20. Bus short circuit protection and thermal shutdown protection


Bus short circuit protection means that after the bus is short-circuited with the power supply or ground, the CAN transceiver will not be damaged, and the CAN transceiver can continue to work after the short circuit fault is removed. This feature can protect the transceiver when the bus polarity is reversed, the cable insulation layer fails, or it is accidentally short-circuited to a high voltage source.


Thermal shutdown circuits are used to protect CAN transceivers from damaging currents and high temperatures caused by short circuits. Once the thermal shutdown circuit is activated, the device enters shutdown mode. When the device cools to normal operating temperature, the device automatically resumes operation.


The PCA82C251 transceiver used by our company has short-circuit protection and thermal shutdown protection. The short-circuit protection allows the bus to be short-circuited with the 24V power supply.


21. Current Isolation


Long-distance data transmission may have large ground potential differences, ground loops and other problems, which will form high common-mode voltages on the CAN bus. If the common-mode voltage exceeds the maximum tolerance of the CAN transceiver, the data link will be abnormal.


One way to solve these problems is to use galvanic isolation: the isolation transformer provides power to the system, and the optocoupler or digital isolation device provides data isolation. Galvanic isolation can remove ground loops and suppress noise voltage. The circuit using galvanic isolation is shown in Figure 21-1. Our company's CAN interface circuit also uses galvanic isolation.

Figure 21-1: Schematic diagram of long-distance communication current isolation circuit


22. CAN interface circuit and RS485 interface circuit


CAN bus and RS485 bus both use differential signals to transmit data, and they are similar in terms of bus topology, terminal matching, signal attenuation, isolation and grounding, and the relationship between baud rate and communication distance. However, CAN has its own characteristics, and the RS485 interface circuit cannot be copied in interface design.


The CAN bus is sensitive to signal delay, so signal isolation must use high-speed optocouplers or magnetic coupling devices to reduce signal delay. The TLP521 optocoupler, which is widely used by the company, cannot be used in CAN interface circuits because of its large delay time (microsecond level).


The CAN bus is sensitive to capacitance. When designing the CAN interface circuit, it is necessary to use CAN-specific common-mode inductors and professional ESD devices. It is necessary to decide whether to add filter capacitors to the CAN bus and the size of the filter capacitors based on the maximum baud rate and communication distance of the application.

This post is from Embedded System

Latest reply

CAN bus programming, very good information is worth learning from, collected   Details Published on 2023-11-30 18:45

赞赏

1

查看全部赞赏


1942

Posts

2

Resources
2
 

I have never come into contact with CAN before, but I will definitely use it in the future, so I'll learn it first!

This post is from Embedded System
 
 

1573

Posts

0

Resources
3
 

The explanation is very detailed.

For example, the design of the minimum node distance of the CAN bus

Considerations for selecting node capacitance

Common mode voltage, terminal impedance, baud rate deviation, differential level

One thing to note is that the general CAN transceiver is powered by a battery or 5V. A single 3v3 power supply may have problems. Otherwise, it is powered by 5v and 3v3 together.

This post is from Embedded System
 
 
 

6062

Posts

4

Resources
4
 

There is another biggest difference between 485 bus and CAN bus:

The 485 bus can only be accessed in a one-master-multiple-slave mode, which is very limited.

The CAN bus allows devices to access each other directly, very casually.

This post is from Embedded System
 
 
 

205

Posts

0

Resources
5
 

CAN bus programming, very good information is worth learning from, collected

This post is from Embedded System
 
 
 

Guess Your Favourite
Just looking around
Find a datasheet?

EEWorld Datasheet Technical Support

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号
快速回复 返回顶部 Return list