Date post: | 12-Jan-2016 |
Category: |
Documents |
Upload: | jonah-norris |
View: | 215 times |
Download: | 0 times |
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
Presentation Overview
• Application Domain• Concepts of Network Communication• Candidate Technologies• Technology Comparisons:
Transmission Medium
Communication Model
Error Handling• Conclusions• Future Work
Application Domain
Target vehicle types• Rocky 8
• Axel/MegaScout
• Hexapod
• Anthropomorphic
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
Application Domain
Application requirements are most similar to those of:
• Aerospace/Military Vehicles• Industrial Automation Systems• Road Vehicles• Computing/Communications• Multimedia
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
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
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
Application Domain
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
Concepts of Network Communication
Data Network Taxonomy
• Domain Allocation• Hierarchy• Transfer Types• Arbitration Methods
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.
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
Concepts of Network Communication
Network topologies• Trunk-Drop
• Star (Tiered Star)
• Daisy Chain
• Point-to-Point
Concepts of Network Communication: Signaling Methods
• Each has unique combination of : • DC component, Clock Content, Harmonic content
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)
Candidate Technologies
From aerospace:• MIL 1553
• IEEE 1355
Candidate Technologies
From industrial automation:
• Profibus
• Seriplex
Candidate Technologies
From automotive:• CAN
• J1850
Candidate Technologies
From multimedia:
• IEEE 1394
Candidate Technologies
From computing:• Ethernet
• USB
Candidate Technologies
Candidate Technologies
• MIL-STD-1553B • IEEE 1394a• 100 Base TX Ethernet• I2C 2.1• CAN 2.0B• USB 2.0
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.
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
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
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
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
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
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
Communication Model - 1553
• Domain is bus type
• Hierarchy is Master/Slave
• Periodic transfers (no clock transmitted)
• Arbitration is by TDMA
• Broadcast transmission is supported
Communication Model - 1553
• Three types of packets
• Maximum transmission efficiency is 80%
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
Communication Model – 1394a
• Isochronous transfers use 6-bit channel number rather than an address
• Maximum efficiency is 97.7%
Communication Model – 1394a
1394 packet composition
• Example: Asynchronous Block Read
Communication Model – 1394a
1394 packet composition
• Example: Isochronous Block Read
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)
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
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
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%
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)
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).
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
Error Detection: I2C
• I2C standard does not explicitly address error detection
• Transfers use acknowledge bit – master may abort failed transfer
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
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
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
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
Trade Associations
• Cross-Industry Support is Desirable
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
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
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
Future Work
• Instrument 200-lb rover with serial-bus-based vision, motion control, and GPS
Future Work
• Publish results of study• Post slides to web• Internal report with references