Thanks to the IEEE 1394 interface standard, networked FireWire cameras in machine-vision systems offer plug-and-play interoperability.
By Andrew Wilson,Editor
In 1986, Apple Computer Inc. (Cupertino, CA) developed the FireWire serial bus, an interface that interconnects computer peripherals, storage devices, and consumer-electronics units. Standardized by the Institute of Electrical and Electronics Engineers (IEEE) as the IEEE 1394 specification in 1995, this interface currently supports data rates of 400 Mbits/s with plans to move up to 3.2 Gbits/s soon. Currently, solid-state camera manufacturers are using this interface as a means to replace traditional frame grabbers and reduce costs in machine-vision system designs.
The 1394 standard has already been integrated into some PC motherboards, digital camcorders, video editing equipment, video cassette recorders, and cameras for the consumer market to take advantage of the interface's primary attribute—plug-and-play compatibility. In fact, the adoption of the 1394 standard has been so successful that last year Apple Computer received a 2001 Prime Time Emmy Engineering Award for FireWire from the Academy of Television Arts and Sciences.
Lots of docs
"At last count, there were more than 70 documents that attempt to define the characteristics of 1394-based devices," says Michael Teener, chief technical officer of Zayante (Scotts Valley, CA), a vendor of 1394-based silicon and software products, testing tools, and services. In a definitive article entitled Understanding FireWire: The IEEE 1394 Standards and Specifications (see www.chipcenter.com), Teener comments, "This is not necessarily an indication of complexity, but an indication of the vast number of applications of 1394. There are only a few specifications that designers must be aware of: the original IEEE 1394-1995 document and its 'a,' 'b,' and 'dot one' extensions and IEEE 1212-1991 (ISO 13213) and its revision." Links to these and other standards can be found at www.chipcenter.com/networking/ieee1394/table1.html. "The other 60-odd specifications cover the various applications of 1394, particularly in the consumer electronics and PC markets," he adds.
"Several unique features attract developers to the 1394 serial bus," says Allan Mullgrav Jr., an advisory engineer in the storage interface electronics department of IBM (East Fishkill, NY). "The standard provides for half-duplex data transmission at 100, 200, and 400 Mbits/s, which offer the bandwidth needed for video applications." Using the 400-Mbit/s rate allows the transmission of uncompressed 640 X 480-pixel video at 30 frames/s. These characteristics enable camera vendors, such as Aplux Communications (Tamshui, Taipei, Taiwan, ROC), Metacontrols (Morrisville, NC), and Sirius Advanced Cybernetics (Karlsruhe, Germany), to offer camera-based products based around the IEEE-1394 standard (see Table 1).
Key features of 1394 include multimaster capabilities, hot swapping, and dynamic node address allocation as nodes are added to the serial chain. And, with the adoption of P1394b, transmission speed is scalable from approximately 100 to 400 Mbits/s, as defined in 1394a-2000, and up to 3200 Mbits/s with P1394b. Each node also acts as a repeater, allowing nodes to be chained together to form a tree topology. Due to the speed of 1394, the distance between each node or hop should not exceed 4.5 m, and the maximum number of hops in a chain is 16, for a total maximum end-to-end distance of 72 m.
The IEEE-1394 specifications define the Physical (PHY), Link, and Transaction layers (see figure at right). The PHY layer provides the electrical and mechanical interfaces required for transmission and reception of data packets transferred across the serial bus. It implements services for decoding, encoding, repeater, and arbitration control. Physical devices provide a hardware implementation of this interface.
The Link layer resides between the PHY layer and the Transaction layer and translates the Transaction layer requests/responses into packets. It also provides address and channel number decoding for incoming packets. Integrated circuits (ICs) that implement the PHY and Link layers of the standard can be obtained from vendors such as Fujitsu Microelectronics, IBM, Innovative Semiconductor, and Philips Semiconductor (see Table 2). Lastly, the Transaction layer implements ISO/IEC13213:1994 standard control and status register architecture for computer buses that can be found at standards.ieee.org.
In the first generation of IEEE 1394 cameras, camera developers used discrete PHY and Link parts in their camera designs. In the design of both the PixeLINK PL-A641 and PLA642 cameras from Vitana Corp. (Ottawa, Ontario, Canada), for example, the company used separate Link and PHY devices to accomplish 1394 compatibility. Like Vitana, C-Cam Technologies (Leuven, Belgium) also uses discrete ICs in its CCi1394 camera. But, according to its president Josy Boelen, the company is switching to an integrated version in the next generation to achieve digital camera (DCAM) compatibility. This DCAM standard is a guide for designers that want to use the IEEE 1394 standard as a camera-to-PC interconnect (seewww.1394ta.org/Download/Technology/Specifications/2000/IIDC_Spec_v1_30.pdf). Adherence to design specifications that include camera registers, fields within registers, video formats, modes of operation, and controls are aimed at promoting 1394-to-PC interconnects.
With the introduction of integrated Open Host Controller (OHCI) Link/PHY devices from Agere Systems (San Jose, CA) and others, camera designers are now presented with an easier way to integrate 1394-based cameras with PCs. Available at www.microsoft.com/hwdev/bus/1394/OHCI.asp, the 1394 OHCI is an implementation of the Link-layer protocol of the 1394 serial bus with features to support Transaction and Bus Management layers. The OHCI also includes DMA (direct memory access) engines for high-performance data transfers and a host bus interface.
The IEEE1394 (and OHCI) standard supports two types of data transfer: asynchronous and isochronous. Asynchronous data transfers put the emphasis on guaranteed delivery of data, with less emphasis on guaranteed timing. Isochronous data transfer is the opposite case, with emphasis on guaranteed timing of the data and less emphasis on delivery.
"At VGA resolutions of 640 X 480 X 24 bits/pixel true RGB (red, green, blue), only one camera can be live per 1394 link,' says Edison Hudson, president and chief technical officer of Metacontrols (Morrisville, NC). "In 640 X 480, YUV (4:1:1) mode, up to two cameras can operate on the same network. At megapixel resolutions, a single gray-scale camera can send full-resolution live video over a single-channel 400-Mbit/s network. The company has also designed a 1280 X 1024 RGB version of its FireView camera that runs at 15 frames/s for a biology microscope. This data transfer can be accomplished while leaving 80 Mbits/s free for asynchronous commands to the camera (for control) or for other lower bandwidth functions such as motion, I/O (input/output), and process control on a single 1394 400-Mbit/s network," he adds.
"Because of the nature of FireWire, which defines both asynchronous and isochronous data streams," says Joel Bisson, president and chief executive officer of Vitana, "it is misleading to think of FireWire as a pure asynchronous network." His company's PL-A641/2, 1280 X 1024-pixel resolution monochrome and color cameras, for example, support up to 14 frames/s over the FireWire interface. Although the PC-A641/2 cameras are primarily developed for scientific and microscopy applications, the company has a machine-vision camera under development for the IEEE-1394 interface. According to Bisson, this camera will include a 640 X 480-pixel monochrome resolution imager that will deliver frame rates to 200 frames/s using dynamic-region-of-interest imaging.
A new rev
To increase the bus speed of the IEEE 1394 standard, both IC vendors and systems integrators are already finishing an updated IEEE 1394b version. This new standard (available at www.zayante.com/p1394b/) will extend the bus speed to 1600 Mbits/s, with architectural support for 3200 Mbits/s, and increase cable lengths to 100 m when using plastic optical fiber. Interestingly, IC vendors such as Texas Instruments (Dallas, TX) and Zayante have already introduced some "b"-compatible parts.
Expected to be in volume production during the second half of this year, the TI parts include devices for managing the PHY and Link layers. While the 1394b Link-layer device is compatible with the OHCI standard, the 1394b PHY chip is a three-port, bilingual device that is backward-compatible with 1394a devices. It also supports the data-strobe-encoding scheme of IEEE 1394a-2000 and the new 8B/10B encoding scheme for 1394b.
To date, no vendors have incorporated the 1394b standard into camera offerings. But companies such as Vitana do plan to offer such products next year. Whether they implement the interface using discrete ICs, combined PHY/Link parts, or as intellectual-property (IP) devices remains to be seen. With the high interest in the 1394a and b standards, however, a number of companies including LSI Logic (Milpitas, CA), Wipro Technologies (Santa Clara, CA), and InSilicon (San Jose, CA) will offer IP devices that could be used with field-programmable gate arrays (FPGAs), such as the new Virtex-II Pro Platform FPGA from Xilinx (see Vision Systems Design, March 2002, p. 7).
More likely than not, such single-chip devices will incorporate 1394b interfaces, PowerPCs, and 64-bit, 66-MHz PCI interfaces. In a company presentation, Xilinx has proposed a universal system interface that will allow such standards as SCSI, PCI-X, and CompactPCI to interface to USB (Universal Standard Bus) 2.0 and 1394 standards. Such a universal system interface could also include support for Camera Link, thereby allowing every standard interface to be accommodated on a single IC.
"IEEE-1394 has many features that are advantages for both vision and controls, particularly whenever vision and controls are on the same network," says Metacontrols' Hudson. "In general, USB 2.0 transactions, like Ethernet, require a host to handle almost every transaction, whereas the silicon of 1394 can handle transactions and routing (peer-to-peer) without host interactions."
The USB 2.0 standard now claims to support higher than 400-Mbit/s data-transfer rates, but due to host interaction, unless the host is lightly loaded, this rate cannot be sustained. In contrast, at least 80% of the rated bandwidth of 1394 has been proved to be sustainable. The 1394b standard goes much further and faster than USB 2.0 and when widely available will be a better choice. "The USB 2.0 is not an embedded driver in Windows XP, whereas 1394 is required by Microsoft for a PC to be considered Windows XP Ready. In general, 1394 is winning in the marketplace, and though USB 2.0 may gain some support, its market share and support by standard operating systems will be secondary," Hudson adds.