throbber

`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`‘
`
`Petitioner's Exhibit 1011
`EX" 1 O1 1
`Page 1 0f32
`
`Petitioner's Exhibit 1011
`Page 1 of 32
`
`

`

`Eandbeekei New/edged
`and Embedded;
`
`€enim1 Byaieme
`
`Dimitrios Hxistu—Varsakehs
`Wi11iam S. Levine
`
`Editors
`
`Editorial Board
`Raj eeV Alur
`Kan—Erik Arzén
`John B ai11ieu1
`
`Toni Henzinger
`
`Birkhauser
`Boston o Basel 8 Berlin
`
`
`
`Petitioner's Exhibit 1011
`
`Page 2 of 32
`
`Petitioner's Exhibit 1011
`Page 2 of 32
`
`

`

`Dimitrios Hristu—Varsakelis
`Department of Applied Informatics
`University of Macedonia
`Thessalomekl’ 54006
`Greece
`;
`
`-
`
`William S. Levine.
`.
`Department Of Electrical and
`Computer Engineering
`University of Maryland
`College Park, MD 20742
`USA
`
`
`
`Library of Congress Cataloging-in-Publication Data
`Handbook of networked and embedded control systems / Dimitrios Hristu~Varsakelis,
`William S. Levine, editors.
`p. cm. — (Control engineering)
`Includes bibliographical references and index.
`ISBN 0-8176-3239—5 (alk. paper)
`
`1. Embedded computer systems. I. Hristu-Varsalcelis, Dimitrios. :I. Levine, W. S. III.
`Control engineering (Birkh'auser)
`
`TK7895.E42H29 2005
`629.8’ 9—d022
`
`2005041046
`
`ISBN-10 0-8176—3239—5
`ISBN—13 978-0—8176—3239~7
`
`e~BSN 0—8176—4404—0
`
`Printed on acid-free paper.
`
`©2005 Birkhauser Boston
`
`All rights reserved. This Work may not be translated or copied in whole or in part without the writ—
`ten permission of the publisher (Birkhauser Boston, c/o Springer Science+Business Media Inc., 233
`Spring Street, New York, NY, 10013, USA), except for brief excerpts in connection with reviews
`or scholarly analysis. Use in connection with any form of information storage and retrieval, elec—
`tronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter
`developed is forbidden.
`The use in this publication of trade names, trademarks, service marks and similar terms, even if they
`are not identified as such, is not to be taken as an expression of opinion as to whether or not. they are
`subject to proprietary rights.
`
`'
`
`Printed in the United States of America.
`
`(ILS/MP)
`
`987654321
`
`SPlN10925324
`
`www. birkhauser. com
`
`Petitioner's Exhibit 101 l
`
`Page 3 of 32
`
`Petitioner's Exhibit 1011
`Page 3 of 32
`
`

`

`
`
`(Jornxanms
`
` i,
`
`i
`
`3
`
`ix
`Preface ........................................................
`
`Part I Filndarnentals
`
`7 Fundamentals of Dynamical Systems
`William S. Levine. .
`.
`.l ............................................
`Control of Single—Input Single—Output Systems
`Dimitrios HTista—Varsakelis, William S. Levine .
`.
`.
`.
`.
`Basics of Sampling and Quantization
`Mohammed S. Santina, Allen R. Stubberad .......................... 45
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`i 21
`
`Discrete—Event Systems
`Christos G. Cassandias ........................................... 71
`
`Introduction to Hybrid Systems.
`.
`Michael S. Branicky .............................................. 91
`
`‘ Finite Automate
`1%. V. Lawson .
`.’................................................. 117
`
`Basics of Computer Architecture
`ChaTles B. Silio, J7"............................................... 145
`
`Real—Time Scheduling for Embedded Systems
`‘
`Marco 'C’accamo, Theodore Baker, Alan Barns, Giorgio Batlazzo,
`LuiSWa..H: .............................................. f¢fl..173
`NetworkFundamentals -
`it
`David M. Aaslande'r, Jean—Dominique Decotignie ..................... 197
`
`Petitioner's Exhibit 101 1
`
`Page 4 of 32
`
`Petitioner's Exhibit 1011
`Page 4 of 32
`
`

`

`al
`lil
`
`
`
`vi
`
`Contents
`
`
`Part II 'HardWare
`
`‘ Basicsiibf Data Acquisition and Control
`M. Ohlddmbaram .....................................‘ ........... 227
`Programmable Logic. Controllers
`Gustaf Olsson ................................................... 259
`
`Digital Signal Processors
`Rainer Lenpers, Gerd Aschez’d ..................................... 279
`
`lVIicrocontrollers
`Steven F.'Barrett, Daniel J. Pack; .................................. 295
`
`SOPCs: Systems on Programmable Chips
`William M. Hawkins ............................................. 323
`
`
`Part III Software
`
`Fundamentals of RTOS—Based Digital Controller
`Implementation
`Qing Ll ......................................................... 353
`Implementation—Aware Embedded Control Systems
`Karl-Erik lime/n, Anton Cermn, Dan Henriksson. .
`.
`.
`.
`.
`.
`.
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`1
`
`.
`
`.
`
`. .377
`
`From Control Loops to Real—Time Programs
`Paul Caspi, Odecl Maler ........................................... 395
`Embedded Real—Time 'Control Via NIATLAB, Simulink, and
`XPC Target
`Pieter J. Moslerman, Sameer Prabhu, Andrew Dowd, John Glass, Tom
`Erkhz’nen, John Kluza, Rohz’t Shenoy ................................ 419
`LabVIEW Real—Time for Networked/Embedded Control
`John Limroth, Jeanne Sullivan Falcon, Dafna Leonard, Jenifer Loy .
`
`.
`
`.
`
`. 447
`
`Control Loops in RTLinuX
`Victor Yodalken, Matt ShererfEdgar Hilton ......................... 471
`
`
`Part IV Theory
`
`
`An Introduction to Hybrid Automata
`Jean~Fran§ols Raskz'n ............................................. 491
`
`Petitioner's Exhibit 101 1
`
`Page 5 of 32
`
`Petitioner's Exhibit 1011
`Page 5 of 32
`
`

`

`Contents
`
`Vii
`
`An Overview of Hybrid Systems Control
`John Lygems .................................................... 519
`Temporal Logic NIodel Checking
`Edmund Clarke, Ansgar Fehnker, Snmz't Kamar Jha, Helmut Venn ..... 539
`
`Switched Systems
`Daniel Liberzon .................................................. 559
`Feedback Control with Communication Constraints
`Dimitrios Hrista Varsakelis ....................................... 575
`Networked Control Systems: A lVIodel—Based Approach
`Luis A. ll/Iontest'r‘uque and Panos J. Antsaklis ....................... 601
`Control Issues in Systems with Loop Delays
`Leonid Miriam, Zalman J. Palmor .................................. 627
`
`
`Part V Networking
`
`Network Protocols for Networked Control Systems
`F.—L. Lian, J. R. Mayne, D. M. Tilbnry ............................ 651
`Control Using Feedback over Wireless Ethernet and Bluetooth
`A. Sari, J. Baillieul, D. V. Raghnnathan.‘......................... .. .677
`
`_ Bluetooth in Control
`B0 Bernhardsson, Johan Eker, Joakz'm Persson ...................... 699
`
`Embedded Sensor Networks
`John Heidemann, Ramesh Gom'ndan ............................... 721
`
`
`Part VI Applications
`
`Vehicle Applications of Controller Area Network
`Karl Henrik Johansson, Mmm T6'rngren, Lars Nielsen ............... 741
`
`Control of Autonomous Niobile Robots
`Magnus Egerstedt .
`.
`; ............................................. 767
`
`VVireless Control with Bluetooth
`Vladimeros Vladimerou, Gen“ Dnllemd .......................fl. ..... 779
`5"
`The Cornell RoboCup Robot Soccer Team: 1999-2003
`Rafiaello D’Andrea .............................................. 793
`Index .......................................................... 805
`
`Petitioner's Exhibit 101 1
`Page 6 of 32
`
`Petitioner's Exhibit 1011
`Page 6 of 32
`
`

`

`
`
`Preface.
`
`
`
`This handbook was motivated in part by our experience (and that of others) in
`performing research and in teaching about networked and embedded control
`systems (NECS) as well as in implementing such systems. Although NECS—
`along with the technologies that enable themfihave become ubiquitous, there ‘
`are few, if any, sources where a student, researcher, or developer can gain a
`‘ sufficiently broad view of the subject. Oftentimes, the needed information is
`scattered in articles, websites, and specification sheets. Such dificulties are
`perhaps to be expected, given the relative newness of the subject and the
`diversity of its constitutive disciplines. From control theory and communica—
`tions, to computer science and electronics, the variety of approaches, tools,
`and language used by experts in each field often acts as a barrier to under—
`standing how ideas fit within the broader context of networked and embedded
`control.
`'
`With the above in mind, we have gathered a collection of articles that
`provide at least an introduction to the important results, tools, software, and
`technologies that shape the area of NECS. Our goal was to present the most
`important knowledge about NECS in a book that would be useful to anyone
`who wants to learn about any aspect of the subject. We hope that we have
`succeeded and that every reader will find valuable information in the book.
`We thank the authors of each of the chapters. They are all busy people and
`we are extremely grateful to them for their outstanding work. We also thank
`Tom Grasso, Editor, Computational Sciences and Engineering at Birkhauser
`Boston, for all his [help indeveloping the handbook, and Regina Gorenshteyn,
`Assistant Editor,» for guiding the editorial and production aspects of the vol—
`ume. Lastly, we thank Torrey Adams whose copyediting greatly improved the
`book.
`We gratefully acknowledge the Support of our wives, Maria K. Hristu and
`Shirley Johannesen Levine, and our families.
`
`4,
`
`College Park, MD
`April 2095
`
`Dimitrios Hm'stu— Vb’rsakelz’s
`William S. Levine
`
`Petitioner's Exhibit 101 1
`
`Page 7 of 32
`
`Petitioner's Exhibit 1011
`Page 7 of 32
`
`

`

`
`
`u
`
`Vehicle Applications of '
`Controller Area Network
`
`Karl Henrik Johansson,1’* Martin Téj'rngren,2d and Lars Nielsen3
`1 Department of Signals, Sensors and Systems, Royal Institute of Technology,
`Stockholm, Sweden, kallej©s3.kth:se
`'
`
`2 Department of Machine Design, Royal Institute of Technology, Stockholm,
`Sweden, martin©damek.kth. se
`'
`3 Department of Electrical Engineering, Link‘oping University, Sweden,
`lars©isy.liu. se
`
`1 Introduction
`
`The Controller Area Network (CAN) is a serial buscommunicationsproto—
`col developed by Bosch in the early 19808. It defines a standard for efficient
`and reliable communication between sensor, actuator, controller, and other
`nodes in real—time applications. CAN is the de facto standard in a large vari—
`ety of networked embedded control systems. The early CAN development was
`mainly supported by the vehicle industry: CAN is found in a variety of passen—
`‘ger cars, trucks, boats, spacecraft, and other types of vehicles. The protocol is
`also widely used today in industrial automation and other areas of networked
`embedded control, with applications in diverse products such as production
`machinery, medical equipment, building automation, Weaving machines, and
`wheelchairs.
`.
`In the automotive industry, embedded control has grown from stand—alone
`systems to highly integrated and networked control systems [7,11]. By net—
`working electro—mecham'cal subsystems,
`it becomes possible to modularize
`functionalities and hardware, which facilitates reuse and adds capabilities.
`Fig. 1 shows an example of an electronic control unit (ECU) mounted on a
`diesel engine of a Scania truck. The ECU handles the control of engine, turbo,
`fan, etc. but also the CAN communication. Combining networks and mecha—
`tronic modules makes it possible to reduce both the cabling and the number
`5;.
`
`*The work of K. H. Johansson was partially supported by the European Com~
`mission through the ARTIST2 Network of Excellence on Embedded Systems Design,
`by the Swedish Research Council, and by the Swedish Foundation for Strategic Re—¢,
`search through an Individual Grant for the Advancement of Research Leaders.
`.
`lThe work of M. Torngren was partially supported by the European Commission"
`through ARTIST2 and by the Swedish Foundation for Strategic Research through
`the project SAVE.
`.
`,
`
`Petitioner's Exhibit 101 1
`
`Page 8 of 32
`
`Petitioner's Exhibit 1011
`Page 8 of 32
`
`

`

`742
`
`K. H. Johansson, M. T'cirng‘ren, and L. Nielsen
`
`ECU cunnectcrs
`
`Fig. 1. An ECU mounted directly on a diesel engine of a Scania truck. The arrows
`indicate the ECU connectors, which are interfaces to the CAN. (Courtesy of Scania
`
`A3.)
`
`
`
`
`
`of connectors, which faciitates production and increases re-iability. Introduc—
`
`ing networks in vehicles also makes it possible to more eficiently carry out
`diagnostics and to coordnate the operation of the separate subsystems.
`The CAN protocol standardizes the physical and data link layers, which
`are the two lowest layers of the open systems interconnection (OSI) communi—
`cation model (see Fig. 2). For most systems, higher—layer protocols are needed
`to enable efficient development and operation. Such protocols are needed for
`defining how the CAN protocol should be used in applications, for example,
`how to refer to the configuration of identifiers with respect to application mes—
`sages, how to package application messages into frames, and how to deal with
`start—up and fault handl'ng. Note that in many cases only a few of the OSI
`layers are required. Note also that real—time issues and redundancy manage—
`ment are not covered by the 081 model. The adoption of CAN in a variety
`of application fields has .ed to the development of several higher—layer proto—
`cols, including SAE J1939, CANopen, DeviceNet, and CANKingdom. Their
`characteristics reflect diferences in requirements and traditions of application
`areas. An example is the adoption of certain communication models, such as
`
`either the client—server model or the distributed data—30w model [13].
`'
`The progress and success of CAN are due to a number of factors. The
`evolution of microelectronics paved the way for introducing distributed con—
`trol in vehicles. In the early 1980s there was, however, a lack of low—cost and
`standardized protocols suitable for real—time control systems. Therefore, in
`1983 Kiencke started the development of a new serial bus system at Bosch,
`
`
`
`,‘
`
`Petitioner's Exhibit 101 1
`
`Page 9 of 32
`
`
`
`Petitioner's Exhibit 1011
`Page 9 of 32
`
`

`

`1l
`
`
`
`743
`
`Vehicle Applications of Controller Area Network
`
`Application
`Presentation
`Session
`
`Transport
`Network
`
`I Data link
`
`' CAN
`Physical
`
`
`
`
`
`
`
`Fig. 2. The CAN protocol defines the lowest two layers of the 081 model. There exist
`several CAN—based higher—layer protocols that are standardized The user choice
`depends on the application.
`
`
` 400 1 l I I l
`
`
`
`
`
`
`
`
`
`
`
`
` 300 r
`
`
`
`
`
`350_ Million CAN nodes sold per year
`
`250 ~
`
`. 200-
`
`150‘
`j 1
`
`100—
`
`
`
`50
`
` 2003
`
`2001
`
`
`
`2
`
`1999
`
`2000
`
`Fig. 3. The number of CAN nodes sold per year is currently about 400 million.
`(Data from the association, CAN in Automation [3].)
`
`which was presented as CAN in 1986 at the SAE congress in Detroit [8]. The
`CAN protocol was internationally standardized in 1993 as ISO 11898—1. The
`development of CAN was mainly motivated by the need for new functionality,
`but it also reduced the need for wiring. The use of CAN in the automotive
`industry has caused mass production of CAN controllers. Today, CAN C015“:
`trollers are integrated on many microcontrollers and available at a low cost".
`Fig. 3 shows the number of CAN nodes that were sold during 1999e2003.
`
`Petitioner's Exhibit 1011
`
`Page 10 of 32
`
`Petitioner's Exhibit 1011
`Page 10 of 32
`
`

`

`744
`
`K. H. Johansson,‘M. Torngren, and L. Nielsen
`
`
`
`Fig. 4. Three nodes connected through a CAN bus
`
`The purpose of this chapter is to give an introduction to CAN and some
`of its vehicle applications. The outline is as follows. Section 2 describes the
`CAN protocol, including its message formats and error handling. The section
`is concluded by a brief history of CAN. Examples of vehicle application ar—
`chitectures based on CAN are given in Section 3. A few specific control loops
`closed over CAN buses are discussed in Section 4. The paper is concluded
`with some perspectives in Section 5, where current research issues such as
`X-by—wire, and standardized software architectures are considered. The exam—
`ples are described in more detail in [14]. A detailed description of CAN is
`given in the; textbook [6]. Another good resource for further information is
`the homepage of the organization CAN—in—Automation (CiA) [3]. The use of
`CAN as a basis for distributed control systems is discussed in [13].
`
`2 Controller Area Network
`
`The Controller Area Network (CAN) is a serial communications protocol
`suited for networking sensors, actuators, and other nodes in real-time syS—
`terns. In this section, we first give a general description of CAN including its
`message formats, principle of bus arbitration, and error—handling mechanisms.
`Extensions of CAN, such as application—oriented higher—layer protocols and
`time—triggered CAN, are described, followed by a brief history of CAN.
`
`2.1 Description
`A CAN bus with three nodes is depicted in Fig. 4. The CAN Specification [4]
`defines the protocols for the physical and the data link layeIS, which enable
`the communication between the network nodes. The application process Of a
`node, e;g., a temperature sensor, decides when it should request the trans-
`mission of a message frame. The frame consists of a data field and overhead;
`
`
`such as identi"er and control fields. Since the application processes in gen:
`
`
`eral are asynchronous, the bus has a mechanism for resolving conflicts. F0r
`CAN, it is based on a non—destructive arbitration process. The CAN pro’GOCO1 7'
`therefore belongs to the class of protocols denoted as carrier senselmu‘ltiple
`access/collision avoidance (CSMA/CA), which means that the protocol hs‘UeDS
`
`Petitioner's Exhibit 1011
`
`Page 11 of 32
`
`Petitioner's Exhibit 1011
`Page 11 of 32
`
`

`

`Vehicle Applications of Controller Area Network
`
`,SOF
`
`identifier
`
`RTR
`
`Control
`
`Data
`
`CRC
`
`ACK
`
`
`
`745
`
`
`
`Fig. 5. CAN message name
`
`to the network in order to avoid collisions. CSNLA/CD protocols like Ether—
`net have instead a mechanism to deal with collisions once they are detected.
`CAN also includes various methods for error detection and error handling.
`The communication rate of a network based on CAN depends on the physical
`distances between the nodes. If the distance is less than‘40 m, the rate can be
`up to 1 Mbps.
`
`‘
`
`i
`
`
`
`
`
`
`
`
`
`
`
`
`
`Nlessage formats
`
`
`
`
`
`CAN distinguishes four message formats: data, remote, error, and overload
`ames. Here we limit the discussion to the data frame, shovni in Fig. 5. A data
`
`Lame begins with the start«of—fiame (SOP) bit. It is followed by an eleven—bit
`
`
`
`'denti°er and the remote transmission request (RTE) bit. The. identrier and
`
`
`the RTE bit form the arbitration field. The control field consists of six bits
`andindicates how many bytes of data follow in the data field. The data field
`can be zero toeight bytes. The cata :ield is followed by the cyclic redundancy
`
`
`checksum (CBC) field, which enables the receiver to check if the “eceived bit
`
`
`
`sequence was corrupted. The two—bit acknowledgment (ACK) "elc is used
`
`by the transmitter to receive an acknowledgment of a valid frame from any
`
`
`receiver. The end of a message " ame is signaled through a seven—bit end—of—
`
`arne EOF). There is also an extended data frame with a twenty—nine—bit
`
`
`
`
`
`
`'denti"er (instead of eleven bits).
`
`Arbitration
`
`
`
`
`
`
`
`
`
`
`Arbitration is the mecha ism that handles bus access con "icts. Whenever the
`
`CAN bus is free, any
`'t can start to transmit a message. Possible conflicts,
`
`due to more than one uni; starting to transmit simu‘aneously, are resolved by
`
`bit—wise arbitration using the identifier of each unit. During the arbitration
`phase, each transmitting unit transmits its identi"er and compares it. with
`the level monitored on the bus. If these levels are ecual, the unit continues to
`transmit. lithe unit detects a dominant level on the bus, while it was trying to
`transmit a recessive level, then it quits transmitting (and becomes a receiver).
`The arbitration phase is performed over the whole arbitration field. VVnen it
`is over, there is only one transmitter left on the bus.
`The arbitration is illustrated by the following example with three nodes
`‘ (see Fig. 6). Let the recessive level c0rrespond to “1” and the dominantwlevel
`
`
`
`to “0”, and suppose the three nodes have identi "ers Ii, 7; : 1, 2, 3, equal to
`
`
`
`‘
`
`Petitioner's Exhibit 1011
`
`Page 12 of 32
`
`Petitioner's Exhibit 1011
`Page 12 of 32
`
`

`

`746
`
`K. H. Johansson, M. Torngren, an
`identifier
`
`Bus
`
`Node 2
`
`Node 3
`
`
`
`
`
`d L. Nielsen
`
`ContrOI
`
`
`
`33-133
`
`
`
` Node; ‘
`
`Fig. 6. Example illustrating
`their SOF bi‘s simultaneous
`transmit one (recessive level), and 1
`these instances, Nodes 1 and
`the identifier has been transmitted, the bus belongs
`transmitting its control field, data field, etc. ’
`I3 : 11001011001.
`I1 : 11001101010,
`I2 : 11001011011,
`bitration process illus—
`If the nOdes start transmitting simultaneously, the at
`trated inthe figure takes place. First all three nodes send their 8013‘ bit. Then,
`they start transmitting their
`they are equal. The sixth bit of I1 is at th
`spending bits are at the dominant level of I2 and I3. Therefore, Node 1 stops
`transmitting immediately and continues only listening to the bus. This listen—
`ing phase is indicated in Fig. 6 with the grey field. Since the tenthbit of I2
`is at the recessive level while it is dominant for I3, Node 3 is the transmitter
`s after the arbitration phase and thus continues with
`that has access to the bu
`the transmission of the control and data fields, etc.
`ation addresses in CAN. Instead each
`There is no notion of message destin
`y node. needs to filter out
`node picks up all traffic on the bus. Hence, ever
`‘
`the interesting messages on the bus. The arbitratio
`_
`u
`.
`t, of
`an effective way to resolve bus conflicts. Note that a
`‘
`l information has to ,
`address data is transmitted and that no extra bus contro
`be’transmitted‘. A conseque
`he arbitration mechanism, however, is thatare
`nce of t
`units with low priority may exp
`ncy if high—priority units
`erience large late
`
`hIee no
`
`des st art transmitting
`on as they
`
`ntinue as long as
`
`.
`‘
`
`i
`
`very active.
`
`Error handling
`
`Error detection and error handling are important for the performance of CAN- ‘
`ntary error detection mechamsms the probability ofhaV ‘
`Because of compleme
`ing an undetected error is very s
`
`in five differell
`
`Petitioner's Exhibit 1011
`
`Page 13 of 32
`
`Petitioner's Exhibit 1011
`Page 13 of 32
`
`

`

`
`
`Vehicle Applications of Controller Area Network
`
`747
`
`ways in CAN: bit monitoring and bit stuffing, as well as frame check, ACK
`check, and CRC. Bit monitoring simply means that each transmitter monitors
`the bus level, and signals a bit error if the level does not agree with the trans—
`mitted signal. (Bit monitoring is not done during the arbitration phase.) After
`
`having :ransmitted five identical bits, a node will always transmit the oppo—
`
`site bit. This extra bit is neglected by the receiver. The procedure is called
`bit stuffing, and it can be used to detect errors. The frame check consists of
`
`
`
`checking that the xed bits of the frame have the values they are supposed
`
`to have, e.g., EOF consists of seven recessive bits. During the ACK in the
`message frame, all receivers are supposed to send a dominant level. If the
`transmitter, which transmits a recessive level, does not detect the dominant
`level, then an error is signaled by the ACK check mechanism. Finally, the
`CEO is that every receiver calculates a checksum based on the message and
`compares it with the CRC field of the message.
`.
`‘
`Every receiver node obviously tries to detect errors within each message. If
`an error is detected, it leads to an immediate and automatic retransmission of
`the incorrect message, In comparison to other network protocols, this mech—
`anism leads to a high data integrity and a short error recovery time. CAN
`thus provides elaborate procedures for error handling, including retransmis—
`sion and reinitialization. The procedures have to be studied carefully for each
`application to ensure that the automated error handling is in line with the
`system requirements.
`
`2.2 Protocol extensions
`
`' CAN provides the basic functionality described above. In many situations,
`it is desirable to use standardized protocols that define the communication
`layers on top of the CAN. Such higher—layer protocols are described below to—
`gether with CAN gateways and the time—triggered extension of'CAN denoted
`TTCAN, which allows periodic access to the communication bus with a high
`degree of certainty.
`
`Higher-layer protocols
`The CAN protocol defines the lowest two layers Of the 081 model in Fig. 2.
`In order to use CAN, protocols are needed to define the other layers: Field—
`bus protocols usually do not define the session and presentation layers, since
`they are not needed in these applications. The users may either decide to
`define their own software for handling the higher layers, or they may use a
`standardized protocol. Existing higher—layer protocols are often tuned to a
`certain application domain. Examples of such protocols include SAE J193§¥n
`CANopen, and DeviceNet. It is only SAE J1939 that is specially deveIOped’é'
`for vehicle applications. Recently, attempts have been made to interface CAN
`and Ethernet, which is the dominant technology for local area networks and
`widely applied for connecting to the Internet.
`
`Petitioner's Exhibit 101 1
`
`Page 14 of 32
`
`Petitioner's Exhibit 1011
`Page 14 of 32
`
`

`

`
`
`‘
`i’
`
`'
`
`748
`
`.
`
`K. H. Johansson, M. T'orngren, and L. Nielsen
`SAE 11939 is a protocol that defines the higher—layer communication con— i
`trol. It. was developed by the American Society of Automotive Engineers u
`(SAE) and is thus targeted to the automotive industry. The advantage of
`having a standard is considerable, since it enables independent development
`.
`of the individual networked components, which also allows vehicle manufac— ‘
`
`turers to use components from different suppliers. SAE J1939 specifies, e.g.,
`‘
`,
`how toread and write data, but also how-to calibrate certain subsystems.
`The data rate of SAE J1939 is about 250 kbps, which gives up to about 1850 1
`“
`messages per second [6] Applications of SAE J1939 include truck—and—trailer
`communication, vehicles in agriculture and forestry, as well as navigation sys— ‘
`tems'in marine applications.
`.
`CANopen is a standardized application defined on top of CAN and widely :
`used in Europe for the application of CAN in distributed industrial automaé
`tion. It is a standard of the organization CAN in Automation (CiA)
`[3].
`CANopen specifies communication profiles and device profiles, which enable 1
`an application—independent use of CAN. The communication profile defines
`the underlying communication mechanism. Device profiles exist for the most
`common devices in industrial automation, such as digital and analog I/O
`components, encoders, and controllers. The device can be configured through
`.
`CANopen independent of its manufacturer. CANopen distinguishes real—time
`data exchange and less critical data exchange. It provides standardized com—
`munication objects for real—time data, configuration data, network manage— ”
`ment data, and certain special functions (e.g., time stamp and synchronization
`messages).
`'
`DeviceNet is another standardized application defined on top of CAN for
`distributed industrial automation. It is mainly used in the USA. and Asia
`and was originally developed by Rockwell Automation. DeviceNet, Control-
`Netkand transmission control protocol/Internet protocol (TOP/1P) are open .
`network technologies that share upper layers of the communication protocol,
`‘
`but are based on lower layers: DeviceNet is built on CAN, ControlNet on a i
`token~passingbus protocol, and TCP/IP on Ethernet.
`‘
`CANKingdorn is a high—layer protocol used for motion control systems-
`It is also used in the maritime industry, as described in a boat example in 1
`Section 3. CANKingdom allows the changing of network behavior at any time,
`1
`including while the system is running. For example, CANKingdom allows the
`system troubleshooter to turn off individual nodes. The CAN node identifierS
`and the triggering conditions for sending messages can be changed while the ‘
`system is running. One instance when real—time network reconfiguration is ‘
`used is during failure conditions. An example is a loss of a radio link ECU }
`in a maritime application. The network monitor, also known as the Kira;
`in that casefirst shuts off the radio node to. keep it from sending any more
`commands, and then tells the appropriate nodes to get data from the King.
`This operation eliminates the problem of a node receiving two Simultafleéus ‘
`but conflicting commands. It also eliminates the problem of two nodes sendlng .
`the same CAN id.
`
`‘
`
`‘
`
`Petitioner's Exhibit 1011
`
`Page 15 of 32
`
`Petitioner's Exhibit 1011
`Page 15 of 32
`
`

