throbber
SAE TECHNICAL
`PAPER SERIES
`
`930005
`
`A Gateway for CAN Specification 2.0
`Non-Passive Devices
`
`Craig Szydlowski
`Intel Corp.
`
`Reprinted from:
`Multiplex Technology Applications in
`Vehicle Electrical Systems (SP-954)
`
`The Engineering Society
`For Advancing Mobility
`Land Sea Air and Space ®
`I N T E R N A T I O N A L
`
`International Congress and Exposition
`Detroit, Michigan
`March 1-5, 1993
`
`400 Commonwealth Drive, Warrendale, PA 15096-0001 U.S.A. Tel:(412)776-4841 Fax:(412)776-5760
`
`Petitioner's Exhibit 1009
`Page 1 of 11
`
`

`

`The appearance of the ISSN code at the bottom of this page indicates SAE’s consent
`that copies of the paper may be made for personal or internal use of specific clients.
`This consent is given on the condition, however, that the copier pay a $5.00 per article
`copy fee through the Copyright Clearance Center, Inc. Operations Center, 27
`Congress St., Salem, MA 01970 for copying beyond that permitted by Sections 107
`or 108 of the U.S. Copyright Law. This consent does not extend to other kinds of
`copying such as copying for general distribution, for advertising or promotional
`purposes, for creating new collective works, or for resale.
`
`SAE routinely stocks printed papers for a period of three years following date
`of publication. Direct your orders to SAE Customer Sales and Satisfaction Depart-
`ment.
`
`Quantity reprint rates can be obtained from the Customer Sales and Satisfaction
`Department.
`
`To request permission to reprint a technical paper or permission to use copyrighted
`SAE publications in other works, contact the SAE Publications Group.
`
`GLOBAL MOBILITY DATABASE
`All SAE papers, standards, and selected
`books are abstracted and indexed in the
`SAE Global Mobility Database.
`
`No part of this publication may by reproduced in any form, in an electronic retrieval
`system or otherwise, without the prior written permission of the publisher.
`
`ISSN 0148-7191
`Copyright 1993 Society of Automotive Engineers, Inc.
`
`Positions and opinions advanced in this paper are those of the author(s) and not
`necessarily those of SAE. The author is solely responsible for the content of the
`paper. A process is available by which discussions will be printed with the paper if
`it is published in SAE transactions. For permission to publish this paper in full or in
`part, contact the SAE Publications Group.
`
`Persons wishing to submit papers to be considered for presentation or publication
`through SAE should send the manuscript or a 300 word abstract of a proposed
`manuscript to: Secretary, Engineering Activity Board, SAE.
`
`Printed in USA
`
`Petitioner's Exhibit 1009
`Page 2 of 11
`
`

