`
`CAN Specification
`
`Version 2.0
`
`1991, Robert Bosch GmbH, Postfach 50, D-7000 Stuttgart 1
`
`Petitioner's Exhibit 1010
`Page | of 72
`
`Petitioner's Exhibit 1010
`Page 1 of 72
`
`
`
`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 anyliability for errors.
`
`Imported into Framemaker4 by:
`
`Chuck Powers, Motorola MCTG Multiplex Applications, April 5,1995.
`
`Petitioner's Exhibit 1010
`Page 2 of 72
`
`Petitioner's Exhibit 1010
`Page 2 of 72
`
`
`
`BOSCH
`
`CANSpecification 2.0
`
`Sep. 1991
`
`page1
`
`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. These applications
`can be realized with CAN more comfortably,
`if the address range that originally has
`been defined by 11 identifier bits is enlarged
`Therefore a second message format (’extended format’) is introduced that provides a
`larger address range defined by 29 bits. This will relieve the system designer from
`compromises with respect to defining well-structured naming schemes. Users of CAN
`who do not need the identifier range offered by the extended format, can rely on the
`conventional 11 bit identifier range (’standard format’) further on.
`In this case they can
`make use of the CAN implementations that are already available on the market, or of
`new controllers that implement both formats.
`In order to distinguish standard and extended format the first reserved bit of the CAN
`messageformat, as it is defined in CAN Specification 1.2, is used. This is done in such
`a way that the message format in CAN Specification 1.2 is equivalent to the standard
`format and thereforeis still valid. Furthermore, the extended format has been defined
`so that messagesin standard format and extended format can coexist within the same
`network.
`
`use of the extended format. ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30
`
`This CAN Specification consists of two parts, with
`
`«
`
`¢
`
`Part A describing the CAN message formatasit is defined in CAN Specification 1.2;
`
`Part B describing both standard and extended messageformats.
`
`In order to be compatible with this CAN Specification 2.0 it
`implementation be compatible with either Part A or Part B.
`
`is required that a CAN
`
`Note
`
`CAN implementations that are designed according to part A of this or according to
`previous CAN Specifications, and CAN implementations that are designed according to
`part B of this specification can communicate with each other as long asit is not made
`
`Petitioner's Exhibit 1010
`Page 3 of 72
`
`Petitioner's Exhibit 1010
`Page 3 of 72
`
`
`
`PART A
`
`Petitioner's Exhibit 1010
`Page 4 of 72
`
`Petitioner's Exhibit 1010
`Page 4 of 72
`
`
`
`BOSCH
`
`Contents
`
`Sep. 1991
`
`Part A - page 3
`
`INTRODUCTION. .....0....eeeeeeeeeeeeee eee eneeeeeeneeeeeeeeaeeeeseaaeeeeteeeeesenneeeeneaes 4
`
`BASIC CONCEPTS. .000.....eeccceeeeeeeeeeneeeeeeeeeeeeeaeeeeseaeeeeeeenaeeeeeseeeeneeas 5
`
`MESSAGE TRANSFER ..........::c:cceeeeeceeeeeeeeeeeeeeaeeeeeeneeeeeeeeaeeeeeeneeeenees 10
`
`FAME TYPOS ........cccccecee cece eee eee ee eeeeeeeeeaaaeaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeennaaaaes 10
`
`DATA FRAME .........:cecceceeeeeeeeeeeeeeeeeeeaeeeeeeaeeeeeeeeeeeeseeaaeeeeeeieeeeeeseeeeeteas 10
`
`REMOTE FRAME ...........2::::cccceeeeeeeeceeeeeeeeeeeeeeeeeeeeseceaaeeeeeeeeeeenneaeeeetees 15
`
`ERROR FRAME ...........:ccccccceeeeeeeeeeeeeneeeeeeaeeeeseeneeeeseeaaeeeeeeeeeeeeneaeereneas 16
`
`OVERLOAD FRAME ..........2.ccc:cccceeeeceeeeeeeeeeeeeeeeeaeeeeeeseseeneeeeeesesennnneeees 17
`
`INTERFRAME SPACING. .........ccccceececeeeeeeeeeeeeeeneeeeeeeneeeeeseeeeeeeeeeeeeeneas 18
`
`Definition of TRANSMITTER/RECEIVER ............:.::::eeeeeeeeeeeeeeeeeeeeees 20
`
`MESSAGE VALIDATION ...........cccccccccecececcceccecececececceeececenececeeeaeeseeeaes 21
`
`LO) BD) | NCee 22
`
`ERROR HANDLING. ..........0..ccccceccceccecececececccecesececececeaeeeseceeececeneeeerers 23
`
`Error Detection ......... cee cccccecccecceececceceecceceeuecaceceeeaeeeeueeaeecuecaeeeneeaeeseeeaes 23
`
`
`
`Error SiQhallling.............ccccccceeceeeeeeeeeeeeeeeeennaeeceeeeeeeeeeeeeeeeeeeeeseeeeseeeseeea 23
`
`FAULT CONFINEMENT ............2..02-ccccccecceeceecceeeccecececeeceeceaeecneeseeenecens 24
`
`BIT TIMING REQUIREMENTS......... eee eeeeeeeeeeeeeeeeeeeneeeeeeeneeeeeeaas 27
`
`INCREASING CAN OSCILLATOR TOLERANCE ............::::eeeeeeereee 31
`
`Protocol Modifications 0.0.0.0... ccc ccceceeeceeeceecceeceuecececaeeceecaseeaeeeaeeeneeaeeeas 31
`
`ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1
`
`Petitioner's Exhibit 1010
`Page 5 of 72
`
`Petitioner's Exhibit 1010
`Page 5 of 72
`
`
`
`BOSCH
`
`Introduction
`
`Sep. 1991
`
`Part A - page 4
`
`1 INTRODUCTION
`
`e
`
`¢
`
`¢
`
`the (CAN-) object layer
`
`the (CAN-) transfer layer
`
`the physical layer
`
`The object layer and the transfer layer comprise all services and functions of the data
`link layer defined by the ISO/OSI model. The scopeof the object layer includes
`
`¢
`
`*
`
`*
`
`finding which messagesareto be transmitted
`
`deciding which messagesreceived bythe transfer layer are actually to be used,
`
`providing an interface to the application layer related hardware.
`
`is a serial communications protocol which
`The Controller Area Network (CAN)
`efficiently supports distributed realtime control with a very high level of security.
`Its domain of application ranges from high speed networksto 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. At the same timeit is cost effective to
`build into vehicle body electronics, e.g. lamp clusters, electric windows etc. to replace
`the wiring harness otherwise required.
`The intention of this specification is to achieve compatibility between any two CAN
`implementations. Compatibility, however, has different aspects regarding e.g. electrical
`features and the interpretation of data to be transferred. To achieve design
`transparency and implementation flexibility CAN has been subdivided into different
`layers.
`
`the CAN protocol on the surrounding layers. ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1
`
`There is much freedom in defining object handling. The scope of the transfer layer
`mainly is the transfer protocol,
`i.e. controlling the framing, performing arbitration, error
`checking, error signalling and fault confinement. Within the transfer layer it is decided
`whether the bus is free for starting a new transmission or whether a reception is just
`starting. Also some general features of the bit
`timing are regarded as part of the
`transfer layer.
`It
`is in the nature of the transfer layer that there is no freedom for
`modifications.
`The scope of the physical layer is the actual transfer of the bits between the different
`nodes with respect to all electrical properties. Within one network the physical layer, of
`course, has to be the samefor all nodes. There may be, however, much freedom in
`selecting a physical layer.
`The scope of this specification is to define the transfer layer and the consequences of
`
`Petitioner's Exhibit 1010
`Page 6 of 72
`
`Petitioner's Exhibit 1010
`Page 6 of 72
`
`
`
`BOSCH
`
`Basic Concepts
`
`Sep. 1991
`
`Part A - page 5
`
`2 BASIC CONCEPTS
`
`CANhasthefollowing properties
`
`prioritization of messages
`
`guarantee of latency times
`
`configuration flexibility
`
`multicast reception with time synchronization
`
`system wide data consistency
`
`multimaster
`
`error detection and signalling
`
`automatic retransmission of corrupted messagesas soon asthe bus is idle again
`
`distinction between temporary errors and permanentfailures of nodes and
`autonomous switching off of defect nodes
`
` ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1
`
`- Fault Confinement
`- Error Detection and Signalling
`- Message Validation
`- Acknowledgment
`- Arbitration
`- Message Framing
`- Transfer Rate and Timing
`
`Layered Structure of a CAN Node
`
`
`
`Application Layer
`
`
`Object Layer
`
`- Message Filtering
`- Message and Status Handling
`
`Transfer Layer
`
`Physical Layer
`
`- Signal Level and Bit Representation
`- Transmission Medium
`
`
`
`Petitioner's Exhibit 1010
`Page 7 of 72
`
`Petitioner's Exhibit 1010
`Page 7 of 72
`
`
`
`BOSCH
`
`Basic Concepts
`
`Sep. 1991
`
`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 signallevel implementations to be optimized for their application.
`
`The Object Layer is concerned with message filtering as well as status and
`message handling.
`
`The scope of this specification is to define the transfer layer and the consequencesof
`the CAN protocol on the surrounding layers.
`
`Messages
`Information on the bus is sent in fixed format messagesof 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.g. station addresses). This has several important consequences.
`
`The Transfer Layer represents the kernel of the CANprotocol. It presents
`messagesreceived to the object layer and accepts messagesto be transmitted
`from the object layer. The transfer layer is responsible for bit timing and
`synchronization, message framing, arbitration, acknowledgment, error detection and
`signalling, and fault confinement.
`
`handling. ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1
`
`System Flexibility: Nodes can be added to the CAN network without requiring
`any change in the software or hardware of any node and application layer.
`
`Message Routing: The content of a message is named by an IDENTIFIER. The
`IDENTIFIER doesnot indicate the destination of the message, but describes the
`meaning of the data, so that all nodes in the network are able to decide by
`MESSAGE FILTERING whetherthe data is to be acted upon by them ornot.
`
`Multicast: As a consequence of the concept of MESSAGE FILTERING any
`numberof nodes can receive and simultaneously act upon the same message.
`
`is guaranteed that a message is
`Data Consistency: Within a CAN network it
`simultaneously accepted either by all nodes or by no node. Thus data
`consistency of a system is achieved by the concepts of multicast and by error
`
`Petitioner's Exhibit 1010
`Page 8 of 72
`
`Petitioner's Exhibit 1010
`Page 8 of 72
`
`
`
`BOSCH
`
`Basic Concepts
`
`Sep. 1991
`
`Part A - page 7
`
`Bit rate
`The speed of CAN maybedifferent in different systems. However, in a given system
`the bitrate is uniform andfixed.
`
`Priorities
`The IDENTIFIER defines a static messagepriority during bus access.
`
`Remote Data Request
`By sending a REMOTE FRAMEa noderequiring 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
`messageof higherpriority to be transmitted gains bus access.
`
`- Message Frame Check ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1
`
`Arbitration
`Wheneverthe busis free, any unit maystart to transmit a message. If 2 or more units
`start transmitting messages at the same time, the bus access conflict is resolved by
`bitwise arbitration using the IDENTIFIER. The mechanism of arbitration guarantees that
`neither information nor time is lost. If a DATA FRAME and a REMOTE FRAME with the
`same IDENTIFIER areinitiated at the same time, the DATA FRAME prevails over the
`REMOTE FRAME. During arbitration every transmitter compares the level of the bit
`transmitted with the level that is monitored on the bus. If these levels are equal the unit
`may continue to send. When a ’recessive’
`level
`is sent and a ‘dominant’
`level
`is
`monitored (see Bus Values), the unit has lost arbitration and must withdraw without
`sending one morebit.
`
`Safety
`In order to achieve the utmost safety of data transfer, powerful measures for error
`detection, signalling and self-checking are implemented in every CAN node.
`
`Error Detection
`For detecting errors the following measures have been taken:
`- Monitoring (transmitters compare the bit levels to be transmitted with the bit
`levels detected on the bus)
`- Cyclic Redundancy Check
`- Bit Stuffing
`
`Petitioner's Exhibit 1010
`Page 9 of 72
`
`Petitioner's Exhibit 1010
`Page 9 of 72
`
`
`
`Basic Concepts
`
`Sep. 1991
`Part A - page 8
`
`Performance of Error Detection
`The error detection mechanisms havethe 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 messageare detected.
`errors of any odd numberin a message aredetected.
`
`Total residual error probability for undetected corrupted messages: less than
`
`messageerrorrate * 4.7 * 10777,
`
`levels are not given in this specification. ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1
`
`Bus values
`The bus can have one of two complementary logical values: ’dominant’ or ’recessive’.
`During simultaneous transmission of ’dominant’ and ’recessive’ bits, the resulting bus
`value will be ’dominant’. For example,
`in case of a wired-AND implementation of the
`bus, the ‘dominant’ level would be represented by a logical ’0’ and the ’recessive’level
`by a logical 1’. Physical states (e.g. electrical voltage,
`light) that represent the logical
`
`Error Signalling and Recovery Time
`Corrupted messagesare 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 29 bit times,
`if there is no further
`error.
`
`Fault Confinement
`CAN nodes are able to distinguish short disturbances from permanent
`Defective nodes are switched off.
`
`failures.
`
`Connections
`The CAN serial communication link is a bus to which a number of units may be
`connected. This number has no theoretical limit. Practically the total number of units
`will be limited by delay times and/or electrical loads on the bus line.
`
`Single Channel
`The bus consists of a single channel that carries bits. From this data resynchronization
`information can be derived. The wayin which this channel is implemented is not fixed
`in this specification. E.g. single wire (plus ground), two differential wires, optical fibres,
`etc.
`
`Petitioner's Exhibit 1010
`Page 10 of 72
`
`Petitioner's Exhibit 1010
`Page 10 of 72
`
`
`
`BOSCH
`
`Basic Concepts
`
`Sleep Mode / Wake-u
`To reduce the system’s power consumption, a CAN-device may be setinto 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. On
`wake-up, the internal activity is restarted, although the transfer layer will be waiting for
`the system’s oscillator to stabilize and it will then wait until it has synchronized itself to
`the bus activity (by checking for eleven consecutive ‘recessive’ bits), before the bus
`drivers are set to "on-bus" again.
`In order to wake up other nodes of the system, which are in sleep-mode, a special
`wake-up message with the dedicated,
`lowest possible IDENTIFIER (rrr rrrd rrrr;
`r =
`
`‘recessive’ d = ’dominant’) may be used. ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1
`
`Acknowledgment
`the message being received and will
`All
`receivers check the consistency of
`acknowledge a consistent message and flag an inconsistent message.
`
`Sep. 1991
`
`Part A - page 9
`
`Petitioner's Exhibit 1010
`Page 11 of 72
`
`Petitioner's Exhibit 1010
`Page 11 of 72
`
`
`
`BOSCH
`
`Message Transfer
`
`Sep. 1991
`
`Part A - page 10
`
`3 MESSAGE TRANSFER
`
`3.1 Frame Types
`
`Messagetransfer is manifested and controlled by four different frame types:
`
`DATA FRAMEs and REMOTE FRAMEsare separated from preceding frames by an
`INTERFRAME SPACE.
`
`3.1.1 DATA FRAME
`
`A DATA FRAME is composedof sevendifferentbit fields:
`START OF FRAME, ARBITRATION FIELD, CONTROL FIELD, DATA FIELD, CRC
`FIELD, ACK FIELD, END OF FRAME. The DATAFIELDcanbeof length zero.
`
`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.
`An OVERLOAD FRAME is used to provide for an extra delay between the preceding
`and the succeeding DATA or REMOTE FRAMEs.
`
`End of Frame ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1
`
`Interframe
`Space
`
`DATA FRAME
`
`
`
`|
`
`Start of Frame
`
`Arbitration Field
`
`Control Field
`
`|
`
`
`
`Data Field
`
`CRCField
`
`ACK Field
`
`Interframe
`Space
`
`or
`
`Overload
`Frame
`
`
`
`Petitioner's Exhibit 1010
`Page 12 of 72
`
`Petitioner's Exhibit 1010
`Page 12 of 72
`
`
`
`BOSCH
`
`Data Frame
`
`Sep. 1991
`
`Part A - page 11
`
`ARBITRATION FIELD
`The ARBITRATION FIELD consists of the IDENTIFIER and the RTR-BIT.
`
`Interframe
`Space
`
`Start
`of Frame
`
`Control
`Field
`
`
`ARBITRATION FIELD
`
`RTRBit
`
`Identifier
`
`START OF FRAME
`marks the beginning of DATA FRAMES and REMOTE FRAMEs. It consists of a single
`‘dominantbit.
`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 transmissionfirst.
`
`FIELD. ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1
`
`IDENTIFIER
`The IDENTIFIER’s length is 11 bits. These bits are transmitted in the order from ID-10
`to ID-0. The least significant bit is ID-O. The 7 most significant bits (ID-10 - ID-4) must
`not beall recessive’.
`
`RTR BIT
`Remote Transmission Request BIT
`In DATA FRAMEsthe RTRBIT has to be ‘dominant’. Within a REMOTE FRAME the
`RTRBIT has to be ’recessive’.
`
`CONTROL FIELD
`It includes the DATA LENGTH CODE and
`The CONTROL FIELD consists of six bits.
`two bits reserved for future expansion. The reserved bits have to be sent ’dominant’.
`Receivers accept ‘dominant’ and ‘recessive’bits in all combinations.
`
`DATA LENGTH CODE
`The number of bytes in the DATA FIELD is indicated by the DATA LENGTH CODE.
`This DATA LENGTH CODE is 4 bits wide and is transmitted within the CONTROL
`
`Petitioner's Exhibit 1010
`Page 13 of 72
`
`Petitioner's Exhibit 1010
`Page 13 of 72
`
`
`
`Data Frame
`
`Sep. 1991
`Part A - page 12
`
`CONTROLFIELD
`
`or
`
`CRC
`
`reserved
`bits
`
`Data Length Code
`
`Coding of the numberof data bytes by the DATA LENGTH CODE
`
`abbreviations:
`
`d ’dominant’
`r
`‘recessive’
`
`aaaa2aa2Qaa4
`
`s
`
`
`
`Data
`Arbitration
`Field
`Field
`
`
`Other values maynot be used. ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1
`
`d d
`
`d d d d r
`
`
`
`Number of Data
`Data Length Code
`
`Bytes DLc2|DLC1
`
`DATA FRAME: admissible numbersof data bytes:
`
`{0,1,....
`
`Petitioner's Exhibit 1010
`Page 14 of 72
`
`Petitioner's Exhibit 1010
`Page 14 of 72
`
`
`
`BOSCH
`
`Data Frame
`
`Sep. 1991
`
`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.
`
`Data
`or
`
`CRC FIELD
`
`Ack
`Field
`
`Control
`Field
`
`|
`
`CRC Delimiter
`
`CRC Sequence
`
`/! 1 position ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1
`
`CRC SEQUENCE
`The frame check sequence is derived from a cyclic redundancy code best suited for
`frameswith bit counts less than 127 bits (BCH Code).
`In order to carry out the CRC calculation the polynomial to be divided is defined as the
`polynomial, the coefficients of which are given by the destuffed bit stream consisting of
`START OF FRAME, ARBITRATION FIELD, CONTROL FIELD, DATA FIELD (if
`present) and, for the 15 lowest coefficients, by 0. This polynomial
`is divided (the
`coefficients are calculated modulo-2) by the generator-polynomial:
`
`x15 4 x14 4 x10 4 x8 4 x7 4 x44 X38 4-7.
`
`The remainder of this polynomial division is the CRC SEQUENCE transmitted over the
`bus.
`In order to implementthis function, a 15 bit shift register CRC_RG(14:0) can be
`used.
`If NXTBIT denotes the next bit of the bit stream, given by the destuffed bit
`sequence from START OF FRAME until
`the end of the DATA FIELD,
`the CRC
`SEQUENCE is calculated as follows:
`
`CRC_RG = 0;
`REPEAT
`
`// initialize shift register
`
`CRCNXT = NXTBIT EXOR CRC_RG(14);
`CRC_RG(14:1) = CRC_RG(13:0);
`CRC_RG(0) = 0;
`
`// shift left by
`
`Petitioner's Exhibit 1010
`Page 15 of 72
`
`Petitioner's Exhibit 1010
`Page 15 of 72
`
`
`
`BOSCH
`
`Data Frame
`
`Sep. 1991
`
`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.
`
`CRC
`Field
`
`ACK FIELD
`
`End of
`Frame
`
`|LI|
`
`ACK FIELD
`The ACK FIELDis two bits long and contains the ACK SLOT and the ACK DELIMITER.
`In the ACK FIELD the transmitting station sends two ’recessive’bits.
`reports this to the
`A RECEIVER which has received a valid message correctly,
`TRANSMITTER bysending a ‘dominant’ bit during the ACK SLOT(it sends ACK’).
`
`of seven ’recessive’ bits. ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1
`
`ACK Slot
`
`ACK Delimiter
`
`ACK SLOT
`All stations having received the matching CRC SEQUENCE report this within the ACK
`SLOTby superscribing the ’recessive’ bit of the TRANSMITTER by a ‘dominantbit.
`
`ACK DELIMITER
`The ACK DELIMITER is the second bit of the ACK FIELD and has to be a ’recessive’
`bit. As a consequence, the ACK SLOTis surrounded by two ’recessive’ bits (CRC
`DELIMITER, ACK DELIMITER).
`
`END OF FRAME
`Each DATA FRAME and REMOTE FRAME is delimited by a flag sequence consisting
`
`Petitioner's Exhibit 1010
`Page 16 of 72
`
`Petitioner's Exhibit 1010
`Page 16 of 72
`
`
`
`BOSCH
`
`Remote Frame
`
`Sep. 1991
`
`Part A - page 15
`
`3.1.2 REMOTE FRAME
`
`Inter
`Frame
`Space
`or
`Overload
`Frame
`
`A station acting as a RECEIVER for certain data caninitiate the transmission of the
`respective data by its source node by sending a REMOTE FRAME.
`A REMOTE FRAME is composedofsix 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 FRAMEsis ’recessive’. There is
`no DATA FIELD, independent of the values of the DATA LENGTH CODE which may
`be signed any value within the admissible range 0...8. The value is the DATA LENGTH
`CODE of the corresponding DATA FRAME.
`
`(RTRbit dominant’) or a REMOTE FRAME (RTRbit ’recessive’). ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1
`
`Inter
`Frame
`Space
`
`REMOTE FRAME
`
`Start of Frame
`
`Arbitration Field
`
`Control Field
`
`
`
`CRCField
`
`ACK Field
`
`The polarity of the RTR bit indicates whether a transmitted frame is a DATA FRAME
`
`End of Frame
`
`Petitioner's Exhibit 1010
`Page 17 of 72
`
`Petitioner's Exhibit 1010
`Page 17 of 72
`
`
`
`BOSCH
`
`3.1.3 ERROR FRAME
`
`Sep. 1991
`
`Part A - page 16
`
`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.
`
`
`
`An ‘error active’ station detecting an error condition signals this by transmission of an
`ACTIVE ERROR FLAG. The ERROR FLAG’s form violates the law of bit stuffing (see
`CODING) applied to all fields from START OF FRAME to CRC DELIMITER ordestroys
`the fixed form ACK FIELD or END OF FRAME field. As a consequence, all other
`stations detect an error condition and on their part start transmission of an ERROR
`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 twelvebits.
`An ‘error passive’ station detecting an error condition tries to signal this by transmission
`of a PASSIVE ERROR FLAG. The’error passive’ station waits for six consecutive bits
`
`Data
`Frame
`
`ERROR FRAME
`
`Error Flag
`
`Interframe
`Space or
`
`Overload
`Frame
`
`superposition of
`Error Flags
`
`Error Delimiter
`
`In order to terminate an ERROR FRAME correctly, an ’error passive’ node may need
`the bus to be ’bus idle’ for at least 3 bit times (if there is a local error at an error
`passive’ receiver). Therefore the bus should not be loaded to 100%.
`
`ERROR FLAG
`There are 2 forms of an ERROR FLAG: an ACTIVE ERROR FLAG and a PASSIVE
`ERROR FLAG.
`
`The ACTIVE ERROR FLAGconsists of six consecutive dominant’ bits.
`
`2.
`
`The PASSIVE ERROR FLAGconsists of six consecutive recessive’ bits unless it
`is overwritten by ‘dominant’ bits from other nodes.
`
`ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1
`
`Petitioner's Exhibit 1010
`Page 18 of 72
`
`Petitioner's Exhibit 1010
`Page 18 of 72
`
`
`
`BOSCH
`
`Overload Frame
`
`Sep. 1991
`
`Part A - page 17
`
`of equal polarity, beginning at the start of the PASSIVE ERROR FLAG. The PASSIVE
`ERROR FLAGis complete when these 6 equal bits have been detected.
`
`3.1.4 OVERLOAD FRAME
`
`The OVERLOAD FRAME contains
`OVERLOAD DELIMITER.
`There are two kinds of OVERLOAD conditions, which both lead to the transmission of
`an OVERLOADFLAG:
`
`fields OVERLOAD FLAG and
`
`the two bit
`
`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. Afterwardsit starts transmitting seven
`more’recessive’ bits.
`
`REMOTE FRAME. ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1
`
`The internal conditions of a receiver, which requires a delay of the next DATA
`FRAME or REMOTE FRAME.
`
`2.
`
`Detection of a dominant’ bit during INTERMISSION.
`
`is only allowed to
`The start of an OVERLOAD FRAME due to OVERLOADcondition 1
`be started at the first bit time of an expected INTERMISSION, whereas OVERLOAD
`FRAMEsdue to OVERLOADcondition 2 start one bit after detecting the ‘dominant’bit.
`
`End of Frame or
`Error Delimiter or
`Overload Delimiter
`
`OVERLOAD FRAME
`
`Overload
`Flag
`
`Inter
`Frame
`Space or
`
`Overload
`Frame
`
`superposition of
`Overload Flags
`
`Overload Delimiter
`
`At most two OVERLOAD FRAMEs may be generated to delay the next DATA or
`
`Petitioner's Exhibit 1010
`Page 19 of 72
`
`Petitioner's Exhibit 1010
`Page 19 of 72
`
`
`
`BOSCH
`
`Overload Frame
`
`Sep. 1991
`
`Part A - page 18
`
`OVERLOAD FLAG
`consists of six ‘dominant’ bits. The overall form corresponds to that of the ACTIVE
`ERROR FLAG.
`
`OVERLOAD DELIMITER
`consists of eight ‘recessive’bits.
`
`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. (In case that there is a dominant’ bit
`detected during the 3rd bit of INTERMISSION locally at some node, the other nodes
`will not interpret the OVERLOAD FLAGcorrectly, but interpret the first of these six
`‘dominant’ bits as START OF FRAME. The sixth ‘dominant’ bit violates the rule of bit
`stuffing causing an error condition).
`
`TRANSMISSION. ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1
`
`The OVERLOAD DELIMITER is of the same form as the ERROR DELIMITER. After
`transmission of an OVERLOAD FLAGthe station monitors the bus until
`it detects a
`transition from a ‘dominant’ to a ’recessive’ bit. At this point of time every bus station
`has finished sending its OVERLOAD FLAGandall stations start transmission of seven
`more ’recessive’ bits in coincidence.
`
`3.1.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 FRAMEsare not preceded by an INTERFRAME
`SPACE and multiple OVERLOAD FRAMEsare not separated by an INTERFRAME
`SPACE.
`
`INTERFRAME SPACE
`contains the bit fields INTERMISSION and BUS IDLE and, for ’error passive’ stations,
`which
`have
`been
`TRANSMITTER of
`the
`previous message,
`SUSPEND
`
`Petitioner's Exhibit 1010
`Page 20 of 72
`
`Petitioner's Exhibit 1010
`Page 20 of 72
`
`
`
`BOSCH
`
`Interframe Space
`
`Sep. 1991
`
`Part A - page 19
`
`For stations which are not ’error passive’ or have been RECEIVER of the previous
`message:
`
`Framea INTERFRAMESPACE —_ Frame
`
`Intermission
`
`Bus Idle
`
`For ’error passive’ stations which have been TRANSMITTER of the previous message:
`
`INTERFRAME SPACE
`
`
`
`BUS IDLE
`The period of BUS IDLE maybeofarbitrary length. The bus is recognized to be free
`and anystation having something to transmit can access the bus. A message, whichis
`pending for transmission during the transmission of another message, is started in the
`first bit following INTERMISSION.
`The detection of a dominant’ bit on the bus is interpreted as a START OF FRAME.
`
`.
`Intermission
`
`Suspend Transmission
`
`Bus Idle
`
`INTERMISSION
`consists of three ‘recessive’ bits.
`
`During INTERMISSION nostation is allowed to start transmission of a DATA FRAME
`or REMOTE FRAME. The only action to be taken is signalling an OVERLOAD
`condition.
`
`SUSPEND TRANSMISSION
`it sends eight ‘recessive’
`After an ’error passive’ station has transmitted a message,
`bits following INTERMISSION, before starting to transmit a further message or
`recognizing the busto beidle. If meanwhile a transmission (caused by anotherstation)
`starts, the station will become receiverof this message.
`
`ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1
`
`Petitioner's Exhibit 1010
`Page 21 of 72
`
`Petitioner's Exhibit 1010
`Page 21 of 72
`
`
`
`
`
`BOSCH Transmitter / Receiver|,.., A- page 20
`
`Sep. 1991
`
`TRANSMITTER
`A unit originating a messageis called “TRANSMITTER?”of that message. The unit stays
`TRANSMITTER until the busis idle or the unit loses ARBITRATION.
`
`and the bus is notidle. ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1
`
`3.2 Definition of TRANSMITTER / RECEIVER
`
`RECEIVER
`A unit is called “RECEIVER”of a message, if it is not TRANSMITTER of that message
`
`Petitioner's Exhibit 1010
`Page 22 of 72
`
`Petitioner's Exhibit 1010
`Page 22 of 72
`
`
`
`4 MESSAGE VALIDATION
`
`The point of time at which a messageis taken to be valid, is different for the transmitter
`and the receivers of the message.
`
`Receivers:
`The message is valid for the receivers, if there is no error until the last but one bit of
`
`BOSCH
`
`Message Validation
`
`Sep. 1991
`
`Part A - page 21
`
`Transmitter:
`if there is no error until the end of END OF
`The message is valid for the transmitter,
`FRAME.
`If a message is corrupted,
`retransmission will
`follow automatically and
`according to prioritization.
`In order to be able to compete for bus access with other
`messages, retransmission has to start as soon asthe bus is idle.
`
`END OF FRAME. ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1
`
`Petitioner's Exhibit 1010
`Page 23 of 72
`
`Petitioner's Exhibit 1010
`Page 23 of 72
`
`
`
`BOSCH
`
`5 CODING
`
`BIT STREAM CODING
`
`The frame segments START OF FRAME, ARBITRATION FIELD, CONTROL FIELD,
`DATA FIELD and CRC SEQUENCE are coded by the methodof 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.
`The remaining bit fields of the DATA FRAME or REMOTE FRAME (CRC DELIMITER,
`ACK FIELD, and END OF FRAME)areoffixed form and not stuffed. The ERROR
`FRAME and the OVERLOAD FRAME are of fixed form as well and not coded by the
`methodofbit stuffing.
`The bit stream in a message is coded according to the Non-Return-to-Zero (NRZ)
`method. This means that during the total bit time the generated bit
`level
`is either
`
`‘dominantor ’recessive’. ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1
`
`Sep. 1991
`
`Part A - page 22
`
`Petitioner's Exhibit 1010
`Page 24 of 72
`
`Petitioner's Exhibit 1010
`Page 24 of 72
`
`
`
`BOSCH
`
`Error Handling
`
`Sep. 1991
`
`Part A - page 23
`
`6 ERROR HANDLING
`
`6.1 Error Detection
`
`There are 5 different error types (which are not mutually exclusive):
`
`already been started. ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1
`
`6.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 FLAGis started at the respective station at the nextbit.
`Whenever a CRC ERROR is detected, transmission of an ERROR FLAGstarts at the
`bit following the ACK DELIMITER, unless an ERROR FLAGfor another condition has
`
`* BITERROR
`A unit that is sending a bit on the bus also monitors the bus.