+ All Categories
Home > Documents > Firewire (IEEE 1394): A Survey by Guadalupe Hernandez Sumantra Dasgupta Abdullah Cerekci Gonzalo...

Firewire (IEEE 1394): A Survey by Guadalupe Hernandez Sumantra Dasgupta Abdullah Cerekci Gonzalo...

Date post: 01-Jan-2016
Category:
Upload: augusta-owen
View: 216 times
Download: 0 times
Share this document with a friend
Popular Tags:
67
Firewire (IEEE Firewire (IEEE 1394): A Survey 1394): A Survey by by Guadalupe Hernandez Guadalupe Hernandez Sumantra Dasgupta Sumantra Dasgupta Abdullah Cerekci Abdullah Cerekci Gonzalo Rodriguez Gonzalo Rodriguez
Transcript

Firewire (IEEE Firewire (IEEE 1394): A Survey1394): A Survey

bybyGuadalupe HernandezGuadalupe HernandezSumantra DasguptaSumantra Dasgupta

Abdullah CerekciAbdullah CerekciGonzalo RodriguezGonzalo Rodriguez

IntroductionIntroduction Firewire:Firewire:

Oficially known as Oficially known as IEEE-1394IEEE-1394

next generation of Plug and Play next generation of Plug and Play

With standard speeds of 100, 200 and 400 Mbps With standard speeds of 100, 200 and 400 Mbps

ideal for connecting high-end consumer electronics (such as ideal for connecting high-end consumer electronics (such as digital A/V equipment )digital A/V equipment )

Outline:Outline:

Description, Motivation and Evolution of Firewire – Abdullah Description, Motivation and Evolution of Firewire – Abdullah CerekciCerekci

Protocol- Guadalupe HernandezProtocol- Guadalupe Hernandez Working and Application- Sumantra DasguptaWorking and Application- Sumantra Dasgupta Improvement, 1394b, Future Research on Firewire- Gonzalo Improvement, 1394b, Future Research on Firewire- Gonzalo

RodriguezRodriguez

IEEE-1394IEEE-1394

First introduced as First introduced as FirewireFirewire by Apple Computer in the late by Apple Computer in the late 1980s 1980s

Serial bus standardSerial bus standard to to support high-bandwidth support high-bandwidth requirements of devices such requirements of devices such as as digital video equipmentdigital video equipment and and high-performance mass high-performance mass storagestorage

Performing well in Real-time Performing well in Real-time data streamingdata streaming

Research Motivation in FirewireResearch Motivation in Firewire

The ability to work with time sensitive data is growing in The ability to work with time sensitive data is growing in importanceimportance

Small products are favored for portability, convenience, and Small products are favored for portability, convenience, and material usage resourcesmaterial usage resources

The need and desire for Peer to Peer computing is growingThe need and desire for Peer to Peer computing is growing

There is a desire to keep data digital for as long as possible as a There is a desire to keep data digital for as long as possible as a means to reduce system cost, complexity, and improve signal means to reduce system cost, complexity, and improve signal integrityintegrity

In multimedia market, most of the data is video and audioIn multimedia market, most of the data is video and audio

Evolution of IEEE-1394Evolution of IEEE-1394

First introduced as Firewire by Apple ComputerFirst introduced as Firewire by Apple Computer

IEEE Study Group approved December 1986IEEE Study Group approved December 1986

Basic design set by January 1987:Basic design set by January 1987:Cable (10m) and backplane environmentsCable (10m) and backplane environments

2 Mb aud/sec base rate, 8 Mb aud/sec optional high-speed 2 Mb aud/sec base rate, 8 Mb aud/sec optional high-speed raterate

Bit-serial arbitration, 4B5B data encodingBit-serial arbitration, 4B5B data encoding Guaranteed latencyGuaranteed latency Read/write/lock transactions with 32-bit address spaceRead/write/lock transactions with 32-bit address space

Cost for silicon/connector/cable of < $15Cost for silicon/connector/cable of < $15

Apple started full scale development in 1988:Apple started full scale development in 1988:Xilinx-based 12.288 Mb aud/sec systemXilinx-based 12.288 Mb aud/sec system49.152 Mbaud cable transceiver fabbed49.152 Mbaud cable transceiver fabbed

Evolution of IEEE-1394 (Cont…)Evolution of IEEE-1394 (Cont…) Apple started full scale development in 1988Apple started full scale development in 1988

Xilinx-based 12.288 Mb aud/sec systemXilinx-based 12.288 Mb aud/sec system49.152 Mbaud cable transceiver fabbed49.152 Mbaud cable transceiver fabbed

Apple designed 98.302 MBit/sec PHY in 1992Apple designed 98.302 MBit/sec PHY in 1992TI built first test chipsTI built first test chipsConnector based on Nintendo GameboyConnector based on Nintendo Gameboy

TI delivered “draft 6” PHY. It was workingTI delivered “draft 6” PHY. It was workingApple and TI win “Most Significant Technology” awardApple and TI win “Most Significant Technology” award

IEEE 1394-1995 was ratified in 1995IEEE 1394-1995 was ratified in 1995First productsFirst productsSony DV camcorders in 1995, many others by 1997Sony DV camcorders in 1995, many others by 1997 Sony machine vision camerasSony machine vision cameras

Evolution of IEEE-1394 (Cont…)Evolution of IEEE-1394 (Cont…) IEEE Std. 1394a-2000, was approved in March 2000:IEEE Std. 1394a-2000, was approved in March 2000:

speeds of 100 Mbytes per second, 200 Mbps, and up to speeds of 100 Mbytes per second, 200 Mbps, and up to 400 Mbps400 Mbps

supports up to 63 devicessupports up to 63 devicesmaximum cable length of 4.5 meters between devicesmaximum cable length of 4.5 meters between devicesimproved traffic control and power management featuresimproved traffic control and power management features

1394b finished in 2002:1394b finished in 2002:speeds up to 1,600 Mbpsspeeds up to 1,600 Mbps

General SpecificationsGeneral Specifications

Connector DiversityConnector Diversity:: six-pin connector is composed of 6 wires (2 for power + 4 for six-pin connector is composed of 6 wires (2 for power + 4 for

signals)signals)

four-pin connector (power wires are missing) is about half the four-pin connector (power wires are missing) is about half the size of a USB:size of a USB:

connector choice for many consumer electronics connector choice for many consumer electronics productsproducts

especially self-powered portable devicesespecially self-powered portable devices

General Specifications (Cont…)General Specifications (Cont…)

Communication Diversity:Communication Diversity:

IEEE 1394 supports both asynchronous and isochronous IEEE 1394 supports both asynchronous and isochronous communications communications

ideal for applications such as digital audio and video, which ideal for applications such as digital audio and video, which demand real-time data transfer demand real-time data transfer

Its peer-to-peer interface makes it possible to dub from one Its peer-to-peer interface makes it possible to dub from one device (a digital video camera, for instance) to another without a device (a digital video camera, for instance) to another without a computercomputer

For example, a digital camera can send pictures directly to a For example, a digital camera can send pictures directly to a printer printer

Characteristics OverviewCharacteristics Overview

Asynchronous/Synchronous transferAsynchronous/Synchronous transfer

Four layers are defined to simplify hardware and software Four layers are defined to simplify hardware and software implementationimplementation

-Bus Management Layer-Bus Management Layer

-Transaction layer-Transaction layer

-Link layer-Link layer

-Physical Layer-Physical Layer

Isochronous TransferIsochronous Transfer

Data delivery at constant intervals (125 Data delivery at constant intervals (125 μμs)s) Do not require confirmation of data deliveryDo not require confirmation of data delivery Defines 6-bit channel number allowing data stream to be broadcastDefines 6-bit channel number allowing data stream to be broadcast Example: data from a CD to a speaker that must occur at a Example: data from a CD to a speaker that must occur at a

constant rate to reproduce the sound without distortionconstant rate to reproduce the sound without distortion Applications must request the bandwidth from the resource Applications must request the bandwidth from the resource

manager node manager node

Isochronous Transfer (Cont…)Isochronous Transfer (Cont…)

Asynchronous TransferAsynchronous Transfer

Confirmation to the initiator that transfer was successfully receivedConfirmation to the initiator that transfer was successfully received Verifies data delivery via CRC, if errors occur retries are attempted Verifies data delivery via CRC, if errors occur retries are attempted

under software controlunder software control Targets a particular node using a 64-bit addressTargets a particular node using a 64-bit address Amount of data transferred depends on transmission speedAmount of data transferred depends on transmission speed Example: applications that require that data transfers occur without Example: applications that require that data transfers occur without

any corruptionsany corruptions Require a more complex bus protocolRequire a more complex bus protocol Are initiated by a Are initiated by a requester requester node and received by a node and received by a responderresponder

node that returns a response.node that returns a response. Consist of two subactions:Consist of two subactions:

11. . request subaction.-request subaction.- transfers the address, command and data transfers the address, command and data from requester to responderfrom requester to responder

2. Response subaction.- 2. Response subaction.- returns completion of status back to the returns completion of status back to the requester or returns data during read and lock transactionsrequester or returns data during read and lock transactions

Asynchronous Transfer (Cont…)Asynchronous Transfer (Cont…)

Asynchronous Transfer (Cont…)Asynchronous Transfer (Cont…)

Protocol LayersProtocol Layers

Bus Management LayerBus Management Layer

Supports bus configuration and management activitiesSupports bus configuration and management activities Depends on the capabilities of the node but all most support Depends on the capabilities of the node but all most support

automatic bus configurationautomatic bus configuration Channel number and bus bandwidth allocation for asynchronous Channel number and bus bandwidth allocation for asynchronous

transferstransfers The 1394 specification identifies three global management roles:The 1394 specification identifies three global management roles: Cycle masterCycle master Isochronous Resource ManagerIsochronous Resource Manager Bus managerBus manager

Transaction LayerTransaction Layer

Supports only asynchronous transfer.Supports only asynchronous transfer. Supports request-response protocol for read, write and lock Supports request-response protocol for read, write and lock

operations.operations. Provides the following services:Provides the following services:

Request:Request: used by the requester to start a transaction used by the requester to start a transaction Indication: Indication: notifies the responder of the requestnotifies the responder of the request Response: Response: used by the responder to return status or data to used by the responder to return status or data to

requestrequest Confirmation service: Confirmation service: notifies the requester that the notifies the requester that the

response has been receivedresponse has been received Adds verification of packet delivery and supplies a 1–byte Adds verification of packet delivery and supplies a 1–byte

acknowledgement for each packet receivedacknowledgement for each packet received

Transaction Layer (Cont…)Transaction Layer (Cont…)

Link LayerLink Layer

For For asynchronous transfersasynchronous transfers, translates transaction layer requests into , translates transaction layer requests into packets to be delivered over the serial bus and back when received by packets to be delivered over the serial bus and back when received by responder. Performs CRC.responder. Performs CRC.

For For isochronous transfers isochronous transfers provides interface between isochronous provides interface between isochronous software driver and physical layer. During transmission creates the packet software driver and physical layer. During transmission creates the packet to be sent across the cable. Also receives packets and decodes the channel to be sent across the cable. Also receives packets and decodes the channel number and if destined for the node, forward it to the software driver.number and if destined for the node, forward it to the software driver.

Physical LayerPhysical Layer Provides the electrical and mechanical interfaceProvides the electrical and mechanical interface Implements an arbitration process to ensure only one node Implements an arbitration process to ensure only one node

at a time transfers data across the busat a time transfers data across the bus Uses two twisted pairs for signaling eventsUses two twisted pairs for signaling events

Bus configurationBus configuration ArbitrationArbitration Data transferData transfer

Two type of cables are supported: 6 and 4 pin connectorsTwo type of cables are supported: 6 and 4 pin connectors NRZ encoding to reduce the frequency componentNRZ encoding to reduce the frequency component Bus configuration: Bus configuration: Major role of the physical layer. Major role of the physical layer.

Begins with power up or when a new device is added to Begins with power up or when a new device is added to the busthe bus

Arbitration: Arbitration: Data transmission: Data transmission: Bi-directional data delivery. Data is Bi-directional data delivery. Data is

transferred on Twisted pair B (TPB) while a strobe is transferred on Twisted pair B (TPB) while a strobe is delivered over Twisted Pair A (TPA)delivered over Twisted Pair A (TPA)

IEEE1394 internalsIEEE1394 internals

IEEEIEEE 1394 network is made of 1394 network is made of point-to-point point-to-point connectionsconnections

It becomes a It becomes a logical buslogical bus by by repeating the signal at input of repeating the signal at input of a node to all it’s outputs----a node to all it’s outputs----free topologyfree topology

IEEE1394 internals(Cont…)IEEE1394 internals(Cont…)

Repeater mechanism at each node Repeater mechanism at each node delaysdelays signal transmission signal transmission

Idle timesIdle times are necessary to prevent are necessary to prevent data collisionsdata collisions

ArbitrationArbitration is necessary for fair is necessary for fair availability of bus to each nodeavailability of bus to each node

Data transfer is either Data transfer is either --AsynchronousAsynchronous: : question-answer gamequestion-answer game Made of request-ack-delay-ans-Made of request-ack-delay-ans- -ack sequence-ack sequence Delay slot is used by other nodesDelay slot is used by other nodes Ack consists status of receiver Ack consists status of receiver or abortor abort Packets are made of data and payloadPackets are made of data and payload Payload is typically start,stop and Payload is typically start,stop and

parity checkparity check

IEEE1394 internals (Cont…)IEEE1394 internals (Cont…)

Data transmission can also beData transmission can also be

--IsochronousIsochronous

The talker needs to allocate channel and bandwidth at the IsochronousThe talker needs to allocate channel and bandwidth at the Isochronous

Resource Manager (IRM)Resource Manager (IRM)

Data is broadcast, so multiple nodes can be allowed to listenData is broadcast, so multiple nodes can be allowed to listen

80% of total bandwidth is used for Isochronous transfer80% of total bandwidth is used for Isochronous transfer

Has 3q overheadHas 3q overhead

Data field can be upto 1200qData field can be upto 1200q

IEEE1394 internals (Cont…)IEEE1394 internals (Cont…)

IEEE1394 internals (Cont…)IEEE1394 internals (Cont…)

The complete 1394 packet consists of 4 major partsThe complete 1394 packet consists of 4 major parts

-Arbitration Phase-Arbitration Phase

-Data_Prefix and Speed signaling-Data_Prefix and Speed signaling

-Data packet with specified header-Data packet with specified header

-Data_End-Data_End Data_Prefix is needed for synchronization of internal DLLsData_Prefix is needed for synchronization of internal DLLs The root node can access the bus after Arb time has occurredThe root node can access the bus after Arb time has occurred All other nodes have to arbitrate and access the bus through the root All other nodes have to arbitrate and access the bus through the root

nodenode

IEEE1394 internals (Cont…)IEEE1394 internals (Cont…)

Gaps are put between packets to avoid collisionsGaps are put between packets to avoid collisions Isochronous packets are separated through isochronous gaps (40ns)Isochronous packets are separated through isochronous gaps (40ns) Asynchronous packets are separated through arb_reset gaps (280ns-10Asynchronous packets are separated through arb_reset gaps (280ns-10µs)µs) Subaction graphs separate Isochronous and Asynchronous transactions Subaction graphs separate Isochronous and Asynchronous transactions

(530ns-21(530ns-21µs)µs)

IEEE1394 internals (Cont…)IEEE1394 internals (Cont…)

Payload EstimationPayload Estimation Various factors affect payload:Various factors affect payload:

1. Kind of data transfer on the bus (big/small data): As payload 1. Kind of data transfer on the bus (big/small data): As payload

descreses, so does efficiency. But CRC and ack provide descreses, so does efficiency. But CRC and ack provide reliabilityreliability

2. Number of hops the packet has to pass: Determines the 2. Number of hops the packet has to pass: Determines the valuevalue

of the gap countof the gap count

3. Position of the requestor to root: more number of repeater, 3. Position of the requestor to root: more number of repeater, longerlonger

is the arbitration time (2x64ns at each repeater)is the arbitration time (2x64ns at each repeater)

4. Cable length: propagation time of 5ns/meter4. Cable length: propagation time of 5ns/meter

IEEE1394 internals (Cont…)IEEE1394 internals (Cont…)

IEEE1394 internals (Cont…)IEEE1394 internals (Cont…)

ElectricalElectrical Packet based technology for cable or back-plane based environmentsPacket based technology for cable or back-plane based environments Addressing is memory based rather than channel basedAddressing is memory based rather than channel based Device addressing is 64 bits wide:Device addressing is 64 bits wide:

-10 bits for bus ID-10 bits for bus ID

-6 bits for node ID-6 bits for node ID

-48 bits for memory address-48 bits for memory address PHY can supply power to devicesPHY can supply power to devices Nodes act as repeatersNodes act as repeaters 16-24 hops of 4.5m each are used to get a total length of 72m-108m16-24 hops of 4.5m each are used to get a total length of 72m-108m Heterogeneous environment operation eith optical cables and low costHeterogeneous environment operation eith optical cables and low cost

twisted pair cables.twisted pair cables. Bilingual PHYs are used to translate between 1394-1995 and 1394a-2000 Bilingual PHYs are used to translate between 1394-1995 and 1394a-2000

worldworld

(using DS coding; speed matching) and 1394b world (8B10B coding; electrical (using DS coding; speed matching) and 1394b world (8B10B coding; electrical to opt) to opt)

IEEE1394 internals (Cont…)IEEE1394 internals (Cont…)

ProtocolProtocol

-Both asynchronous (explicit addr) and Isochronous (broadcast) -Both asynchronous (explicit addr) and Isochronous (broadcast) transfer transfer

-Both real-time and non real-time-Both real-time and non real-time

-Network setup: -Network setup:

1.Bus reset phase: Previous tree topology is cleared1.Bus reset phase: Previous tree topology is cleared

2.The tree ID sequence determines the actual structure2.The tree ID sequence determines the actual structure

3. Root node is dynamically or forcefully assigned3. Root node is dynamically or forcefully assigned

4.A self ID phase: Nodes introduce mutually; each gets an 4.A self ID phase: Nodes introduce mutually; each gets an addressaddress

5.Bus goes into idle state waiting for arbitration to begin5.Bus goes into idle state waiting for arbitration to begin

-Multi-speed transactions-Multi-speed transactions

Isochronous transfer internalsIsochronous transfer internals

It’s a broadcast mode of transfer.It’s a broadcast mode of transfer.

The talker needs guaranteed channel and The talker needs guaranteed channel and bandwidth.bandwidth.

Setting up the transaction: IRM provides Setting up the transaction: IRM provides channel number and bus bandwidth to channel number and bus bandwidth to talker. Two registers are defined for this talker. Two registers are defined for this purpose:purpose:

CHANNELS_AVAILABLECHANNELS_AVAILABLE

BANDWIDTH_AVAILABLEBANDWIDTH_AVAILABLE

These registers must be accessed via These registers must be accessed via compare and swap lock transaction to compare and swap lock transaction to ensure exclusive access when allocating ensure exclusive access when allocating these resources.these resources.

Isochronous transfer internals Isochronous transfer internals (Cont…)(Cont…)

Maintaining Synchronization: Maintain synchronization with Maintaining Synchronization: Maintain synchronization with isochronous clock intervalsisochronous clock intervals

-The root node issues a cycle start packet at approximately -The root node issues a cycle start packet at approximately 125125µs intervals.µs intervals.

-Cycle start synchronizes all isochronous channels-Cycle start synchronizes all isochronous channels

-PHY detects cycle start packet and issues event notification to -PHY detects cycle start packet and issues event notification to Link layer Link layer

controllercontroller

-Link layer controller issues “link cycle synch” indication to the -Link layer controller issues “link cycle synch” indication to the applicationapplication

Isochronous transfer internals Isochronous transfer internals (Cont…)(Cont…)

Application: Computer to Video Application: Computer to Video CameraCamera

Application: Computer sideApplication: Computer side

TSB12LV22/OHCI-Lynx is the first Open Host Controller TSB12LV22/OHCI-Lynx is the first Open Host Controller InterfaceInterface

Link Layer controller built to IEEE1394 specificationsLink Layer controller built to IEEE1394 specifications It interfaces host PC with high-speed peripheralsIt interfaces host PC with high-speed peripherals Supports speeds up to 400Mbits/sSupports speeds up to 400Mbits/s Provides four GPIOs.Provides four GPIOs. TSB41LV03TSB41LV03 is a Physical Layer supporting up to is a Physical Layer supporting up to

400Mbits/s400Mbits/s It provides the analog transceiver functions needed to It provides the analog transceiver functions needed to

implement a three port node in a cable based IEEE1394-implement a three port node in a cable based IEEE1394-1995/IEEE1394a n/w.1995/IEEE1394a n/w.

The figure shows the Link Layer and the Physical Layer The figure shows the Link Layer and the Physical Layer combined working with the host PCcombined working with the host PC

Application: Computer side (Cont…)Application: Computer side (Cont…)

Application: Video Camera sideApplication: Video Camera side

TSB12LV31 is the industry’s first general purpose link TSB12LV31 is the industry’s first general purpose link layer controller.layer controller.

It is 1394-1995 compliantIt is 1394-1995 compliant Performs bidirectional asynchronous/isochronous data Performs bidirectional asynchronous/isochronous data

transfer to and from an IEEE 1394-1995 serial bus physical transfer to and from an IEEE 1394-1995 serial bus physical layer (phy) devicelayer (phy) device

TSB21LV03A is a 200Mbps, 3-port device capable of TSB21LV03A is a 200Mbps, 3-port device capable of sending and receiving data at 100/200Mbpssending and receiving data at 100/200Mbps

The next figure shows the two working in conjunction in a The next figure shows the two working in conjunction in a 1394 digital video camera1394 digital video camera

Application: Video Camera side Application: Video Camera side (Cont…)(Cont…)

Software Implementation: WindowsSoftware Implementation: Windows

Video Capture Architecture under Windows 98 and Windows 2000

                                                                          

Software Implementation: Windows Software Implementation: Windows (Cont…)(Cont…)

Before drivers can start their IEEE 1394 device, they must complete Before drivers can start their IEEE 1394 device, they must complete the following steps to set up isochronous transfer: the following steps to set up isochronous transfer: Choose isochronous transfer speed. Choose isochronous transfer speed. Allocate bandwidth for isochronous transfer. Allocate bandwidth for isochronous transfer. Allocate an isochronous channel. Allocate an isochronous channel. Allocate a resource handle for isochronous transfer. Allocate a resource handle for isochronous transfer. Attach buffers to the resource handle. Attach buffers to the resource handle. Begin the isochronous data transfer. Begin the isochronous data transfer.

Once a device no longer needs to transfer data, the driver must Once a device no longer needs to transfer data, the driver must inform the bus that the operation is complete, and then must inform the bus that the operation is complete, and then must deallocate the isochronous resources it allocated when setting up.deallocate the isochronous resources it allocated when setting up.

User applications are responsible for determining how User applications are responsible for determining how many isochronous channels they need and their required bandwidth.many isochronous channels they need and their required bandwidth.

Software Implementation: Windows Software Implementation: Windows (Cont…)(Cont…)

class Win32_1394Controller : CIM_Controller { class Win32_1394Controller : CIM_Controller { uint16 Availability; //statusuint16 Availability; //status string Caption; //descriptionstring Caption; //description uint32 ConfigManagerErrorCode; //win32 config manager error codeuint32 ConfigManagerErrorCode; //win32 config manager error code boolean ConfigManagerUserConfig; //if true then use user defined configboolean ConfigManagerUserConfig; //if true then use user defined config string CreationClassName; //unique class idstring CreationClassName; //unique class id string Description; //description of objectstring Description; //description of object string DeviceID; //unique device idstring DeviceID; //unique device id boolean ErrorCleared; //if true last error is clearedboolean ErrorCleared; //if true last error is cleared string ErrorDescription; //description of error and corrective actionsstring ErrorDescription; //description of error and corrective actions datetime InstallDate;//installation date and time datetime InstallDate;//installation date and time uint32 LastErrorCode; //last error code reported by the logical deviceuint32 LastErrorCode; //last error code reported by the logical device string Manufacturer;//name of manufacturer string Manufacturer;//name of manufacturer uint32 MaxNumberControlled; //number of devices controlleduint32 MaxNumberControlled; //number of devices controlled string Name; //name of controllerstring Name; //name of controller string PNPDeviceID;//plug and play device id string PNPDeviceID;//plug and play device id uint16 PowerManagementCapabilities[]; //various power modes uint16 PowerManagementCapabilities[]; //various power modes boolean PowerManagementSupported; //if true then power can be managedboolean PowerManagementSupported; //if true then power can be managed uint16 ProtocolSupported;//protocol used to access controlled device uint16 ProtocolSupported;//protocol used to access controlled device string Status; //status of objectstring Status; //status of object uint16 StatusInfo;//status of logical device uint16 StatusInfo;//status of logical device string SystemCreationClassName; //value for scoping CreationClassName propertystring SystemCreationClassName; //value for scoping CreationClassName property string SystemName; //name of scoping systemstring SystemName; //name of scoping system datetime TimeOfLastReset;//date and time controller was last resetdatetime TimeOfLastReset;//date and time controller was last reset

};}; //capabilities and management of a 1394 //capabilities and management of a 1394 controllercontroller

Software Implementation: Windows Software Implementation: Windows (Cont…)(Cont…)

class Win32_1394ControllerDevice : CIM_ControlledByclass Win32_1394ControllerDevice : CIM_ControlledBy { { uint16 AccessState; //active/inactiveuint16 AccessState; //active/inactive

Win32_1394Controller ref Antecedent; //to 1394 controllerWin32_1394Controller ref Antecedent; //to 1394 controller

CIM_LogicalDevice ref Dependent; //to logical deviceCIM_LogicalDevice ref Dependent; //to logical device

uint32 NegotiatedDataWidth; //in bitsuint32 NegotiatedDataWidth; //in bits

uint64 NegotiatedSpeed;//in baud uint64 NegotiatedSpeed;//in baud

uint32 NumberOfHardResets; //issued by controlleruint32 NumberOfHardResets; //issued by controller

uint32 NumberOfSoftResets;//issued by controlleruint32 NumberOfSoftResets;//issued by controller }; }; //interfaces//interfaces Win32_1394Controller with Win32_1394Controller with

CIM_LogicalDeviceCIM_LogicalDevice

CIM_LogicalDevice CIM_LogicalDevice denotes a hardware entity that may or may not be denotes a hardware entity that may or may not be realized in physical hardwarerealized in physical hardware

ApplicationsApplications

Other Bus InterfacesOther Bus Interfaces

Other Bus Interfaces (Cont…)Other Bus Interfaces (Cont…)

FireWire vs. USBFireWire vs. USB

FireWireFireWire 400Mbit/s 800Mbit/s 400Mbit/s 800Mbit/s

supported supported

Works without control, Works without control, devices communicate peer-devices communicate peer-to-peerto-peer

Cable up to 100 m. Cable up to 100 m. Limited devices supportedLimited devices supported

Power supply to external Power supply to external devices is 1.25A/12V (max.)devices is 1.25A/12V (max.)

The only computer bus used The only computer bus used in digital video camerasin digital video cameras

USBUSB 1.5 Mbit/s 12Mbit/s 1.5 Mbit/s 12Mbit/s

480Mbit/s supported 480Mbit/s supported USB controller is required USB controller is required

to control the bus and data to control the bus and data transfertransfer

Cable up to 5 m. Cable up to 5 m. Great number of devices Great number of devices

supported supported Power supply to external Power supply to external

devices is 500 mA/5V devices is 500 mA/5V (max)(max)

Full compatibility with Full compatibility with USB 1.1 devices USB 1.1 devices

IEEE 1394bIEEE 1394b

No change for software and applicationsNo change for software and applications

All existing 1394 devices are “home network ready”All existing 1394 devices are “home network ready”

Improvements:Improvements: Lower cost and more flexible for the PC OEMLower cost and more flexible for the PC OEM Even more efficientEven more efficient Up to 1.6 Gbits/secUp to 1.6 Gbits/sec Up to 100mUp to 100m

Fully backwards compatibleFully backwards compatible

Definition of 1394bDefinition of 1394b

Additional “Beta” mode of operationAdditional “Beta” mode of operation

1394a operation is called “Legacy” mode1394a operation is called “Legacy” mode

1394b PHYs may have Legacy ports, Beta ports, or “Bilingual” 1394b PHYs may have Legacy ports, Beta ports, or “Bilingual” portsports

Bilingual ports negotiate with attached peer for best mode of Bilingual ports negotiate with attached peer for best mode of operation operation

Beta mode yields higher speeds, longer distance, improved Beta mode yields higher speeds, longer distance, improved efficiencyefficiency

Beta mode: Higher SpeedsBeta mode: Higher Speeds

1394b specifies S800 and S1600 data transmission rates1394b specifies S800 and S1600 data transmission rates

Also future-proofs with media for S3200Also future-proofs with media for S3200

Electrical spec still uses two twisted pairsElectrical spec still uses two twisted pairs

Transmission is now continuous dual simplexTransmission is now continuous dual simplex One pair transmitting continuously in each directionOne pair transmitting continuously in each direction Transmission speed never variesTransmission speed never varies Simpler and more efficient than 1394aSimpler and more efficient than 1394a

New about 1394bNew about 1394b

Higher speeds to 3.2 Gbit/secHigher speeds to 3.2 Gbit/sec

New coding (8b10b + scrambling + control coding)New coding (8b10b + scrambling + control coding)

Longer distance to 100m per hopLonger distance to 100m per hop

A “greener” standard with its emphasis on lower emissionsA “greener” standard with its emphasis on lower emissions

New media, but all compatible above the media dependent New media, but all compatible above the media dependent levellevel

The Need For ImprovementThe Need For Improvement

PC peripherals need higher speedsPC peripherals need higher speeds Disk head read rates continue to increaseDisk head read rates continue to increase

S400 on existing PCs and Macs is not enough: 1 Gbit/sec S400 on existing PCs and Macs is not enough: 1 Gbit/sec needed in 2001, growth path to over 2 Gbit needed in a needed in 2001, growth path to over 2 Gbit needed in a few years.few years.

Imaging devices have higher and higher pixel densities and Imaging devices have higher and higher pixel densities and color depthscolor depths

Home network needs high speed, low bit error, guaranteed Home network needs high speed, low bit error, guaranteed latencylatency CE devices already use 1394 for video and audio streamsCE devices already use 1394 for video and audio streams

Virtually all DTVs, STBs, VCRs, and DVDs are 1394 (2002)Virtually all DTVs, STBs, VCRs, and DVDs are 1394 (2002) 6-20 Mbit/sec MPEG-2 streams for DTV6-20 Mbit/sec MPEG-2 streams for DTV

Very good error rate required (loss of I-frame disastrous)Very good error rate required (loss of I-frame disastrous) 1394 is also a dandy peer-to-peer IP network1394 is also a dandy peer-to-peer IP network

The downside of BetaThe downside of Beta

Digital logic much more complexDigital logic much more complex 2-3x more gates2-3x more gates Clock recovery neededClock recovery needed

Just like Ethernet, USB2Just like Ethernet, USB2

New “border” functionality neededNew “border” functionality needed For PHYs with Beta and Legacy portsFor PHYs with Beta and Legacy ports Non-trivial design, need to preserve critical legacy timings, Non-trivial design, need to preserve critical legacy timings,

subtle corner casessubtle corner cases

Longer distanceLonger distance

General goal is 100m per hopGeneral goal is 100m per hop

Unfortunately, longer distance requires new mediaUnfortunately, longer distance requires new media UPT-5 for S100UPT-5 for S100

Just like 100BASE-T EthernetJust like 100BASE-T Ethernet Plastic Optical Fiber (POF) for S200Plastic Optical Fiber (POF) for S200

S400 in 2001, S1600 in 2003S400 in 2001, S1600 in 2003 Multi-mode glass fiber for higher speedsMulti-mode glass fiber for higher speeds

Road map from S400 all the way up to S3200Road map from S400 all the way up to S3200 Best for future-proof installationsBest for future-proof installations

Uses In Manufacturing FacilitiesUses In Manufacturing Facilities

Modern day Industrial Automation SystemsModern day Industrial Automation Systems Highly complex networksHighly complex networks High performance machine systemsHigh performance machine systems Multi parameter control of variables:Multi parameter control of variables:

Precision MotionPrecision Motion ForceForce TemperatureTemperature Flow-RateFlow-Rate PressurePressure

The main objectivesThe main objectives

Connectivity to different machines Connectivity to different machines

Data sharing and gathering Data sharing and gathering

Flexibility to incorporate future advances in technology Flexibility to incorporate future advances in technology

The NeedThe Need

Industrial automation is commonplace in most conventional Industrial automation is commonplace in most conventional manufacturing unitsmanufacturing units

Increasing competitive pressures Increasing competitive pressures

Extremely high throughputs and miniaturizationExtremely high throughputs and miniaturization

Cost effective electronics and robust softwareCost effective electronics and robust software

Some BackgroundSome Background

Initially developed as the high speed data bus for consumer Initially developed as the high speed data bus for consumer technologytechnology

Great potential inGreat potential in Higher performance needs and Higher performance needs and Lower system costsLower system costs

Combination of IEEE- 1394 and fast-embedded processors Combination of IEEE- 1394 and fast-embedded processors New cost effectiveNew cost effective High performance architectureHigh performance architecture Real-time automation tasksReal-time automation tasks

The AdvantagesThe Advantages

High SpeedHigh Speed 1394a supports speeds of up to 400Mbps1394a supports speeds of up to 400Mbps

Faster than nearly all DCS serial buses by 3 orders of Faster than nearly all DCS serial buses by 3 orders of magnitudemagnitude

1000 times faster - Compared to Fieldbus derived 1000 times faster - Compared to Fieldbus derived technologies technologies

1394b supports speeds of 800 Mbps1394b supports speeds of 800 Mbps Competes with the parallel back plane bus solutions Competes with the parallel back plane bus solutions

Nature of control messages Nature of control messages Short in data lengthShort in data length Numerous and frequent Numerous and frequent

1394 provides a bandwidth option that satisfies all the 1394 provides a bandwidth option that satisfies all the requirements for advanced automation control requirements for advanced automation control

Roadmap with speeds of 3200 Mbps already under studyRoadmap with speeds of 3200 Mbps already under study

The AdvantagesThe Advantages

Isochronous ModeIsochronous Mode IEEE-1394 guarantees time-based delivery of data packetsIEEE-1394 guarantees time-based delivery of data packets Critical in Critical in

closed loop servo control applicationsclosed loop servo control applications data acquisition from analog sourcesdata acquisition from analog sources machine vision using digital videomachine vision using digital video

It guaranteesIt guarantees delivery timedelivery time delivery orderdelivery order

Message represents the state of a machine or instrument Message represents the state of a machine or instrument function at a given point in time function at a given point in time

Order of the data must be sequentialOrder of the data must be sequential

The AdvantagesThe Advantages

Asynchronous ModeAsynchronous Mode

Ability to respond instantaneously to eventsAbility to respond instantaneously to events 1394a allows messages generation every 125 microseconds1394a allows messages generation every 125 microseconds 1394b this is further reduced to 62.5 microseconds1394b this is further reduced to 62.5 microseconds

Adequate for most control applicationsAdequate for most control applications High priority message to propagate through the system with High priority message to propagate through the system with

a known latencya known latency

For Control systems having intelligent nodesFor Control systems having intelligent nodes Change control parameters on the fly in parallel loop Change control parameters on the fly in parallel loop

operationsoperations Usually dynamic in nature where initial parameters need to Usually dynamic in nature where initial parameters need to

be modified with changing system conditions be modified with changing system conditions

The AdvantagesThe Advantages

Peer to Peer ModePeer to Peer Mode Allows individual nodes to directly communicate with each Allows individual nodes to directly communicate with each

other without a hostother without a host

Change in state of one node is deterministically passed onto Change in state of one node is deterministically passed onto another node with minimum latency delayanother node with minimum latency delay

Eliminates the need for a PC in low end systems by Eliminates the need for a PC in low end systems by introducing the possibility of embedded solutions introducing the possibility of embedded solutions

The AdvantagesThe Advantages

Broadcast ModeBroadcast Mode

Control system environmentControl system environment Synchronization with an event or a trigger generated by a Synchronization with an event or a trigger generated by a

central processor central processor

Intimated information to all nodes for safety violation Intimated information to all nodes for safety violation conditions affecting the whole system conditions affecting the whole system

Done at once using this mode. Done at once using this mode.

Data transfer speed is not dependent upon operating systems Data transfer speed is not dependent upon operating systems interrupt latencyinterrupt latency

The AdvantagesThe Advantages

The introduction of the 1394b The introduction of the 1394b

Galvanic IsolationGalvanic Isolation 1394a was susceptible to influence of system level ground 1394a was susceptible to influence of system level ground

fluctuationsfluctuations 1394b eliminates unintended data corruption due to limited 1394b eliminates unintended data corruption due to limited

electrical isolationelectrical isolation

Distance between nodesDistance between nodes 1394a was limited to 4.3 m distance1394a was limited to 4.3 m distance 1394b allows distances up to 100 m1394b allows distances up to 100 m

RFI InterferenceRFI Interference 1394b are far more immune to electrical noise fluctuations 1394b are far more immune to electrical noise fluctuations

commonplace in factory environmentscommonplace in factory environments

Things to ConsiderThings to Consider

Hierarchy Hierarchy Response Time and Variance Response Time and Variance BandwidthBandwidth EfficiencyEfficiency Access MethodsAccess Methods Topology Topology Distance Distance Protocols supported Protocols supported Media Supported Media Supported Universal Plug and PlayUniversal Plug and Play

SummarySummary

Provide the Industrial Automation industry to extend functionality Provide the Industrial Automation industry to extend functionality to a broader level to a broader level

Allows the business to function as a unitAllows the business to function as a unit Connection between plant-floor machines and the rest of the Connection between plant-floor machines and the rest of the

corporation's assetscorporation's assets

Facilitate the management mission of handling critical assets Facilitate the management mission of handling critical assets across the organization. across the organization.

Enable new applications to be developed Enable new applications to be developed FlexibilityFlexibility Improved economics Improved economics

ReferencesReferences

Don Anderson, “Firewire System Architecture”, 2Don Anderson, “Firewire System Architecture”, 2ndnd Ed. IEEE Ed. IEEE 1394a, Addison Wisley,1394a, Addison Wisley,

1999.1999. Keith Quiring, “Development of a TSB15LV01-based digital Keith Quiring, “Development of a TSB15LV01-based digital

camera”, Texas Instruments, Application Report, SLLA086, camera”, Texas Instruments, Application Report, SLLA086, August 2000.August 2000.

Felix Bartholdy, “Felix Bartholdy, “Performance Analysis of a IEEE 1394 networkPerformance Analysis of a IEEE 1394 network”, ”, Texas Instruments, Application Report, SLLA099, April 2001.Texas Instruments, Application Report, SLLA099, April 2001.

Georg Becke et al, “Georg Becke et al, “Comparing Bus SolutionsComparing Bus Solutions”, Texas ”, Texas Instruments, Application Report, SLLA067A, February 2004.Instruments, Application Report, SLLA067A, February 2004.


Recommended