`

`A Gateway for CAN Specification 2.0
`Non-Passive Devices
`
`930005
`
`Craig Szydlowski
`Intel Corp.
`
`ABSTRACT
`
`GATEWAY EXAMPLE
`
`The gateway considered in this paper is shown in
`figure 1. The microcontroller in the center, labeled
`‘GATEWAY’, translates messages between the networks
`above and below. The network labelled ‘standard’
`transmits CAN 1.2 standard messages (11 -bit identifier)
`while the network labeled ‘standard/extended’ transmits
`CAN 2.0 both standard and extended messages (11- and
`29-bit identifiers). The standard messages for the CAN
`1.2 and CAN 2.0 networks are bit-wise and electrically
`identical.
`
`The Controller Area Network (CAN) protocol,
`developed by ROBERT BOSCH GmbH, offers a
`comprehensive solution to managing communication
`between multiple CPUs. In September 1991, the CAN
`protocol was revised (CAN Specification 2.0) to add an
`extended message format that increases the number of
`permitted message identifiers. The CAN protocol now
`supports 11- and 29-bit message identifiers allowing
`standard and extended formats, respectively.
`
`CAN Specification 2.0 implements a new message bit,
`the identifier extension bit (IDE bit) which allows CAN
`devices to differentiate standard and extended formats.
`However, most existing CAN implementations are based
`on the previous CAN protocol specification and will not
`recognize extended format messages and will respond
`with an error message. These chips are CAN
`Specification 2.0 non-passive.
`
`Until semiconductor makers develop a variety of chips
`to implement 29-bit message identifiers, CAN users may
`require a gateway to interconnect networks using 29-bit
`message identifiers to existing networks that only use
`CAN 1.2 11-bit message identifiers. In this context, a
`gateway is a system that translates messages in one
`protocol to another and vice versa.
`
`A gateway between two networks is typically designed
`to minimize transmission latency, to minimize lost
`messages (overruns) and to manage bus error issues.
`Following a brief description of the CAN message format,
`general gateway design considerations and performance
`estimates will be addressed. In addition, a method to
`send remote frames across the gateway is discussed.
`
`29
`
`Figure 1: Gateway Example
`
`Petitioner's Exhibit 1009
`Page 3 of 11
`
`

`

`Figure 2: Standard and Extended Formats
`
`The gateway microcontroller communicates with two
`CAN chips, one from each network. Examples of gateway
`functions are:
`
`a) bridging standard messages without translation.
`b) bridging standard and extended messages with
`message identifier translation.
`c) managing re-transmission issues when errors occur.
`
`CAN PROTOCOL MESSAGE FORMATS
`
`The CAN protocol supports two message formats
`which differ in the length of the message identifier field.
`Messages using 11 message identifier bits are called
`standard and those using 29 message identifier bits are
`called extended. Both standard and extended message
`formats support four frame types:
`
`1) Data - carries data
`2) Remote - sent when a node requests data from
`another node
`3) Error - sent when a node detects a message error
`4) Overload - sent when a node requires extra delay
`
`The following describes the standard and extended
`message formats for data and remote frames shown in
`figure 2.
`
`SOF:
`
`Arbitration:
`
`Start Of Frame (dominant bit) marks the
`beginning of a data/remote frame.
`
`One or two fields which contain the
`message identifier bits. The standard
`format has one 11-bit field and the
`extended format has two fields, 11- and
`18-bits wide.
`
`RTR:
`
`SRR:
`
`IDE:
`
`Remote Transmission Request bit is
`dominant for data frames and recessive
`for remote frames. This bit is in the
`arbitration field.
`
`Substitute Remote Request bit is used in
`extended messages and is recessive.
`This bit is a substitute for the RTR bit in
`the standard format. This bit is in the
`arbitration field of the extended format.
`
`Identifier Extension bit is dominant for
`standard format and recessive for
`extended format. This bit is in the
`arbitration field of the extended format
`and in the control field of the standard
`format.
`
`Control Field: Reserved bits r0 and r1 are sent as
`dominant bits. The 4-bit Data Length
`Code (DLC) indicates the number of
`bytes in the data field.
`
`Data Field:
`
`CRC Field:
`
`ACK Field:
`
`The data bytes are located in the data
`frame (0-8 bytes). A remote frame
`contains zero data bytes.
`
`This field is composed of a 15-bit
`Cyclical Redundancy Code error code
`and a recessive CRC delimiter bit.
`
`Acknowledge is a dominant bit sent by
`nodes receiving the data/remote frame
`and is followed by a recessive ACK
`delimiter bit.
`
`30
`
`End of Frame: Seven recessive bits ending the frame.
`
`Petitioner's Exhibit 1009
`Page 4 of 11
`
`

`

