What is connector 1394 on the motherboard for? FireWire or how else Apple helped the digital world


When designing the perfect PC, choosing the right bus for connecting peripheral devices is especially important. This communication channel between the computer and its components has a significant impact on the PC's performance and cost.

IEEE 1394 (Firewire, iLink)

IEEE 1394 (Firewire, iLink) is a high-speed serial bus designed to exchange digital information between a computer and other electronic devices. This bus is also ideal for real-time multimedia applications. The IEEE-1394 interface was designed to provide high-speed access primarily to storage devices such as hard disks, CD and DVD drives.

IEEE 1394 Specifications

Data transfer rates up to 400 Mbits/s according to the IEEE-1394a standard and 800 Mbits/s according to the IEEE-1394b standard,

16-bit address allows you to address up to 64K nodes on the bus

Maximum theoretical tire length 224 meters

- hot plug/unplug without data loss

Automatic configuration similar to Plug&Play

Arbitrary bus topology - by analogy with local networks, both a “star” and a common bus can be used (only in the form of a chain, unlike a network on a coaxial cable)

No terminators (when connecting to SCSI, a terminator is required on the last device)

Possibility of exchange with guaranteed bandwidth, which is essential for transmitting video images

The maximum distance between two devices in a chain according to IEEE-1394a is 4.5 m, according to IEEE-1394b - 100 m.

In this case, the bus provides:

1. digital interface - allows you to transfer data between digital devices without loss of information

2. small size - a thin cable replaces a pile of bulky wires

3. ease of use - no terminators, device IDs or pre-installation

4. low cost for end users

5. the ability to process multimedia signals in real time

6. open architecture - no need to use special software

ieee 1394 bus operation

The 1394 standard defines the general structure of the bus, as well as the data transfer and media separation protocol. A tree-like bus structure always has a "root" device, from which branches branch out to logical "nodes" located in other physical devices. The root device is responsible for certain management functions. So, if it is a PC, it may contain a bridge between the 1394 and PCI buses and perform some additional bus management functions. The root device is determined during initialization and, once selected, remains so for the entire time it is connected to the bus.

rice. 1. IEEE-1394 topology example.

A 1394 network can contain up to 63 nodes, each with its own 6-bit physical identification number. Several networks can be connected to each other by bridges. The maximum number of connected buses in the system is 1023. In this case, each bus is identified by a separate 10-bit number. Thus, a 16-bit address allows up to 64449 nodes in the system. Since device addresses are 64 bits wide, and 16 of them are used to specify nodes and networks, this leaves 48 bits for the address space, the maximum size of which is 256 Terabytes (256x10244 bytes) for each node. The design of the tire is surprisingly simple. Devices can connect to any available port (each device usually has 1–3 ports). The bus allows "hot" plugging - connection or disconnection while the power is on. There is also no need for any address switches since there are no email addresses.

Every time a node is added or removed from the network, the bus topology is automatically reconfigured according to the bus protocol. However, there are several limitations. There can be no more than 16 network segments between any two nodes, and connections between devices should not create loops. In addition, to maintain signal quality, the length of a standard cable connecting two nodes should not exceed 4.5 m. From a technical point of view, the work of connecting devices to the network is trivial.

IEEE-1394, FireWire and i.LINK are three names for the same high-speed digital serial interface, which is used to transmit any type of digital information.

  • IEEE-1394- designation of an interface standard adopted by the American Institute of Electrical and Electronics Engineers (IEEE);
  • FireWire is a registered trademark of Apple, which took an active part in its development. The name FireWire (“fire wire”) belongs to Apple and can only be used to describe its products, and in relation to such devices on PCs it is customary to use the term IEEE-1394, that is, the name of the standard itself;
  • i.LINK- a trademark and logo to designate a simplified connection bus via the IEEE-1394 interface between Sony consumer digital devices (this is a four-wire version of FireWire - without power wires).

Applications of IEEE-1394

The IEEE-1394 interface was designed to provide high-speed access primarily to storage devices such as hard drives, CD and DVD drives. At the same time, it was planned to do this interface universal and, if possible, also equip it with input devices - scanners, digital photo and video cameras, and other audiovisual equipment. However, its excellent characteristics - flexibility and ease of use, along with the ability, if necessary, to give priority during transmission to those data for which time synchronization is a critical factor, turned out to be optimal for transmitting digital video and still have practically no alternative in this area (in anyway, for non-professional applications). And the first hardware solutions for this interface were boards for working with digital video.

This standard allows you to combine hardware and software to transmit data streams of 100, 200, 400 Mbit/s, and in the latest implementation of the interface, up to 800 Mbit/s. Let us add that communication between devices with an IEEE-1394 interface can be turned on and off directly while they are operating (the so-called hot plug) without turning off the power or rebooting.

Sony was one of the first to realize the advantages of the IEEE-1394 standard (fast data transfer, scalability, real-time processing, ease of connection and low cost) and actively began developing integrated circuits for this standard. Following digital video cameras, Sony specialists moved on to developing solutions for personal computers, digital video recorders and digital satellite television receivers (STB, Set Top Box), as well as for hard drives and CD-ROM and DVD-ROM drives. All these products significantly expand the possibilities of connecting audio and video equipment to personal computers and in the near future will serve to create a unified home audiovisual network.

Audio and video equipment (digital CD, MD, VideoCD and DVD players, digital STB and Digital VHS) can already be integrated with computers and thus controlled. This equipment can be used to create systems by simply connecting devices to each other using a single cable. After this, using a personal computer acting as a controller, you can perform the following operations: record from a CD player to a mini-disc, remember digital radio broadcasts, received through STB, enter digital video into a personal computer for subsequent editing and editing. Of course, it remains possible to directly exchange data between audio and video equipment without using a computer or, conversely, exchange data between two computers without regard to audio or video, as in local networks based on traditional Ethernet technologies.

NEC recently announced the development of a chip designed to support hardware routing between two IEEE-1394-based networks and enable their interoperability in future IEEE-1394 broadband home multimedia networks. This dual-port chip also includes firmware that automatically configures the network and allows connections to other network devices, including mobile devices. Thus, the home network can be extended beyond the boundaries of a specific home for a distance of up to one kilometer.

