Well Connected Mac
Volume Number: 15
Issue Number: 10
Column Tag: Hardware
The Well-Connected Mac
by Rich Morin and Doug McNutt
Protocols, Plugs, Wires, and Waves
Background
Early Macintosh computers had very limited capabilities for communication. Over
time, however, a number of interfaces have been added to the Mac's repertoire.
Current Macs can communicate via ADB, AirPort, Audio, Ethernet (both 10 and
100Base-T), FireWire, IrDA, LocalTalk, PC Card, PCI, SCSI, USB, and Video
interfaces, to name just the most common.
Obviously, the characteristics of these interfaces vary wildly. Most, but not all, are
digital. Most are carried by "serial" cables, but some use parallel wiring, plug
directly into the motherboard as cards, or communicate via wireless means such as
infrared or radio waves. It is not surprising, therefore, that many Macintosh users
(and even developers!) find themselves a bit confused at times.
This article addresses this confusion by giving brief (and somewhat subjective)
descriptions of each interface, along with references for further inquiry. It won't
explain how to program the Mac for any of these interfaces, let alone how to design
your own interface hardware, but it should let you know a bit about the strengths (and
weaknesses) of each interface.
Before getting into the descriptions themselves, however, we need to cover some basic
terms that will show up later in the article. Feel free to skip over this material, but
be sure to come back to it if you start to get confused. The interfaces have no
compelling "family tree", and we will present them in roughly historical order.
The first distinction of interest is that of "analog" vs. "digital". All electronic
interfaces are analog, in the sense that they use measurable voltages, currents, and
other analog phenomena to communicate. Digital interfaces are distinguished, however,
by the fact that their signals are interpreted solely as (sets of) bits. Thus, most audio
and video interfaces are analog, but disk drives and such are always connected via
digital interfaces.
The next distinction has to do with topology. Busses connect two or more devices
together; ADB, SCSI, and PCI are all busses by this definition. "Point to point
interfaces, in contrast, tie pairs of devices together; most audio and video interfaces
are used in this manner. Distinctions of this sort can become fuzzy, however, when
"hubs" are introduced. For instance, 10Base-T is an implementation of a bus
(Ethernet), but it is based on a "hub and spoke" topology.
Most interfaces use wires (in some form) to carry their signals. AirPort and IrDA,
however, use radio and infrared waves. Even in the wired domain, there are important
distinctions to be made. "Serial" interfaces (e.g., ADB, FireWire, and LocalTalk) send
all of the data bits down a single wire; "parallel" interfaces (e.g., PCI and SCSI) use
multiple wires, sending many bits at the same time.
Got all that? Great! Now, let's look at some interfaces...
Serial Ports
Macintosh serial ports get used for a variety of purposes: modems, printers, and
LocalTalk connections. Consequently, they are a bit different from the serial ports
found on PCs and other computers. Nonetheless, they interoperate quite well with most
standard serial devices, as long as the cabling is done properly.
Serial ports on the Macintosh have always conformed to Radio Standard 422
(RS-422), which is a balanced-pair version of RS-232. Apple went a bit further,
however, arranging its ports so that they could be connected to RS-232 devices using
only wiring changes. Thus, the voltage applied to Apple's RS-422 pairs ranges from
+5 to -5 volts. This is a bit high, but it is still within the RS-422 specification. It
also allows an RS-232 device to be connected between the negative transmitter line
(TxD-) and ground. The negative receiver line (RxD-) in the Apple port can be
connected to an RS-232 transmitter if the positive receiver line (RxD+) is grounded.
Also provided are two housekeeping channels, one in and one out. They are driven
(single-ended, in RS-232 fashion) from -5 to +5 volts. The RS-232 specification
calls for two such channels each way. Consequently, there is a continuing question
about whether to connect the wires to DTR or CTS, etc. The solution will forever
depend on the connected device (e.g., modem or printer) and its associated support
software. One more wire is available for external synchronization of the port, though
it is rarely used for that. It has been used for carrier detect with modems when a Mac
is used to support dial-in services.
The Mac128k provided power for external devices (at +5 and +12 volts) on its 9-pin
connector. That feature was dropped with the Mac+ and all further Macs in order to
use the mini-DIN 8 pin connector. Somewhere into the first PowerMacs, a special
mini-DIN 9 connector was made available and power was restored for peripheral
devices. The mini-DIN 9 socket will accept a mini-DIN 8 connector if power is not
required.
The Zilog 8530 serial communications controller was used on early Macs and the
technical manual for that chip remains the Apple standard. The 8530 has a feature
which provides for mixing the clock with the serial NRZ data stream to create what
Zilog calls FM0 modulation. The effect is to move the frequency band occupied by the
data away from zero frequency, which requires a direct connection, up to 128 kHz,
which can pass through transformers.
It is that modulation which makes AppleTalk connections possible between all Macs
made prior to the iFruit. All one had to do was to connect the receive and transmit
ports of a Mac to each other and, through a transformer, to the receive and transmit
ports of another Mac. In fact, you could connect up to 32 transformers between Macs,
using a two wire bus which needed only to be terminated at each end with 110 ohm
resistors.
It turns out that transformers are not always necessary for AppleTalk connections. If
the devices to be connected all share a common power source and are not subject to
large ground fluctuations you can connect two Macs using an Apple serial cable between
printer ports. It's also possible to make an AppleTalk bus without transformers.
Early Macs had to support video framing as a background task. Because the buffer for
the printer port was guaranteed to be updated during video retrace periods, that port
was chosen for use by AppleTalk software. In later machines, the modem port was also
opened up for use.
The serial-port version of AppleTalk, now known as LocalTalk, has now been largely
supplanted by the Ethernet-based version, EtherTalk. Running at something like fifty
times the speed, EtherTalk is definitely worth considering for any network that can
use it. By looking around a bit, you should be able to find economical hubs, adaptors,
etc. DataCom Warehouse, in particular, carries a wide range of Ethernet hardware.