`INT:
`
`Intermission is the three recessive bits
`which separate data and remote frames.
`
`The minimum message lengths of standard and
`extended message formats are summarized below for
`data and remote frames. These bit counts will be used to
`assess gateway message transmission latency and
`overrun susceptibility. The actual lengths of these
`messages may differ because 'stuff' bits are added to the
`message. Stuff bits assist synchronization by adding
`transitions to the message. A stuff bit is inserted in the bit
`stream after five consecutive-equal value bits are
`transmitted; the stuff bit is the opposite polarity of the five
`consecutive bits. All message fields are stuffed except the
`CRC delimiter, the ACK field and the End of Frame.
`
`Standard Format
`
`of the receiving CAN chip. Next, the gateway executes
`logical instructions to translate the message. Then the
`gateway executes external writes to the CAN device on
`the second network to program a transmission. Therefore,
`the microcontroller executes external read and write
`operations and translates message identifiers.
`
`READ AND WRITE OPERATIONS - The time
`required to execute read and write operations is
`dependent upon the interface-timing characteristics of the
`gateway microcontroller and the CAN chips. Figure 3
`shows a microcontroller interfaced to two CAN devices.
`This configuration uses a 16-bit address/data bus which
`doubles the communication throughput between the
`microcontroller and the CAN chips. The CAN chips drive
`independent interrupt lines to the microcontroller allowing
`the interrupting CAN device to be easily identified.
`
`Figure 3: Hardware Example
`
`CAN CHIP MESSAGE CONFIGURATION - The CAN
`chips must be configured to receive and transmit
`messages. Typically, CAN chips support 2 to 15 message
`objects that are configured to receive or transmit.
`Message objects consist of RAM bytes which store a
`message identifier, data bytes and control bytes. To
`receive messages more reliably, a CAN chip must be
`able to receive an incoming message while it is still
`processing a previously received message. This may be
`accomplished 1) by using a buffered receive message
`object or 2) by implementing a buffered receive using two
`receive message objects that are alternately validated
`and invalidated (figure 4). It is assumed that all receive
`message objects employ acceptance mask filtering which
`allows all relevant CAN bus messages to be accepted by
`a single buffered receive message object. Without
`acceptance filtering, a prohibitive number of receive
`31 message objects would be required to receive all
`
`11
`1
`
`1
`1
`4
`
`number of bits
`1
`12
`
`6
`
`0-64
`16
`2
`7
`
`44-108 bits
`
`Extended Format
`
`number of bits
`1
`32
`
`6
`
`0-64
`16
`
`27
`
`64-128 bits
`
`29
`
`111 24
`
`Message Field
`SOF
`Arbitration Field
`identifier
`RTR
`Control Field
`IDE
`r0
`DLC
`Data Field
`CRC Field
`ACK Field
`End of Frame
`
`Total
`
`Message Field
`SOF
`Arbitration Field
`identifier
`SRR
`IDE
`RTR
`Control Field
`r1,r0
`DLC
`Data Field
`CRC Field
`ACK Field
`End of Frame
`
`Total
`
`HARDWARE CONFIGURATION
`
`it is assumed both CAN
`For this analysis,
`implementations are stand-alone chips (figure 3). The
`gateway microcontroller reads and writes to the CAN
`chips as if they were smart RAMs. When a message is
`received, the gateway executes external read operations
`
`Petitioner's Exhibit 1009
`Page 5 of 11
`
`

`

`necessary messages. A receive message object must be
`‘valid’ before the last bit of the incoming message is
`received to capture the message.
`
`Figure 4: Receive Buffer
`
`After using one or two message objects per CAN chip
`to receive, the remaining message objects should be
`used to handle remote frames and to transmit messages.
`The gateway must be prepared to store multiple transmit
`messages that may be waiting for CAN bus access
`(figure 5). The number of transmit message objects
`required is dependent on the gateway message traffic
`and the ability of these messages to get on the second
`network. Overall bus loading and the priority of the
`messages crossing the gateway strongly influence the
`number of required transmit message objects.
`
`One method to manage transmit message objects is
`to implement a stack which stores unused message
`objects numbers. When a message transmission is
`needed, a message object number is "popped" from the
`stack. Similarly, when a message transmission is
`completed, its message object number is "pushed" on the
`stack. The gateway may need to manage the order of
`transmit message objects so low priority messages are
`not scheduled to transmit first. The Intel 82527, for
`example, uses the message that is stored in the lowest
`numbered message object for arbitration, regardless of
`whether the other message objects on the chip have
`higher arbitration priority. Therefore, a low priority
`message in message object #1 may delay the
`transmission of the other messages.
`
`GATEWAY MESSAGE TRAFFIC
`
`A gateway must be prepared to translate messages
`from one protocol to the other, and vice versa. A gateway
`for the CAN protocol must be concerned with two of the
`four CAN protocol frame types: data and remote. The
`other two frame types, overrun and error, are handled in
`hardware by the gateway’s CAN chip on the respective
`network. Therefore, the gateway (microcontroller) has no
`added responsibilities. However, the gateway must be
`prepared to act when too many errors occur on either
`network as indicated by warning or busoff status bits. In
`this case, the gateway investigates the bus-status like
`other network nodes do.
`
`DATA FRAMES
`
`The gateway is typically designed to minimize
`transmission latency and to minimize lost messages
`(overruns). Analyzing latency and message overruns with
`respect to data frames must consider the two differences
`in data frames. First, data frames have between zero and
`eight data bytes. Second, the extended format has 20
`more arbitration and control bits than the standard format.
`
`Another issue to be considered is the effect of stuff
`bits. Stuff bits increase transmission latency by increasing
`the duration of a message transmission, a delay seen by
`messages waiting for access to the CAN bus. Stuff bits
`may actually help decrease the probability for message
`overruns by providing additional time for the gateway to
`manage message translation and message object
`programming. Since the number of stuff bits is dependent
`upon the bit patterns of message identifiers, data bytes
`and CRC codes, it is difficult to estimate their effect
`deterministically. Perhaps it is best to estimate an
`average number of stuff bits per message and the
`resulting transmission time.
`
`Figure 5: Transmit Message Objects
`
`TRANSMISSION LATENCY - Message transmission
`latency is the time between a completed message
`transmission on one network to its completed
`transmission on another network. The latency may be
`divided into three parts: gateway access, gateway
`
`32
`
`Petitioner's Exhibit 1009
`Page 6 of 11
`
`

