firewire (ieee 1394): a survey by guadalupe hernandez sumantra dasgupta abdullah cerekci gonzalo...
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
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
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
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…)
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…)
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
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: 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
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
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.