Meanwhile, Sony continues to develop the concept home network, based on the IEEE-1394 standard, and intends to support developments with a practical focus by releasing even higher-capacity, high-speed, compact, low-power components for a wide range of applications and subsequent integration into system chipsets. Today Sony is showing off new consumer electronics that can form a home network using i.Link. This entire architecture is proudly called Home Audio/Video Interoperability (HAVi). It seems that thanks to the efforts of Sony, we will soon really live, if not in a digital house, then at least in a digital apartment.

However, the IEEE-1394 standard, which is increasingly attracting the attention of not only manufacturers of audio and video devices, but also developers of equipment for personal computers, will no doubt soon become new network standard, bringing the coming digital era closer.

In the operating system released in the fall of 2000 Microsoft Windows Millennium Edition features native support for the first time local networks based on IEEE-1394 controllers. Such a network has a data transfer speed four times greater than Fast Ethernet, and is very convenient for home or small office. The only inconvenience when building such a network is the short maximum length of one segment (cable length up to 4.2 m). To eliminate this drawback, signal amplifiers - repeaters, as well as multiplier-hubs for several ports (up to 27) are produced.

Recently, the new USB interface (version 2.0) has been actively competing with the IEEE-1394 interface, which provides data transfer at speeds of up to 480 Mbit/s versus the old 12 Mbit/s, that is, 40 times faster than the existing USB standard!

The USB bus has become widespread due to its low cost and powerful support in the form of a controller built directly into chipsets for motherboards. At the same time, it was stated that high-speed USB 2.0 would also be implemented in the form of a controller built into the chipset (Intel ICH3). However, Microsoft has announced that it will prioritize support for the IEEE-1394 interface rather than USB 2.0, and, in addition, the asynchronous nature of USB transmission does not allow it to seriously compete with FireWire in the field of digital video.

Thus, IEEE-1394 remains the international standard for a low-cost interface that allows you to integrate all kinds of digital entertainment, communications and computing devices into a consumer digital multimedia system.

In other words, all IEEE-1394 devices, such as digital video and photo cameras, DVD devices and other devices, fit perfectly both with personal computers equipped with a similar interface (both Mac and PC computers support it), and between yourself. This means that users can now transfer, process and store data (including images, sound and video) at high speeds and with virtually no degradation in quality.

IEEE-1394 controllers

However, it's time to move on to the practical part. There are quite a large number of controllers on sale from different manufacturers on various circuit design options. To work under Windows Me/Windows 2000, controllers compatible with the OHCI (Open Host Controller Interface) standard are required.

Prices for FireWire adapters have been significantly reduced: controllers based on a chipset from Texas Instruments start from $50, from Lucent Technologies from $35, and recently introduced boards based on a chipset from VIA Technologies are even cheaper.

Installing such a controller is very simple: everything you need is available in the operating system itself - Windows Me/2000. You only need to insert the disk with the system distribution kit and, if necessary, install all the necessary components.

The FireWire controller usually shares an interrupt with the USB controller, but conflicts do not occur even when they are running simultaneously.

Let's look at some of these boards produced by well-known companies (however, we note that the differences between brands and boards from unknown companies in this area are minimal and, as a rule, limited to the design, set of cables and included software).

DVeasy

Another representative of the family is a PCI card without internal ports. Generally speaking, there are many reasons that require a at least one internal port, but the manufacturers of the Dveasy board and similar ones seem to think otherwise... It’s not clear why these boards are not inferior in price to those that have such a port.

What's different about this board is that it includes somewhat unconventional video editing software, Main Actor, whose interface is more similar to the de facto standard in the field, Adobe Premiere, than to the pretentious Video Studio or VideoWave. Moreover, Main Actor has such useful elements, as background rendering, which helps to “brighten up” the waiting time for the result.

Additionally, the kit includes AVCap 32 - an application for capturing and managing video fragments, which can be executed in command mode (batch capture).

Thus, DVeasy offers a slightly more advanced software for video editing, but, unfortunately, at the cost of losing some hardware capabilities.

Dazzle DV-Editor (for laptops)

Now that laptop computers run nearly as fast as their desktop counterparts, portable solutions are increasingly being used for on-the-go video capture and editing, as well as other Firewire peripherals. This and similar kits give the laptop user the ability to connect any IEEE-1394 device to a PCMCIA Type II card. The card comes with a special 4-wire cable (i.LINK type). Unfortunately, many IEEE-1394 devices (including some video cameras) require a 6-wire cable (with power) and will not work with this card.

The package includes a simplified Video Studio 4 program designed for video input and editing. The program is simple, but thanks to the use of the original SmartRender technology from Ulead, the work time is reduced - due to the calculation of effects only during the final export of the finished film.

The card is inexpensive, with an integrated cable, the lack of power for which, however, seriously limits its functionality.

Fireline PCI Combocard

This interesting board has four IEEE-1394 ports (three external and one internal), as well as two USB ports (in its new version - USB 2.0). Thus, it allows you to take advantage of both interfaces.

But the main thing is that the relatively inexpensive Evergreen board comes with all the necessary cables (both USB and FireWire, with both 4- and 6-pin connectors), that is, the user of this board is provided for all occasions. Its software is not too sophisticated: the same basic package for video input and editing - Video Studio basic version SE. The package, of course, is not of a professional level, but those who buy this board not for working with video will not overpay.

The Evergreen kit is perhaps one of the most successful combinations of operational flexibility and a very attractive price.

MovieDV Suite 3.0

Most modern IEEE-1394 boards focus on a hardware solution. After all, not all their users are concerned with inputting and editing digital video - it is a universal interface after all. And inexpensive video editing software is usually included as a traditional add-on (however, few video enthusiasts use it). Movie DV Suite has the opposite balance: the software is the most important part (albeit inexpensive), and the hardware only serves to support the IEEE-1394 interface.

The Movie DV Suite software of the same name is a non-linear editing program powerful enough to compete with such giants as Adobe Premiere or Ulead Media Studio. It includes a lot of pretty impressive new generation effects and implements the most intricate transitions. There are also 3D effects, including 3D titles and 3D object import (although their implementation lacks hardware acceleration, as such features can be quite time-consuming to calculate).