`

`processing and bus transmission delay. Gateway access
`is the time a message must wait to be serviced by the
`gateway microcontroller. The worst case occurs when two
`messages are received simultaneously on both networks
`and one message must wait until the other has been
`processed. Gateway processing refers to the time to read
`the receive message from the first network, translate the
`message, and configure the message for transmission on
`the second network as shown in figure 6. The bus
`transmission delay is the time required to gain access to
`the CAN bus and the following message transmission
`time. The transmission latency will vary based on the time
`required for the message to win arbitration on the second
`network. Low priority messages, will of course, have
`longer transmission latencies than higher priority
`messages.
`
`Figure 6: Gateway Processing
`
`MESSAGE IDENTIFIER TRANSLATION -
`CAN 1.2 and CAN 2.0 network gateways can be used in
`two ways. The simplest implementation is to transfer
`standard messages between the two networks without
`message identifier translation. This performs the task on
`interconnecting CAN 1.2 and CAN 2.0 networks and
`allowing standard message to be shared. A second
`implementation may require message identifiers to be
`translated. Translation is required when messages have
`independent message identifiers on both networks. For
`example, an "engine temperature message" has a
`
`33
`
`dedicated 11-bit standard message identifier on the CAN
`1.2 network and a dedicated 29-bit message identifiers on
`the CAN 2.0 network. Translating between these two
`message identifiers may be implemented algorithmically
`or by using a look-up table. For this analysis, it is
`assumed the message identifier requires no translation
`and only the 11-bit standard identifier messages are
`transmitted across the gateway.
`
`GATEWAY PROCESSING ANALYSIS - This section
`is an analysis of the minimum time required by the
`gateway to respond to a receive message from one
`network and to program a corresponding transmission on
`a second network. This latency analysis assumes the
`gateway microcontroller to be an Intel 16-bit 80C196 chip
`interfaced to an Intel 82527 operating at 16 MHz, using
`three wait-states and a 16-bit address/data bus. This
`assumption results in the execution of read and write
`operations in 1.875uS. The 80C196 responds to
`interrupts in 16 states following the execution of the
`current instruction or about 2.5uS.
`
`The flowchart in figure 7 is an example of the
`minimum number of steps required for a gateway
`processing. The purpose of the following section is to
`estimate the time required to implement the flowchart
`program flow. This calculated time represents the bare
`minimum gateway execution time.
`
`Flowchart 7 is referenced for the following gateway
`processing time estimate.
`
`Flowchart block:
`A message is received by one of the CAN chips.
`A)
`This CAN chip sends an interrupt to the gateway
`after the transmission of the last End of Frame bit
`(1.5uS)
`
`B)
`
`C)
`
`D)
`
`D1)
`
`E)
`
`The microcontroller responds to the interrupt
`request, enters the interrupt service routine
`(3.75uS).
`
`The microcontroller reads the CAN interrupt
`register to get the interrupt pointer (1.875uS).
`
`The microcontroller first determines whether the
`interrupt is from the error status register
`indicating a busoff or warning flag is set
`(1.375uS).
`
`If a busoff or error warning flag is set, the
`gateway should execute an error recovery
`sequence to determine the error source or to
`execute a software reset on get back on the bus.
`
`Next, the microcontroller determines whether the
`interrupt was initiated by a reception or
`transmission.
`
`Petitioner's Exhibit 1009
`Page 7 of 11
`
`

