Broadcast Write Capability
FireWire features a broadcast write mechanism and address space. This is used for the cycle start message to update each node’s cycle timer register (common time base). This same mechanism also can be employed for other synchronization messages, safety messages, etc.
IEEE 1394b has all of those same advantages in addition to others that are unique to 1394b. There’s no need to give up anything from 1394a to implement 1394b. Ports on 1394b physical layers (PHYs) may be backward-compatible. That is, they will communicate with 1394a signaling when plugged in to a 1394a node, and communicate with 1394b signaling when plugged into a 1394b node.
A single 1394b PHY will translate from 1394a to 1394b if one port is plugged into 1394a and the other is plugged into 1394b. This is called “bilingual.” If the 1394b PHY is bilingual, then any port may be used to talk to either a 1394a device or a 1394b device. Thus, it can interact with any existing 1394 device at the hardware level. However, if the port is connected to an S800-capable port, it will connect at the full speed of 1394b.
Now, 1394b operates at up to 800 Mbits/s. The IEEE standard defines everything that’s required to move to 1.6 Gbits/s and has defined media up to 3.2 Gbits/s. Silicon that implements 800-Mbit/s 1394b is available from Texas Instruments, Oxford Semiconductor, Initio, and BridgeCo. Several implementations of a 1394b link layer in FPGA technology have been successful. They were used both as prototypes for ASICs and as the final end equipment for lower-volume equipment.
FireWire 1394b employs a modified form of IBM 8B10B encoding. As a result, 1394b can be used with optical transceivers and with special transceivers for UTP cables. Depending on the type of transceiver and media chosen, the cable distance can be up to 100 m per hop, though with a more limited number of hops. This can be extended to approximately 400 m under special circumstances, but the network can’t be extensive.
In addition, 1394b can take advantage of POF cabling at a variety of speeds and distances. For example, with the Toshiba TODX2404, it can transmit at 400 Mbits/s up to 10 m, 200Mbits/s up to 20 m, and 100 Mbits/s up to 50 m of standard cable available from Mitsubishi Rayon. GOF can be used at speeds of 400 Mbits/s and higher.
UTP Category 5 may be used with a 1394b PHY provided there’s a special transceiver. With the special transceiver, 1394b could transmit up to 100 Mbits/s over 100 m of CAT-5 cable. The dc-balanced 8B10B encoding allows for galvanic isolation at the cable, or the optical connection choices will bring the ultimate in isolation.
TI tested UTP5 at 100 Mbits/s; POF at 100 Mbits/s, 200 Mbits/s, and 400 Mbits/s; GOF at 400 and 800 Mbits/s; and finally, 4.5-m shielded twisted pair cables from 100 to 800 Mbits/s. The hardware results are good, with very good bit-error-rate performance and interoperability between 1394a and 1394b devices. One issue that sometimes arose was software compatibility. At the higher 1394b data rates of 400 and 800 Mbits/s, everything worked well. Sometimes, though, at the lower 1394b data rates of 100 or 200 Mbits/s, depending on the particular end equipment’s software implementation, a piece of older 1394 end equipment might atempt to send packets at a higher rate (400 Mbits/s) than is possible with the 1394b media connection.
FireWire 1394b BOSS arbitration eliminates arbitration idle delays for asynchronous transport, as well as arbitration time for isochronous transport. It does this by using the dual-simplex property of 1394b to do arbitration and data transport in parallel. It also allows bus “grants” to be included in the final codes of a packet being sent, which achieves very low overhead for arbitration.
One application that uses a FireWire implementation is Point Grey Research’s 800-Mbit/s industrial camera. This high-performance camera required excellent video resolution and quality. To keep development costs in line, it also needed a standard that was supported inside the target operating system. The true isochronous nature of FireWire benefited this application by allowing a simpler hardware implementation to send the digital pixels in a raw video format directly to a computer for processing. The 1394 Trade Association published a standard for this type of camera (DCAM1.3), and the industrial working group continues to update it in the eventuality of higher-throughput PHYs.
Point Grey had already implemented FireWire cameras for lower-throughput 1394a-2000 systems. So when the 800-Mbit/s implementation of FireWire became available, it met the need for the increased resolution craved by customers. Approximately 80% of the total available bandwidth is available for isochronous data, delivering a throughput of 640 Mbits/s. However, this limit was set to allow S100 1394-1995 nodes to operate correctly. At S100, 20% of the bandwidth is 20 Mbits/s; at S800, 20% is 160 Mbits/s. This, along with the more efficient BOSS arbitration, allow the 80% to be pushed higher in a primarily isochronous 1394b-only network.
Another limit on the throughput is that the maximum-sized packet only lasts for approximately 83.3 ms. This is a limit of the 1394 PHY design, yet it’s required by the standard. Longer packets than this may lose the end bits of a packet, causing CRC errors. The standard limits the size of isochronous packets to 1024, 2048, 4096, and 8192 bytes, respectively, for S100, S200, S400, and S800 packets. To circumvent this, a node can send more than one isochronous packet per isochronous frame, as long as the bandwidth is allocated for such a procedure.
See associated figure