Movie DV Suite 3.0, of course, is not as fast as the professional Matrox RT2000 board, but it is quite successful as an inexpensive but very advanced solution for video editing. At least here it is quite obvious why the extra money is paid, in contrast to, say, unreasonably expensive solutions from Pinnacle Systems or FAST Multimedia.

Studio DV

Studio DV is the cheapest solution from Pinnacle, a very popular video company. It, like many other similar IEEE-1393 boards, has three ports (two external and one internal), but unlike them, it is equipped with the original software of the same name for input-output and digital video editing - Pinnacle Studio DV.

The main advantage of this program (which, by the way, only works with Pinnacle boards) is the so-called Smart Capture, that is, the ability to enter an hour-long miniDV tape into a file of about 150 MB in size (with a loss of quality, of course). This low-quality version can then be used for quick "rough" editing, significantly reducing system requirements. When all the preliminary installation work is completed, the program itself will enter the necessary fragments into full resolution and installs it “clean”. This is an elegant solution that saves both hard drive space and your time. According to possibilities Studio program DV is similar to such simple packages for the non-professional user as Ulead Video Studio or VideoWave 4.

Overall, Studio DV is an ideal solution for those who don't want to go through the hassle of finding and learning more complicated software.

DV.now Lite

Record digital video on HDD is a tedious and routine job, so it is understandable that FAST focused on optimizing it and making the process as simple and convenient as possible with the help of two programs specifically designed for this.

Tape Scan gives you the ability to quickly view the tape, and Fast Forward provides a special codec that allows you to control the process of capturing video fragments. These programs will help you deal with a large number of fragments, sequential or scattered across the film. Additionally, FAST Multimedia software easily handles Windows' 2GB AVI file size limit. However, FAST saved on documentation by supplying only a pocket user manual with the board, and a simplified version of Adobe Premiere LE is offered as video editing software.

An interesting solution, but Studio DV copes with similar tasks at lower costs and more efficiently.

DV-Wizard Pro

A very effective solution for home use!

DV-Wlzard Pro offers a complete solution for recording so-called CDVD discs (as DVD movies on CD media are now commonly called). It includes the MediaStudio Ulead 6.0 SE video editing package, the Cool3D 3D titling machine and, finally, the Nero 5.0 program for CDR/RW recording. In addition, the MediaStudio program is considered today almost the best tool for non-linear editing and video editing (NLE, non-linear edition) - more stable than Adobe Premiere, and at the same time more intelligent and economical in rendering. A Nero program 5 is the best CD burning program available today. Both also support MP3 audio.

The hardware of this board is also excellent. You get four IEEE-1394 ports (three external and one internal) and a convenient 4-wire cable.

Maybe DV-Wizard Pro will cost you a little more than other boards, but you certainly won’t have to look for additional software.

The ideal solution for creating and burning videos to CDs.

ComputerPress 7"2001

High Performance Serial Bus IEEE 1394 - FireWire was created as a cheaper and more convenient alternative to parallel buses (SCSI) for connecting peer-to-peer devices. The bus allows you to connect up to 63 devices without the use of additional equipment (hubs). Consumer electronics devices - digital camcorders (video recorders), video conferencing cameras, cameras, cable and satellite receivers, digital video players (CD and DVD), speakers, digital musical instruments, and computer peripherals (printers, scanners, storage devices data) and the computers themselves can be combined into single network. The bus does not require computer control. The bus supports dynamic reconfiguration - the ability to “hot” connect and disconnect devices. Connect/disconnect events trigger reset and reinitialization: determining the bus structure (tree), assigning physical addresses to all nodes, and, if required, electing a loop master, isochronous resource manager, and bus controller. Within a fraction of a second after the reset, all resources are available for later use, and each device has a complete view of all connected devices and their capabilities. Thanks to the presence of power lines, the interface part of the device can remain connected to the bus even if the power to the functional part of the device is turned off.

At the initiative of VESA, the bus is positioned as the basis of a “home network” that unites all household and computer equipment into a single complex. This network is peer-to-peer, which is significantly different from USB.

The main properties of the FireWire bus are listed below:

The IEEE 1394 bus supports two types of data transfers:

  • asynchronous transfers without any requirements for speed and delivery delay. Data integrity is controlled by a CRC code. There are two types of addressing:
  1. directed asynchronous transmission is addressed to a specific node, guaranteed delivery is ensured by a handshaking and retry mechanism;
  2. Broadcast asynchronous transmission is addressed to all nodes and is performed without guarantee of delivery (handshake and retries do not apply).
  • Isochronous transmissions with guaranteed throughput. Data integrity is controlled by a CRC code, there is no guarantee of delivery - handshakes and retries are not used.

Directed asynchronous transfers are the basis for performing asynchronous transactions—logically completed exchanges between pairs of nodes. The bus protocol allows nodes to access each other's memory (registers) using asynchronous transactions. direct access(DMA). At the same time, they do not require memory and processor resources from third parties.

Isochronous transfers are streams of data packets. These transmissions are broadcast and addressed via a channel number sent in each packet. Up to 64 isochronous channels can be organized on the bus; transmissions of all channels are “heard” by all bus devices, but from all packets they only receive data from the channels they are interested in. Asynchronous streams can also be transmitted over the bus, for which, unlike isochronous ones, a guaranteed bandwidth is not provided.

Arbitration determines which of the nodes requesting the transfer is granted this right. Arbitration provides guaranteed throughput for isochronous transfers and fair provisioning of access to nodes for asynchronous transactions. IEEE 1394 bus arbitration occurs before any request (synchronous or isochronous) or response packet is sent. The exception is the concatenated form of transaction execution. Acknowledgment packets are sent without arbitration - the right to transmit them does not need to be played, since the receipt is sent only by the single node to which the confirmed request or response packet was addressed.

Arbitration is handled by the physical layer of each bus node. Arbitration is performed in a distributed hierarchical manner: all nodes are involved in it, the “supreme” arbiter is the root node, which is automatically selected at the bus configuration stage.

The Physical Layer (PHY) provides the Link Layer (LINK) with the following arbitration services, listed in order of increasing priority:

  • fair arbitration(fair arbitration service), used to transmit regular asynchronous packets;
  • priority arbitration(priority arbitration service), used to transmit frame start packets and priority asynchronous packets;
  • immediate arbitration(immediate arbitration service), used to transmit handshake packets;
  • isochronous arbitration(isochronous arbitration service), used to transmit isochronous packets.

The priority in arbitration on the IEEE 1394 bus is determined by the duration of the arbitration gap—the time during which a node observes the bus is idle before transmitting an arbitration request. The smaller this gap, the more likely the node is to receive the right to transmit. The original 1394 arbitration scheme was improved twice: the 1394a introduced expedited arbitration mechanisms, and the 1394b, with its duplex connections, introduced a new mechanism - BOSS arbitration. All improvements are aimed at reducing unproductive time.

If isochronous transfers are used on the bus, then all transactions are organized into a sequence of cycles - time intervals with a nominal duration of 125 μs. The beginning of each cycle is marked by a Cycle Start broadcast packet. These packets are sent by the node that is the loop master. The master receives the right to transmit this packet through arbitration using high priority. The organization of cycles is presented in the figure, which shows the operation of two isochronous channels (Ch#J and Ch#K) and the transmission of asynchronous packets A and B. After the cycle start packet, each node to which isochronous channels are allocated has the right to transmit one packet for each channel (until the next packet arrives at the beginning of the cycle). For isochronous transfers, a short arbitration gap is used, so asynchronous transactions using a longer gap cannot wedge into the isochronous part of the cycle. After isochronous packets run out of this cycle, asynchronous transfers are performed, which use longer gaps for arbitration. When it is time to send the next loop start packet, the loop master, after waiting for the bus to become free, again gains access rights (using its priority due to its position at the root of the tree) and sends the next loop start packet. Thus, the cycle time may deviate from the nominal value of 125 µs. Deviations of the cycle duration from the nominal one are not dangerous, since the cycle start packet carries the system time value exactly at the time of the actual transmission of this packet.

If the bus does not use isochronous transfers, then there may be no loop master and there will be no loop start packets on the bus. In this case, all the time on the bus can be filled with asynchronous transfers with their long arbitration gaps.

IEEE 1394 bus configuration is performed in different situations:

  • automatically when the configuration changes - when connecting and disconnecting devices, as well as turning on/off their PHY level;
  • when any node detects a fatal error - a “freeze” of the bus;
  • at the initiative of some node that wants, for example, to change the topology (change the root node).

Configuration consists of three sequential stages.

  1. Bus Reset, from which the transmission of useful traffic stops.
  2. Tree Identification, during which nodes are arranged in a hierarchical structure.
  3. Self-identification of nodes, during which nodes assign themselves unique physical identifiers.

Configuring the bus puts it in a state suitable for transmitting useful traffic. The bus configuration is carried out exclusively by the hardware of the PHY level of each node (the LINK level of configurable nodes can be disabled). Software are not involved in this process. Thanks to the pure hardware implementation, auto-configuration is so fast that it is possible to maintain the continuity of isochronous flows.

In the original version of the bus, the longest time in the entire configuration procedure was reset. Enhancements have been made to the 1394 physical layer to minimize wasted time during reset. The rest of the configuration steps are faster, but if a loop is created, the tree identification will never end. This situation is detected by any node, and a message about it is communicated to the user. 1394b takes steps to automatically eliminate loop connections.

The properties of any configured bus node are observable and controlled through its architectural registers and configuration memory. They are accessible from the bus side through asynchronous transactions to specific addresses. Architectural registers determine the behavior of a node on the bus. Configuration memory reveals the "application value" of a node and provides its unique identification, independent of a non-persistent physical identifier.

The IEEE 1394 bus, providing peer-to-peer interactions between nodes, needs centralized management some functions. Control functions can be taken over by different bus nodes; Depending on the availability of implementation of certain functions, the following variants of the IEEE 1394 bus are distinguished:

  • an unmanaged bus that only needs a root node to control arbitration. The root, which becomes the "supreme arbiter", is selected during the tree identification stage. The initial candidate for this “position” is selected based on the connection topology, with a possible random draw for this right between the two winners of the penultimate round. After the root elections are completed, the nodes self-identify (and assign physical addresses), after which the bus becomes ready for asynchronous transactions between nodes. Subsequently, it is possible to reassign the root programmatically (via asynchronous messages on the bus) (with the definition new structure tree and node addresses);
  • a partially managed bus that, in addition to the root, must have nodes that act as a loop master and an isochronous resource manager. Their operation makes it possible to use the bus for isochronous transmissions;
  • a fully managed bus, which must have a bus manager node that provides additional services management.

Loop Master

The Cycle Master is responsible for regularly transmitting cycle start packets. To do this, it must be a device that supports isochronous exchanges and have CYCLE_TIME and BUS_TIME registers. In the BUS_INFO_BLOCK information block of its configuration memory, the cmc (Cycle Master Capable) bit must be set - a sign of the ability to perform this role. The current cycle master is a node that has the cmstr (Cycle Master) bit set in its status register (STATE). All nodes, except the root one, must reset this bit to zero during tree identification (after reset); the root node must retain the value it had before the reset.

If the selected root node is not capable of being a loop master, and isochronous transfers are required, then a new candidate for the role of root is selected from among the nodes capable of being a master (judging by the cmc bit). To do this, a broadcast PHY configuration packet is sent with the identifier of the new candidate and the R bit set. This node will set its RHB bit, and the others will reset it, which will ensure that this node is selected as the new root during the identification caused by sending this packet.

The loop master is the source of the system time; For this purpose it has CYCLE_TIME and BUS_TIME registers. The current value of the CYCLE_TIME register is sent by the cycle master in cycle start packets. A bus reset (in any form) does not affect the values ​​of these registers.

The CYCLE_TIME register (32 bits, Fig. a) consists of three fields corresponding to the values ​​of three counters connected in cascade:

  • cycle_offset — 12-bit counter modulo 3072 ( maximum value 3071, after which it is reset), counting pulses with a frequency of 24.576 MHz. The period of this counter corresponds to the nominal cycle duration - 125 μs;
  • cycle_count is a 13-bit modulo 8000 counter that counts cycles. The period of this counter is 1 s;
  • second_count — 7-bit counter that counts seconds; counting period - 128 s.

The BUS_TIME register (32 bits, Fig. b) contains the system time value in seconds. Its lower 7 bits (second_count_lo) display the second_count field of the previous register. The remaining 25 bits (second_count_hi) count 128 second intervals. The counter period is 232 = 4,294,967,296 s (about 136 years).

The importance of interaction between various components and devices in computer technology are difficult to overestimate. Without such interaction there would simply be no computer technology itself. But, from the very beginning of the development of computers, each manufacturer solved (and in some places continues to solve) these problems in their own way. Like mushrooms after rain, the number of all kinds of buses and connectors through which data was transferred, both inside the computer and outside, grew. But, if such a variety of solutions inside the iron box was (and is) for the good, stimulating technical progress, then with the periphery everything happens the other way around. The sea of ​​different buses and connectors with which peripherals can be connected to computers is not beneficial to anyone - neither the manufacturers of the computers themselves, nor the manufacturers of peripherals. It became clear that universal tires were needed. And they appeared. Unfortunately, the general disorder (when everyone pulled the blanket over themselves) did not escape this area. Therefore, in the mid-nineties, looking at the back wall of the computer, one could see a bunch of different connectors: COM, LPT, VGA, PS/2 and some others. Each of these connectors had its own drawbacks, required a separate implementation from developers and required its share of by no means limitless computer resources. The need for a truly universal connector has become urgent, and the developers set to work with enthusiasm. For example, since the mid-nineties, the well-known company Intel began to aggressively push its creation onto the market - USB (Universal Serial Bus). Compared to the connectors that existed at that time, USB was a true breakthrough, providing seemingly everything one could dream of. But it only seemed :-) In the shadow of the hype around USB, few people noticed the birth of another format using the serial bus (Serial Bus), which could do no less (or even more) than its widely advertised competitor. This is IEEE 1394.