`

`E1)
`
`F)
`
`G)
`
`If the interrupt is the result of a successful
`transmission, the microcontroller responds by
`invalidating the transmit message object and
`perhaps stacking the message object number as
`described previously.
`
`In response to a successful reception, the
`microcontroller executes the bulk of the gateway
`tasks. If a buffered receive message is
`unavailable, the microcontroller should alternate
`valid receive message objects so receptions may
`continue without over-writing the message
`currently in-process. A transmit message object
`must be configured, so the microcontroller must
`find an currently unused transmit message object
`using a stack operation (0.875uS).
`
`The message configuration begins by transferring
`the data bytes from the receiving CAN chip to the
`transmitter. This data transfer may move all eight
`data bytes regardless of the data length code
`value or employ a loop which uses the data
`length code value. This decision to use a loop
`depends on the instruction decrement and jump
`instruction overhead. This analysis assumes all
`eight bytes are always transferred and four reads
`of the receiver (2-byte) and four writes of the
`transmitter are required to transfer the data
`(15uS). The data length is transferred next. This
`is done by reading a receiver control byte
`(1.875uS), toggling a bit to change the message
`object from receive to transmit (0.625uS), and
`writing the byte to the transmitter (1.875uS).
`
`Figure 7: Gateway Flowchart
`
`34
`
`Petitioner's Exhibit 1009
`Page 8 of 11
`
`

`

