|Column Tag:||The Electrical Mac
By Jeff Mitchell, President, Digital Solutions, MacTutor Contributing Editor
The Appletalk Physical Layer
This month I'm going to describe the physical (hardware) layer of the AppleTalk network protocol. I'll also respond to some mail and announce a new direction for this column, which I think everyone, including myself, will enjoy.
Appletalk Protocol Architecture
The AppleTalk protocol is based on a set of functional layers corresponding to the ISO (International Standards Organization) OSI (Open Systems Interconnection) reference model. Apple has provided a specific set of protocols for layers 1 through 5 (Physical, Data Link, Network, Transport, and Session) for the AppleTalk network. Being only an engineering type, I won't pretend to understand anything but layer 1, the physical layer, which is the electrical interface between devices.
The Appletalk Physical Layer
Each AppleTalk node has exactly one physical layer. It is here that the actual ones and zeros are passed between nodes after the data has been massaged into the correct format by the higher level layers. The electrical interface between nodes is an FM0 encoded serial bit stream operating at 230.4 Kbits/sec over a transformer-isolated, multi-drop, shielded twisted-pair cable. [Note: This is the spec value. Actual value may vary slightly. See note at the end of this article. -Ed.]
Data is encoded in SDLC (Serial Data Link Control) FM0 format. SDLC defines the very low level data protocol and formats the data in a manner which assures that it can be recovered at the receiving node. FM0 defines how ones and zeros are encoded.
Most low-speed serial communication encodes the ones and zeros in an NRZ (Non-Return to Zero) format. This is how the Macintosh normally talks to printers, modems, and the like. In NRZ encoding a high level represents a one and a low level represents a zero (Figure 1). With this encoding method clocking information is only available on bit-cell boundaries when a transition occurs. Because these transitions cannot be guaranteed when transmitting random data, a start bit is usually prefixed to the beginning and a stop bit is appended to the end of every data byte. The start and stop bit provide a known bit-transition to the receiving device, which it can use to synchronize its clock to the data.
In FM0 encoding, a transition occurs at the boundary of every bit-cell. If the bit is a zero, there is an additional transition in the middle of the cell (Figure 1). These transitions provide enough information for the clock to be recovered at the receiving device.
The hardware required to support SDLC and FM0 transmission, including the Phase-locked-loop used to recover the clock from the bit-cell boundary transitions, is all contained on the 8530 Serial Communications Controller (SCC) chip in the Macintosh. This makes switching between peripherals such as the printer and the AppleTalk network just a matter of reprogramming the control registers on the SCC (and much software, of course).
AppleTalk devices send and receive data over a single shielded, 22 AWG twisted-pair cable. Twisted-pair is adequate for the signalling rate and distances involved in AppleTalk and provides a very low-cost interconnect. Nodes are transformer coupled to the cable to provide DC isolation and reduce RFI and noise susceptibility. There can be a maximum of 32 devices per bus and a total maximum cable length of 300 meters. The cable must be terminated at each end with a 100 ohm resistor for proper operation.
Appletalk Connection Module
Each node connects to the AppleTalk cable via a connection module. This module contains a transformer, two 3-pin miniature DIN connectors each with a coupled switch, some passive components and a DE-9 connector which mates to the Macintosh 512K (Does anyone but me care that there is no such thing as a DB-9 connector?) or DIN-8 connector on a Mac Plus.
Figure 2 is a schematic representation of an AppleTalk connection module. J1 and J2 are the 3-pin miniature DIN connectors which are coupled to switches connected to R2. This resistor automatically provides the 100 ohm bus termination if there is only one cable plugged into the module. R1 is a drain for the cable shield and R5 and C1 form a high pass filter to reduce EMI and isolate the grounds of AppleTalk devices from each other. R3 and R4 increase the noise immunity of the receivers.
The connection module is a completely passive device. If a node should fail it will not affect the integrity of the network as long as it fails either high or low and is not broadcasting garbage. The node is driven directly from the outputs of the Macintosh RS-422 drivers and feeds directly through R3 and R4 to the RS-422 receivers. No additional active circuitry is required to connect a Macintosh to the AppleTalk network.
The coupling transformer is a 1:1 turns ratio transformer with the primary wound as two windings of 32 AWG wire in series with one wound below the secondary and one above it on a Siemans B65651-K000-R030 core (Figure 3).
The mail I've received generally asks one of two questions: 1) "How can I modify my Macintosh to do _____?" and 2) "How can I interface my Macintosh to _____?". My answer to the first question is it is my policy (not necessarily MacTutor's) that I will not encourage anyone to modify their Mac.
My answer to the second question hopefully will make up for the first, for all you hardware hackers out there. In keeping with the Macintosh concept of the serial ports and the AppleTalk network creating a "Virtual Bus" I will soon have an article on constructing a "Virtual Card" which will plug into this bus. Once you have the "Virtual Card" it can be expanded to add whatever type of peripheral device you'd like.
Starting next month, this column will take a more hands-on approach to hardware. We'll start building things instead of just talking about them. If you have any projects you'd like to see done, send a letter to me care of MacTutor.
Letters From Our Readers
SCC Timing Off
Dave M. Gaylee-Lincer
Rainin Research Group
The SCC clock timing as described in the Oct 1985 MacTutor differs somewhat in practice. I have observed the following:
1. The measured frequency is 3.672 Mhz when measured with a frequency counter.
2. I examined the waveform over a number of cycles and found that the timing goes shorter and longer. When I examined the waveform in more detail, I found that in 64 clocks of the 15.6672 Mhz, that there were 15 SCC clocks. This reatio is not 4.25 to 1 as specified in the documentation, but works out to 4.266666666.
This changes several things that could be important to third party developers (like ourselves) in that the Appletalk baud rate is now: 3.672 Mhz / 16 = 229.5 Kbaud.
This is approximately .4% different from the electrical specifications given in the book Inside Appletalk by Apple Computer Inc. [Spec is 230.4 Kbaud.] This is OK if you are precisely at nominal, but it reduces the margin if you, perhaps, aren't perfect.
Power Supply Problems
Santa Barbara, CA
Recently I had my 128K Mac power supply blow out. A friend of mine's Mac also had it's power supply fail. I have also heard of several other people's power supplies failing. MacTutor has printed several letters of people with similar experiences. Now just what is the deal with the power supply? I have had an Apple II+ for over 4 years and have not had so much as a hick-up out of it. What is the deal with the Mac? For almost $100 that is kind of an expensive thing to happen. The store that I got it fixed at delayed getting mine fixed because the power supplies they had gotten in from Apple were D.O.A. You would think with all that talent they could give it a power supply that wouldn't fail so often!
[Perhaps we can cover the power supply circuit in a future column and point out some of it's short comings. -Ed]
Hardware Review Wanted
M. Joseph El-Sayed
You should, little suggestion here, put out a bi-annual (or something around that frequency) hardware product review. The review should be based on compiled user opinion and may be tests you guy's ran (if you have the time). By the way, some roses, your Journal is certainly THE Mac-mag to read. I have access to subscriptions of MacWorld (yech), MacUser (Better), and MacNibble (the other mag to look at). Anyways, keep up the definitly superior work.
[Hardware reviews are expensive, (you have to have the hardware!) but we'll see what we can do in that area. -Ed]
Serial Port Changes in Mac Plus?
I have a question for the hardware column. Recently I bought a Spinwriter 8810 printer from Nec along with their Macintosh kit (cable and software). The software was done by Assimilation Process under contract and is very similar to their printer utilities. It modifies the Imagewriter Driver file to work in draft mode with the Nec printer. The cable and software work perfectly on a 512K Mac using all versions of the Imagewriter file. However, when I try it on my Mac Plus, the printer buffer fills up and an overflow error stops printing. Only the gnd, handshake, recieve and transmit lines are being used from the printer. We have also discovered that several computer stores are selling Mac DB-9 cables to DIN-8 connectors that are wired backwards, so beware! Help?