BOSCH CAN Specification Version 2.
The document as a whole may be copied and distributed without restrictions. However, the usage of it in parts or as a whole in other documents needs the consent of Robert Bosch GmbH. Robert Bosch GmbH retains the right to make changes to this document without notice and does not accept any liability for errors. Imported into Framemaker 4 by: Chuck Powers, Motorola MCTG Multiplex Applications, April 5,1995.
BOSCH Sep. 1991 CAN Specification 2.0 page 1 Recital The acceptance and introduction of serial communication to more and more applications has led to requirements that the assignment of message identifiers to communication functions be standardized for certain applications.
PART A
BOSCH Sep. 1991 Contents Part A - page 3 1 INTRODUCTION................................................................................4 2 BASIC CONCEPTS............................................................................5 3 MESSAGE TRANSFER .....................................................................10 3.1 Frame Types ......................................................................................10 3.1.1 DATA FRAME .......................................................
Sep. 1991 BOSCH Introduction Part A - page 4 1 INTRODUCTION The Controller Area Network (CAN) is a serial communications protocol which efficiently supports distributed realtime control with a very high level of security. Its domain of application ranges from high speed networks to low cost multiplex wiring. In automotive electronics, engine control units, sensors, anti-skid-systems, etc. are connected using CAN with bitrates up to 1 Mbit/s.
Sep.
BOSCH Sep. 1991 Basic Concepts Part A - page 6 • The Physical Layer defines how signals are actually transmitted. Within this specification the physical layer is not defined so as to allow transmission medium and signal level implementations to be optimized for their application. • The Transfer Layer represents the kernel of the CAN protocol. It presents messages received to the object layer and accepts messages to be transmitted from the object layer.
BOSCH Sep. 1991 Basic Concepts Part A - page 7 Bit rate The speed of CAN may be different in different systems. However, in a given system the bitrate is uniform and fixed. Priorities The IDENTIFIER defines a static message priority during bus access. Remote Data Request By sending a REMOTE FRAME a node requiring data may request another node to send the corresponding DATA FRAME. The DATA FRAME and the corresponding REMOTE FRAME are named by the same IDENTIFIER.
BOSCH Sep. 1991 Basic Concepts Part A - page 8 Performance of Error Detection The error detection mechanisms have the following properties: - all global errors are detected. all local errors at transmitters are detected. up to 5 randomly distributed errors in a message are detected. burst errors of length less than 15 in a message are detected. errors of any odd number in a message are detected. Total residual error probability for undetected corrupted messages: less than message error rate * 4.
BOSCH Sep. 1991 Basic Concepts Part A - page 9 Acknowledgment All receivers check the consistency of the message being received and will acknowledge a consistent message and flag an inconsistent message. Sleep Mode / Wake-up To reduce the system’s power consumption, a CAN-device may be set into sleep mode without any internal activity and with disconnected bus drivers. The sleep mode is finished with a wake-up by any bus activity or by internal conditions of the system.
Sep. 1991 BOSCH Message Transfer Part A - page 10 3 MESSAGE TRANSFER 3.1 Frame Types Message transfer is manifested and controlled by four different frame types: A DATA FRAME carries data from a transmitter to the receivers. A REMOTE FRAME is transmitted by a bus unit to request the transmission of the DATA FRAME with the same IDENTIFIER. An ERROR FRAME is transmitted by any unit on detecting a bus error.
Sep. 1991 BOSCH Data Frame Part A - page 11 START OF FRAME marks the beginning of DATA FRAMES and REMOTE FRAMEs. It consists of a single ’dominant’ bit. A station is only allowed to start transmission when the bus is idle (see BUS IDLE). All stations have to synchronize to the leading edge caused by START OF FRAME (see ’HARD SYNCHRONIZATION’) of the station starting transmission first. ARBITRATION FIELD The ARBITRATION FIELD consists of the IDENTIFIER and the RTR-BIT.
Sep.
Sep. 1991 BOSCH Data Frame Part A - page 13 DATA FIELD The DATA FIELD consists of the data to be transferred within a DATA FRAME. It can contain from 0 to 8 bytes, which each contain 8 bits which are transferred MSB first. CRC FIELD contains the CRC SEQUENCE followed by a CRC DELIMITER.
Sep. 1991 BOSCH Data Frame Part A - page 14 IF CRCNXT THEN CRC_RG(14:0) = CRC_RG(14:0) EXOR (4599hex); ENDIF UNTIL (CRC SEQUENCE starts or there is an ERROR condition) After the transmission / reception of the last bit of the DATA FIELD, CRC_RG contains the CRC sequence. CRC DELIMITER The CRC SEQUENCE is followed by the CRC DELIMITER which consists of a single ’recessive’ bit. ACK FIELD The ACK FIELD is two bits long and contains the ACK SLOT and the ACK DELIMITER.
Sep. 1991 BOSCH Remote Frame Part A - page 15 3.1.2 REMOTE FRAME A station acting as a RECEIVER for certain data can initiate the transmission of the respective data by its source node by sending a REMOTE FRAME. A REMOTE FRAME is composed of six different bit fields: START OF FRAME, ARBITRATION FIELD, CONTROL FIELD, CRC FIELD, ACK FIELD, END OF FRAME. Contrary to DATA FRAMEs, the RTR bit of REMOTE FRAMEs is ’recessive’.
Sep. 1991 BOSCH Error Frame Part A - page 16 3.1.3 ERROR FRAME The ERROR FRAME consists of two different fields. The first field is given by the superposition of ERROR FLAGs contributed from different stations. The following second field is the ERROR DELIMITER.
Sep. 1991 BOSCH Overload Frame Part A - page 17 of equal polarity, beginning at the start of the PASSIVE ERROR FLAG. The PASSIVE ERROR FLAG is complete when these 6 equal bits have been detected. ERROR DELIMITER The ERROR DELIMITER consists of eight ’recessive’ bits. After transmission of an ERROR FLAG each station sends ’recessive’ bits and monitors the bus until it detects a ’recessive’ bit. Afterwards it starts transmitting seven more ’recessive’ bits. 3.1.
Sep. 1991 BOSCH Overload Frame Part A - page 18 OVERLOAD FLAG consists of six ’dominant’ bits. The overall form corresponds to that of the ACTIVE ERROR FLAG. The OVERLOAD FLAG’s form destroys the fixed form of the INTERMISSION field. As a consequence, all other stations also detect an OVERLOAD condition and on their part start transmission of an OVERLOAD FLAG.
Sep. 1991 BOSCH Interframe Space Part A - page 19 For stations which are not ’error passive’ or have been RECEIVER of the previous message: Frame INTERFRAME SPACE Intermission Frame Bus Idle For ’error passive’ stations which have been TRANSMITTER of the previous message: INTERFRAME SPACE Frame Frame Bus Idle Suspend Transmission Intermission INTERMISSION consists of three ’recessive’ bits. During INTERMISSION no station is allowed to start transmission of a DATA FRAME or REMOTE FRAME.
BOSCH Sep. 1991 Transmitter / Receiver Part A - page 20 3.2 Definition of TRANSMITTER / RECEIVER TRANSMITTER A unit originating a message is called “TRANSMITTER” of that message. The unit stays TRANSMITTER until the bus is idle or the unit loses ARBITRATION. RECEIVER A unit is called “RECEIVER” of a message, if it is not TRANSMITTER of that message and the bus is not idle.
BOSCH Sep. 1991 Message Validation Part A - page 21 4 MESSAGE VALIDATION The point of time at which a message is taken to be valid, is different for the transmitter and the receivers of the message. Transmitter: The message is valid for the transmitter, if there is no error until the end of END OF FRAME. If a message is corrupted, retransmission will follow automatically and according to prioritization.
Sep. 1991 BOSCH Coding Part A - page 22 5 CODING BIT STREAM CODING The frame segments START OF FRAME, ARBITRATION FIELD, CONTROL FIELD, DATA FIELD and CRC SEQUENCE are coded by the method of bit stuffing. Whenever a transmitter detects five consecutive bits of identical value in the bit stream to be transmitted it automatically inserts a complementary bit in the actual transmitted bit stream.
Sep. 1991 BOSCH Error Handling Part A - page 23 6 ERROR HANDLING 6.1 Error Detection There are 5 different error types (which are not mutually exclusive): • BIT ERROR A unit that is sending a bit on the bus also monitors the bus. A BIT ERROR has to be detected at that bit time, when the bit value that is monitored is different from the bit value that is sent. An exception is the sending of a ’recessive’ bit during the stuffed bit stream of the ARBITRATION FIELD or during the ACK SLOT.
Sep. 1991 BOSCH Fault Confinement Part A - page 24 7 FAULT CONFINEMENT With respect to fault confinement a unit may be in one of three states: • ’error active’ • ’error passive’ • ’bus off’ An ’error active’ unit can normally take part in bus communication and sends an ACTIVE ERROR FLAG when an error has been detected. An ’error passive’ unit must not send an ACTIVE ERROR FLAG. It takes part in bus communication but when an error has been detected only a PASSIVE ERROR FLAG is sent.
BOSCH Sep. 1991 Fault Confinement Part A - page 25 ERROR because of not detecting a ’dominant’ ACK and does not detect a ’dominant’ bit while sending its PASSIVE ERROR FLAG. Exception 2: If the TRANSMITTER sends an ERROR FLAG because a STUFF ERROR occurred during ARBITRATION whereby the STUFFBIT is located before the RTR bit, and should have been ’recessive’, and has been sent as ’recessive’ but monitored as ’dominant’. In exceptions 1 and 2 the TRANSMIT ERROR COUNT is not changed. 4.
BOSCH Sep. 1991 Fault Confinement Part A - page 26 10. A node is ’bus off’ when the TRANSMIT ERROR COUNT is greater than or equal to 256. 11. An ’error passive’ node becomes ’error active’ again when both the TRANSMIT ERROR COUNT and the RECEIVE ERROR COUNT are less than or equal to 127. 12. An node which is ’bus off’ is permitted to become ’error active’ (no longer ’bus off’) with its error counters both set to 0 after 128 occurrence of 11 consecutive ’recessive’ bits have been monitored on the bus.
Sep. 1991 BOSCH Fault Confinement Part A - page 27 8 BIT TIMING REQUIREMENTS NOMINAL BIT RATE The Nominal Bit Rate is the number of bits per second transmitted in the absence of resynchronization by an ideal transmitter. NOMINAL BIT TIME NOMINAL BIT TIME = 1 / NOMINAL BIT RATE The Nominal Bit Time can be thought of as being divided into separate non-overlapping time segments.
Sep. 1991 BOSCH Bit Timing Part A - page 28 It is twice the sum of the signal’s propagation time on the bus line, the input comparator delay, and the output driver delay. PHASE SEG1, PHASE SEG2 These Phase-Buffer-Segments are used to compensate for edge phase errors. These segments can be lengthened or shortened by resynchronization. SAMPLE POINT The SAMPLE POINT is the point of time at which the bus level is read and interpreted as the value of that respective bit.
Sep. 1991 BOSCH Bit Timing Part A - page 29 SYNCHRONIZATION HARD SYNCHRONIZATION After a HARD SYNCHRONIZATION the internal bit time is restarted with SYNC_SEG. Thus HARD SYNCHRONIZATION forces the edge which has caused the HARD SYNCHRONIZATION to lie within the SYNCHRONIZATION SEGMENT of the restarted bit time. RESYNCHRONIZATION JUMP WIDTH As a result of RESYNCHRONIZATION PHASE_SEG1 may be lengthened or PHASE_SEG2 may be shortened.
BOSCH Sep. 1991 Bit Timing Part A - page 30 SYNCHRONIZATION RULES HARD SYNCHRONIZATION and RESYNCHRONIZATION are the two forms of SYNCHRONIZATION. They obey the following rules: 1. Only one SYNCHRONIZATION within one bit time is allowed. 2. An edge will be used for SYNCHRONIZATION only if the value detected at the previous SAMPLE POINT (previous read bus value) differs from the bus value immediately after the edge. 3.
BOSCH Sep. 1991 Oscillator Tolerance Part A - page 31 9 INCREASING CAN OSCILLATOR TOLERANCE This section describes an upwards compatible modification of the CAN protocol, as specified in sections 1 to 8. 9.1 Protocol Modifications In order to increase the maximum oscillator tolerance from the 0.5% currently possible to 1.
PART B
BOSCH Sep. 1991 Content Part B - page 33 1 INTRODUCTION................................................................................34 2 BASIC CONCEPTS............................................................................36 3 MESSAGE TRANSFER .....................................................................42 3.1 Frame Formats...................................................................................42 3.2 Frame Types ........................................................
BOSCH Sep. 1991 Introduction Part B - page 34 1 INTRODUCTION The Controller Area Network (CAN) is a serial communications protocol which efficiently supports distributed realtime control with a very high level of security. Its domain of application ranges from high speed networks to low cost multiplex wiring. In automotive electronics, engine control units, sensors, anti-skid-systems, etc. are connected using CAN with bitrates up to 1 Mbit/s.
BOSCH Sep. 1991 Introduction Part B - page 35 course, has to be the same for all nodes. There may be, however, much freedom in selecting a physical layer. The scope of this specification is to define the MAC sublayer and a small part of the LLC sublayer of the Data Link Layer and to describe the consequences of the CAN protocol on the surrounding layers.
BOSCH Sep.
BOSCH Sep.
BOSCH Sep. 1991 Basic Concepts Part B - page 38 The scope of this specification is to define the Data Link Layer and the consequences of the CAN protocol on the surrounding layers. Messages Information on the bus is sent in fixed format messages of different but limited length (see section 3: Message Transfer). When the bus is free any connected unit may start to transmit a new message. Information Routing In CAN systems a CAN node does not make use of any information about the system configuration (e.
BOSCH Sep. 1991 Basic Concepts Part B - page 39 Remote Data Request By sending a REMOTE FRAME a node requiring data may request another node to send the corresponding DATA FRAME. The DATA FRAME and the corresponding REMOTE FRAME are named by the same IDENTIFIER. Multimaster When the bus is free any unit may start to transmit a message. The unit with the message of higher priority to be transmitted gains bus access. Arbitration Whenever the bus is free, any unit may start to transmit a message.
BOSCH Sep. 1991 Basic Concepts Part B - page 40 Total residual error probability for undetected corrupted messages: less than message error rate * 4.7 * 10-11. Error Signalling and Recovery Time Corrupted messages are flagged by any node detecting an error. Such messages are aborted and will be retransmitted automatically. The recovery time from detecting an error until the start of the next message is at most 31 bit times, if there is no further error.
BOSCH Sep. 1991 Basic Concepts Part B - page 41 without any internal activity and with disconnected bus drivers. The sleep mode is finished with a wake-up by any bus activity or by internal conditions of the system.
BOSCH Sep. 1991 Message Transfer Part B - page 42 3 MESSAGE TRANSFER 3.1 Frame Formats There are two different formats which differ in the length of the IDENTIFIER field: Frames with the number of 11 bit IDENTIFIER are denoted Standard Frames. In contrast, frames containing 29 bit IDENTIFIER are denoted Extended Frames. 3.2 Frame Types Message transfer is manifested and controlled by four different frame types: A DATA FRAME carries data from a transmitter to the receivers.
Sep. 1991 BOSCH Data Frame Interframe Space Part B - page 43 Interframe Space DATA FRAME or Overload Frame Start of Frame Arbitration Field Control Field Data Field CRC Field ACK Field End of Frame START OF FRAME (Standard Format as well as Extended Format) The START OF FRAME (SOF) marks the beginning of DATA FRAMES and REMOTE FRAMEs. It consists of a single ’dominant’ bit. A station is only allowed to start transmission when the bus is idle (see ’INTERFRAME Spacing’).
Sep. 1991 BOSCH Data Frame Part B - page 44 In order to distinguish between Standard Format and Extended Format the reserved bit r1 in previous CAN specifications version 1.0-1.2 now is denoted as IDE Bit.
BOSCH Sep. 1991 Data Frame Part B - page 45 Base ID The Base ID consists of 11 bits. It is transmitted in the order from ID-28 to ID-18. It is equivalent to format of the Standard Identifier. The Base ID defines the Extended Frame’s base priority. Extended ID The Extended ID consists of 18 bits. It is transmitted in the order of ID-17 to ID-0. In a Standard Frame the IDENTIFIER is followed by the RTR bit.
Sep. 1991 BOSCH Data Frame Part B - page 46 above), and the reserved bit r0. Frames in the Extended Format include the DATA LENGTH CODE and two reserved bits r1 and r0. The reserved bits have to be sent ’dominant’, but receivers accept ’dominant’ and ’recessive’ bits in all combinations.
BOSCH Sep. 1991 Data Frame DATA FRAME: admissible numbers of data bytes: Other values may not be used. Part B - page 47 {0,1,....,7,8}. DATA FIELD (Standard Format as well as Extended Format) The DATA FIELD consists of the data to be transferred within a DATA FRAME. It can contain from 0 to 8 bytes, which each contain 8 bits which are transferred MSB first. CRC FIELD (Standard Format as well as Extended Format) contains the CRC SEQUENCE followed by a CRC DELIMITER.
BOSCH Sep. 1991 Data Frame Part B - page 48 REPEAT CRCNXT = NXTBIT EXOR CRC_RG(14); CRC_RG(14:1) = CRC_RG(13:0); // shift left by CRC_RG(0) = 0; // 1 position IF CRCNXT THEN CRC_RG(14:0) = CRC_RG(14:0) EXOR (4599hex); ENDIF UNTIL (CRC SEQUENCE starts or there is an ERROR condition) After the transmission / reception of the last bit of the DATA FIELD, CRC_RG contains the CRC sequence.
BOSCH Sep. 1991 Remote Frame Part B - page 49 END OF FRAME (Standard Format as well as Extended Format) Each DATA FRAME and REMOTE FRAME is delimited by a flag sequence consisting of seven ’recessive’ bits. 3.2.2 REMOTE FRAME A station acting as a RECEIVER for certain data can initiate the transmission of the respective data by its source node by sending a REMOTE FRAME. A REMOTE FRAME exists in both Standard Format and Extended Format.
BOSCH Sep. 1991 Error Frame Part B - page 50 The polarity of the RTR bit indicates whether a transmitted frame is a DATA FRAME (RTR bit ’dominant’) or a REMOTE FRAME (RTR bit ’recessive’). 3.2.3 ERROR FRAME The ERROR FRAME consists of two different fields. The first field is given by the superposition of ERROR FLAGs contributed from different stations. The following second field is the ERROR DELIMITER.
BOSCH Sep. 1991 Overload Frame Part B - page 51 FLAG. So the sequence of ’dominant’ bits which actually can be monitored on the bus results from a superposition of different ERROR FLAGs transmitted by individual stations. The total length of this sequence varies between a minimum of six and a maximum of twelve bits. An ’error passive’ station detecting an error condition tries to signal this by transmission of a PASSIVE ERROR FLAG.
BOSCH Sep. 1991 Overload Frame Part B - page 52 At most two OVERLOAD FRAMEs may be generated to delay the next DATA or REMOTE FRAME. End of Frame or Error Delimiter or Overload Delimiter OVERLOAD FRAME Overload Flag superposition of Overload Flags Inter Frame Space or Overload Frame Overload Delimiter OVERLOAD FLAG consists of six ’dominant’ bits. The overall form corresponds to that of the ACTIVE ERROR FLAG. The OVERLOAD FLAG’s form destroys the fixed form of the INTERMISSION field.
Sep. 1991 BOSCH Interframe Space Part B - page 53 3.2.5 INTERFRAME SPACING DATA FRAMEs and REMOTE FRAMEs are separated from preceding frames whatever type they are (DATA FRAME, REMOTE FRAME, ERROR FRAME, OVERLOAD FRAME) by a bit field called INTERFRAME SPACE. In contrast, OVERLOAD FRAMEs and ERROR FRAMEs are not preceded by an INTERFRAME SPACE and multiple OVERLOAD FRAMEs are not separated by an INTERFRAME SPACE.
BOSCH Sep. 1991 Interframe Space Part B - page 54 Note: If a CAN node has a message waiting for transmission and it samples a dominant bit at the third bit of INTERMISSION, it will interpret this as a START OF FRAME bit, and, with the next bit, start transmitting its message with the first bit of its IDENTIFIER without first transmitting a START OF FRAME bit and without becoming receiver. BUS IDLE The period of BUS IDLE may be of arbitrary length.
BOSCH Sep. 1991 Conformance Part B - page 55 3.3 Conformance with regard to Frame Format The Standard Format is equivalent to the Data/Remote Frame Format as it is described in the CAN Specification 1.2. In contrast the Extended Format is a new feature of the CAN protocol. In order to allow the design of relatively simple controllers, the implementation of the Extended Format to its full extend is not required (e.g.
BOSCH Sep. 1991 Message Filtering Part B - page 56 4 MESSAGE FILTERING Message filtering is based upon the whole Identifier. Optional mask registers that allow any Identifier bit to be set ’don’t care’ for message filtering, may be used to select groups of Identifiers to be mapped into the attached receive buffers. If mask registers are implemented every bit of the mask registers must be programmable, i.e. they can be enabled or disabled for message filtering.
BOSCH Sep. 1991 Message Validation Part B - page 57 5 MESSAGE VALIDATION The point of time at which a message is taken to be valid, is different for the transmitter and the receivers of the message. Transmitter: The message is valid for the transmitter, if there is no error until the end of END OF FRAME. If a message is corrupted, retransmission will follow automatically and according to prioritization.
BOSCH Sep. 1991 Coding Part B - page 58 6 CODING BIT STREAM CODING The frame segments START OF FRAME, ARBITRATION FIELD, CONTROL FIELD, DATA FIELD and CRC SEQUENCE are coded by the method of bit stuffing. Whenever a transmitter detects five consecutive bits of identical value in the bit stream to be transmitted it automatically inserts a complementary bit in the actual transmitted bit stream.
BOSCH Sep. 1991 Error Handling Part B - page 59 7 ERROR HANDLING 7.1 Error Detection There are 5 different error types (which are not mutually exclusive): • BIT ERROR A unit that is sending a bit on the bus also monitors the bus. A BIT ERROR has to be detected at that bit time, when the bit value that is monitored is different from the bit value that is sent. An exception is the sending of a ’recessive’ bit during the stuffed bit stream of the ARBITRATION FIELD or during the ACK SLOT.
BOSCH Sep. 1991 Error Handling Part B - page 60 7.2 Error Signalling A station detecting an error condition signals this by transmitting an ERROR FLAG. For an ’error active’ node it is an ACTIVE ERROR FLAG, for an ’error passive’ node it is a PASSIVE ERROR FLAG. Whenever a BIT ERROR, a STUFF ERROR, a FORM ERROR or an ACKNOWLEDGMENT ERROR is detected by any station, transmission of an ERROR FLAG is started at the respective station at the next bit.
BOSCH Sep. 1991 Fault Confinement Part B - page 61 8 FAULT CONFINEMENT With respect to fault confinement a unit may be in one of three states: • ’error active’ • ’error passive’ • ’bus off’ An ’error active’ unit can normally take part in bus communication and sends an ACTIVE ERROR FLAG when an error has been detected. An ’error passive’ unit must not send an ACTIVE ERROR FLAG. It takes part in bus communication, but when an error has been detected only a PASSIVE ERROR FLAG is sent.
BOSCH Sep. 1991 Fault Confinement Part B - page 62 Exception 1: If the TRANSMITTER is ’error passive’ and detects an ACKNOWLEDGMENT ERROR because of not detecting a ’dominant’ ACK and does not detect a ’dominant’ bit while sending its PASSIVE ERROR FLAG. Exception 2: If the TRANSMITTER sends an ERROR FLAG because a STUFF ERROR occurred during ARBITRATION, and should have been ’recessive’, and has been sent as ’recessive’ but monitored as ’dominant’.
BOSCH Sep. 1991 Fault Confinement Part B - page 63 10. A node is ’bus off’ when the TRANSMIT ERROR COUNT is greater than or equal to 256. 11. An ’error passive’ node becomes ’error active’ again when both the TRANSMIT ERROR COUNT and the RECEIVE ERROR COUNT are less than or equal to 127. 12. An node which is ’bus off’ is permitted to become ’error active’ (no longer ’bus off’) with its error counters both set to 0 after 128 occurrence of 11 consecutive ’recessive’ bits have been monitored on the bus.
BOSCH Sep. 1991 Oscillator Tolerance Part B - page 64 9 OSCILLATOR TOLERANCE A maximum oscillator tolerance of 1.
Sep. 1991 BOSCH Bit Timing Part B - page 65 10 BIT TIMING REQUIREMENTS NOMINAL BIT RATE The Nominal Bit Rate is the number of bits per second transmitted in the absence of resynchronization by an ideal transmitter. NOMINAL BIT TIME NOMINAL BIT TIME = 1 / NOMINAL BIT RATE The Nominal Bit Time can be thought of as being divided into separate non-overlapping time segments.
BOSCH Sep. 1991 Bit Timing Part B - page 66 PROP SEG This part of the bit time is used to compensate for the physical delay times within the network. It is twice the sum of the signal’s propagation time on the bus line, the input comparator delay, and the output driver delay. PHASE SEG1, PHASE SEG2 These Phase-Buffer-Segments are used to compensate for edge phase errors. These segments can be lengthened or shortened by resynchronization.
BOSCH Sep. 1991 Bit Timing Part B - page 67 The total number of TIME QUANTA in a bit time has to be programmable at least from 8 to 25. Note: It is often intended that control units do not make use of different oscillators for the local CPU and its communication device. Therefore the oscillator frequency of a CAN device tends to be that of the local CPU and is determined by the requirements of the control unit. In order to derive the desired bitrate, programmability of the bittiming is necessary.
BOSCH Sep. 1991 Bit Timing Part B - page 68 PHASE ERROR of an edge The PHASE ERROR of an edge is given by the position of the edge relative to SYNC_SEG, measured in TIME QUANTA. The sign of PHASE ERROR is defined as follows: • e = 0 if the edge lies within SYNC_SEG. • e > 0 if the edge lies before the SAMPLE POINT. • e < 0 if the edge lies after the SAMPLE POINT of the previous bit.
BOSCH Differences of CAN Specification Sep. 1991 Versions 1.2 and 2.0 -1- Differences Amendment of CAN Specification 1.2 has been included in part B of this Specification. The respective alterations are marked with an asterisk. page B-25 and page B-62: Alteration of Fault Confinement rule 6 page B-34 to B-37: The layered architecture of CAN was described by different layers according to the ISO/OSI Reference Model.
BOSCH Differences of CAN Specification Sep. 1991 Versions 1.2 and 2.0 -2- page B-56: Chapter 4 “Message Filtering” was introduced recently. page B-64:* Note to the compatibility of the protocol modified according to the Oscillator Tolerances. page B-67: Note to the bittiming of implementations for ECUs without local CPU.