`H)
`
`I)
`
`J)
`
`The message identifier is transferred next
`assuming an 11-bit identifier and no translation.
`This requires a read of the receiver and a write of
`the transmitter (3.75uS).
`
`The message object control registers are written
`to make the transmit message valid and to set
`the transmit request bit using a write (2-byte)
`instruction (1.875uS).
`
`After setting the transmit request bit, the CAN
`chip is ready to arbitrate and transmit on the
`CAN bus (1.75uS).
`
`The resulting gateway processing time from message
`re-transmission request is
`received to message
`approximately 40uS. This figure is used in the
`transmission latency calculation. The remaining
`operations (flowchart block K) of the interrupt service
`routine are reset the receive message interrupt pending
`bit and depart the interrupt service routine. The total
`interrupt service routine requires 45uS and figure 7 may
`be used to evaluate message overrun susceptibility.
`
`TRANSMISSION LATENCY - A rigorous analysis of
`transmission latency through of a gateway should
`examine best and worst case scenarios. A few sample
`calculations are shown to approximate bare-minimum
`latencies. These latency calculations assume a gateway
`processing time of 40uS as previously demonstrated. This
`processing time is, perhaps, the very shortest realizable
`time and more time may be needed for genuine
`applications. Other assumptions are:
`
`A) The number of stuff bits are estimated.
`B) A message has "immediate" gateway access
`or is required to "wait" for 40uS another
`message to undergo full gateway processing.
`C) CAN bus rates of 1MB/S and 250KB/S.
`D) The second network is idle and the message
`transmission occurs
`immediately.
`E) A 16-bit microcontroller/CAN chip interface.
`An 8-bit interface would add 18.75uS to the
`gateway processing time.
`
`DATA FRAME TRANSMISSION LATENCY
`
`stuff
`CAN data
`bus/S bytes bits
`
`total
`bits
`
`gateway
`access
`
`1MB
`1MB
`1MB
`1MB
`
`1
`1
`8
`8
`
`250KB 1
`250KB 1
`250KB 8
`250KB 8
`
`3
`3
`6
`6
`
`3
`3
`6
`6
`
`55
`55
`114
`114
`
`55
`55
`114
`114
`
`immediate
`wait
`immediate
`wait
`
`immediate
`wait
`immediate
`wait
`
`latency
`time
`
`95uS
`135uS
`154uS
`194uS
`
`260uS
`300uS
`496uS
`536uS
`
`MESSAGE OVERRUNS - A gateway should eliminate or
`minimize the occurrence of message overruns. A
`message overrun occurs when a CAN receive message
`object stores a second message before the first has been
`processed resulting in the corruption of the first message.
`The worst case for overruns is when both CAN chips
`receive messages at the same time. The gateway must
`make one receive message wait while it first processes
`the other receive message.
`
`Message overruns are most likely to occur when both
`CAN networks require back-to-back messages to be
`transferred across the gateway. In this case, two
`messages must be transferred across the gateway in the
`time required for a single message to be transmitted on
`the CAN bus plus three intermission bit times. For
`standard messages with 1 data byte and zero stuff bits,
`this time is 55 bit-times. For CAN buses operating at
`1MB/S, this means two messages must be processed in
`55uS; based on the processing time 40uS per message
`from the prior discussed, this does not appear feasible.
`For a 250KB/S bus, two messages must be processed in
`220uS and this is potentially realizable.
`
`Theoretically, buffered receive message objects do
`not reduce the possibility of message overruns when
`messages are transferred across the gateway at a
`continuous maximum rate. Practically, however, a
`buffered receive message object may allow two back-to-
`back messages to be processed without an overrun; a
`message overrun is deferred until three back-to-back
`messages are transmitted on the CAN bus.
`
`REMOTE FRAMES
`
`A remote frame is used by a node to request another
`node to transmit its data. The remote frame itself contains
`no data. When transmit message objects receive remote
`frames, they will send data after they win bus arbitration.
`
`For gateway applications, remote frames pose a very
`special problem. This problem is that most CAN
`implementation do not save the message identifier of the
`remote message. Unlike a receive message object which
`stores the incoming message identifier, the transmit
`message object responding to a remote frame does not
`store the remote message identifier. If acceptance filtering
`is used, the exact message identifier of the remote frame
`is unknown. Therefore, when the gateway receives a
`remote frame, it cannot readily configure a corresponding
`remote message on the second network.
`
`A way to resolve this remote frame message identifier
`issue is to require all remote frames that cross the
`gateway to be implemented instead with data frame
`referenced here as a ‘substitute remote frame’. This data
`frame should contain two bytes that store the correct
`remote frame message identifier. To simplify matters, this
`data frame should use a specially assigned message
`identifier which informs the gateway that the message is
`
`35
`
`Petitioner's Exhibit 1009
`Page 9 of 11
`
`

