CAN INTERVIEW QUESTIONS
1. What is CAN and its uses?
Answer: 1. CAN can be abbriviated as control area network.CAN is a multi-master broadcast serial bus standard for connecting electronic control unit.
2. Controller–area network (CAN or CAN-bus) is a vehicle bus standard designed to allow microcontrollers a devices to communicate with each other within a vehicle without a host computer.
3. CAN is a message-based protocol, designed specifically for automotive applications but now also used in other areas such as industrial automation and medical equipment.
4. The Controller Area Network (CAN) bus is a serial asynchronous bus used in instrumentation applications for industries such as automobiles.
- More reliably, e.g., fewer plug-in connectors that might cause
- Wiring less complicated, more economic.
- Easy to implement, changes, too.
- Additional elements (e.g., control units) are easy to integrate.
- Installation place exchangeable without electric problems.
- Wire may be diagnosed.
2. CAN frame works?
Answer: SOF – 1 Dominant
Arbitration Field – 11 bit Identifier, 1 bit RTR (or) 11 bit, 1SRR, 1IDE, 18 bit, 1RTR
Control Field – IDE, r0, 4 bits (DLC)
Data Field – (0-8) Bytes
CRC Field – 15 bits, Delimiter (1 bit recessive)
ACK Field – 1 bit, Delimiter (1 bit recessive)
EOF – 7 bits recessive
IFS – 3 bits recessive
Types of frames – Data, remote, Error frame and Overload frame
Types of errors – ACK error, Bit error, Stuff error, Form error, CRC error
Error frame – 0-12 superposition flags, 8 recessive (Delimiter)
Overload frame – 0-12 superposition flags, 8 recessive (Delimiter)
3. Why CAN is having 120 ohms at each end?
To ensure that reflection does not cause communication failure, the transmission line must be terminated.
- To minimize the reflection reference, to reduce noise.
4. Why CAN is message oriented protocol?
Answer: CAN protocol is a message-based protocol, not an address based protocol. This means that messages are not transmitted from one node to another node based on addresses. ). It is up to each node in the system to decide whether the message received should be immediately discarded or kept to be processed. A single message can be destined for one particular node to receive, or many nodes based on the way the network and system are designed. For example, an automotive airbag sensor can be connected via CAN to a safety system router node only Embedded in the CAN message itself is the priority and the contents of the data being transmitted. All nodes in the system receive every message transmitted on the bus (and will acknowledge if the message was properly received. This router node takes in other safety system information and routes it to all other nodes on the safety system network. Then all the other nodes on the safety system network can receive the latest airbag sensor information from the router at the same time, acknowledge if the message was received properly, and decide whether to utilize this information or discard it.
5. CAN logic what it follows?
Answer: Wired AND logic
6. What is CAN Arbitration?
Answer: CAN Arbitration is nothing but the node trying to take control on the CAN bus.
7. How CAN will follow the Arbitration?
Answer: CSMA/CD + AMP (Arbitration on Message Priority)
Two bus nodes have got a transmission request. The bus access method is CSMA/CD+AMP (Carrier Sense Multiple Access with Collision Detection and Arbitration on Message Priority). According to this algorithm both network nodes wait until the bus is free (Carrier Sense). In that case the bus is free both nodes transmit their dominant start bit (Multiple Access). Every bus node reads back bit by bit from the bus during the complete message and compares the transmitted value with the received value. As long as the bits are identical from both transmitters nothing happens. The first time there was a difference – in this example the 7th bit of the message – the arbitration process takes place: Node A transmits a dominant level, node B transmits a recessive level. The recessive level will be overwritten by the dominant level. This is detected by node B because the transmitted value is not equal to the received value (Collision Detection). At this point of time node B has lost the arbitration, stops the transmission of any further bit immediately and switches to receive mode, because the message that has won the arbitration must possibly be processed by this node (Arbitration on Message Priority)
For example, consider three CAN devices each trying to transmit messages:
• Device 1 – address 433 (decimal or 00110110001 binary)
• Device 2 – address 154 (00010011010)
• Device 3 – address 187 (00010111011)
Assuming all three see the bus is idle and begin transmitting at the same time, this is how the arbitration works out. All three devices will drive the bus to a dominant state for the start-of-frame (SOF) and the two most significant bits of each message identifier. Each device will monitor the bus and determine success. When they write bit 8 of the message ID, the device writing message ID 433 will notice that the bus is in the dominant state when it was trying to let it be recessive, so it will assume a collision and give up for now. The remaining devices will continue writing bits until bit 5, then the device writing message ID 187 will notice a collision and abort transmission. This leaves the device writing message ID 154 remaining. It will continue writing bits on the bus until complete or an error is detected. Notice that this method of arbitration will always cause the lowest numerical value message ID to have priority. This same method of bit-wise arbitration and prioritization applies to the 18-bit extension in the extended format as well.
8. What is the speed of CAN?
Answer: 40m @1Mbps and if the cable length increases will decrease the speed, due to RLC on the cable.
9. If master sends 764 and Slave sends 744 which will get the arbitration?
Answer: Starts from MSB, first nibble is same, Master sends 7, slaves also sends 7 the message with more dominant bits will gain the arbitration, lowest the message identifier higher the priority.
10. Standard CAN and Extended CAN difference?
Answer: Number of identifiers can be accommodated for standard frame are 2power11.
Number of identifiers more compare to base frame, for extended frame are 2power29.
IDE bit – 1 for extended frame.
IDE bit – 0 for Standard frame.
11. What is bit stuffing?
Answer: CAN uses a Non-Return-to-Zero protocol, NRZ-5, with bit stuffing. The idea behind bit stuffing is to provide a guaranteed edge on the signal so the receiver can resynchronize with the transmitter before minor clock discrepancies between the two nodes can cause a problem. With NRZ-5 the transmitter transmits at most five consecutive bits with the same value. After five bits with the same value (zero or one), the transmitter inserts a stuff bit with the opposite state.
12. What is the use of bit stuffing?
Answer: Long NRZ messages cause problems in receivers
• Clock drift means that if there are no edges, receivers lose track of bits
• Periodic edges allow receiver to resynchronize to sender clock
13. What are the functions of CAN transceiver?
Answer: The transceiver provides differential transmit capability to the bus and differential receive capability to the CAN controller. Transceiver provides an advanced interface between the protocol controller and the physical bus in a Controller Area Network (CAN) node.
Typically, each node in a CAN system must have a device to convert the digital signals generated by a CAN controller to signals suitable for transmission over the bus cabling (differential output). It also provides a buffer between the CAN controller and the high-voltage spikes that can be generated on the CAN bus by outside sources (EMI, ESD, electrical transients, etc.).
The can transceiver is a device which detects the signal levels that are used on the CAN bus to the logical signal levels recognized by a microcontroller.
14. Functionality of Data link layer in CAN?
Answer: LLC (Logical Link Control) – Overload control, notification, Message filtering and Recovery management functions.
MAC (Medium Access Control) – Encapsulation/ de-capsulation, error detection and control, stuffing and de-stuffing and serialization/de-serialization.
15. What is meant by synchronization?
Answer: Synchronization is timekeeping which requires the coordination of events to operate a system in unison.
16. What is meant by Hard synchronization and soft synchronization?
Answer: Hard Synchronization to be performed at every edge from recessive-to-dominant edge during Bus Idle. Additionally, Hard Synchronization is required for each received SOF bit. An SOF bit can be received both during Bus Idle, and also during Suspend Transmission and at the end of Interframe Space. Any node disables Hard Synchronization if it samples an edge from recessive to dominant or if it starts to send the dominant SOF bit.
Two types of synchronization are supported:
– Hard synchronization is done with a falling edge on the bus while the bus is idle, which is interpreted as a Start of frame (SOF). It restarts the internal Bit Time Logic.
– Soft synchronization is used to lengthen or shorten a bit time while a CAN frame is received.
17. What is the difference between function and physical addressing?
Answer: Functional addressing is an addressing scheme that labels messages based upon their operation code or content. Physical addressing is an addressing scheme that labels messages based upon the physical address location of their source and/or destination(s).
18. What happens if I have to send more than 8-bytes of data?
Answer: The J1939 standard has defined a method of communicating more than 8 bytes of data by sending the data in packets as specified in the Transport Protocol (TP). There are two types of TP, one for broadcasting the data, and the other for sending it to a specific address.
DTC consists of 4 components – SPN, FMI, OC and CM.
A DTC is a combination of four independent fields: the Suspect Parameter Number (SPN) of the channel or feature that can have faults; a Failure Mode Identifier (FMI) of the specific fault; the occurrence count (OC) of the SPN/FMI combination; and the SPN conversion method (CM) which tells the receiving mode how to interpret the SPN. Together, the SPN, FMI, OC and CM form a number that a diagnostic tool can use to understand the failure that is being reported.
Figure 1 – Message format
19. What is KWP2000?
Answer: KWP 2000(ISO14230) is a Diagnostic communications standard. Specifies possible system configurations using the K & L lines. As 9141-2 but limited to the physical characteristics. Specifies possible system configurations using the K & L lines.
- 5 Baud wake up as 9141- 2
- New fast initialisation method
20. What is OBDII?
Answer: On-Board Diagnostics in an automotive context is a generic term referring to a vehicle’s self-diagnostic and reporting capability
21. Why Diagnostic Standards?
Answer: As systems got more complex the link between cause and symptom became less obvious. This meant that electronic systems had to have some level of self diagnosis and to communicate to the outside world. Initially many systems used their own protocols which meant that garages had to have a large number of tools – even to diagnose a single vehicle.
22. What is meant by verification and validation??
Answer: Verification and Validation (V&V) is the process of checking that a software system meets specifications and that it fulfills its intended purpose. It is normally part of the software testing process of a project.
According to the Capability Maturity Model (CMMI-SW v1.1),
- Verification: The process of evaluating software to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase.
- Validation: The process of evaluating software during or at the end of the development process to determine whether it satisfies specified requirements.
- Verification shows conformance with specification; validation shows that the program meets the customer’s needs
23. Can you have two transmitters using the same exact header field?
Answer: No – that would produce a bus conflict
• Unless you have middleware that ensures only one node can transmit at a time
– For example use a low priority message as a token to emulate token-passing
24. CAN physical layer voltage levels
25. CAN bit timing:
According to the CAN specification, the bit time is divided into four segments. The Synchronization Segment, the Propagation Time Segment, the Phase Buffer Segment 1, and the Phase Buffer Segment 2. Each segment consists of a specific, programmable number of time quanta (see Table 1). The length of the time quantum (tq), which is the basic time unit of the bit time, is defined by the CAN controller’s system clock fsys and the Baud Rate Prescaler (BRP) :tq = BRP / fsys. Typical system clocks are : fsys = fosc or fsys = fosc/2.
The Synchronization Segment Sync_Seg is that part of the bit time where edges of the CAN bus level are expected to occur; the distance between an edge that occurs outside of Sync_Seg and the Sync_Seg is called the phase error of that edge. The Propagation Time Segment Prop_Seg is intended to compensate for the physical delay times within the CAN network. The Phase Buffer Segments Phase_Seg1 and Phase_Seg2 surround the Sample Point. The (Re-)Synchronization Jump Width (SJW) defines how far a resynchronization may move the Sample Point inside the limits defined by the Phase Buffer Segments to compensate for edge phase errors.
Two types of synchronization exist : Hard Synchronization and Resynchronization. A Hard Synchronization is done once at the start of a frame; inside a frame only Resynchronizations occur.
• Hard Synchronization After a hard synchronization, the bit time is restarted with the end of Sync_Seg, regardless of the edge phase error. Thus hard synchronization forces the edge which has caused the hard synchronization to lie within the synchronization segment of the restarted bit time.
• Bit Resynchronization Resynchronization leads to a shortening or lengthening of the bit time such that the position of the sample point is shifted with regard to the edge.
26. Formula for Baudrate calculation?
The baud rate is calculated as:
baud rate (bits per second) = 18.432 x 10^6 / BRP / (1 + TSEG1 + TSEG2)
27. What happen when two CAN nodes are sending same identifier at a same time?
Two nodes on the network are not allowed to send messages with the same id. If two nodes try to send a message with the same id at the same time arbitration will not work. Instead, one of the transmitting nodes will detect that his message is distorted outside of the arbitration field. The nodes will then use the error handling of CAN, which in this case ultimately will lead to one of the transmitting node being switched off (bus-off mode).
28. what is the difference between Bit Rate and Baud Rate?
The difference between Bit and Baud rate is complicated and intertwining. Both are dependent and inter-related. But the simplest explanation is that a Bit Rate is how many data bits are transmitted per second. A baud Rate is the number of times per second a signal in a communications channel changes.Bit rates measure the number of data bits (that is 0′s and 1′s) transmitted in one second in a communication channel. A figure of 2400 bits per second means 2400 zeros or ones can be transmitted in one second, hence the abbreviation “bps.” Individual characters (for example letters or numbers) that are also referred to as bytes are composed of several bits.A baud rate is the number of times a signal in a communications channel changes state or varies. For example, a 2400 baud rate means that the channel can change states up to 2400 times per second. The term “change state” means that it can change from 0 to 1 or from 1 to 0 up to X (in this case, 2400) times per second. It also refers to the actual state of the connection, such as voltage, frequency, or phase level).The main difference between the two is that one change of state can transmit one bit, or slightly more or less than one bit, that depends on the modulation technique used. So the bit rate (bps) and baud rate (baud per second) have this connection: bps = baud per second x the number of bit per baudThe modulation technique determines the number of bit per baud. Here are two examples:When FSK (Frequency Shift Keying, a transmission technique) is used, each baud transmits one bit. Only one change in state is required to send a bit. Thus, the modem’s bps rate is equal to the baud rate. When a baud rate of 2400 is used, a modulation technique called phase modulation that transmits four bits per baud is used. So:2400 baud x 4 bits per baud = 9600 bpsSuch modems are capable of 9600 bps operation.