`

`
`
`
`
`Vehicle Applications of Controller Area Network
`749
`
`The high—level protocols described above have been developed with difier—
`ent applications and traditions in mind, which is reflected, for example, in their
`support for real—time control. Although SAE J1939 is used for implementing
`control algorithms, it does not provide explicit support for time—constrained
`messaging. In contrast, such functionalities are provided by CANKingdom
`
`and CANopen, which handle explicit support for inter—node synchronization.
`
`
`CANKingdom and CANopen allow static and dynamic con"guration of the
`network, whereas SAE J1939 provides little flexibility.
`
`CAN gateways
`
`Gateways and bridges enable CAN—based networks to be linked’together or
`linked to networks with other protocols. A gateway between a CAN and
`another communication network maps the protocols of the individual net—
`works. There exist many different types of CAN gateways, e.g., CAN—RS232
`and CAN—TCP/lP gateways. The latter can provide remote access to a CAN
`through the Internet, which allows worldwide monitoring and maintenance.
`The networks connected through a gateway or a bridge are disconnected in
`terms of their real—time behavior, so obviously the, timing and performance
`of the complex inter—connected network can be hard to predict even if the
`individual networks are predictable.
`'
`Ethernet (or rather Ethernet/1P) is quite a different communication proto—
`col compared to CAN, but is still of growing importance in industrial automa~
`tion either in constellations with CAN or on its own. Traditionally, Ethernet
`is used in office automation and multimedia applications, while CAN domi—
`‘ nates in vehicles and in certain industrial automation systems. The strength
`of Ethernet is the ability to quickly move large amounts of data over long
`distances and that the number of nodes in the network can be large. CAN, on
`the other hand, is optimized for transmitting small messages over relatively
`short distances. A drawback with a network based on the Ethernet protocol
`is that the nodes need to be quite powerful and complex (and therefore more
`expensive) in order to handle the communication control. Another drawback
`with Ethernet is that during network traffic congestion the delay jitter can be
`severe and unpredictable], although at low network load Ethernet gives almost
`
`_ no delay.
`
`Time—triggered communication on CAN
`rTraditional CAN communication is event based: asynchronous events are trig—
`gered by node applications that initialize each transmission session. In many
`cases, this strategy is an efficient way to share the network resource. Therfé'
`are a variety of applications, however, that require a guaranteed access to the
`communication bus with a fixed periodic rate. This constraint is typical for
`sampled—data feedback control systems. In the automotive industry, x—by—wire
`
`
`
`Petitioner's Exhibit 101 1
`
`Page 16 of32
`
`Petitioner's Exhibit 1011
`Page 16 of 32
`
`

`

`Nielsen
`
`750
`K. H. Johansson, M. T'orngren, and L.
`systems are examples of such control systems with deterministic communica—
`tion behavior during regular operation.
`,
`- By introducing the notion of global network time, the standard ISO 11898—
`4 definefi the extension Time-triggered communication on CAN (TTCAN).
`triggered CAN protocol and en—
`It is built on top of the traditional event—
`ables existing CAN nodes to work in parallel with TTCAN nodes. The global
`clock requires hardware implementation; otherwise, TTCAN is a pure soft—
`ware extension of CAN. The synchronization in TTCAN takes place through
`CAN nodes recognize and use to
`a periodic reference message, which all TT
`synchronize their clocks. The nodes are configured to know when to send their
`message after the reference message. The period time of the transmission of a
`periodic node should be a multiple of the reference period. Traditional CAN
`nodes (or event—based TTCAN nodes) compete for the access of the free win—
`the line of the conventional CAN
`dows between the reference messages, along
`protocol. This mechanism is thus the reason why time—triggered and event—
`triggered scheduling is possible simultaneously in TTCAN.
`The sender of the reference message is obviously a crucral node in TTCAN
`to guarantee clock synchronization. Therefore, an automatic procedure is pro—
`vided for letting another node take over ifthe reference sender fails, an

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