How it all began

The history of IEEE 1394, now also known as FireWire and as i-Link, began back in 1986, when members of the Microcomputer Standards Committee wanted to unify the then existing various options Serial Bus. New project was intended to combine existing developments at that time: IEEE 1014 VME, IEEE 1296 Multibus II, and IEEE 896 FutureBus+®. The developers' task was to create a universal I/O (Input/Output) external interface suitable for working with multimedia and for working with data storage devices (Mass Storage Device), not to mention simpler things - like printers, scanners, and things like that. The result of the developers' work was a 10 megabyte document called 1394-1995.pdf, finally approved on December 12, 1995, which described IEEE 1394. There is no secret meaning in the name of the standard - it was simply the 1394th standard issued by the committee. The interface that was described in this document was truly revolutionary. It provided simply incredible speeds and convenience for those times. The leading role in the development of the standard was played by Apple, which gave it the name FireWire, so it is not surprising that it immediately relied on the use of this standard in its computers (as usual, Apple went its own way, and while PC users looked into the mouth of Intel with the recently appeared USB, relied on FireWire. Although USB was not forgotten. The real swan song for IEEE 1394 was the appearance of amateur DV cameras. Even during their development, it became clear that, in addition to IEEE 1394, as an external interface for nothing fits them. Therefore, the Digital VCR Conference (DVC) decided to use IEEE 1394 as a standard interface for digital cameras. The first sign was Sony with the DCR-VX1000 and DCR-VX700 digital cameras, which for the first time had IEEE 1394 output. But, soon Other manufacturers followed Sony, and today IEEE 1394 has practically monopolized this rapidly developing market.Today, any DV camera produced today is required to be equipped with an IEEE 1394 interface.

Texas Instruments also made its contribution to the development of IEEE 1394, organizing the mass production of really cheap chips for implementing the IEEE 1394 interface, which played a huge role in the rapid growth in the number of IEEE 1394 controllers in personal computers.

Despite such success of the new standard (it turned out to be in demand even before the release of the final specification), the developers did not stand still. Already in 2000, version 1394a-2000 of the protocol was released, which was immediately enthusiastically received by manufacturers. And today P1394b is being developed.

What's so great about IEEE 1394?

As already mentioned, the developers relied on previously released standards, and IEEE 1394 included all the best that existed at that time. The main features of IEEE 1394 include:

  • The serial bus, instead of a parallel interface, allowed the use of small diameter cables and small connectors.
  • Supports hot plugging and hot plugging of anything.
  • Power supply to external devices via IEEE 1394 cable.
  • High speed
  • The ability to build networks from various devices and a wide variety of configurations.
  • Simplicity of configuration and breadth of possibilities. A wide variety of equipment can operate via IEEE 1394, and the user does not have to worry about how to connect it all correctly.
  • Supports asynchronous and synchronous data transfer.
It is necessary to dwell on the last point in more detail.

Asynchronous transfer. Asybnchronous, from the Greek Asyn - other and Chronous - time. This means that the data will definitely be delivered safe and sound, even if not always on time. The receipt of each packet is checked and confirmed; if the packet is not received, the transmission will be repeated again.

Synchronous transmission. Isochronous, from the Greek Iso - the same, the same and Chronous - time. This means that speed and continuity of flow are more important than data integrity. If the packet arrived with an error, or did not arrive at all, this is not even checked, let alone resent the packet. This type of transmission is great for multimedia applications, where the loss of any part of the information is less critical than a large delay.

How does it all work?

IEEE 1394 is divided into several layers. It looks like this:

At the bottom is the Physical Layer. The hardware component, which is responsible for translating signals received via cables into computer understandable form (and vice versa - for converting data into electrical signals traveling along cables). The same part is responsible for managing the physical channel, i.e. determines whether the device should occupy the channel right now, or should wait. In addition, this same level provides an interface for cables and connectors and is responsible for the following processes:

Environment Interface(Media Interface) - is responsible for the state of the signal transmitted through the cables.

Arbitration(Arbitration) - various IEEE 1394 devices included in the network sort out among themselves who can act and in what order.

Encoding/Decoding(Encode/Decode) - converting data into electrical signals that can be transmitted through cables and back.

The level above is the channel level (Link Layer). Ready-made data packets are delivered here. It is this level that is responsible for sending data up and down, the following processes occur here:

Packet receiver(Packet Receiver) - organizes and is responsible for receiving data packets.

Packet transmitter(Packet Transmitter) - organizes and is responsible for the transmission of data packets.

Cycle control(Cycle Control) - packets are transmitted not individually, but in cycles. This is where control over these cycles is exercised.

These two levels are implemented in hardware, i.e. are executed in hardware. They are fully responsible for generating a signal from data, generating data from a signal, and receiving/transmitting to right time and to the right place. Therefore, only these two levels are enough for synchronous transmission, when no control over what is transmitted and received is required. With asynchronous transmission this is not the case, and this is where:

Network layer(Transaction Layer). At this level, the received data is verified. If everything is fine (not a single packet was lost or damaged), the data is sent to the consumer. If an error is detected, we return to the physical layer and repeat it all over again until the data is received without errors.

All levels (including the first two) are controlled by firmware, and this process is called Serial Bus management.

Such processes occur in every IEEE 1394 device, and any two devices form a point-to-point connection with each other. But, in addition, IEEE 1394 allows you to combine many such devices and connections into one logical network. To do this, the physical layer allows you to have more than one physical interface on one device.

Let's take a closer look at how different devices on the same logical network figure out who should do what, when, and what.

Network initialization occurs in several stages:

Reset(reset) - occurs every time it is required. The reason for the reset could be, for example, a physical change in the network configuration (connecting a new device or disconnecting an old one). The network initialization process begins with a bus reset. The resulting configuration remains valid and unchanged until next reset tires.

Tree identification(Tree identification) - connected devices find out which of them are parents and which are children, and form a logical tree. The root device for the entire tree is determined.

Note: The first thing a device detects when turned on is how many connected ports it has. One (leaf) or several (branch). Then the parent and child devices are determined (which is connected to which). Based on this data, a tree is built and the root device is determined.


Self-identification(Self identification) - each device receives its own node ID within the tree, and finds out at what speeds its immediate neighbors can operate. The topology is completely defined. Addressing uses the principles described in IEEE 1212. This means 64-bit direct addressing (48 bits per node, the remaining 16 are used for bus identification), which allows hierarchical addressing for 63 nodes on 1023 buses. The only limitation is that there must be no more than 16 “hops” (segments) between two devices that want to communicate with each other.

Network initialization is completed, normal arbitration comes into effect - the operating mode of the network. The devices exchange data, and the root device makes sure that they do not interfere with each other. It happens like this:

A device that wants to start transferring first sends a request to its parent device. The parent device, having received the request, prohibits transmission to all other children (only one request is processed at a time) and, in turn, passes the request further to its parent device, where everything is repeated. As a result, the request reaches the root device, which, in turn, allows transmission to the device whose request came first. All other transfers are prohibited. Thus, if two devices simultaneously send a request to transfer data, the response will depend on whose request reaches the root device first. It wins the arbitration and gets the right to start the transfer. Losing device. having not received permission to transfer, is forced to wait until the winner clears the bus.


All this happens at the physical layer. Once permission to transmit data has been received and data transmission needs to begin, the link layer comes into play. As already mentioned, it is he who forms the packets and determines when and how many packets should be sent. Data transmission begins with a request for readiness to receive the device for which the data is intended, and, having received confirmation of readiness, begins transmission. Data comes in packets, with gaps between them. A typical data packet is 256 bytes, or 2048 bits, of which 160 bits are in the header. Thus, the overall efficiency (how much data is in the packet, not service information) is very high and the larger the packet, the higher the efficiency). The header includes information about the sender, recipient, and CRC. After the packet there is a short gap, less than 0.75 msec long (acknowledge gap), after which the recipient must send an 8-bit data block confirming that the packet was received intact (ack packet). Then follows a longer gap, longer than 1 msec, separating the packets (subaction gap). And so on - packet, acknowledge gap, confirmation byte (ack), subaction gap.

