a comparative evaluation of serial bus implementations for use in research robotic vehicles murray...

54
A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet Propulsion Lab August 6, 2003

Upload: jonah-norris

Post on 12-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

A Comparative Evaluation of Serial Bus Implementations for Use in Research

Robotic Vehicles

Murray R. Clark, Ph.D., P.E.Visiting Professor

NASA – Jet Propulsion LabAugust 6, 2003

Page 2: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Presentation Overview

• Application Domain• Concepts of Network Communication• Candidate Technologies• Technology Comparisons:

Transmission Medium

Communication Model

Error Handling• Conclusions• Future Work

Page 3: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Application Domain

Target vehicle types• Rocky 8

• Axel/MegaScout

• Hexapod

• Anthropomorphic

Page 4: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Application Domain

Next generation research rover application places premium on:

• Effective Bandwidth• Real-Time Issues: Latency/Determinism,

Synchronization• Network Topology / Length / Node Count• Signaling / EMI Susceptibility• Peripheral Availability / Ease of Development• Industry Support

Page 5: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Application Domain

Application requirements are most similar to those of:

• Aerospace/Military Vehicles• Industrial Automation Systems• Road Vehicles• Computing/Communications• Multimedia

Page 6: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Application Domain: Example Data Transport Requirements

• Scenario 1: Rocky8 maneuver based on odometry

• Assumptions: all setpoints and encoder outputs are 32 bits, analog I/O is 16 bits, overhead of 11 bits/command

Page 7: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Application Domain: Example Data Transport Requirements

• Scenario 2: Rocky8 4-DOF arm w/ corer, force control

• Assumptions: all setpoints and encoder outputs are 32 bits, analog I/O is 16 bits, overhead of 11 bits/command

Page 8: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Application Domain: Example Data Transport Requirements

• Scenario 3: Hexapod with 18 DOF, force control, INS

• Assumptions: all setpoints and encoder outputs are 32 bits, analog I/O is 16 bits, overhead of 11 bits/command

Page 9: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Application Domain

Page 10: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Concepts of Network Communication

• Protocol: from the Greek protocollon, a leaf of paper glued to a volume, describing its contents.

• A special set of rules that end points in a network use when they communicate. Protocols are typically layered, e.g. the ISO OSI Architecture:

•Application Layer •Presentation Layer•Session Layer•Transport Layer

•Network Layer•Data Link Layer•Physical Layer•Transmission Medium

Page 11: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Concepts of Network Communication

Data Network Taxonomy

• Domain Allocation• Hierarchy• Transfer Types• Arbitration Methods

Page 12: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Concepts of Network Communication

Mapping of concept to motivation

• Command/Response – highly predictable in time domain (deterministic), highly reliable and simple.

• Bus/Switched – Switched Networks change their topology moment to moment – shrinks collision domain and reduces effective transmission line length.

• Asynchronous – Good for non-periodic, burst transfers.

• Isochronous – Achieves high efficiency in periodic, streaming transfer of large packets.

Page 13: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Concepts of Network Communication

Mapping of concept to motivation• TDM – arbitration done prior to transmission

time• CSMA/CD – arbitration is done by collision

detection followed by backoff by all parties• CSMA/CD + AMP arbitration is by collision

detection followed by identification of highest priority message

Page 14: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Concepts of Network Communication

Network topologies• Trunk-Drop

• Star (Tiered Star)

• Daisy Chain

• Point-to-Point

Page 15: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Concepts of Network Communication: Signaling Methods

• Each has unique combination of : • DC component, Clock Content, Harmonic content

Page 16: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Concepts of Network Communication: Clock Recovery Methods

• Transmit Clock Explicitly (I2C)• Include Sync Sequence in Packet Preamble

(Ethernet)• Manchester Encoding (1553)• Bit Stuffing (USB)• 4B/5B and Similar Codes (100BaseTX)• Transmit Strobe Signal (1394)

Page 17: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Candidate Technologies

From aerospace:• MIL 1553

• IEEE 1355

Page 18: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Candidate Technologies

From industrial automation:

• Profibus

• Seriplex

Page 19: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Candidate Technologies

From automotive:• CAN

• J1850

Page 20: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Candidate Technologies

From multimedia:

• IEEE 1394

Page 21: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Candidate Technologies

From computing:• Ethernet

• USB

Page 22: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Candidate Technologies

Page 23: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Candidate Technologies

• MIL-STD-1553B • IEEE 1394a• 100 Base TX Ethernet• I2C 2.1• CAN 2.0B• USB 2.0

Page 24: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Candidate Technologies

• In the automotive industry, companies were interested in communication systems for real time between different micro-controllers.

• This had been realized with the aid of UART’s but wasn't efficient due to lack of multi-master communications.

• In 1983, taking inspiration  from the asymmetric I2C bus (arbitration) and symmetric buses (differential signaling), Bosch decided to develop a protocol for real time, robust communications in distributed systems (CAN Bus).

• UARTs are intended for high SNR applications; they are sensitive to jitter and pulse width degradation.

Page 25: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Transmission Medium - 1553

• Trunk-Drop Topology; Cable is STP, 75, XFMR coupled

• Resistant to lightning, EMP, typically dual-redundant

• 32 nodes max

• 25 years old, tested rigorously

• 500 ft trunk, 20 ft stub

• 1 Mb/s, Signal Encoding is Manchester II bi-phase

Page 26: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Transmission Medium – 1394a

• Cable Type is SF/2SFTP, 4.5m max. length, tested as defined in IEEE standard and 1394ta documents

• 400 Mb/s Bandwidth, Star, Daisy-Chain Topology

• Signaling is NRZ+Strobe

• 64 nodes per network, auto-detect through CM bias

Page 27: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Transmission Medium – 100BaseTX Ethernet

• Cable Type is S/2FTP, 150, others (in many quality grades)

• 100 Mb/s Bandwidth

• Star Topology

• No effective limit on node count

• MLT-3 Encoding

• One pair for transmit, one for receive

Page 28: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Transmission Medium – I2C

• Medium specified only by maximum capacitance in I2C 2.1 2000, Philips Semiconductor

• Intended as a 2-conductor, open-collector communication channel between IC’s

• High-Speed implementation achieves 3.4 Mb/s

Page 29: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Transmission Medium – CAN 2.0B

• 1Mb/s at 40m, 2V signal swing over 120 STP with over 100 nodes

• Trunk-drop topology

• PHY specified in ISO 11898

• Alternate PHY for automotive given in SAE J1939

• Implements EMI and transient resistance

• Signaling is NRZ

Page 30: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Transmission Medium - USB 2.0

• Cable type is SF/FTP, Tiered-Star topology

• Maximum Length is 5M, 127 nodes/network

• Signaling is NRZI, 480 Mb/s

• Testing standards are from USB Implementers’ Forum

Page 31: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Communication Model - 1553

• Domain is bus type

• Hierarchy is Master/Slave

• Periodic transfers (no clock transmitted)

• Arbitration is by TDMA

• Broadcast transmission is supported

Page 32: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Communication Model - 1553

• Three types of packets

• Maximum transmission efficiency is 80%

Page 33: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Communication Model – 1394a

• Domain is Bus type, typically one repeater per node

• Peer-to-peer hierarchy

• Types of transfers: Control, Interrupt, Asynchronous, Isochronous

• Sharing of channel is through “Fairness Interval”, async transfers are collectively guaranteed 20% of BW; arbitration following each cycle

• One opportunity for asynchronous communication per node, per 125 us cycle

• Multicast synchronization is supported

Page 34: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Communication Model – 1394a

• Isochronous transfers use 6-bit channel number rather than an address

• Maximum efficiency is 97.7%

Page 35: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Communication Model – 1394a

1394 packet composition

• Example: Asynchronous Block Read

Page 36: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Communication Model – 1394a

1394 packet composition

• Example: Isochronous Block Read

Page 37: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Communication Model – 100BaseTX

• Domain can be bus or switched network

• Hierarchy is peer-to-peer

• Transfers are asynchronous only

• Arbitration is by CSMA/CD

• Latency depends on traffic

• Maximum efficiency is 93%

Ethernet Packet CompositionPreamble SFD Destination AddressSource Address Type Data CRC (7 Bytes) (1 Byte) (6 Bytes) (6 Bytes) (2 Bytes) (46-1500 Bytes) (4 Bytes)

Page 38: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Communication Model – I2C

• Domain is Bus type

• Hierarchy is multi-master

• Transfers are asynchronous (with clock transmission)

• Arbitration is by CSMA/CD+AMP

• Example efficiency is 75% (4-Byte data packet)

• Latency can be quite low, Protocol is less complex

Page 39: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Communication Model – CAN 2.0

• Domain is Bus type (all nodes receive all transmissions)• Hierarchy is multi-master• Arbitration by CSMA+AMP• Uses message Identifiers rather than addresses• Multi-master – nodes can initiate message periodically,

upon error, or when spoken to• Maximum efficiency is 67%• High level protocols e.g. DeviceNet (automation) and

TTP (automotive) exist• Can customize signaling for long runs

Page 40: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Communication Model – USB 2.0

• Domain is switched network• Hierarchy is master-slave• Four types of transfers:

Isochronous – support deterministic streaming

Interrupt – support periodic polling

Bulk – support asynchronous transport

Control – small asynchronous packets

• New message frame ever 125 us; Isocronous transfers have priority

• Maximum efficiency is 96%

Page 41: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Error Detection: 1553

• 1553 leaves error handling to controller and peripheral software

• All peripherals must detect and report message errors and illegal commands

• All peripherals must respond to a properly received command by transmitting a response

• Peripherals may retry transmissions on alternate bus (if present) without interrupting host

• Fault confinement is often implemented in peripherals (e.g. self disconnect on babble)

Page 42: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Error Detection: 1394

• Both asynchronous and isochronous transmissions use 32 bit CRC for header and data.

• Receiving node can detect asynchronous packet errors, automatically discard the packet, and report the error type in the acknowledge packet.

• Receiving node can detect isochronous packet errors but they are not automatically reported (isochronous transmissions are one-direction).

Page 43: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Error Detection: 100 Base TX

• 32 bit CRC is included in packet• “Best Effort” delivery is used – no strict

guarantee of correct delivery is made – if collision retry limit is reached or bit errors occur, packet may be dropped

• Higher level protocols such as TCP/IP must provide error recovery mechanisms

Page 44: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Error Detection: I2C

• I2C standard does not explicitly address error detection

• Transfers use acknowledge bit – master may abort failed transfer

Page 45: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Error Detection: CAN 2.0

• Automatic error detection, signaling and confinement

• Modes of operation for nodes is based on error count:

Error Active – node may transmit error flags

Error Passive – node may not transmit error flags

Bus Off – node may not transmit at all

• Automatic retransmission of messages• Distinction of errors : by temporal order or by

node function   

Page 46: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Error Detection: USB 2.0

• For Interrupt, Bulk, and Control Transfers, the following can be detected:

Packet Errors: Packet ID check, CRC check, Bit Stuff check, False EOP – withhold response

Timeout – retry

Babble, LOA – disable hub port

• For Isochronous Transfers:No acknowledge means no recovery

Page 47: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Automotive Intra-Machine Networks

• Broad range of applications/requirements

• Simple as trunk latch, complex as steer-by-wire

• Diversity of requirement leads to heterogeneous networks

Class A Class B Class CSpeed (Kbit/s) 1 50 1000Latency (ms) 50 20 5Clock Jitter (ppm) 200000 20000 100Transmission Medium wire pair UTP STPFault Tolerance no no yes

Example Applicationtrunk latch

engine control

brake by wire

Page 48: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Automotive Intra-Machine Networks

•Broad range of applications/requirements•Simple as trunk latch, complex as steer-by-wire•Diversity of requirement leads to heterogeneous networks

Page 49: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Trade Associations

• Cross-Industry Support is Desirable

Page 50: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

ConclusionsComparison Table: Application Migration of Data Networks

Bus Type Intended ApplicationUnforseen Killer App

Salient Features Responsible for Success in Unforseen Killer App

Relevance of Salient Feature to Research Robotics Gotcha

1553Military - Aerospace, Weapons None

Cost is too high for all applications other than military/aerospace mission critical. Typically dual-redundant.

Reason for high cost is excellent latency and fault tolerance performance including EMI and common mode transient rejection

Bulky peripherals

1394Consumer Electronics - Streaming Digital Video Mass storage

Isochronous channel makes this well suited to movement of large packets.

Packets arrive in order as required by vision and motion control.

Isochronous channel error handling.

Industrial automation

Isochronous channel leads to deterministic latency performance. Peer-to-peer communication and broadcast synchronization

Machine vision bandwidth and motion latency requirements drive network performance spec in research rover.

Complexity of peripheral development

EthernetInter-machine connectivity Industrial automation

Maturity, huge installed base mean high bandwidth, low cost peripherals and cabling.

Latency issue can be overcome by overspecifying bandwidth at still-reasonable price.

Latency under load, packet order.

I2C

Intra-PCB connectivity such as microcontroller to serial eeprom

Amateur and research robotics

Protocol is simple to implement, is easily endowed with quality transmission medium. No long-haul capability.

Low bandwidth, non-determinant but robust system can be realized. Long haul not necessary in intra-machine applications. Bandwidth

CANAutomotive inter-machine connectivity Industrial Automation

Rejection of EMI and transients and excellent error handling are valuable in noisy factory environment.

Robustness is attractive. Latency performance is poor.

Germany-centric

USB

User friendly connection of desktop periphs such as mice, webcams, and zip drives Mass storage

Isochronous channel makes this well suited to movement of large packets.

Packets arrive in order as required by vision and motion control.

Not peer-to-peer

Page 51: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Conclusions

• 1553 is being replaced by fiber-based implementations such as FibreChannel

• CAN and Profibus are Industry Old Guard and are well represented by Industry Associations

• 1394 and Ethernet are gaining market share due to bandwidth advantage.

• I2C and USB have virtually no support from Factory Automation Industry

• Digitally-controlled servo amplifiers are available with CAN, 1394, and Ethernet interfaces

• 1355, TTP/C may be of interest in near future

Page 52: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Conclusions

• All protocols studied are capable of 1Mb/s• Those that are enjoying increasing market

penetration in industrial automation appear most desirable in this application domain

• 1394 is optimized for high bandwidth, short haul over high-quality cable with support for guaranteed bandwidth and device synchronization

• Ethernet is optimized for high bandwidth, long haul over poor quality cable, without specific support for guaranteed bandwidth or device synchronization

Page 53: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Future Work

• Instrument 200-lb rover with serial-bus-based vision, motion control, and GPS

Page 54: A Comparative Evaluation of Serial Bus Implementations for Use in Research Robotic Vehicles Murray R. Clark, Ph.D., P.E. Visiting Professor NASA – Jet

Future Work

• Publish results of study• Post slides to web• Internal report with references