`

`a substitute remote frame. If the gateway receives a
`message with this specially assigned message identifier,
`the gateway configures a remote frame on the second
`network using the message identifier designated by the
`data bytes of the substitute remote frame.
`
`This substitute remote frame method is conducted as
`shown in figure 8. First, the message identifiers of
`incoming messages are checked against the specially
`assigned remote message identifier. When a match
`occurs, the gateway configures a remote message on the
`second network using the message identifier stored in the
`matched message. Next, a node on the second network
`should respond to the remote frame by sending a data
`frame. This data frame is handled no differently than any
`other data frame and is transferred to the originating
`network without special regard.
`
`The drawback of this substitute remote frame method
`is the gateway processing tasks increase because the
`message identifier of data frames must be checked
`against the specially assigned remote message identifier;
`this increases latency time. A second drawback is the use
`of data bytes to store message identifiers is inconsistent
`with the CAN protocol philosophy.
`
`TRANSMISSION LATENCY - The minimum
`transmission latency of a substitute remote message is
`two times the latency of a data frame plus the
`transmission time to send a remote frame on the bus.
`After the reception of a substitute remote frame, there is
`1) gateway processing, 2) a remote frame transmission
`(zero data bytes), 3) a data frame transmission in
`response to the remote frame, 4) a second gateway
`processing, and 5) a data frame transmission on the
`originating bus.
`
`Transmission latency examples are shown below. The
`"total bits" refers to the number of bits in the data frame
`which is requested by the remote frame. The gateway
`access time, in the worst case, could occur twice. This
`means that both data frame transfers across the gateway
`must wait for a full gateway access time. Therefore, the
`'wait’ gateway access assumption adds 80uS (2*40uS).
`
`SUBSTITUTE REMOTE FRAME
`TRANSMISSION LATENCY
`
`CAN data stuff
`bus/S bytes bits
`
`total
`bits
`
`gateway
`access
`
`1MB 1
`1MB 1
`1MB 8
`1MB 8
`
`
`
`250KB 1
`250KB 1
`250KB 8
`250KB 8
`
`3
`3
`6
`6
`
`3
`3
`6
`6
`
`55
`55
`114
`114
`
`55
`55
`114
`114
`
`immediate
`wait
`immediate
`wait
`
`immediate
`wait
`immediate
`wait
`
`latency
`time
`
`234uS
`314uS
`352uS
`432uS
`
`696uS
`776uS
`1.17mS
`1.25uS
`
`OVERRUN - The analysis of overruns is practically the
`same as for data frames except substitute remote frames
`only have two data bytes.
`
`GATEWAY MESSAGE HANDLING
`
`To minimize message overruns, message traffic
`across the gateway must be considered. There are two
`ways to manage gateway traffic. First, ensure both CAN
`buses have a transmission rate which allows the gateway
`to transfer two messages in the time required to transmit
`a single message on either bus (see the transmission
`latency section). A second way to manage message
`traffic is to use acceptance filtering to limit the rate that
`message are transferred across the gateway. The CAN
`chips connected to the gateway microcontroller are
`programmed to select a subset of the messages for
`transfer across the gateway using "acceptance masks". In
`this case, both CAN buses may run at 1MB/S as long as
`the message traffic across the gateway is contained to a
`manageable level. It was shown previously (transmission
`latency section) that transferring all messages across the
`gateway when both CAN buses are transmitting at 1 MB/S
`is a difficult task.
`
`36
`
`Figure 8: Substitute Remote Frame
`
`Petitioner's Exhibit 1009
`Page 10 of 11
`
`

`

`CONCLUSION
`
`Most existing CAN 1.2 chips will send error frames
`when CAN 2.0 chips extended frame messages are
`transmitted, because they are CAN 2.0 non-passive. To
`interconnect CAN 1.2 and CAN 2.0 networks together, a
`gateway may be employed1. A gateway should minimize
`transmission latency and lost messages (overruns). A
`simple gateway demonstrates the minimum latency of a
`CAN 1.2 to CAN 2.0 gateway ranges from 95uS to
`1.25mS. To reduce the risk of message overruns, the
`message traffic across the gateway must be limited to
`twice the message transmission time of either CAN bus.
`
`References:
`1. "CAN Specification Version 2.0", Robert Bosch GmbH,
`Postfach 50, D-7000 Stuttgart, 1991.
`2. Fred Phail, "Controller Area Network - An In-Vehicle
`Solution", SAE paper #880588, 1988.
`3. Fred Phail, "In-Vehicle Networking - Serial
`Communications Requirements and Directions", SAE
`paper #860390, 1986.
`4. Craig Szydlowski, "CAN Specification 2.0: Protocol and
`Implementations", SAE paper #921603, 1992.
`5. 82527 CAN Literature Packet, Intel literature phone
`number (1-800-346-3028), order number 272304-001.
`
`Endnote:
`1.
`The Intel 82527 serial communications controller
`implements many of the key gateway features
`discussed in this paper. The 82527 is able to
`interface to both standard and dual
`standard/extended networks. The Intel 82527
`supports the latest CAN 2.0 specification and
`manages both standard and extended format
`messages. The 82527 has 15 message objects
`including a buffered receive message object. Two
`acceptance filters provide added message
`handling flexibility. The 82527 interfaces to
`microcontrollers with 8- and 16-bit multiplexed
`address/data buses, non-multiplexed buses, or
`SPI compatible serial buses.
`
`37
`
`Petitioner's Exhibit 1009
`Page 11 of 11
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket