Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesSeriously Serial


August 19 94 / State Of The Art / Seriously Serial

The venerable RS-232 standard may be showing its age, but Access.bus and FireWire demonstrate that there is a lot of life left in serial technology

Mark Clarkson

Those new gigabyte hard drives, flat-screen true-color monitors, quad-spin CD-ROM drives, and V.Fast modems are all very nice, and they add a lot of functionality to your computer system; however, the PC still has a long way to go in terms of letting you connect these devices quickly and easily to your computer. If you want proof, you need look no further than the rat's nest of cables that's coiled behind my computer--and probably behind yours, too. There must be a better way to hook all those fancy peripherals up to our computers.

Yes, Serial

It appears to many in the industry that most of the next generation of peripheral connections will be serial, transferring data 1 bit at a time rather than 8 or more bits in parallel. Why? Parallel communications require more wires to carry the signals. More wires means fatter, more expensive cables and wider, more expensive connectors with more pins to bend and break. Also, the more wires bundled together into a cable, the more electrical interference there is between signal wires, and the more thoroughly they have to be shielded. The more signals you deal with at the same time, the harder it is to keep them all in sync. And the faster and farther you try to push that signal, the worse the problems become.

Add to this the fact that the size of computers continues to shrink. Some fit into a shirt pocket; they have little room for connectors today and will have less tomorrow. Yet even as computers become smaller in size, their power increases, and more than ever, people need to be able to hook them up in the real world. What they want then are small connectors and darned few of them. Serial links, with intrinsically fewer wires, require smaller connectors.

Get on the Serial Bus

Ideally, people want to hook together lots of peripherals--and many different kinds of peripherals--with as little muss and fuss as possible. The way to do that, says Apple research scientist David James, is by using a bus: ``People already know how to transfer data on buses, to and from a large number of devices. There's really no problem mapping a keyboard, a network, a disk, a storage device, or other things to a bus because everybody's been doing that for years.''

``But until the last few years,'' James continues, ``people had always thought that buses had to be constrained to a backplane--inside a chassis.'' A serial connection, however, extends the idea of a bus outside of the computer, to the desktop and beyond.

Computers and peripherals simply read from and write to addresses on the serial bus. Those addresses represent other peripherals. These reads and writes can be interleaved, allowing multiple dev ices to communicate across the bus at the same time, so you can string a whole slew of peripherals off of a single port on a PC. James also points out that these transfers aren't restricted to those between the host computer and a peripheral: ``They can go from one disk to another or from disk to printer, autonomously. The computer would tell the disk to start dumping data to some device, and then the disk would continue on its own, while your processor does something else.''

Sound good? A number of people think so. Two new serial-bus standards, Access.bus and P1394 (or FireWire), are hot candidates to become the primary peripheral ports on your desktop computer.

Access.bus

Access.bus is a new standard intended to connect relatively low-speed devices such as keyboards, mice, modems, and printers. Originally conceived by DEC and Philips/Signetics and similar to the Apple Macintosh desktop bus, Access.bus is now being developed under the auspices of the ABIG (Access.bus Industry Group).

Access.bus runs on a thin four-wire cable that resembles the one that currently connects the keyboard or mouse to your computer. Each end sports a single small connector that's a little bigger than an RJ-11 modular phone jack. Most Access.bus devices offer two sockets--in and out--to let devices be daisy chained together, similar to the way SCSI devices are interconnected.

Access.bus has a significant advantage over standard RS-232 serial connections. Today, for each and every serial peripheral, you need a separate port, interrupt, system address, and perhaps more. In theory, Access.bus will let you run up to 125 peripherals--over a total cable distance of 8 meters--from a single jack in the back of your computer. ``The beauty of Access.bus,'' says David Rogers, manager of new business development for Computer Access Technology (Santa Clara, CA), ``is that I'm using only one hex address, whether I've got one device on that port or 125.''

Hot Plugs, Cold Boots

Every Access.bus peripheral, from laser printer to lowly mouse, is intelligent. Each contains a microcontroller that can identify the device to the bus and pass data along to the next peripheral in the chain.

According to Rogers, Access.bus intelligence will improve your system's performance. ``The messages passing over the Access.bus are off-loaded from your computer and CPU. The Access.bus host and the peripherals in the line are handling the passage of the messages, the bus arbitration, and so on. The system will actually run faster, because you don't have so many interrupts to the CPU.'' Where an RS-232 serial port interrupts the processor with every bit of information received, data moves along the Access.bus in the form of messages that are up to 127 bytes long, and each message generates only a single interrupt. This translates into far better system performance.

But there's more. Access.bus also supports hot plugging. This means that you can disconnect peripherals and plug them in without having to power the computer do wn or reconfigure the system. There are no jumpers to set, no DIP switches to throw, and no IRQs (interrupt requests) to reconfigure. Everything is automatic.

When the system is first powered up, the Access.bus master inside your computer sends a message to every device on the bus. Each device responds with its ID number and a string that identifies what type of device it is--for example, a locator, keyboard, or text device--and gives any special capabilities and characteristics.

The bus master assigns each peripheral an address on the serial bus and maintains a table of attached devices and their addresses. The individual peripherals watch the bus for reads or writes to their particular addresses and move data onto and off the bus accordingly.

And whenever you pull a peripheral off the bus or plug in a new one, the Access.bus master notices this and dynamically reconfigures the bus, requiring no user input at all. ``For example,'' says Rogers, ``we have a demo blackjack game for Windows, which uses Access.bus drivers for multiple mouse input. I can hang six mice on my PC. Each has its own address, and each can only manipulate the chips and cards associated with it,'' he continues. ``As I add or subtract players from the game, by adding and subtracting mice, the Access.bus automatically reconfigures the system accordingly.''

Open Access

Access.bus is an open standard that promoters hope will find a place on a variety of platforms, including PCs, Macs, and workstations. And the industry needs a new standard, especially in the fast-expanding arena of notebooks, subnotebooks, and PDAs (personal digital assistants)--smaller products with smaller connection space, where port real estate is at a real premium. Currently, users of such small computers who want to connect multiple peripherals must often suffer with proprietary interfaces and ungainly docking stations.

According to Rogers, ``If a notebook manufacturer can add a small phone-jack-type port without having to add a proprie tary connector, then it has opened up its product line to additional third-party solutions.''

Another limitation involves the number of access ports available. ``Even on the desktop,'' Rogers notes, ``where port economy is not as important, I'm still limited to four comm ports. If I want to go to a multiple RS-232 connection, I'm paying a premium, and I still have to worry about lower-level interrupts and DMA calls and older software that's unable to find the additional ports.''

A new specification for Super VGA monitors, called DDC2, calls for Access.bus to be incorporated into the monitor-to-PC connection. This will let you manipulate the front-panel controls--video mode, tint, brightness, and color--through software. In addition, manufacturers will be able to put Access.bus receptacles on the monitor, allowing you to plug your keyboard or mouse into your monitor, which will be more convenient than the standard back-of-the-computer location.

How far away is Access.bus? Very close indeed , says Rogers. ``Today, I can buy a host adapter, keyboards, trackballs, joysticks, mice, modems, and RS-232-to-Access.bus converters for older 232-based products. And I can operate under Windows 3.1, Windows NT, Solaris 2.3, and DOS. And if Chicago was shipping today, I could run under Chicago, too, because those drivers already exist.''

How Fast Is Relatively Slow?

For all its advantages, Access.bus won't serve for every type of peripheral because it doesn't have enough bandwidth. Access.bus runs at speeds of up to 125 Kbps, which is not fast enough for multimedia applications involving high-quality audio and video or for hooking up hard drives. It is fast enough to run any device (e.g., mice, trackballs, joysticks, printers, keyboards, and so on) that you might have attached to a serial port.

``With Access.bus today,'' says Rogers, ``I could have a 19.2-Kbps modem transmission in progress, be using my keyboard or my mouse, and have a bar-code scanner operating--all at the same time, on the same bus.''

FireWire

If Access.bus isn't fast enough for you, then maybe it's time to step on up to FireWire. This new high-speed desktop serial bus, based on the ANSI draft standard P1394, is being developed jointly by Apple and Texas Instruments.

FireWire also uses a flexible cable plus a nice, small connector inspired by the one used in the Nintendo Gameboy. You can reach behind your machine, without looking, and plug it in.

FireWire offers many of the same advantages as Access.bus. You can daisy chain peripherals on a FireWire bus, hanging up to 63 devices off a single port. Up to 1022 FireWire buses can be bridged together, which should provide enough peripherals for anybody. As with Access.bus, FireWire provides hot plugging and automatic configuration. There's no need to set DIP switches or pull jumpers; you just plug in your cables and, as long as everything's connected correctly, everything works. (See the figure ``P1394 Serial-Bus Physical Topology'' on page 122.)

But FireWire takes this concept to a whole new level. The goal is for each and every FireWire-compatible device on the planet to have its own unique 64-bit ID number. If you plug in a mouse (e.g., a Logitech three-button mouse), FireWire can identify it. It not only knows it's a Logitech three-button mouse but also exactly which Logitech three-button mouse it is. If two identical mice are connected to the system, FireWire can tell which is which.

For example, says Apple's James, ``Say you had a disk drive with the unique identifier ABCD at location one. Then you move that disk, and the system finds that ABCD is now at location five. That's all right, because it just adjusts the operating-system tables accordingly. The unique identifier makes it very easy to find out where a peripheral has moved to.''

How Far, How Fast?

Even if you use Access.bus, says James, ``you still need another, faster bus for your disk. Well, why shouldn't you just use that faster bus for everything? The clear win is not i n adding another connector to the computer but in eliminating one.''

Although it's significantly faster than Access.bus, FireWire is still strictly limited in the bandwidth it can deliver and the distance it can push a signal. It was, after all, designed for the desktop, and reasonable compromises had to be made to meet FireWire's low-cost objectives. According to James, ``You certainly wouldn't want to run FireWire [over a cable length of] 50 meters.''

FireWire is no slouch. It operates at speeds ranging from 100 Mbps to 400 Mbps, which--protocols and overhead aside--should translate into 5 to 20 MBps of data actually humping across the wire from point A to point B.

To drive data reliably at such high speeds, FireWire uses a technique called differential signaling. The cable contains two data lines (I'll call them A and B), and it uses both together to signal 1 bit of data. For a logical 1, A is high and B is low; for a logical 0, A is low and B is high. A FireWire cable also distributes power of from 8 to 40 VDC, at up to 1.5 amps.

FireWire's speed is not only fast enough for normal serial communications between mice, modems, and such; it's also fast enough to support real-time video and high-fidelity audio. FireWire supporters want to see it break out from the desktop and into the consumer electronics arena. They predict that FireWire ports will appear on camcorders, VCRs, and CD players. And if you can hook up camcorders and VCRs, why not just hook your camcorder to your VCR through your computer? Just think how easy that would make it to get video into your FireWire-equipped, multimedia computer.

``The marketplace clearly wants a connection to carry high-performance video and audio,'' says Bryan Bell, manager of computers and computer peripherals at Texas Instruments. It wants a connection that provides ``much higher bandwidth than has been required in the past and that connects to both PCs and to consumer products. For the first time, we have a cable that is being designed into both the computer and the consumer worlds. It's really revolutionary.''

Will They Fly?

Which of these serial standards is likely to catch on: Access.bus or FireWire? Maybe both? Or something like serial SCSI-3? Access.bus is basically a replacement for aging RS-232 technology, while FireWire has its sights set on new multimedia applications and consumer electronics. In addition, higher bandwidth comes at a price. Where Access.bus compliance might add 10 or 25 cents to the cost of a peripheral, FireWire will likely add about $1 to $10.

Some pundits doubt Access.bus's usefulness as a printer connection. The communications needs of printers far exceed those of simple keyboards, mice, and modems. At 125 Kbps, Access.bus runs at only one-quarter the speed of today's Centronics-style parallel ports. PostScript documents that run 250 KB per page are not uncommon, even today, and that's just text with fancy fonts. Increasingly, printed documents are incorporating complex, computer-generated cha rts, drawings, and bit maps. As video and multimedia emerge as mainstream applications, we'll be seeing captured video stills, which will inflate document sizes even more. Adding color to this mix makes the problems more acute.

At present, neither of these two standards has any installed base to speak of. ``It's a Catch-22,'' says Apple's James. ``It's hard to justify putting connectors on a motherboard before peripherals exist that connect to it.'' Still, the advantages of size, speed, and standardization are too great to be ignored. A trickle of serial-bus products is already appearing and should turn into a torrent by the middle of next year.

``The idea of the serial bus,'' says James, ``has allowed the bus to creep out of the box and onto the desktop. The interesting question then is how far will it creep? Will it just be to the desktop or will it eventually cover the whole building?''


Figure: P1394 Serial-Bus Physical Topology More than one computer can be connected to the P1394 (or FireWire) bus. Each device on the bus has a port with terminators, transceivers, and logic. The cable and ports act as bus repeaters between the nodes to simulate a single logical bus.
Mark Clarkson is a freelance science writer living in Wichita, Kansas. He can be reached on the Internet or BIX at mclarkson@bix.com .

Up to the State Of The Art section contentsGo to previous article: A Glossary of SCSI-Related TermsGo to next article: Pumping Up the Parallel PortSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network