1394b FireWire in automation Dr. Ing. Jiří Špale Furtwangen University, Germany Dr. Ing. Jiří Špale, 1394b in automation 1 FireWire = i.Link = IEEE1394 ... Fast serial bus Abstract: 1. History and development 2. Main technical features of FireWire 3. FireWire versus Ethernet 4. Has FireWire its place in automation? - advantages and disadvantages 5. Solutions with FireWire - examples Dr. Ing. Jiří Špale, 1394b in automation 2 History and development USA • 1985 Apple: concept submitted - 2 development goals: - very fast, cheep desktop-LAN, simple in using - successor of SCSI contemplated area of use: PC internal/external, multimedia • 1986 development team extended by Sony and other companies IEEE P1394 Working Group build • 1993 first presentation at Comdex 1993 • 1994 1394 Trade Association grounded • 1995 open standard 1394-1995 (S100, S200) accepted by IEEE Dr. Ing. Jiří Špale, 1394b in automation 3 History and development USA • 2000 IEEE 1394a – speed version S400 • 2000 arrival of cheaper concurrence-bus USB 2.0 with 480 Mbit/s ⇒ ambition of PC-market-leadership left ⇒ new goals: - dominance in multimedia technology - bus clone for TCP/IP - penetration into industrial automation • 2002 1394b with speed standards S800, S1600 a S3200 new cables, new plugs • 2003 connection length 72m → 100m thanks 8B10B-coding • 2004 Wireless FireWire Dr. Ing. Jiří Špale, 1394b in automation 4 Europe History and development • 2002 initiative of Nyquist a Wago: 1394 Automation Group created • 2002 presentation of specification 1394AP at SPS/IPC/DRIVES • 2004 fusion of 1394 Automation and 1394 Trade Association Members of 1394 Automation Group: Motion (drives, control technology, contact technology) Eurotherm, Lust, maxon motor, Moteurs Leroy Somer, Stöber Bosch Rexroth (Nyquist), Danaher WAGO Vision Basler R&D institutions Fraunhofer IPMS Dresden (Photonische Mikrosysteme) Fraunhofer IPT Aachen (Produktionstechnologie) Institut für Mikroelektronik- und Mechatronik-Systeme Institute Industrial Technology TNO, Eindhoven Dr. Ing. Jiří Špale, 1394b in automation 5 IEEE1394a / 1394b Features #1 • • • • • • • • • • • Transmission speed 100, 200, 400 (S100, ...) / 800, 1600, 3200 (S800, ...) Mbit/s is given by the slowest device – mix of slow and fast devices possible Isochronous modus: real-time applications Asynchronous modus: peer-to-peer transmission Automatic self-identification Automatic self-addressing of devices Hot-plug: devices can be plugged in the working condition 4-wires-cable, event. 2 additive power-leads / 9-wires-cable Cable material: STP only / UTP, POF, HCPF, MMF also possible Distance between adjacent devices depends of the bus-speed, e.g. 4,5m@S400&STP, 14m@S200&STP / 100m@S100&UTP No bus-terminators necessary Bidirectional transmission in packets Dr. Ing. Jiří Špale, 1394b in automation 6 IEEE1394a / 1394b Features #2 • Topology: trees only, ring structures not possible / ring structures allowed • Max. daisy chain length: 72m • Max. 63 devices connectable at 1 bus (max. 16 devices at 1 daisy chain) • Multi-master: 1 – 63 masters possible • Max. 1023 busses connectable via bridges • TCP/IP: IP transmission over 1394 possible (standard@Mac); features comparable with GB-eth • On-bus power: 8..33V; 1,5A; max. 48W • drivers: Standard@Windows>98SE,Mac>8.6,Linux • 8B10B coding implemented in physical layer • New signal levels „beta mode“ • New arbitration (protocol BOSS = Bus Ownership / Supervisor / Selector) • Back-compatible with 1394a Dr. Ing. Jiří Špale, 1394b in automation 7 Backplane environment • Uses two single-ended conductors • Can be used on the two serial bus pins defined in several common backplane busses (i.e. VME) Dr. Ing. Jiří Špale, 1394b in automation 8 Cable environment #1 • IEEE 1394a: Thin flexible 6-wire cable: two differential signal pairs and a power pair - a group of consumer A/V companies has proposed an alternate cable without the power pair => 4-wire cable - smaller connector - already has been used in some products on the market - connected in a non-cyclic tree • IEEE 1394b: 9-wire cable - new connectors Dr. Ing. Jiří Špale, 1394b in automation 9 Cable environment #2 • Each node regenerates signals • Maximum length between adjacent nodes - 4.5 m by standard cable - 10 m by well shielded cables - 70 m by use of repeaters • No more that 16 hops between any two nodes • Well suited for connecting multiple units - Inside the same enclosure (such as CPU board to disk drive) - In separate enclosures (such as camcorder to VCR) Dr. Ing. Jiří Špale, 1394b in automation 10 What kind of protocols does 1394 define? • PHY - Bits on the wire - Arbitration - Reset & bus configuration • Link - Packets on the wire • Transaction - Read, write, lock, etc. • Bus management Dr. Ing. Jiří Špale, 1394b in automation 11 Higher layer protocols • SBP - serial bus transport for SCSI-3 - in addition to standard data read/write, SBP specifies isochronous storage and playback • A/V command set - connection management - device control - data packet format Dr. Ing. Jiří Špale, 1394b in automation 12 IEEE 1394 protocol stack • ISO-7 7 Application layer 6 Presentation layer 5 Session layer 4 Transport layer 3 Network layer 2 Data link layer 1 Physical layer Dr. Ing. Jiří Špale, 1394b in automation • IEEE 1394 7-5 Bus manager 4-3 Transaction layer (Resource manager) 2 Link layer 1 Physical layer 13 Protocol Stack Application Layer Configuration Error check Serial Bus Management Asynchr. transmission (read, write, lock) Transaction Layer Packets Bus Manager Link Layer Cycle Master Isochronous Resource Manager (IRM) Node Control Firmware Firmware Isochronous transmission Packet Transmitter Packet Receiver Cycle Control Symbols Encode/ Decode Physical Layer Arbitration Media Interface Hardware Elektrical signals and mechanical interface Dr. Ing. Jiří Špale, 1394b in automation Cable 14 Main functions of PHY • To translate the symbols used by the Link Layer Control (LLC) into the appropriate signals and vice versa • to define the mechanical and electrical connections for the bus • to provide arbitration to ensure that only one node or device can transmit data at a given time • to ensure that all devices have an equitable access to the bus Dr. Ing. Jiří Špale, 1394b in automation 15 Main functions of LINK • To manage the data packet assembly/disassembly for both the asynchronous and the isochronous data • To handle addressing, error control, data framing • To generate the packet cycle timing and synchronizing signals Dr. Ing. Jiří Špale, 1394b in automation 16 Transaction layer • Control of the asynchronous data stream write operation : transmitter → receiver read operation: transmitter ← receiver lock operation: data is send on a round trip through the processing at both ends of the chain (test & control function) Dr. Ing. Jiří Špale, 1394b in automation 17 Bus management layer • Controls function of - PHY - LINK - transaction layer and operate in both the HW and SW • There are 3 possible modes - fully managed system - non-managed system - limited bus management system Dr. Ing. Jiří Špale, 1394b in automation 18 Fully managed system • Host present: PC, smart device • All modes of data transfer for up to 64 channels supported • power management • bus optimization • able to create - rate maps - bus topology diagrams Dr. Ing. Jiří Špale, 1394b in automation 19 Non-managed bus • Cycle master present • asynchronous data transfer only • Examples: transfer camera - hard disk hard disk - printer Dr. Ing. Jiří Špale, 1394b in automation 20 Limited bus management • Power management ability limited • handling of both the asynchronous and isochronous data transfer for 8 - 64 channels possible Dr. Ing. Jiří Špale, 1394b in automation 21 Bus management What FireWire does not know: • No Host needed (necessary at USB) Control functions can be executed by any device with appropriate technical sources • User setup No address configuration by a user is needed, no configuration programs must be launched The following control functions are possible: • System Root-node device with the highest node address - asynchronous arbitration (= decision which node should manage the bus) - synchronization of all devices for the isochr. transmission (cycle master role) • Isochronous Resource Manager, IRM. - channel management, bandwidth allocation to discrete channels • Bus Manager - bandwidth optimization • Power Manager - power economization Dr. Ing. Jiří Špale, 1394b in automation 22 Identification phases and arbitration • reset - Occurs always if the bus must be reconfigured - always if a new device is plugged/unplugged and if the cycle master changes • tree identification • the parent-child relation is recognized • self-identification • physical IDs are assigned to the nodes • the neighbors are informed about the own speed capacity • normally arbitration • decision what node should manage the bus • root-node hat normally the highest priority Dr. Ing. Jiří Špale, 1394b in automation 23 Bus reset • occurs when any node is connected or disconnected • takes ca. 300 µs • the following activities run: - assignment of node addresses (node ID) - root node is choosen - assignment of other functions - eventually: other bus topology is done Configuration ROM ... device information Dr. Ing. Jiří Špale, 1394b in automation 24 Identification phases and arbitration • reset - Occurs always if the bus must be reconfigured - always if a new device is plugged/unplugged and if the cycle master changes • tree identification • the parent-child relation is recognized • self-identification • physical IDs are assigned to the nodes • the neighbors are informed about the own speed capacity • normally arbitration • decision what node should manage the bus • root-node hat normally the highest priority Dr. Ing. Jiří Špale, 1394b in automation 25 Tree identification #1 branch After reset, the nodes only Know if they are branch (>1 port connected) o. leaf (exactly 1 port connected) p branch branch leaf Dr. Ing. Jiří Špale, 1394b in automation leaf 26 Tree identification #2 ch root ch p p leaf ch bus manager ch After tree identification, the root node is choosen (event. other functions too) and every connected port is signed as chíld or parent Dr. Ing. Jiří Špale, 1394b in automation p p leaf leaf 27 Self-identification #1 ID 4 ch root ch p p ID 0 ID 3 leaf ch bus manager ch After self-identification, each node has its own explicit physical ID and the topology was identified by broadcasting Dr. Ing. Jiří Špale, 1394b in automation p p ID 1 ID 2 leaf leaf 28 Self-identification #2 ID 4 ch drive root ch p p ID 0 ID 3 IO module leaf Configuration ROM was read and the special node features was provided control / IPC ch bus manager ch p p ID 1 ID 2 camera leaf Dr. Ing. Jiří Špale, 1394b in automation drive leaf 29 Normally arbitration #1 ID 4 ch p drive root ch request p ID 0 ID 3 IO modul leaf Example: Nodes #0 and #2 require the bus in the same moment. They send the request to their parents... Dr. Ing. Jiří Špale, 1394b in automation control / IPC ch bus manager ch p request p ID 1 ID 2 camera leaf drive leaf 30 Normally arbitration #2 ID 4 ch p drive root ch request request p ID 0 ID 3 IO module leaf Example: They pass the request to their parents control / IPC ch bus manager ch p p ID 1 ID 2 camera leaf Dr. Ing. Jiří Špale, 1394b in automation request drive leaf 31 Normally arbitration #3 ID 4 ch p drive root request ch deny ID 0 request p ID 3 IO module leaf control / IPC ch bus manager ch deny Example: The asked parents deny access to their other children Dr. Ing. Jiří Špale, 1394b in automation p request p ID 1 ID 2 camera leaf drive leaf 32 Normally arbitration #4 ID 4 grant p ch drive root request ch deny ID 0 ID 3 IO module leaf Root grants the access to the node which request it had received at first (#0). The node #3 had loose, that’s why it cancels its request and sends the prohibition to the node #2 Dr. Ing. Jiří Špale, 1394b in automation p control / IPC ch bus manager ch deny p request deny p ID 1 ID 2 camera leaf drive leaf 33 Normally arbitration #5 ID 4 grant p ch drive root data prefix ch deny ID 0 p ID 3 IO module leaf control/ IPC ch bus manager ch deny Example: The winning node #0 begins with data transmission and the loosing node #2 cancels its request Dr. Ing. Jiří Špale, 1394b in automation p deny p ID 1 ID 2 camera leaf drive leaf 34 Normally arbitration #6 ID 4 ch p drive root ch data prefix data prefix ID 0 p ID 3 IO module leaf control / IPC ch bus manager ch data prefix Node #4 sees the data prefix, it cancels its grant; deny changes in a data channel – all data flow into the right direction Dr. Ing. Jiří Špale, 1394b in automation p data prefix ID 1 p ID 2 camera leaf drive leaf 35 Address space Example of an address: 0x3FE 63 10 bits 54 53 bus 0 (nodes 0..63) bus 1 (nodes 0..63) … bus 1022 (nodes 0..63) bus 1023 local bus (nodes 0..63) 0x3E 6 bits 48 node 0 node 1 node 2 … node 62 node 63 (broadcast) 0xFFFFF0000200 47 0 48 bits initial memory space 256TB-512MB= 268 434 944MB private space 256MB initial node space register space 256MB (memory addressing) initial units space 256MB/register 256TB/node Dr. Ing. Jiří Špale, 1394b in automation 36 control&status registers (CSR) serial bus ROM 1kB 2kB „boot“ Isochronous and asynchronous modes Nominal cycle length = 125µs Isochronous transaction Asynchronous transaction Isochronous (short) Asynchronous (long) subaction gaps subaction gaps (~10µs) Cycle Start Telegram (CTS) ACK ACK cycle sync Acknowledge gaps (~50ns) cycle sync • Cycle sync is always send by cycle master; cycle master must be root node • Asynchronous and isochronous transactions split the bus bandwidth • Isochronous transactions can use max. 80% of the cycle length, i.e. 100µs • Asynchronous transactions can use 125µs minus isochronous transactions time • Isochr. transactions are optional only; only async. traffic on the bus is also possible Dr. Ing. Jiří Špale, 1394b in automation 37 Isochronous transaction Cycle n (125µs) Isochronous transaction CH 61 CH 57 3 CH 11 Cycle n+1 Asyn. transaction CH 61 CH 57 3 CH 11 CTS • Bandwidth reservation for isochronous transactions given by IRM • „isochronous talker“ designates the packets by channel numbers 0-63 • Each node can listen if needed ( „listener“ ), i.e. only one node sends, multiple nodes can receive • Isochronous packets are not acknowledged • Within each cycle the channels are send in the same sequence till transmission end Dr. Ing. Jiří Špale, 1394b in automation 38 Asynchronous transaction #1 - is a transaction between 2 nodes Cycle n (125µs) Cycle n+1 Asyn. transaction Request subaction Request subaction Response subaction ACK Arbitration Paket C ARB ACK Gaps (bus is free) Paket B * ARB ACK Paket A ARB CTS Bus Config Asyn. transaction The isochronous transaction is absent in this cycle • Bus Config: all nodes take part • Arbitration: all nodes take part which want access the bus; only the winner may send • ACK: during the request subaction, ACK is send by relevant node a contrariwise • *: The communication partner does not rise to answer: this time may be used by other packets Dr. Ing. Jiří Špale, 1394b in automation 39 Asynchronous transaction #2 Cycle n (125µs) Cycle n+1 (125µs) Asyn. transaction CTS CTS Asynchronous packets can delay the CST • CST contents the 32-bit-information about the beginning of the sending with the accuracy of 40 ns • Synchronization of the clock signal takes place in the link layer IC of the receiving node • Accuracy of 125 µs-clock: < 500ps (jitter) Dr. Ing. Jiří Špale, 1394b in automation 40 FireWire vs. ethernet Requirements for modern distributed automation systems: (1) compatible IT-systems, data transfer from fieldbus-environment into the control administrative (2) integrity of automation system (3) low cost (4) visual information transmission (graphical monitoring, vision) (5) Real-time motion control data transmission (motion control) (6) interoperability between components of different manufacturer Solution: 1,3,6 → ethernet 4,5,(6) → ethernet, its industrial derivates, Profibus, CANbus, SerCos Problem with (2) 1,2,3?,4,5 → FireWire: integrity is an inherent feature due to isochronous mode FireWire & (6) … solution = 1394 AP Dr. Ing. Jiří Špale, 1394b in automation 41 Ethernet + widely spread standardization and acceptance - real-time transmission problems, synchronization problems Solution: • network segmentation, data flow restriction (EtherCat), special switches, time slicing systems (Profibus DPV3) → limitation of ethernet universality • special protocols (Powerlink) → elimination of ethernet universality • procedure according to IEEE 1588: synchronization of slave-clock with the master-clock through the use of telegrams; compenzation of the unknown data transmission time throught the network through the use of feedback-loops for time measurement in both master and slave nodes - software solution → big jitter (~1µs), jitter grows onward with the load on the bus - solution by special hardware + protocol filtering → expensive Dr. Ing. Jiří Špale, 1394b in automation 42 FireWire • jitter < 500 ps • asynchronous and isochronous modes • self-identification and automatic parametrization of nodes in the working condition • hardware implementation of protocols • co-existance of protocols for - machine control - programmable logic controller - video applications - internet protocols on common physical interface Dr. Ing. Jiří Špale, 1394b in automation 43 PHY circuits connection example Bidirectional signals TPA, TPB: TPA: TPB: • sends Strobe • sends Data • receives Data • receives Strobe Both signals are used for the arbitration as well Dr. Ing. Jiří Špale, 1394b in automation 44 Data and Strobe coding 1 0 0 0 1 1 0 1 0 0 Data Strobe CLK (delayed) CLK = Data ⊕ Strobe Data change due to Strobe instead of CLK Level change at Data and at Strobe never in the same time Result: jitter < 500ps Dr. Ing. Jiří Špale, 1394b in automation 45 1394AP common base for automation components motion, vision a I/O Following functionalities are defined in application layer: • Format of transmitted data • Network management • Data Synchronization • Special register sets for node external control Dr. Ing. Jiří Špale, 1394b in automation 46 IEEE1394AP for industrial automation Communication Profiles and Device Profiles např. 1394CP (1394 Communication Profile for CANopen Management Services Servis Data Services Servis Data Services IEEE1394AP (Application Layer for Industrial Automation) Bus Management Interface AsynchronousTransfer Interface Management Layer Services Management Layer Bus Manager Isochronous Transfer Interface Transaction Layer Services Transaction Layer Firmware Link Layer Services Packets Cycle Master Link Layer Isochronous Resource Manager Symbols Node Control Physical Layer Firmware Hardware Electrical signals and mechanical interface Dr. Ing. Jiří Špale, 1394b in automation Cable 47 1394AP: key words Application Master (AM) • network control • cyclic data transmission to slave nodes (slave = all other nodes) • AM is mostly IP Master Data Telegram (MDT) • source = AM, target(s) = slave node(s) • content process data • transmitted in every data packet • slave nodes filtrates the relevant data Device Data Telegram (DDT) • both source and target = slave nodes • data packet content: e.g. state and control informations Application Cycle (AC) • gives the transmission speed of MDT • different at each application • fast or very accurate systems: AC = 1394 cycle • lower performance systems: AC disposed in multiple 1394 cycles Dr. Ing. Jiří Špale, 1394b in automation 48 1394AP: communication profiles MDT, DDT ... Containers for control and state variables Communication profiles: • • Interpretation of MDT, DDT data Functional overlay of 1394AP Example: 1394CP for CANopen • Application software written for CAN functions also in 1394CP/CAN based devices Dr. Ing. Jiří Špale, 1394b in automation 49 FireWire in the industry: advantages • Acquisition of video information (> 800Mbit/s) Video information ca be transmitted together with inputs and outputs and with the motor control data • high control accuracy, jitter < 500 ps • asynchronous transmission for critical data or security-sensible data - information if transmission succeeded or about the reason of bad success • Flexibility of 1394b network topology both trees and rings All nodes are of the same value ⇒ no real-time demands on the central control, normally PC quite sufficient. • integration of typical ethernet based services possible (IPower 1394) nevertheless rather mixed configurations are expected in the praxis: - 1394 for real-time components - ethernet for control, service and visualization Dr. Ing. Jiří Špale, 1394b in automation 50 FireWire in the industry: disadvantages • insufficient throughput in office networks • advantages of FireWire concern only a strait utilization area • only the 1394b standard is suitable for the industry due to cable length, there are only a limited variety of 1394b IC on the market • limited number of nodes, limited throughput at cable length 100m and speed 100Mbit/s • in systems with only little number of real-time components Ethernet Powerlink is preferable • persistence of users Dr. Ing. Jiří Špale, 1394b in automation 51 FireWire in the industry: example 1 (isochronous) Source:J. Gorka, 1394 Automation e.V. , 32423 Minden Dr. Ing. Jiří Špale, 1394b in automation 52 FireWire in the industry: example 2 Client in office networks environment Ethernet TCP/IP Configuration Service Gateway Ethernet TCP/IP Windows XP FireWire Real-time environment Visualization Visualization Application Source:J. Gorka, 1394 Automation e.V. , 32423 Minden Dr. Ing. Jiří Špale, 1394b in automation 53 FireWire in the industry: example 3 Accurate turning lathe with high dynamics for treatment of Non-circular intersection faces • controller Nyquist/Kollmorgen • aim: optimal speed / accuracy • set-values transmitted as splines with variable spline time to servo-amplifiers • the speed is planed in an IPC, original splines are saved • interpolation of the spline on the speed requested (4000 points/sec) is performed only in axes-drives • tested workpiece: sinusoidal Al-screwline with passing from 4 to 2 liftings per revolution Source: Fraunhofer IPT Aachen • lathe work speed: 400 rev/min Dr. Ing. Jiří Špale, 1394b in automation 54 FireWire in the industry: example 4 Bosch Rexroth NYCe 4000 • Controller and drive unit in one • aim: application 100-1000 W • 1394 b • through 4 drives cards • 2 axes: 500W per axis or 1 axis 1 kW • 800 Mbit/s, real-time • more-channel SW oscilloscope on a PC Zdroj: Rexroth, Bosch Group Dr. Ing. Jiří Špale, 1394b in automation 55 FireWire in the industry: example 5 ORMEC controller SMLC SMLC-SA SMLC-30 SMLC-80 SMLC-160 1-axis-systems with integrated amplifier through 3 axes through 8 axes through 16 axes 400 MHz Celeron 650 MHz Celeron 933 MHz Pentium III 1,4 GHz Pentium M 29 built-in I/O 18 built-in I/O 18 built-in I/O 18 built-in I/O 1 PC 104 + 1 additional slot 1 PC 104 + 1 additional slot 2 PC 104 + 1 additional slot ORMEC ServoWire SD drives SD Serie 230 SD Serie 460 Input voltage 115 VAC or 230 VAC 230 VAC or 460 VAC Output power 600 through 15.000 W 2.400 through 24.000 W Zdroj: ORMEC Dr. Ing. Jiří Špale, 1394b in automation 56 Who uses industrial FireWire 1394 automation group members (excluding research) Others Dr. Ing. Jiří Špale, 1394b in automation 57 References 1. 2. 3. 4. 5. 6. 7. GORKA, J.: FireWire als Feldbus? Wie 1394AP die industrielle HighendKommunikation IT-kompatibel macht, SPS-Magazin, 2003 GORKA, J.: 1394automation e.V. Ergebnisse und nächsten Schritte, SPSMagazin, 2004 PRESHER, A.: 1394b Motion Networking. In: Design News, Nr.6, Vol. 2006 RUIZ, L., DALLEMAGNE, Ph., DECONTIGNIE, J.D.: Using Firewire as Industrial Network, report CSEM, Real-Time and Networking Group, Neuchâtel, 1999 SCHOLLES, M. : New FireWire standard targets industrial applications, VisionSystem Design, November 2005 TESCHLER, L.: Ready, aim, FireWire. In: Machine Design, Nr. 6, Vol. 2005 VAESSEN, D.: FireWire in Automatisierungseinsatz – es geht voran, IEE Nr. 11, Vol. 2004 Dr. Ing. Jiří Špale, 1394b in automation 58 Web Sources 1. 2. 3. 4. www.1394.org www.fcga.de www.ipms.fraunhofer.de www.zayante.com Dr. Ing. Jiří Špale, 1394b in automation 59
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
advertising