To ensure that one device, having started transmitting data, does not occupy the entire channel, leaving no chance for neighbors to start transmitting until it finishes, the concept of fairness interval was introduced. During one fairness interval, each device on the bus gets one opportunity to transmit its data. Once permission is granted (arbitration is won) and a piece of data is transmitted, the device must wait for the end of the fairness interval and the start of the next cycle before it can again transmit the next piece of data. The fairness interval ends with the so-called reset gap, which is longer than the subaction gap and causes the entire bus to be reset.

For synchronous transmission, a slightly different technique is used. Data is transmitted in “shots”, each 125 msec long. As many such shots are fired as the channel allows. Even at single speed (98.304 Mbit/sec), up to 1000 bytes are transferred in one such cycle. The higher the speed, the more data can pass through. Moreover, with synchronous transmission it does not matter at all whether the receiving device received the data or not. Packets just come one after another, separated by a subaction gap, no one is waiting for any ack packets. In order for the receiving device to be able to figure out where the synchronous and where the asynchronous data is, the subaction gap is shorter during synchronous transmission. This allows you to combine synchronous and asynchronous data in one session. However, in synchronous mode, one device will never be allowed to capture the entire available channel. Synchronous data can account for no more than 85% of the available channel, and one device cannot occupy more than 65%.

What does it all look like?

IEEE 1394 allows data transfer at a speed of 98.304 Mbit/sec. In addition, transmission in 2x (196.608 Mbit/sec) and 4x (393.216 Mbit/sec) modes is possible.

Initially, chips appeared that were capable of operating only at 100 Mbits (although the specification allowed more), but 200 and 400 Mbit chips were not long in coming. Despite this apparent chaos, users should not experience the slightest inconvenience (this was one of the mandatory conditions, which was put before the developers). Therefore, IEEE 1394 allows the use of a variety of devices simultaneously on the same network. Moreover, the user does not have to worry about connecting them incorrectly. You can connect anything, and in any combination, the hardware will figure out who can “talk” to whom and at what speed.

To work on such high speeds appropriate cables were required. The cable for IEEE 1394 is a very complex system, and soldering it yourself (which is possible for USB) is hardly possible. Data is transmitted over two twisted pairs, each of which is separately shielded. For greater reliability, the entire cable is additionally shielded. In addition to two signal pairs, the cable has two power cores that can supply any external device with a current of up to 1.5 A and a voltage of up to 40 V. In cross-section, the cable looks like this:


The closest attention was paid to the choice of the connector to which IEEE 1394 devices should be connected, because how convenient it will be to use the new interface largely depends on the connector. The connector should be small, but at the same time durable, should provide a reliable connection, but at the same time be easy to connect and disconnect, even blindly. All requirements were met by the connector used in the Nintendo GameBoy.

As can be seen from the photo, all contacts are placed in the middle of the connector, and on the outside they are protected by a thick rim made of hard plastic. The reliability of this scheme has been proven by many GameBoys that have been mercilessly torn apart by children of different ages.

But even such an advanced and convenient connector did not satisfy everyone. In fact, why do we need to pull two power wires behind us where the connected device has its own power supply. There really is no need, the developers decided and a new, four-pin connector was born. Although this new connector did not provide such a reliable connection as the traditional six-pin one, it did save space, which is important in portable devices. In addition, a cable without two additional cores responsible for power supply can be made even thinner and cheaper. Manufacturers of compact DV cameras especially liked four-pin connectors, and they can be seen on most of these cameras.

Motherboard manufacturers include in their latest solutions support for both connectors:

How it all developed, and what we have today

Nothing is perfect in the world, and IEEE 1394 was not perfect. Therefore, having released the first version of the standard in 1995, the development team did not rest on its laurels, but continued to work on subsequent versions of the standard. So, already in 2000, version 1394a of the standard was released.

Story

At the Comdex'93 exhibition, an unprecedented achievement at that time was demonstrated for the first time: the computer showed a video clip from the hard drive in one window, and in the other - a full-scale video recording in real time, which was read from a digital video camera. At the same time, the computer processor did not waste computing resources on displaying video in real time, since the already formatted image was sent to the video memory via the 1394 bus.

The inventor of the new high-speed serial interface is Apple. Back in 1986, she proposed using similar method when building a system bus, as well as an external and internal interface for connecting individual components and high-speed peripherals for Macintosh computers. FireWire (as Apple gave it its name) was initially developed as a high-speed serial version of SCSI. Taking the relatively slow bus as a basis, Apple engineers first increased the data transfer rate to 50 Mbps, and then doubled it.

The main requirements when developing this interface were the following: bidirectional transmission speeds of up to 400 Mbit/s (devices operating at speeds of up to 800 Mbit/s are currently being prepared for release), as well as the possibility of “hot” connection, that is, connecting external devices without reboot the system. The total number of connected devices in one bridge can reach 63.

Apple's decision to open up the standard led to collaboration with interested developers from Texas Instruments, Stewart Connector, Molex, Adaptec, and Western Digital(they were later joined by IBM, whose representative headed the work on the entire project).

In the FireWire cable standard, there are two cable options with a common shield: 6-wire with transfer speeds up to 400 Mbps and 4-wire (without power wires) with transfer speeds up to 100 Mbps. They end in small compact connectors.

The technical description of this bus in the form of the IEEE-1394 standard (IEEE, Institute of Electrical and Electronics Engineers) was published in 1990. And by the time the final version of the standard for the IEEE-1394 bus was published, the maximum data transfer speed on the bus reached 400 Mbit/s.

The new product became widespread mainly after the conclusion of a licensing agreement between Apple and Adaptec at the end of April 1995, as a result of which soon appeared Adaptec controllers IEEE-1394, and a little later - digital DV cameras from Sony with a connection option via the FireWire interface (i.Link). Thus, this interface began to be widely used in the field of digital video, although its main purpose and area of ​​​​development and improvement were and remain computer technologies.

Why do we need a new interface?

First of all, look at the back of your computer. There you can find a lot of different connectors: a serial port for a modem, a printer port for a printer, connectors for a keyboard, mouse and monitor, a SCSI interface designed for connecting external media information and scanners, connectors for connecting audio and MIDI devices, as well as for devices for capturing and working with video images. This abundance confuses users and creates a mess of connecting cables. Moreover, laptop manufacturers often use other types of connectors.

The new interface aims to free users from this confusion and also has a completely digital interface. In this way, data from CDs and digital tape recorders can be transmitted without distortion, because nowadays this data is first converted into analog signal, and then digitized back by the signal receiving device. Cable television, radio broadcasting and video CDs also transmit data in digital format.

Digital devices generate large amounts of data necessary to transmit high-quality multimedia information. For example:

High quality video Digital data = (30 frames/second) (640 x 480 pels) (24-bit color/pel) = 221 Mbps

Average quality video Digital data = (15 frames / second) (320 x 240 pels) (16-bit color / pel) = 18 Mbps

High quality audio Digital data = (44,100 audio samples / sec) (16-bit audio samples) (2 audio channels for stereo) = 1.4 Mbps

Average quality audio Digital data = (11,050 audio samples / sec) (8-bit audio samples) (1 audio channel for monaural) = 0.1 Mbps

The designation Mbps is megabits per second.

To solve all these problems and provide high-speed data transfer, the IEEE 1394 (Firewire) bus was developed.

Advantages

Hot pluggability - the ability to reconfigure the bus without turning off the computer

Various data transfer rates - 100, 200 and 400 Mbps in the IEEE 1394/1394a standard, additionally 800 and 1600 Mbps in the IEEE 1394b standard and 3200 Mbps in the S3200 specification.

Flexible topology - equality of devices, allowing various configurations (the ability to “communicate” devices without a computer)

High speed - the ability to process multimedia signals in real time

Isochronous traffic support

Support for atomic operations - comparison/swap, atomic increment (operations of the LOCK family - compare/swap, fetch/add, etc.).

Open architecture - no need to use special software

Availability of power directly on the bus (low-power devices can do without their own power supplies). Up to one and a half amperes and voltage from 8 to 40 volts.

Connect up to 63 devices.

The IEEE 1394 bus can be used for:

Creation of a computer network.

Connecting audio and video multimedia devices.

Connections for printers and scanners.

Connections hard drives, RAID arrays.

Basic information

The six FireWire pins are connected to two wires going to the power supply and two twisted pairs of signal wires. Each twisted pair and the entire cable are shielded.

Power wires are rated for up to 1.5 A of current at voltages from 8 to 40 V, keeping the entire bus running even when some devices are turned off. They also make power cables unnecessary in many devices. Not long ago, Sony engineers developed an even thinner four-wire cable that does not have power cables. (They intend to add their design to the standard.) This so-called AV connector will link small devices, like “leaves” with “branches” 1394.

The connector socket has small sizes. Its width is 1/10 the width of the SCSI connector socket, it has only six pins (SCSI has 25 or 50 connectors).

Additionally, the 1394 cable is thin—about three times thinner than a SCSI cable. The secret here is simple - after all, this is a serial bus. All data is sent serially rather than in parallel. different wires like the SCSI bus does.

The device can have up to 4 ports (connectors). There can be up to 64 devices in one topology. Maximum length paths in the topology - 16. The topology is tree-like, closed loops are not allowed.

When a device is connected or disconnected, the bus is reset, after which the devices independently select the main thing from themselves, trying to shift this “dominance” to their neighbor. After identifying the main device, the logical direction of each cable segment becomes clear - to the main one or from the main one. After this, numbers can be distributed to devices. After the numbers are distributed, calls to the devices can be executed.

During the distribution of numbers, packet traffic flows on the bus, each of which contains the number of ports on the device, as well as the orientation of each port - not connected/to the main one/from the main one, as well as maximum speed each connection (2 ports and a piece of cable). The 1394 controller receives these packets, after which the driver stack builds a map of the topology (connections between devices) and speeds (worst case speed along the path from the controller to the device).

Bus operations are divided into asynchronous and isochronous.

Asynchronous operations are writing/reading a 32-bit word, a block of words, as well as atomic operations. Asynchronous operations use 24-bit addresses within each device and 16-bit device numbers (bus bridging support). Some addresses are reserved for the most important control registers of devices. Asynchronous operations support two-phase execution - a request, an intermediate response, then a final response later.

Isochronous operations are the transmission of data packets in a rhythm strictly timed to the 8 KHz rhythm, set by the bus master by initiating “write to the current time register” transactions. Instead of addresses, isochronous traffic uses channel numbers from 0 to 31. There are no acknowledgments; isochronous operations are one-way broadcasts.

Isochronous operations require the allocation of isochronous resources - channel number and bandwidth. This is done by an atomic asynchronous transaction to certain standard addresses of one of the bus devices, selected as the “isochronous resource manager”.

In addition to the cable implementation of the bus, the standard also describes the on-board implementation (implementations are unknown).

Topology

The 1394 standard defines the general structure of the bus, as well as the data transfer and media separation protocol. A tree-like bus structure always has a "root" device, from which branches branch out to logical "nodes" located in other physical devices.

The root device is responsible for certain management functions. So, if it's a PC, it can contain a bridge between the 1394 and PCI buses and do some additional functions for bus management. The root device is determined during initialization and, once selected, remains so for the entire time it is connected to the bus.

A 1394 network can contain up to 63 nodes, each with its own 6-bit physical identification number. Several networks can be connected to each other by bridges. The maximum number of connected buses in the system is 1023. In this case, each bus is identified by a separate 10-bit number. Thus, a 16-bit address allows up to 64449 nodes in the system. Since device addresses are 64 bits wide, and 16 of them are used to specify nodes and networks, this leaves 48 bits for the address space, the maximum size of which is 256 Terabytes (256x10244 bytes) for each node.

The design of the tire is surprisingly simple. Devices can connect to any available port (each device usually has 1 - 3 ports). The bus allows "hot" plugging - connection or disconnection while the power is on. There is also no need for any address switches since there are no email addresses. Every time a node is added or removed from the network, the bus topology is automatically reconfigured according to the bus protocol.

However, there are several limitations. There can be no more than 16 network segments between any two nodes, and connections between devices should not create loops. In addition, to maintain signal quality, the length of a standard cable connecting two nodes should not exceed 4.5 m.

Protocol

The interface allows for two types of data transfer: synchronous and asynchronous. With the asynchronous method, the recipient confirms receipt of data, and synchronous transmission guarantees delivery of data in the required amount, which is especially important for multimedia applications.

The IEEE 1394 protocol implements the lower three layers of the OSI reference model: physical, link, and network. In addition, there is a "bus manager" to which all three levels are available. The physical layer provides electrical and mechanical connections to the connector, while other layers provide connections to the application program.

At the physical layer, data is transmitted and received, and arbitration functions are performed so that all devices connected to the Firewire bus have equal access rights.

At the data link level, reliable data transmission through a physical channel is ensured, and two types of packet delivery are serviced - synchronous and asynchronous.

At the network level, an asynchronous protocol for writing, reading and blocking commands is supported, ensuring the transfer of data from the sender to the recipient and the reading of received data. Locking combines the functions of the write/read commands and routes data between the sender and recipient in both directions.

The "Bus Manager" provides general management its configuration, performing the following actions: optimization of arbitration synchronization, management of electrical energy consumption of devices connected to the bus, assignment of a master device in the loop, assignment of a synchronous channel identifier, and error notification.

To transfer data, the device first requests control over physical level. During asynchronous transmission, the packet, in addition to data, contains the addresses of the sender and recipient. If the recipient accepts the packet, an acknowledgment is returned to the sender. To improve performance, a sender can make up to 64 transactions without waiting for processing. If a negative acknowledgment is returned, the packet is retransmitted.

In the case of synchronous transmission, the sender requests a synchronous channel that has a frequency band that meets its needs. The synchronous channel ID is sent along with the packet data. The receiver checks the channel ID and only accepts data that has a specific ID. The number of channels and bandwidth for each depends on the user's application. Up to 64 synchronous channels can be organized.

The bus is configured so that frame transmission begins during the synchronization interval. At the beginning of the frame there is a start indicator and then synchronous channels 1, 2 follow sequentially in time... The figure shows a frame with two synchronous channels and one asynchronous.

The remaining time in the frame is used for asynchronous transmission. By establishing a window in the frame for each synchronous channel, the bus guarantees the necessary bandwidth for transmission and successful delivery of data.







2024 gtavrl.ru.