A Made IT project


http://www.made-it.com
info@made-it.com

ARCnet

Introduction
To start off, ARCnet is not a standardized network. All information provided here is gathered through the years by different people and by just making mistakes, so if you have other experiences don't be surprised, but share them with us. This way we can all learn from it.

ARCnet (Attached Resource Computer NETwork) was originally developed by Datapoint Corporation in 1968, way before OSI and the like. The original purpose was a harddisk interface, later it became popular as a local area network.

According to the Datapoints ARCNET Designer's Handbook 61610 © 1988, ARCnet is: a high-performance, bus-structured, token-passing, base-band network linking two or more computers through high-speed connections. The network can support up to 255 nodes, transmitting data at a rate of 2.5 Mbps up to 4 miles in distance (when active hubs are used between nodes).

ARCnet uses a Token Passing bus structure much like IEEE802.4. It's most common speed is still 2.5 Mbps, but we know of versions runnig 20 Mbps (ARCnet plus by SMC, NCR and Datapoint) and the rumour is there is even a 100 Mbps (by Thomas Conrad) version. So it seems like it is still in progress. The reason for this is probably its easyness (ARCnet is very tolerable) in cabling and the predictable delivery of packets through the use of a token architecture.

The ARCnet devices
ARCnet knows 5 different types of devices:

Active hub
They split and amplify the signal. The are a bit like the hubs in Ethernet. Unused ports on an Active Hub do not need termination, although it is advised to terminate them. The active hubs provide electrical isolation at each port. They feature problem detection and segment partitioning, so only the segment on that port will be affected by problems of one of the attached devices to that segment.
Active Link
Which actually is a repeater. It has two ports and acts as a two port active hub.
Passive hub
They just split the signal, which means if it is a four port hub, every port gets 1/3 of the signal (one port was incoming). Unused ports on an Passive Hub do need termination. A Passive Hub is a small box with 4 BNC connectors and an internal resistor network.
Bus NIC (RIM)
A network card with a high-impedance driver (SMC 9068), only suitable for bus-segments.
Star NIC (RIM)
A network card with a low-impedance driver (SMC 9058), only suitable for a star-segments.

The ARCnet cabling
There are three types of cabling that are mainly used with ARCnet, although every cable type can be used. The first is RG62 coax (93 ohm), the second is CAT3 or better UTP (only one pair used), and the last one is fiber. The coax version uses BNC connectors, the UTP version uses RJ11 or RJ45 connectors. The fiber connector can be anything, just what the vendor likes.

The logical structure of ARCnet is always a bus. The token runs from station to station until it reaches the last one. A coaxial cable should therefore always be terminated with a 93 ohm terminator. But physically ARCnet can be a bus or a star topology or even a mixture.

ARCnet network

Distances
All distances are rough estametes. The actual calculation should be done like this: an active device (host or hub) provides 24 Volt output, and needs atleast 5 Volt on the receiving pins. So the network may consume a maximum of 19 Volts. Dependent on the used components, a certain cable run can be used. The only other limiting factor is the propagation delay of 31 µs or less between two nodes. It is however possible to work with 'extended timing' that allows for much larger distances.

Coaxial star
A host can be a server or a PC.

Coax star
mtr/feetActive HUBPassive HUBHost
Active HUB600/200030/100600/2000
Passive HUB30/100 30/100

One document described the maximum length attainable for a passive hub that the sum of the two longest cable runs should not exceed 100 mtr or 330 ft. Using the above table that is never possible. But we don't know which one is right. For solutions e-mail is!

Coaxial bus
The coaxial bus topology uses BNC T-connectors. Bus length is maximum 300 mtr or 1000 ft. A bus segment supports a maximum of 8 stations or repeaters (could also be active hubs). The unused end of the coaxial bus needs a 93 ohm BNC terminator.

UTP bus
UTP uses a daisy-chained star topology, with a maximum segment length of 120 mtr or 400 ft. A segment can support up to 10 hosts (PC, server or repeater). Every UTP-card has two connectors and are sometimes auto-terminating and sometimes not. If they are not a 120 ohm terminator should be used to terminate the bus. The minimum cable length between two hosts is 2.1 mtr or 6 ft.

Fiber
The only fiber products we have seen where from SMC. the maximum point-to-point link lengths for these products where:

Maximum overall distance was 6.4 km or 4 miles due to the timing restraints. With 'extended timing' it could be more.

The electronics
ARCnet used a sinusoidal dipulse of 24 Vtt to transmit data over the network. Is during a symbol interval a dipulse present then that counts as a '1' is the pulse not present then a '0' is received. With this ARCnet builds a number of signal elements:

ElementFunctionSignal (amount of symbols)
SDStarting Delimiter111111 (6)
ISUInformation Symbol Unit110xxxxxxxx (11)
Those xes are filled with a value to represent some information:
  • SOH hex: 01 / bin: 00000001
  • EOT hex: 04 / bin: 00000100
  • NAK hex: 15 / bin: 00010101
  • ENQ hex: 85 / bin: 10000101
  • ACK hex: 86 / bin: 10000110
  • NID is the next ID in the token loop
  • DID is the ID of the selected destination node
  • CP is the continuation pointer value ( 2isu is extended mode)
  • SC is the system code for the high level protocol
EDEnding Delimiter000000000 (9)
RSUReconfiguration Symbol Unit111111110 (9)
With these elements frames are formed. ARCnet knows five frames:
ITT
Invitation To Transmit (token)
<sd><eot><nid><nid><ed>
FBE
Free Buffer Enquiry
<sd><enq><did><did><ed>
ACK
Acknowledge
<sd><ack><ed>
NACK
Negative Acknowledge
<sd><nak><ed>
PAC
Packet
<sd><soh><sid><did><did><cp><sc><...data...><fcs><ed>
The data part in the packet frame consists of <isu>s where the eight xes are replaced the the data that needs to be transmitted. The <fcs> is two <isu>s which contain the CRC.

ARCnet Token passing and network (re)configuration
Configuration and reconfiguration of the network happens completely automatic. You only have to asign an address to the NIC (RIM) and the protocol will make sure it gets into the network.

When a station is powered on or it hasn't received an ITT for 840 ms it sends out a RECON burst, which is a 765 times repeated RSU. During this burst no data will be received correctly. The station holding the token sees network activity and asumes trouble so it drops the token. After the burst no token is present so a new token needs to be generated through sending out an ITT.

ARCnet Protocol
The ARCnet protocol needs a positive acknowledgement on every data transmission. The actual transmission is pretty simple. As soon as a station receives the token and has some data it wants to transmit it sends out an FBE to the destination station (did). As soon as it gets back an ACK it starts sending a packet (PAC). It waits for a maximum of 74 µs to receive an ACK. When the ACK is received the token is released and send to the next station (nid).

ARCnet Framing
ARCnet knows three types of framing: short frames, long frames and the exception frame.

Short Frame
The short frame is always 256 octets long and can hold 0 to 249 octets of client data. The frame looks like this:

1 octet1 octet1 octet3 octets1 octet1 octet2 octets256 -offset -4 octets
Source addressDestination addressOffsetUnused (offset)protocol IDsplit flagsequence numberClient data

Long Frame
The long frames are always 512 octets and can hold 253 to 504 octets of user data. They look like this:

1 octet1 octet1 octet1 octet4 octets1 octet1 octet2 octets512 -offset -4 octets
Source addressDestination address0offsetUnused (offset)protocol IDsplit flagsequence numberClient data

Exception Frame
Can hold 250 to 252 octets of client data and looks like this:

1 octet1 octet1 octet1 octet4 octets1 octet1 octet1 octet1 octet1 octet1 octet2 octets512 -offset -8 octets
Source addressDestination address0offsetUnused (offset)protocol IDFlag: FF hexPadding: 0xFFPadding: 0xFF(protocol ID)split flagsequence numberClient data

With thanks to:
Hans de Waard
Avery Pennarun
D. Provan
Datapoints ARCNET Designer's Handbook 61610 © 1988
Resources: