| |
Using FireWire to Simplify Real-Time Industrial Control
You're a system developer working on an automated assembly system for
an automotive manufacturer. You're designing a real-time application without
worrying about synchronization between devices, latency and jitter, topology
restrictions, ID switches and terminators, expensive cables, connectors
and bridges, or bandwidth limitations. Now imagine all that, plus data
transfer rates beyond expectations.
If you're having a hard time imagining such a trouble-free connectivity
solution, then you haven't heard about the FireWire (IEEE1394) High Performance
serial bus.
FireWire, a high-speed, low-cost serial bus originally conceived by
Apple Computer Inc., is becoming the de facto serial bus for the consumer
electronics market, PC peripherals, home automation systems, and multimedia
and entertainment systems. Although originally conceived for use within
these markets only, FireWire is now on a new evolutionary path. More and
more developers and systems integrators are adopting the standard for real-time
applications such as simulation systems, manufacturing automation and industrial
control. Why? Because its high-speed deterministic communication, low cost,
and guaranteed bandwidth are, in application, resulting in a marked simplification
in systems design, a flatter design curve, and a significant reduction
in overall project costs.

In order to appreciate the full potential of FireWire, we need to examine
the implications and requirements of designing a real-time industrial application.
Industrial control applications generally present two requirements:
Real-time calculations based on analog or digital I/O within one, or more
often, several industrial computers and a control console that coordinates
the complete system.
For example, a car manufacturer needs to implement multiple robotic
arms, all working in tandem, on an assembly line to produce automobiles.
Each arm needs to be controlled by an industrial computer -- the arm's
nerve center. This computer - generally a VMEbus system - the de facto
bus in manufacturing, houses the CPU, multiple IP modules and/or I/O boards.
This box acquires I/O such as position, speed, pressure or even video images
from the arm, then calculates, corrects and sends new values at each cycle
back to the arm, thus ensuring proper execution of the command. Needless
to say, all these components need to be perfectly synchronized, in real-time,
for the robotic arms to do their job. Additionally, there is a central
control console that sends commands, and receives status data from the
VMEbus systems.
And herein lay the complexities. Real-time applications require calculations
and samplings to be performed within a very specific time window in order
to guarantee valid results. Developers and system integrators have the
arduous task of manually developing a real-time synchronized communication
process, between all devices, for an application with zero tolerance for
error, latency or jitter. The slightest "hiccup" in communication will
impact the stability of the system.
Another hurdle to overcome is heterogeneous computers with different
operating systems. An Ethernet connection may be used to establish communication
between the VMEbus systems and the console, which usually consists of a
computer such as a Sun workstation running Solaris or a PC running Windows
NT. But this solution presents several disadvantages. For starters, Ethernet
is not deterministic and requires much development in order to be properly
implemented in a real-time system.
Next, if two or more chassis are required to house the application's
multiple I/O boards, or, if data is originating from IP or PMC modules
on a VME or CompactPCIâ board, a personal computer or a SPARC workstation,
then bridges are required to connect them. The downsides of using bridges
are high cost, typically in the $5000 range per bridge; and the requirement
for supplemental software development. In addition to the rising costs,
communication between each component must be synchronized with its counterparts
in the other machine. This makes the development of real-time applications
a daunting task even for the most seasoned of developers.
An attractive solution to these issues is FireWire also known as IEEE
1394. FireWire is a high performance serial bus that effectively shields
developers and integrators from all the communication complexities of interconnecting
different computers and developing applications for real-time systems.
FireWire is in fact revolutionizing the transport of digital data for real-time
computer systems with its scalable architecture, flexible peer-to-peer
topology, low cost implementation and high-speed deterministic communication.
Among the many advantages is its built-in synchronization of communications
and processes between devices. FireWire supports two types of data transfer,
asynchronous and isochronous. The key feature here is the deterministic
nature of its isochronous transmission support. Developers can now design
the same automated assembly system using FireWire's isochronous transmission
that will automatically synchronize communications with not only guaranteed
delivery of data, but delivery on time, at a pre-determined rate - without
any extra programming. This mode of data transfer also eliminates latency
and jitter, and data exchange intervals are controlled natively, right
on the bus - again, no extra programming.
The developer can also connect up to 64 devices on each FireWire bus
in a peer-to-peer fashion, communicating digitally at up to 400 Mbps. This
peer-to-peer communication allows each computer to be mapped to the other
on the same bus. The result is a much simpler implementation of an environment
including multiple heterogeneous computer platforms.
Here's another "perk" in using FireWire. No expensive bridges. All devices
can exchange data with each other natively on the bus. An IP module on
a VME carrier card is automatically mapped to all other devices such as
a SUN workstation or another VME rack, without any additional design efforts
for drivers or protocols, or requirements for extra hardware. This effectively
negates the need for any dedicated bridges. FireWire's flexible cabling
topology allows for easier installation of real-time systems, compared
to standards requiring rigid cabling topologies such as point-to-point
and hubbed architectures. Plus, using serial communication allows for thin,
easy-to-handle 6 conductor cables to be used between computers and I/O
devices. Cable length is limited to 4.5 meters, but high quality cabling
and/or repeaters can be used to extend that distance as required.
FireWire interfaces are also designed for hot plug and play. For example,
if one of the robotic arms requires servicing, including removal and replacement,
-- the manufacturing process goes on uninterrupted. There is no need to
bring down the system to add or remove nodes.
Finally, FireWire is inexpensive. Its roots are in professional multimedia
solutions, developed using components that are now widely available at
a low cost. These same low cost components are used in the manufacturing
of FireWire-based real-time communication products.
Without a doubt, FireWire is revolutionizing the way developers and
systems integrators design, build and interconnect real-time systems. The
integration and synchronization of the different components in a real-time
automated assembly system can be greatly simplified by using FireWire technology.
Not only are design time and project costs significantly reduced, but the
versatility of the resulting real-time system is also increased. Plus,
the system can be upgraded and expanded very easily without concern about
additional equipment that may be added in the future.
Montreal-based Sederta, Inc., is the first company to offer a complete
family of real-time communication hardware and software products based
on FireWire technology. The SedNet FireWire family includes VME, PCI, CompactPCI,
PMC and SBus communication adapters that are designed to facilitate the
design and integration of heterogeneous, real-time computer systems.
SedNet's VME FireWire card -- as well as the entire family of cards
-- is a deterministic, high-speed, low-cost communication adapter. The
card bridges a VME-based system including IP modules to PCI, PMC, SBus,
CompactPCI as well as other VME systems. Integrating the VME card into
a real-time system design will enable developers to map the complete 32-bit
VMEbus space on the FireWire bus and create multi-computer systems without
operating system, bus or cabling topology restrictions, and without having
to write a single line of communication code. In addition, the card can
be extended with up to three IP module carrier boards, each allowing up
to four IP modules, for a total of twelve IP sites for faster and more
efficient data throughput. Point-to-point, daisy chain or tree topologies
are supported, and naturally all IP modules and attached nodes and devices
are fully synchronized for real-time applications. All SedNet adapters
provide 200 Mbps isochronous and asynchronous data transfers through three
on board ports.
But perhaps, the most important feature of the SedNet VME card is its
powerful real-time communication API. SedNet communication adapters enable
developers to interface with the system using simple API commands without
having to write device drivers or communication code. And again, all of
the I/O synchronization aspects of interfacing with other real-time systems
are completely transparent.
In addition to the FireWire adapters, the SedNet family also includes
Software Development Kits for Wind River Systems VxWorks, QNX, Microsoft
Windows NT, Sun Solaris, and IBM AIX, as well as a Driver Development Kit
for custom or other embedded operating systems.
|