1983_Western_Digital_Network_Products_Handbook 1983 Western Digital Network Products Handbook

User Manual: 1983_Western_Digital_Network_Products_Handbook

Open the PDF directly: View PDF PDF.
Page Count: 224

Download1983_Western_Digital_Network_Products_Handbook 1983 Western Digital Network Products Handbook
Open PDF In BrowserView PDF
'

.~

-

,

·.-'
.'

~ ."

1983
Network Products
Handbook

WESTERN DIGITAL
CORPORA

TIO

N

Western Digital
1983 Network Products
Handbook

ii

1983 Network Products Handbook
Western Digital is on the move, growing and expanding to meet
your needs. This handbook, our first dedicated to network
products, underscores our commitment to provide you with advanced, innovative solutions to your communication challenges.
From the early UARTS we pioneered over a decade ago, to the
products described herein, our mission has remained unchanged:
to extend the leading edge in communications technology.
The pin-compatible family of products described in this Handbook
represents the foundation for a growing selection of intelligent,
high level protocol products. These products enable you to quickly
and easily add popular protocols, such as X.25, to your systems.
And pin compatability simplifies system expansion and protocols,
such as local networking. Variations of these off-the-shelf protocol
solutions are also available for custom applications.
In 1983 we'll be expanding this family of devices, and announcing
additional LSI products and board level solutions, as well.
We encourage you to review the information in this handbook and,
when you begin your design, to call our Network Products Hotline
for design assistance at 714/966-7828.

iii

iv

Making The Leading Edge
Work For You.
This handbook is designed for you, the design engineer. It's intended to be a useful tool, to enable you to make a preliminary
evaluation of our products and, later, with samples in hand, to
design our products into your own systems.
The data in these pages have been reviewed by our Marketing,
Engineering, Manufacturing and Quality groups. Now we would like
you to review the information we've provided and tell us how we
can improve it. Please feel free to suggest any changes, additions,
or clarifications that occur to you. And don't hesitate to call to our
attention any sins of omission or commission we may have made.
We're eager to help upgrade the quality of information our industry
provides to its customers. So, please, help us. Direct your comments to:
Director of Corporation Communications
WESTERN DIGITAL CORPORATION
2445 McCabe Way
Irvine, CA 92714
(714) 557-3550

v

vi

Table of Contents
TECHNICAL INFORMATION
WD2501 X.25 Packet Network Interface (LAP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
WD2511 X.25 Packet Network Interface (LAPB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 31
WD2520 CCID #7 Data Link Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 67
WD2840 Local Network, Token Access Controller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 87
WD25001 PACKIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 115

RELATED PRODUCTS
TR1402lTR1602 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
TR1863/TR1865 ......................................................................
WD1983 ...........................................................................
WD8250 ...........................................................................
WD2123 ...........................................................................
BR1941 ............................................................................
WD1943IWD1945 ....................................................................
UC1671 ............................................................................
WD1931 ...........................................................................
WD1933IWD1935 ....................................................................
WD1993 ...........................................................................
WD2001IWD2002 ....................................................................
DM1883 ............................................................................

121
123
125
127
129
131
133
135
137
139
141
143
145

APPLICATIONS NOTES
WD2501IWD2511 Applications Note .................. " ..................................
LSI ready to make a mark on packet-switching networks .....................................
WD2511 LSI circuit simplifies packet-network connection ....................................
Local network access tradeoffs .......................................•.................
Token passing cashes in with controller chip ..............................................
Token-access controller minimizes network complexity ......................................

147
173
179
185
189
197

QUALITY I RELIABILITY
Quality/Reliability To Leading Edge Technology ............................................ 203
Burn-In Program Availability ............................................................ 209

PACKAGE OUTLINE
48 Lead Package Ceramic Side Braze .................................................... 211

TERMS & CONDITIONS .................................................................. 213

vii

viii

WESTERN DIGITAL
o

R

p

o

R

A

T

o

/

N

WD2501 X.25 Packet Network Interface (LAP)
FEATURES
• Packet switching controller, compatible with
CCITT recommendation X.25, level 2, LAP
(WD2501)
• Programmable primary timer (T1) and retransmission counter (N2)
• Programmable A-field which provides a wider
range of applications than defined by X.25. These
include: DTE-to-DTE connection, multipoint and
loop-back testing.
• Direct memory access (DMA) transfer: two
channels; one for transmit and one for receive.
Send/receive data accessed by indirect addressing
method. Sixteen output address lines.
• Zero bit insert and delete
• Automatic appending and testing of FCS field
• Computer bus interface structure: 8 bit bidirectional data bus. CS, WE, RE and four input
address lines
• DC to 1.1 MBPS data rate

• TTL compatible
• 48 pin dual in-line packages
• Higher bit rates available by special order
APPLICATIONS
X.25 PACKET SWITCHING CONTROLLER
PART OF DTE OR DCE
PRIVATE PACKET NETWORKS
LINK LEVEL CONTROLLER

GENERAL DESCRIPTION
The WD2501 is a MOS/LSI device which handles bitoriented, full-duplex serial data communications with
DMA, which conforms to CCITT X.25 with programmable enhancements.
The device is fabricated in N-Channel silicon gate
MOS technology and is TTL compatible on all inputs
and outputs.

8BIT DAL

NO CONNECTION

REPLY

cs

RE

WE

CLK

l'ft

ROM
CENTRAL
MICRO·
CONTROLLER

IAO·AI3

MR
DALO

DROO
ORal

i5ACK
AO·A15

iNffi

DAl1
DAL2

A3

DAL3

A2

DAL4

A15

RD

All

DATA/CONTROL BUS

+12V - - - . .
+ 5V ----+GND_
CLK_

MR_

RC
(GND) Vss

IT

PIN ASSIGNMENTS

RD

TO

WD2501 BLOCK DIAGRAM

INTERFACE SIGNALS DESCRIPTION (All signals are TTL compatible.)

PIN NUMBER

SYMBOL

1
2

PIN NAME

No Connection
Reply

3

WE

Write Enable

4

CS

Chip Select

5

RE

Read Enable

6

ClK

7

MR

8-15

DAlO-DAl7

16

RD
RC

Receive Data
Receive Clock

19

VSS
TC

Ground
Transmit Clock

20
21

TD
RTS

Transmit Data
Request-To-Send

22

CTS

Clear-To-Send

23

DROO

DMA Request Out

24

DROI

DMA Request In

25

DACK

DMA Acknowledge

26-41

AO-A15

Address Lines Out
(See front page for
Pin Assignments)

42

VDD

17

18

FUNCTION

leave pin open
An active low output to indicate the WD2501
has either a CS.RE or a CS.WE input.
The data on the DAl are written into the
selected register when CS and WE are low.
Active low chip select for CPU control of I/O
registers.
The contents of the selected register are placed
on DAl when CS and RE are low.
Clock input used for internal timing. Must be
square wave, and greater than 250 KHz.
Initialize on active low. All registers reset to
zero, except control bits MDISC and LINK are
set to 1. DACK must be stable high before MR
goes high.
An 8-bit bi-directional three-state bus for CPU
and DMA controlled transfers.
Receive serial data input.
This is a 1x clockJ!!put, and RD is sampled on
the rising edge of RC. RD changes occur on the
fall i ng edge of RC.

Clock
Master Reset

Data Access Lines

Ground.
A 1x clock input. TD changes on the falling
edgeofTC.
Transmitted serial data output.
An open collector (drain) output which goes low
when the WD2501 is ready to transmit either
flags or data.
An active low input which signals the WD2501
that transmission may begin. If high, the TD
output is forced high. May be hard-wired to
ground.
An active low output signal to initiate CPU bus
request so the WD2501 can output onto the
bus.
An active low output Signal to initiate CPU bus
request so that data may be input to the
WD2501. DRQO and DROI will not be low at the
same time.
An active low input from the CPU in response to
DRQI or DRQO. DACK must not be low if CS
and RE are low or if CS and WE are low.
Sixteen address outputs from the WD2501 for
DMA operation. If the control bit ADRV is 1, the
outputs are TTL drives at all times. If ADRV is 0,
the outputs are three-state, and are HI-Z
whenever DACR is high. (ADRV is in Control
Register #1.)
+ 12VDC power supply input.

Power Supply

2

INTERFACE SIGNALS DESCRIPTION CONTINUED
PIN NUMBER

SYMBOL

43

INTR

Interrupt Request

An active low interrupt service request output,
and returns high when Status Register #1 is
read.

44-47

IAO-IA3

Address Lines In
(See front page for
Pin Assignments)

Four address inputs to the WD2501 for CPU
controlled read/write operation with registers in
the WD2501. If ADRV = 0, these may be tied to
AO-A3. (ADRV is in Control Register#1.)

48

VCC

Power Supply

+ 5VDC power supply input.

PIN NAME

FUNCTION

ORGANIZATION
A detailed block diagram of the WD2501 is shown in
Figure 1.
Mode control and monitor of status by the user's
CPU is performed through the ReadlWrite Control
circuit, which reads from or writes into registers
addressed by IAO-IA3.

Parallel transmit data are entered into the Transmitter
Holding Register (THR), and then presented to the
Transmitter Register (TR) which converts the data to a
serial bit stream. The Cyclic Redundancy Check
(CRG) is computed in the 16-bit CRC register, and the
results become the transmitted Frame Check
Sequence (FCS).
Parallel receive data enter the Receiver Holding
Register (RHR) from the 24-bit serial Receiver
Register (RR). The 24-bit length of RR prevents
received FCS data from entering the RHR (unless
residual bits are received). The receiver CRC register
is used to test the validity of the received FCS. A 3stack FIFO is included in the receiver.

Transmit and receive data are accessed through the
DMA control. Serial data is generated and received by
the bit-oriented controllers.
Internal Control of the WD2501· is by means of three
internal microcontrollers; one for transmit, one for
receive, and one for overall control.

8 BIT OAL

MICRO
C

I/O
REGISTERS
16x 8

0

IAO·IA3

N
T
R

REPLY

0
L
L
E
R

OMA
A
0
0
R
E

S
S

OMA
CONTROL
LOGIC

E
S

OACK

AO·A15

+12V_
+5V_
TRANSMITTER
MICRO·CONTROLLER

MR CLK_
GNO-

RO

TO

Figure 1.

WD2501 BLOCK DIAGRAM - DETAILED

3

FRAME FORMAT
The WD2501 performs "bit-oriented" data communications control. According to the bit-oriented
procedures (HDLC, SDLC, ADCCP), each serial block
of data is called a frame.
Each frame starts and ends with a Flag (01111110). A
single flag may be used both as the closing flag of
one frame and the opening flag of the next frame. In
between flags, data transparency is provided by the
insertion of an 0 bit after all sequences of 5 contiguous 1 bits. The receiver will strip the inserted 0
bits. The last 16-bits before the closing flag is in the
Frame Check Sequence (FCS). Each frame also
includes address and control fields (A and C fields).
The FCS calculation includes all data between the
opening flag and the first bit of the FCS, except for
O's inserted for transparency. The 16-bit FCS has the
following characteristics:
Polynomial = X16 + X12 + X5 + 1
Transmitted Polarity -Inverted
Transmitted Order -High Order Bit First
Preset Value
-AliI's

I~

After the frame is received, if there were no errors,
then the remainder in the CRC register (internal in the
WD2501) will be:
1111000010111000 FOB8
The WD2501 generates and tests the Flag, FCS, AField, C-Field, and performs zero bit insertion and
deletion. According to the X.25 protocol, there are
three types of frames: supervisory (S-frame), unnumbered (U-frame), and information (I-frame).
The WD2501 performs frame level (level 2) link access
control. All S- and U-frames are automatically
generated and tested by the WD2501. The user need
only be concerned with the I-frames, which are
packets.
The WD2501 will transmit contiguous flags for interframe time fill.

~I

I-FRAME (PACKET)

IFLAG

~

ADDRESS CONTROL

X.25LEVEL2
APPENDED

I-FIELD (PACKET DATA)

PACKET
CONTROL
INFORMATION

X.25LEVEL3

·1

USER DATA

FLAG

FCS

~~6~~l~EN4X.25LEVEL2~

--~.-----

DMA ACCESSED

•

APPENDED

BY

BY

WD2501

WD2501

X.25 MODE

NOTE: X.25 Level 1, is the Physical Interface

4

MODEM
CONTROLS

CPU BUS

(DTR, DSR, ETC.)

00

~I

OJ

::j
0

»
r

~I

~I gl

~

~I ~I r"
()

<;:>

~

(..)

~
DRao

TC
TD

DRal
MEMORY

-

r-

WD2501

DACK

CTS
RTS

AO·A15
16

RC

LEVEL 1
INTERFACE

MODEM

RD

1 1

b

+ 12VDC + 5VDC GND

Figure 2.

SYSTEM CONNECTION
Control, status, and error bits will be referred to as
CR, SR, or ER, respectively, along with two digits. For
example, SR16 refers to status register #1 and bit 6,
which is "XBA."

II. PROGRAMMING THROUGH REGISTERS
The WD2501 is controlled and monitored by sixteen
I/O registers.
REGISTER DEFINITION
REG
#

IA3

1A2

IA1

lAO

0
0
0
0
0
0

0
0
0
0
1
1

0
0
1
1
0
0

0
1
0
1
0
1

CRO
CR1
*SRO
*SR1
*SR2
*ERO

7

0
0

1
1

1
1

0
1

*CHAIN MONITOR
*RECEIVED C-FIELD

8
9

1
1

0
0

0
0

0
1

T1
N2/T1

A
B
C
D

1
1
1
1

0
0
1
1

1
1
0
0

0
1
0
1

TLOOKHI
TLOOKLO
CHAIN/LIMIT
NOT USED

E
F

1
1

1
1

1
1

0
1

XMT COMMAND "E"
XMT RESPONSE "F"

0
1
2

3
4
5
6

REGISTER

REGISTER
GROUPING

OVERALL CONTROL
AND
MONITOR

RECEIVER
MONITOR
TIMER

*CPU READ ONLY. (Write Not Possible)
NOTE:
1. Registers Eand F should be set-up only with MDISC = 1.

5

DMASET-UP

"A" FIELD

CONTROL, STATUS, ERROR REGISTERS
BIT #
4

3

2

1

0

READY
BUT
IDLE

ACTIVEI
PASSIVE

LOOP
TEST

2RAMT

RECR

MDISC

0

0

ADRV

0

0

0

SEND

NA2

NA1

NAO

RNRR

NB2

NB1

NBO

RNRX

SR1

1PKR

1XBA

1ERROR

0

NE2

NE1

NEO

0

SR2

T10UT

IRTS

REC
IDLE

0

0

0

0

ERO

ER07

EROS

ER05

ER04

ER03

ER02

ER01

EROO

CR02

CR01

CROO

RAMT

RECR

MDISC

REGISTER

7

6

5

CRO

0

0

CR1

0

SRO

LINK

1 Causes Interrupt (INTR Goes Low).

2 RAMT is used to initiate a self-test feature (see section on Self-Test).
For normal operation, program to O.

REGISTER

CR07

CROS

CRO

o

o

CONTROL REGISTER 0
CR05
CR04
CR03
READY
BUT
IDLE

ACTIVEI
PASSIVE

BIT

LOOP
TEST

DESCRIPTION

CROO

MDISC is a mandatory disconnect command. MDISC will cause a logical disconnect in
the link. No DMA accessed data will be transferred as long as MDISC = 1. After Master
Reset (MR pin transition from low to high), MDISC will be set. The WD2501 will neither
transmit nor accept received data until MDISC = O.

CR01

This bit is RECR which defines the CPU's receiver buffer as initially Ready (CR01 = 1). If
RECR = 1, this bit indicates that the WD2501 may begin receiving I-frames. (See SROO)

CR02

RAMT - This bit activates an internal register test. See Section on Self tests for
description.

CR03

The LOOP TEST bit will connect the transmitted data output to the receiver input. The
receiver input pins RD and RC are logically disconnected. The "E" and "F" registers of
the A-field should be equal.

CR04

This bit will cause the WD2501 to initiate link set-up if CR04 = 1, or to wait for a link-setup from the remote device if CR04 = O.

CR05

RBI bit. For compatibility with the 2511, let RBI =

CR7,CR6

Unused control bits, like CR07, should be O.

6

o.

REGISTER
CR1

I
I

I
I

CR17
0

CR16
0

I

CONTROL REGISTER 1
CR15
CR14
CR13
0

J

I
I

I
I

ADRV

0

I
I

CR12
0

I
I

CR11
0

I
I

CR10
SEND

N

en

DESCRIPTION

BIT

o
.....

The SEND bit (CR10) is used to command the WD2501 to send the next packet or
packets. If SEND
1, the WD2501 will read from TLOOK the BRDY bit of the next
segment for transmission. If BRDY
0, the WD2501 will clear SEND and no action
1, the WD2501 will then read TSADR and TCNT, followed by the
occurs. If BRDY
transmission of that buffer: After transmission, the WD2501 clears BRDY of the segment
just transmitted, and reads BRDY of the next segment. If 1, the next segment is transmitted. If 0, the SEND bit is cleared, and transmission of packets is stopped. As a matter
of good practice, the CPU should set SEND each time one of the BRDY bits is set.

CR10

=
=

=

CR11-13

Unused bits, write in O's.

CR14

0,
The ADRV bit (CR14) is the control for the 16 bit output addresses (AO-A 15). If ADRV
the outputs are tri-state and are in HI-Z, except when DACK goes low. If ADRV
1, the
outputs are always low impedance (TTL), and are high-level when DACK is high.

CR15-17

Unused bits, write in O's.

=

REGISTER
SRO

I
I

SR07

I
I

NA2

SR06
NA1

I
I

STATUS REGISTER 0
SR04
SR03
SR05
NAO

I
I

RNRR

BIT
SROO

I
I

NB2

I
I

SR02
NB1

I
I

SR01
NBO

I
I

=

SROO
RNRX

DESCRIPTION
RNRX. An RNR has been transmitted, or will be at next opportunity. The CPU should set
RECR, when receive buffers are available.

SR03-SR01

NB2-NBO. Next block to be transmitted.

SR04

RNRR. This bit is set when an RNR frame is received. Once set, it is cleared when an RR,
REJ, or UA is received.

SR07-SR05

NA2-NAO. Next block of transmitted data to be Acknowledged.

REGISTER
SR1

I SR17 I
I 1PKR I

STATUS REGISTER 1
SR14
SR15
SR13

SR16

I

1X BA

11ERROR

I
I

I

BIT
SR10

I

o

NE2

I

SR12

I

NE1

I
I

SR11

I

SR10

NEO

I

0

DESCRIPTION

o

SR13-SR11

NE2-NEO. Next Expected packet segment number of RLOOK.

SR14

o

SR151

The ERROR bit indicates: 1) An error has occurred which is not recoverable by the
WD2501, or 2) A significant event has occurred. The "Significant events" are: change in
link status (link-up or down), the WD2501 is progressing to the next segment in a
chained receive buffer, or one direction of the link has been reset.
The exact nature of the reason for the ERROR bit is given in ERO.
The XBA bit means that a previously transmitted Block, or Blocks, have been
acknowledged by the remote device. Upon acknowledgement, the ACK'ED bit is set to
"1" for each segment in TLOOK which was acknowledged.

SR171

The PKR bit stands for Packet Received. This means that a packet has been received
error-free and in correct sequence according to the received N (S) count. The data (I-field)
has been placed in the CPU's RAM memory. NE is advanced.

NOTE 1: The three interrupt-causing bits are SR17, SR16,
and SR15. Any of the three will cause an interrupt

7

:ec

request (INTR goes low). After SR1 is read, all
three bits are reset to 0, and INTR returns high.

REGISTER

SR27

SR26

SR2

T10UT

IRTS

STATUS REGISTER 2
SR24
SR23
SR2S
REC
IDLE

0

0

SR22

SR21

SR20

0

0

LINK

DESCRIPTION

BIT
SR20

If the link is established, LINK = O.lf the link is logically disconnected, LINK = 1.

SR24-21

Unused Bits - 0

SR25

REC IDLE indicates that the WD2501 has received at least 15 contiguous 1's.

SR26

IRTS stands for the Internal Request-To-Send bit, and indicates that the transmitter is
attempting (successful or not) to send either data or fla~f the RTS pin is not tied to
ground orWIRE-ORED with another signal, then IRTS = RTS.

SR27

T10UT bit means that timer T1 has timed-out. This bit returns to 0 when T1 is re-started.
When T10UT = 1, T1 is not running. NOTE: This bit could be a 1 for a few microseconds in between intervals when T1 stops and is restarted.

ERROR REGISTER (ERO)
ER07 ER06 EROS
0

0

0

ER01 = ROR
ER02 = TUR
ER04 = RLNR

0

0

ER04

ER03

ER02

ER01

EROO

0
1

0
0

0
0

0
0

1
0

LINK is up. (Was down)
Received DISC while LINK up, or partially
up.

0

0

1

0

0

0

0

0

1

0

DISC sent, since SARM sent N2 times
without UA. (Note 3).
DISC sent, REC IDLE forT1xN2.

1

CHAIN STATUS
0

1

1

0

0

ERoo = GNCS
ER01 = CNR
LINK RESET RECEIVED if ER05-EROO = 000000
LINK RESET TRANSMITTED if ER05-EROO = non-zero
EROO similar to W
ER01 similar to X
ER02 similar to Y
ER03 similartoZ
ER05 means received F = 1, but did not send P = 1
ER04 - I-frame was sent N2 times without acknowledge

1

1

COMMAND REJECT
RECEIVED if ER05-EROO = 000000
TRANSMITTED if ER05-EROO = non-zero
ERoo = W
ER01 = X
ER02 = Y
ER03 = Z

Unassigned bits are always O.

8

TERMS USED IN ERROR REGISTER

GNCS
RLNR
ROR*
TUR*

CNR

Going to Next Chain Segment.

=

RLOOK Not Ready. REC ROY bit of next segment is 0, but RECR
1. This interrupt will
not occur if RECR = O.
Receiver Over-Run. The Receiver Register (RR) had a character to load into the FIFO, but
the FIFO was full.
Transmitter Under-Run. The Transmitter Register (TR) needed a character from the
Transmitter Holding Register (THR), but the THR was not ready. The frame being transmitted is ABORTed.
Next Chain Segment of Receiver was Not Ready.

* TUR and ROR means that the bit rate clocks (TC and RC) are either too fast for the WD2501, or the DACK
response to ORal and DROO is too slow, or both.

w, X, Y, Z OF CMDR

TLOOK

A command reject (CMDR) contains a three byte
I-field. The first byte is the rejected frame control
field. The second byte contains the current N (S) and
N (R) counts of the terminal reporting the rejection
condition. The third byte contains W-X-Y-Z-Z1-0-0-0
where W is the LSB.
W set to 1 indicates that the control field received
and returned in the first I-frame byte was invalid.
X set to 1 indicates the rejected frame contained an
I-field which is not permitted with this command. Bit
W must be set to 1 when X = 1.
Y set to 1 indicates the I-field exceeded the total limit
established. Y is mutually exclusive with W.
Z set to 1 indicates the control field contained an
invalid N(R). Z is mutually exclusive with W. Since the
WD2501 is LAP, only, a CMDR will not be sent to an
invalid N (R). A link reset (SARM) is sent. Thus, Z is
not used.
Upon receiving a CMDR, the WD2501 will place the 3
byte I-field in memory by DMA, just as if the CMDR
were a packet. However, NE is not advanced, and the
next received packet will over-write the CMDR I-field.
Therefore, the CPU should "quickly" use the 3 byte
I-field in the received CMDR.

RLOOK
These tables contain address and control
formation for individual send/receive packets.

in-

To access TLOOK and RLOOK only the starting
address of TLOOK is loaded into the WD2501 in
registers A' and B'.
REG A

A15 A14 A13 A12 A11 A10 A9

A8

REG B

A7

AO

A6

A5

A4

A3

A2

A1

AO-A1516 bit TLOOK starting address
The TLOOK and RLOOK tables are each divided into
8 segments and each segment contains 8 bytes.
Figure 3 illustrates the segmentation of TLOOK and
RLOOK. Figure 5 and 6 illustrate the contents of a
single TLOOK and RLOOK segment.
In transmit, the WD2501 will have read from TLOOK
the starting address and length of the first packet to
be transmitted. The WD2501 will automatically
transmit the flag, address, and control fields. Next,
the information field data will be transmitted using
DMA from the "SEND #0 PACKET" memory. At the
end of the information field, the WD2501 will
automatically send the FCS and closing Flag. The
WD2501 will then move on to the next packet.
If retransmission of one or more (up to seven)
packets becomes necessary, the WD2501 will automatically retrace the previous transmissions through
the TLOOK table. The user's CPU software does not
become involved in the retransmission. However, an
ERROR COUNTER is incremented. (See Error
Counter Section.)
To receive, each frame is checked for correct address
and FCS fields and for type of control field. If the
frame is a packet, the information field is placed in
the assigned memory location in a method similar to
that used in transmit. After the packet is received
error-free and in proper N(S) sequence count, an

When the WD2501 transmits a CMDR, the command
reject condition is entered. Only a received SARM or
DISC will clear this condition. If any other command
is received, the WD2501 will re-transmit the CMDR.
However, valid responses received will be acted upon
accordingly. Also, the WD2501 may transmit packets
while in the command reject condition.

MEMORY ACCESS METHOD
The WD2501 memory access is accomplished by the
use of DMA and two look-up tables. These tables are
set-up to allow up to 71-frames to be outstanding in
each direction of the communications link. The lookup tables are divided into two areas (T-LOOK and
R-LOOK) and are in memory external to the WD2501.

9

Figure 4 shows a "store-and-forward" example that is
useful in a network node.

interrupt is generated, and the WD2501 is ready for
the next packet which will be placed in the next
location.

o L..-------.~I

1-------1

'--_,,",--_...J

r

CNT
#0

SEND
PACKET #1
(SECOND PART)

SEND
PACKET
#1
(FIRSTPARn

FOR THIS EXAMPLE,
TCNT #1 IS
GREATER THAN
LIM. THUS,
SECOND PART
OF #1 IS
CHAINED.

XFRADR

--r

R~~~y~R

LIM

1

BUFFER

~_I----L
XFR ADR

ERROR
COUNTERS

XFR ADR

Figure 3. MEMORY ACCESS SCHEME
r------ MEMORY-"'I

I

-- -- - - - -

LO~K~UP

I

TABLE

TLOOK

- -

-

-

-

-C;B -

-

-

---,

LOOK·UP
TABLE

o

TLOOK

I

I

3

I

t-----:..,

1-_ _ _ _4..,

I

I

7

RLOOK

I

3

I
I

!------4--i

I

1------:..,

I
I

L __

I

RSADR #3

'- ~
TSADR~

:

I

B

;

T

3

"1 ~~~~ I

RCNT #3

RECEIVED

6~R~

7

TCNT #6

B

RLOOK

4

:

/------ ~"~- ------~=- ~ I

"'--W-D-2-5--01-L,
CH A

+

4

C

I

I

1/

_.....

I-----;..,) cr B~~~~R "

I

I

/_-- _

SERIAL
RECEIVE
CHANNEL A

Afte, the Data Buffe, Is ,"ool'ed by CH A, the length (RCNT) is WD2501
in RLOOK segment #3. The CPU interrogates the packet header
CH B
(at the beginning of the Data Buffer), and concludes that the _
buffer must be send out of CH B. RSADR, RCNT, and the
residual information are transferred from #3 segment to next
SERIAL
available TLOOK segment in CH B which is #6 in this example.
TRANSMIT

CHANNELB

Figure 4. STORE·AND·FORWARD EXAMPLE

10

TLOOK AND RLOOK

After receiving an error-free packet with correct N(S),
the WD2501 will, in order: 1) Set FRCML (Frame Complete), clear REC RDY, and store received residual
count. 2) Store the received length, in characters, of
the I-field in RCNT HI and RCNT LO. 3) Advance the
NE count, and generate a packet received interrupt.
4) Acknowledge the received packet at the first
opportunity.

Figures 5 and 6 detail the individual segments for
TLOOK and RLOOK.
BRDY means that the transmit buffer is ready. The
WD2501 will send the block only after the CPU makes
1. (BRDY is used in conjunction with the
BRDY
SEND bit.) At the completion of the transmission, the
WD2501 will make BRDY = 0, and then read the
BRDY of the next segment.

=

The addresses (TSADR and RSADR) are 16-bit binary
addresses. HI represents the upper 8-bits and LO
represents the lower 8-bits. The counts (TCNT and
RCNT) are 12-bit binary numbers for the number of
characters in the I-field.

After transmitting a packet, an acknowledgement
must be received from the remote device. The
acknowledgement is contained in the received N(R)
count of an I-frame or S-frame. Upon acknowledgement, the WD2501 will make ACK'ED = 1, and
generate a block-acknowledged interrupt. Before
assigning a new block to a segment in TLOOK, the
CPU must make sure that the previous block which
used that segment number has been acknowledged.

TSADR is the starting address of the buffer to
transmit, and TCNT is the binary count of the number
of bytes to transmit.
RSADR is the starting address of the receive buffer.
After successfully receiving the packets, the WD2501
will write the value of RCNT which is the binary
length of the received packet.

REC RDY informs the WD2501 that the receive buffer
is ready. The WD2501 will not receive a packet into a
buffer referenced by a particular segment until REC
RDY
1. If the WD2501 progresses to a segment
which has REC RDY = 0, an error interrupt will be
generated.

Whether the WD2501 accesses a look-up table or a
memory block, a DMA Cycle is required for each
access.

=

Figure 5. TLOOK SEGMENT
BIT#
BYTE # IN
SEGMENT

7

6

5

4

3

2

1

0

1

ACK'ED

NS

NS

NS

NS

NS

NS

BRDY

2

TSADR HI

3

TSADR LO

4

NS

SPARE

TCNT HI

5

TCNT LO

6

SPARE FOR USER DEFINITION

7

SPARE

8

SPARE

= Not Spare

11

:i:
c
I\)
en

o
.....

Figure 6. RLOOK SEGMENT
BITH
BYTEHIN
SEGMENT

7

6

5

4

3

2

1

0

1

FRCML*

NS

NS

NS

RES2

RES1

RESO

REC
RDY

2

RSADR HI

3

RSADR LO

4

NS

=

NOT SPARE

RCNT HI

5

RCNT LO

6

SPARE FOR USER DEFINITION

7

SPARE

8

SPARE

Not Spare (NOTE: The "not spare" bits may be either 1 or 0).

* FRCML

=

Frame Complete

The control bits in TLOOK(BRDYand ACK'ED) and in
RLOOK (FRCML and REC RDY) define various states
for each segment. These states are shown below:
TLOOK STATES
ACK'ED

a
a

STATE

BRDY
1

1

a
a

1

1

Ready To Transmit (CPU set BRDY, cleared ACK'ED)
*Transmitted and Awaiting Acknowledge (WD2501 cleared BRDY)
Received Acknowledge (WD2501 set ACK'ED)
This state not allowed

* State 0-0 could also occur whenever there is no data ready to send.
CPU
CLEARS
ACK'ED

CPU SETS
BRDY

RECEIVED
ACKNOWLEDGE
1·0

CPU CLEARS ACK'ED
AND SETS BRDY

DATA HAS BEEN
SENTWAITING
FOR ACKNOWLEDGE
0·0

WD2501 SETS
ACK'ED

WD2501 CLEARS
BRDY

TLOOK SEGMENT STATE FLOW
2. At start-up, the CPU should set all ACK'ED bits.
(Since this would only be a start-up procedure, this
would not violate the "deadly embrace" rule.)

Notice that in a TLOOK segment, the 0-0 state could
have two meanings. Due to control internal to the
WD2501 , this will not pose an ambiguity to the
WD2501. However, if it is a difficulty to the CPU, the
CPU could do two things:

As another alternative, the CPU could use one or
more of the SPARE bits for additional state control.

1. Avoid ever entering the "NO DATA TO SEND"

In the "WAITING FOR ACKNOWLEDGE" state, one
or more re-transmissions could occur:

12

REG

=C

CHAIN

~
LIMIT

Bit
7

I

Bit
6

I

LIMIT
Bit
5

1

Bit
4

Bit

Bit
2

I

3

I

Bit
1

Bit
0

a XFR ADR on the receiver, there will be an Error
Interrupt code 42 if XRF ADR = all O's. Otherwise,
there will be an Interrupt code 41 which is a status
indication that the WD2501 is going to the next
segment.

CHAINING
The WD2501 includes a chained·block feature which
allows the user more efficient use of memory par·
ticularly in situations where the maximum packet
size is much larger than the average packet size.

On the receiver, Register 6 upper 4 bits gives a status
of which chain segment is currently being used.

Register C is used to program the chaining feature.
The upper 4 bits define CHAIN which is the number
of chain segments allowed in addition to the first
segment. (If this feature is not used, make CHAIN
aIlO's).

The transmitter chaining works just like the receiver
with the following exceptions:

The lower 4 bits of Register C defines LIMIT which is
the size of the buffer in multiples of 64 bytes in·
cluding the transfer address (XFR ADR). If LIMIT is
0000, the size is 64. For 0001, the size is 128, and
soon.

2. There is no interrupt when going from one
segment to another.

1. XFR ADR
not ready.

3. There is no status of the current segment being
used.

For example, suppose that the LIMIT defines a
segment size of 128 and that CHAIN defines 8 ad·
ditional segments in addition to the first. (Note:
Register C would be hex 81 in this example.) When
126 bytes of I·field have been received, the WD2501
will take the next two bytes as a transfer address
(XFR ADR) pointing to another segment. At the end
of that segment is another XFR ADR, and so on, up to
a maximum of 9 total segments.

The total receiver limit is given by the expression:
TOTAL RECEIVER LIMIT

= (64 X (1 + LIMIT) - 2) X
(1 + CHAIN)

Also, note that the transmitter and receiver counts
are modified by 2 for each time a chain boundary is
crossed. For example, if LIMIT = 0001 (segment size
= 128 including XFR ADR), and if an I·field of 270
bytes is to be transmitted, then there will be two
times that a chain boundary is crossed. The TCNT
must be made 274 to send 270 bytes. The same is
true for RCNT.

On the receiver, a XFR ADR of all O's will mean that
the next segment is not ready. If the WD2501 reaches
RLOOK STATES
FRCML

=- all O's will not indicate next segment

REC ROY

STATE

0

1

Ready To Receive (CPU set REC RDY, cleared FRCML)

1

0

Received Packet (WD2501 set FRCML, cleared REC RDY)

0

0

Not Ready (CPU cleared FRCM L)

1

1

This state not allowed

CPU SETS
REC ROY ~:_ _ _____

CPU
CLEARS
FRCML""

CPU CLEARS
FRCML, AND
SETS
REC ROY

READY TO
RECEIVE
0·1

W02501 CLEARS REC ROY
AND SETS FRCML

RLOOK SEGMENT STATE FLOW

13

:eC
I\)

~

-a.

"DEADLY EMBRACE" PREVENTION

ERROR COUNTERS

A "deadly embrace" can occur when two processors
reach a state where each is waiting for the other. In
this case, the two processors are the user's CPU and
the micro-controller inside the WD2501. Therefore, to
prevent the "deadly embrace," the following rule is
obeyed by the WD2501 and should also be obeyed by
the user's CPU. This rule applies to TLOOK, RLOOK
and to the 1/0 registers. The Error Counters do not
apply to this rule.

Following contiguously after RLOOK are six a-bit
error counters. The WD2501 will increment each
counter at the occurrence of the defined event.
However, the WD2501 will not increment past 255 (all
1's). The CPU has the responsibility of clearing each
counter. The first counter past RLOOK is #1, etc.

ERROR
COUNTER

RULE: If a bit is set by the CPU, it will not be set
by the WD2501, and vice versa. If a bit is
cleared by the WD2501, it will not be
cleared by the CPU, and vice versa.

* Received Frames with FCS Error
(includes frames ABORTed in the
I-field).

2

As an example, the BRDY bit in the TLOOK segments
is set by the CPU, only, but cleared by the WD2501,
only.

3

TLOOK AND RLOOK POINTERS

4

There are three 3-bit counters for the status of the
segments in TLOOK and RLOOK. Status Register #0
(SRO) contains counters NA and NB which are used
in conjunction with TLOOK. NB is the segment
number of the next block to be transmitted, and is
advanced at the end of each block transmission. NA
is the value of the segment of the next block which
will be acknowledged. If all transmitted blocks have
been acknowledged, then NA = N B.

5
6

NB

NE = Next Expected to be Received

T1

ran-out

Number of I-Frame Retransmissions due to 11 completing
* REJ Frames Received
REJ Frames Transmitted

RECEIVED C·FIELD
Register 7 is the C-field of the last received frame,
provided the A-field of the frame was equal to either
register E or F, the FCS was good, and the frame
contained 32 or more bits, and the WD2501 is not
waiting for a SARM or DISC in response to a transmitted CMDR.

The WD2501 will send a bits per character, only. Also
all transmitted frames will be integer multiples of
bytes.
The WD2501 may receive a packet with, or without,
an integer multiple of bytes. The "RES" bits in the
RLOOK tables shows the number of residual bits.
The residual bits occupy the lower portion of the last
received character.

0
0
1
1
0
0
1
1

times

OTHER 110 REGISTERS

VARIABLE BIT LENGTH
AND RESIDUAL BITS

0
0
0
0
1
1
1
1

* * Number of
(completed)

The Error Counters are accessed by the WD2501
transmitter DMA channel. Therefore, if multiple
errors are received while the WD2501 is transmitting
a long frame, only the last error will be counted. The
only Counters which could miss counts because of
this are Counters #1, #2, and #5. The error Counters
are incremented only when the link is up (LINK = 0).

= Next to be Acknowledged
= Next Block to be Transmitted

RES2 RES1

Received Short Frames (less than
32-bits)

*These counters are incremented only if the
received A-field is equal to either Register E or F.
* * Incremented only when attempting to transmit a
command.

In SR1 is a 3-bit counter, NE, used with RLOOK. NE is
the value of the segment number where the next
received packet will be placed.
NA

COUNT

RESO

Received Residual Bits

0
1
0
1
0
1
0
1

0
7
6
5

TIMER
Registers a and 9 define a 1O-bit timer (T1), and a 6-bit
Maximum Number of Transmissions and Retransmissions counter (N2).

REGISTER

716151413121110
N2

9

4

MSB

3
2
1

MSB = Most Significant Bit
LSB = Least Significant Bit

14

LSB

T1

a

LSBIMSB

T1 provides the value of a delay in waiting for a
response and/or acknowledgement. The delay is the
binary count of clock CT where:
CT =

Once the CPU establishes T1 and N2, there is no
need to write into T1 and N2 again unless a master
reset (MR) has occurred, there is a power loss, or the
CPU needs to change T1 or N2. If a time-out occurs,
the WD2501 will still retain T1 and N2.

16,384
ClK

The conditions for starting, stopping, or restarting T1
are shown below: ("Re-start" means starting T1
before it ran-out).

Thus, if ClK = 1 MHz, then T1 may be set in increments 16.384 milliseconds, to a maximum delay
of 16.78 seconds. All ones in T1 is maximum delay.

START T1

RE-START T1

1. * I-frame sent if T1 not already
in progress due to previous 1frame
2.
3.

-

4.

Receiver Idle (REC IDLE
RR or RN R sent because
RRT1 = 1

to some, but not all, I-frames.

Acknowledgement received for
all I-frames.

* RNR received while link up.

SARM or DISC sent. (N2
restarted at first occurrence)

5.

* Acknowledgement received

STOPT1

-

UA Received for SARM, UA or
OM Received for DISC.

= 1)

Detect REC IDLE

=0

-

* N2 is restarted where shown by asterisk (*).
NOTE: Reason 4 and 5 (above) are overridden by reasons 1, 2 and 3. On reason 2, T1 is stopped if the received
RNR acknowledged all outstanding packets.

"A" FIELD REGISTERS
Registers E and F provide a programmable A-field.
This allows the WD2501 to be a super-set of the X.25
document. That is, the WD2501 can handle a wider
range of application than the DTE-DCE links defined
in X.25. These wider ranges include: DTE-to-DTE
connection, multipoint, and loop-back testing.
If the WD2501 is strictly in an X.25 DTE-DCE link, use
the values shown below:
DTE Register E = 01
Register F = 03
DCE Register E = 03
Register F = 01
If performing a loop-back test either internal
(CR03 =1) or external, registers E and F should be the
same.

15

v~

LAP PROCEDURE

The individual commands and responSes are shown
in Figure 7.

Tha Link Access Procedure (LAP) is described in
CCITT Recommendation X.25 as the Level 2 protocol
for the Asynchronous Response Mode (ARM). LAPB
is the Level 2 protocol for the Asynchronous
Balanced Mode (ABM). This section describes how
the WD2501 performs LAP. (The WD2511 performs
LAPB.)

The Poll bit (P) is used in conjunction with Time-Out
Recovery. Time T1 is started at the beginning of a
transmitted command provided it has not been
previously started. If T1 runs out (completes), the
command will be retransmitted with P = 1. If T1 runs
out again, the command will again be retransmitted,
with P= 1 up to N2 times. At N2 + 1, an error interrupt will occur. If the command was an I-frame, the
WD2501 will reset the link by transmitting a SARM. If
a SARM (either for link set-up or link reset), the
WD2501 will send a DISC, If a DISC, the WD2501 will
continue to send a DISC.

Zero bit insertion/deletion, use of flags and FCS are
part of Level 2, and have been discussed in this
document.
The DTE is the Data Terminal Equipment and the DCE
is the Data Circuit Termination Equipment, and is the
network side of the DTE-DCE connection. X.25
defines the protocol in the DTE-DCE link. The link is
symmetric iii that both the "primary" and "secondary" functions are included within the DTE and
DCE. Commands and responses are differentiated by
the A-field as shown below:

If an RN R has been received, and at least one packet
needs transmission, the WD2501 will send the next
packet at T1 intervals with P = 1. As long as subsequent transmissiohs of the next packet receives an
RNR, the WD2501 will not stop after N2 times.

DCE

A·FIELD ADDRESS

PRIMARY

A (03)

SECONDARY

8(01)

DTE
COMMAND
SECONDARY

RESPONSE
COMMAND

PRIMARY

RESPONSE

SYMMETRIC DTE-DCE LINK USED IN LAP

Figure 7. LAP COMMANDS AND RESPONSES
(Bit 0 is transmitted first)
Only the CMDR and I-frame contain I-fields.
NOTE:The WD2501 will accept a DM response to a transmitted DISC.
FRAME TYPE

COMMAND

RESPONSE

81TH

7

6

5

4

3

2

0

1

INFORMATION
(I)

I-FRAME
OR PACKET

UNNUMBERED
(U)

SARM

0

0

0

P

1

1

1

1

DISC

0

1

0

P

0

0

1

1

UA

0

1

1

F

0

0

1

1

CMDR

1

0

0

F

0

1

1

1

SUPERVISORY
(S)

16

N(S)

P

N(R)

0

RR

N(R)

F

0

0

0

1

RNR

N(R)

F

0

1

0

1

REJ

N(R)

F

1

0

0

1

TRANSMISSION OF ABORT
An ABORT (a a followed by at least seven 1's) is
transmitted to terminate a frame in such a manner
that the receiving station will ignore the frame. There
are three conditions which will cause the W02501 to
transmit an ABORT:
1. An ABORT is sent when there is a Transmitter
Under-Run
2. While transmitting a packet, if a REJ S-frame is
received, the packet is ABORTed.
3. If T1 times-out while a packet is being transmitted,
the packet is ABORTed. Caution: If a packet is
longer (in time) than T1, the packet will always be
ABORTed.

the loop-Back Test. This test provides a means to
check the other four registers.
The contents of Register A are placed in two even
internal registers, and the contents of Register B in
two odd internal registers. The four registers are then
added together without carry and the result is placed
in Registers 2, 5, 6 and 7. This test is initiated when
RAMT (CR02)
1. Use the followi ng procedure:
1. Set-up Registers A and B.
2. Set RAMT.
3. Wait at least 50 times the ClK period.
4. Read Registers 2,5, 6 and 7.

=

To repeat the test for new values in Registers A
and B:
5. Clear RAMT.
6. Wait at least 100 times the ClK period.
7. Go back to step 1.

SELF-TESTS
There are two self-test features: 1) Internal RAM
Register Test and 2) Loop-Back Test. Both tests are
suitable for manufacturing testing, user incoming
inspection testing, or system diagnostics and
trouble-shooti ng.

LOOP-BACK TEST
The loop-back may be internal (CR03 = 1) or external
(CR03 = 0). Of course, if external, RO and TO must be
tied together either directly or remotely.

INTERNAL RAM REGISTER TEST
There are eleven 8-bit registers internal to the
W02501 which are not directly accessible by the
user's CPU. Seven of these registers can be tested by

=

If CR03
1, TO is internally tied to RO, and the pin at
RO (16) is internally disconnected. Also, TC is internally tied to RC, and the pin at RC (17) is internally
disconnected.

17

:ec

N

(J1

o...I.

WD2501 ELECTRICAL SPECIFICATIONS:
ABSOLUTE MAXIMUM RATINGS:
Voltages referenced to VSS
High Supply Voltage (VOO) . . . . . . . . . .. - 0.3 to 15V
Voltage at any Pin .................. - .03 to 15V
Operating Temperature-Range ...... O°C to + 70°C
Storage Temperature Range .~ ... : ·:... ::55°C to·+ 125°C

NOTE:
Maximum limits indicate where permanent device
damage occurs. Continuous operation at these limits
is not intended and should be limited to those
conditiens specified in the DC Electrical charac ..
teristics.

Operating DC Characteristics: VSS

SYMBOL
100
ICC
VOO
VCC
VIH
VIL
VOH
VOL
ILH
IOZH
IOZL

= OV, VCC = 5.0V ±

PARAMETER
VOO Supply Current
VCC Supply Current
High Voltage Supply
Low Voltage Supply
Input High Voltage
Input Low Voltage
Output High Voltage
Output Low Voltage
Input Leakage Source or Sink
Input Leakage High
Impedance
Output Leakage High
Impedance

MIN

11.4
4.75
2.4

.25, VSS

= 12.0V ±
MAX

UNIT

20
200
12
5

70
280
12.6
5.25

0.4
10

mA
mA
V
V
V
V
V
V
uA

10

uA

10

uA

0.8

18

= 0° to 70°C

TYP

2.8

t

.6V TA

CONDITIONS

10
10

= -0.1mA
= 1.6mA

= VCC
Vin = VSS
Vin

AC Timing Characteristics: VCC

SYMBOL

= 5V ±

.25; VDD

PARAMETER

= RV ±
MIN

.6V, VSS

= OV, TA = 0° to 70°C

TYP

MAX

UNIT

2.0

MHz

CONDITIONS

ClK

Clock Frequency

RC

Receive Clock Range

0

MHz

Note 3, 4

TC

Transmit Clock Range

MHz

Note 4

0.5

MR

Master Reset Pulse Width

0
1"0

TAR

Input Address Valid to RE

0

TRD

Read Strobe (or DACK
Read) to Data Valid

375

ns

THD

Data Hold Time From Read
to Strobe

80

nS

THA

Address Hold Time From
Read Strobe

80

ns

TAW

Input Address Valid to
Trailing Edge of WE

200

nS

Note 1,2

mS
nS
Note 5

TWW

Minimum WE Pulse Width

200

nS

TDW

Data Valid to Trailing Edge
of WE or Trailing Edge of
DACK for DMA Write

100

nS

TAHW

Address Hold Time After
WE

80

nS

TDHW

Data Hold Time After WE or
After DACK for DMA Write

100

nS

TDA1

Time From DROO (or DROI)
to Output Address Valid if
ADRV = 1

80

nS

TDAO

Tjme From DACK to Output
Address Valid if ADRV = 0

400

nS

Note 5

TOD

Time From leading Edge of
DACK to Trailing Edge of
DROO (or DROI)

400

nS

Note 5

TOAH

Output Address Hold Time
From DACK

100

nS

TDMW

Data Hold Time From DACK
For DMA Read

100

nS

TRP1

REPLY Response Time
(leading edge)

240

nS

Note 5

TRP2

REPLY Response Time
(trailing edge)

260

nS

Note 5

NOTES:
Clock must have 50% duty cycle.
Buffer chaining is not guaranteed when ClK is greater than 1.5 MHz.
Residual bit detection logic not guaranteed when RC is greater than 50Kbps.
See "Ordering Information" for maximum serial rates.
C(load) = 100pf

1.
2.
3.
4.
5.

19

·

"

DMA TIMING
DMA OUT

DMAIN

AO-A15
(ADRV = 0)
AO-A15
(ADRV = 1)

(AO-A15 SAME AS DMA READ)

I

rTD?

DRQO

DRQI~

I ~
"
~-1 ------------7
~TDAO
I

(I

DACK

DACK

~-

~--------~-~ I--- TOAH

I

DALO-DAL7

<

=--1

TDMW

TDD

Sf

--"

~

DALO-DAL7

!

I

--l TDW \.-T DHW...

(

DATA VALID

>---

r-

DATA VALID )

~TRD--I

CPU READ/WRITE TIMING
CPU READ

CPU WRITE (CS

('CS IS LOW)

X
~"------II'----

IS LOW)

v---

IAO-IA3- - V

IAO- IA3- - V
__ ~.~----~T~AW-----------~

FiE

WE----~~-----TWW----~~=_----

DALO-D_A.:.-L7_ _ _ _ _ _--t_ _--<

REP~----------

L7C.--_ _---'r_-<
DALO-D:.:....A=
'---------

__ f

REPLY------..It

I--TRP2~

"NOTE: There must not be a CPU read or write (CS-RE or CS-WE) within 500 nanoseconds after the trailing

(rising) edge of DACK.
There must not be the leadingjf.alling) edge of DACK allowed within 500 nanoseconds after the
completion of a CPU write (CS-WE).
RE and WE must not be low at the same time_

20

APPENDIX A
STATES OF THE WD2501
Link Down Flow ..........................................................................
Link Up Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
State Table I, Link Down, but Going Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
State Table II, Link Going Down ..............................................................
Use of Flags by the WD2501 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Definitions of Command and Response ........................................................
Sending I-Frames (Packets) .................................................................
Receiving a Null Packet ....................................................................
Sending a REJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Receiving a REJ ..........................................................................
Definition of Valid Received N(R) .............................................................
Sending an RNR (RNRX) ....................................................................
Receiving an RNR (RNRR) ..................................................................
Conditions for Sending Link Reset ............................................................
Sending a CMDR ..........................................................................
Receiving a CMDR ........................................................................
Protocol Significance of TLOOK/RLOOK Pointers ...............................................

21

22
23
24
24
25
25
25
26
26
26
26
27
28
28
28
28
29

APPENDIX A

:ec

LINK DOWN

N

CJ1

o

~

INTERRUPT
ERO
21

=

CLEAR N E, V(R)
SEND UA

INTERRUPT
ERO = 80

o

=

1
SET LINK
SEND DISC

=

SET LINK
1
INTERRUPT
ERO
30

SEND UA
SEND DISC

INTERRUPT
ER07
1
ER06 = 0

SEND SARM
P
1

=

=

=

INTERRUPT
ERO
CO

=

ALSO,
SEE "RECEIVING A CMDR"

22

SEE
"SENDING A
CMDR"

LINK UP
CONDITIONS FOR RESET OR DISCONNECT

:ec

N
- CJ'1

o.....

SEND IDLE.
RECEIVER
IGNORED.

SEND
UA

SEND UA
SENDSARM

*ONCE A FRAME IS SENT, INTERFRAME TIME-FILL IS
FLAGS EVEN IF RBI = 1. ALSO, ONCE FLAGS ARE
STARTED, IDLE IS NOT SENT AGAIN UNTIL A
COMPLETE DISCONNECT SEQUENCE OR MASTER
RESET (MR LOW).

23

STATE TABLE I

=E

LINK DOWN, BUT GOING UP

C

(Column 2 also applies to link-up, but reset transmitted.)

I\)

C11

o.....

2.

3.

DISC sent. Waiting for
UA or DM.

SARM sent. Waiting for
UA.

SARM sent. UA RECVD.
Waiting for SARM.

=1
Re-send DISC P = 1

Re-send SARM P

1.

T1 runs out, but not N2
N2 runs out

Re-send DISC P

=1

-

Send DISC. I NTR. ERO
24. To column 1.

Send DISC. INTR. Error
Code 24. To column 1.

=

RECVD UA

Send SARM To
column 2.

Clear NA, NB, V(S). If
SARM RECVD and UA
sent. To link-up flow.
Else, to column 3.

Disregard

RECVD DISC

Send UA

Send UA

Send UA

RECVD SARM

Disregard

Send UA Clear N E, V(R).

Clear N E, V(R). Send UA.
To link-up flow.

RECVD something, but
not UA, DISC, SARM,
nor DM.

Disregard

Disregard

Disregard

RECVD DM

Send SARM. To
column 2.

Disregard

Disregard

STATE TABLE II
LINK GOING DOWN (WAS UP)

1.

2.

3.

DISC sent. Waiting
forUA.

MDISC (CROO) set.

DISC sent. UA or DM
RECVD. Sending flags.
Link is down.

T1 runs out

Re-send DISC. P = 1

Send DISC to column 1

-

RECVD UA or DM

If DISC RECVD and UA
send to link down flow.
If not, to column
column 3.

-

Disregard

RECVD SARM

Disregard

-

Send UA. Send SARM.
To Table I.

RECVD DISC

Send UA

-

Send UA. To link down
flow.

RECVD something but
not UA, DISC, SARM,
nor OM.

Disregard

-

Disregard

NOTE: If while the link is up, the MDISC bit is set, the WD2501 will send a DISC and wait for a UA. After
receiving the UA, the WD2501 does not require a DISC to be received. The link is considered down.
If while the link is up, a DISC is received, but MDISC = 0, the WD2501 will send a UA immediately
followed by a DISC being sent. Appropriate action shown in column 1 above is taken.

24

USE OF FLAGS BY THE WD2501

DEFINITIONS OF COMMAND AND RESPONSE

The WD2501 will send interframe time fill flags, and
will send flags when the link is down if RBI = 0
and/or ACTIVE
1 (see Link Down Flow). The
WD2501 does not require the remote station to send
flags nor interframe time fill of flags. The chip will
accept idle or flags. However, if the receiver is idle for
T1xN2, the WD2501 will disconnect the link.

A transmitted or received command or response is a
frame with the A-field as defined below:

=

I\)

The chip will send contiguous flags of:
011111100111111001111 ...

FRAME

A-FIELD

Transmitted Command
Received Command
Transmitted Response
Received Response

Register E
Register F
Register F
. Register E

Only command frames or response frames are
transmitted. If a received frame is neither a command
nor response, it is disregarded ("thrown-away") at the
receiver:

The chip will accept either the above sequence as
contiguous flags or:
011111101111110111 ...
SENDING I·FRAME (PACKETS)

NOTE: In all subsequent pages, the link is considered UP (LINK

RNRR(2)
0

T1 RUNS
OUT(1)
BUT NOT
N2

RECVD
REJ(2)

= 0)

SEND
(CR10)

BRDY OF
TLOOK #NB

NA
AND
NB

1

0

Don't Care

0

No

No

ClearSEND (CR10)

1

1

Don't
Care

0

No

No

Send next packet
with N(S)
NB.
After transmission
complete, increment
N B. Exception: if
NB + 1
NA, do
not send next
packet. There are 7
outstanding packets.

=

=

0

10rO

Equal

1

No

No

No packets to send.

0-1

1

Equal

1

No

No

Send next packet
with N(S)
NB.
After transmission
complete, increment
N B, but do not send
next packet.

1

10rO

Not Equal

1

No

No

Do not send packet.

1 orO

10rO

Not
Equal

10rO

Yes

No

Retransmit packet
with N(S)
NA and
P
1. When transmission complete,
do not ao to next
packet. 4)

Not
Equal

0

10rO

10rO

:ec

=

=

No

Yes

=

=

Make NA
received N(R). Start
sequential retransmission of packets
with N(S)
NA.

=

NOTES:
1. This table applies to T1 running out only if started due to at least one packet being outstanding.
2. Received S-frames shown in this table are taken to have valid N(R)'s.
3. When an acknowledgement is received, NA is made equal to the received N(R). All TLOOK segments from the

25

en

o.....

NOTES CONTINUED:
old value of NA up to N(R) -1 are acknowledged and the appropriate TLOOK segments will have the ACKED
bit set. After setting the ACKED bit(s), an XBA interrupt is generated.
4. Assuming appropriate TLOOK segments are ready, packets are sent sequentially without waiting for an
acknowledgement with three exceptions:
a Seven outstanding (unacknowledged) packets have been transmitted.
b. The remote station has indicated a busy condition as noted by the receiving of an RNR. The next
unacknowledged packet is transmitted, if not previously transmitted, and T1 is started.
c. If T1 expires (runs-out), the last unacknowledged packet is retransmitted with P = 1. This is the timer
recovery condition and remains in effect until an S-frame with F = 1 and acknowledging that at least one
packet is received, or until a link reset is transmitted, or until a DISC is received.
If an acknowledgement is not received after N2 tries, a SARM is transmitted with P = 1. An interrupt is
generated with ERO = 90.

RECEIVING A NULL PACKET

RECEIVING A REJ
If a REJ is received error-free with no I-field:

If an error-free packet is received with no I-field but
with an in-sequence N(S), it will be treated the same
as a packet with an I-field. RCNT will be all O's.

1. If the N(R) is invalid, an interrupt is generated with
ERO = 88, and a SARM is transmitted to reset the
link. (See Table I, column 2.)
2. If the N(R) is valid and greater than NA, at least one
transmitted I-frame is acknowledged. An XBA
interrupt is generated with the appropriate ACKED
bits in TLOOK set.
3. If the N(R) is valid and less than NB, or equal to NB
but an I-frame is being transmitted, the WD2501
will begin sequential re·transmission starting with
V(S) = received N(R). If an I-frame is in transmission when the REJ was received, it is aborted.
4. If the N(R) is valid and equal to NB and there is no
I-frame being transmitted, no further action is
taken. In this case, the REJ has the same effect as
an RR.

The packet will be acknowledged at the next opportunity just as if the I-field was present.
The received N(R) of the null packet is recognized as
an acknowledgement of a previously transmitted
packet(s).lf the N(R) is not valid, the link will be reset.
The WD2501 will not transmit a null packet. TCNT
must not be all O's.

SENDING A REJ
1. The reject condition is entered any time an errorfree I-frame with an out-of-sequence N(S) is
received.
2. A REJ frame with N(R) = V(R) is transmitted
immediately if the WD2501 is not sending an 1frame, or immediately after the completion of the
I-frame. There are two exceptions to this in notes 3
and 4 below.
3. If a link resetting SARM needs to be transmitted,
the SARM is sent ahead of the REJ. Immediately
after the SARM, the REJ is sent. As an example, if
an I-frame is received with out-of-sequence N(S)
and invalid N(R), a SARM will be sent followed by
an REJ.
4. If the receiver is not ready (RNRX = 1), the REJ is
not sent until RNRX is cleared.
5. Once the reject condition is entered, only one REJ
is sent. Another REJ is not sent unless the reject
condition is cleared and re-entered. The reject
condition is cleared if an I-frame is received with
an in-sequence N(S) [Le., received N(S) = V(R)] , or
if a SARM is received.
When the REJ is sent, error counter #6 is incremented.

DEFINITION OF VALID RECEIVED N(R)
Reference:
X.25 paragraph 2.4.8.1 and paragraph
2.3.4.10
DEFINITION: A valid received N(R) is greater than or
equal to NA and less than or equal to
NB. An invalid received N(R) is one
which does not conform to this rule.
NOTES: 1. This must be understood in a circular
sense. 0 could be greater than 7, depending on the values of NA and NB.
2. If NA = NB, there is only valid
possibility for N(R).
3. If NB + 1
NA, there are seven outstanding packets, and it is impossible to
receive an invalid N(R).
4. Basically, an invalid N(R) is one which
acknowledges a packet which was never
sent.

=

26

SENDING AN RNR (RNRX)
LINK

RECR
(CR01)

REC
ROY
(NE)

ACTION

-

-

No S-frame transmitted when link down.

1-0

1

1

RLOOK ready. No S-frame sent immediately.

1-0

1

a

Interrupt: RLNR. RNR sent immediately. (2) RNRX set.

1-0

a

-

RNR sent immediately. RNRX set.

a
a
a
a

1

1

Receiver ready to accept I-frames.

1-0

1

Receiver ready to accept I-frames.

1

Interrupt: RLNR. RNR sent. RNRX set.

0-1

a
a

a

0-1

1

Next received I-frame not brought into memory. Immediately
after frame received, RNRX cleared. After that, an RR or REJ is
sent.

a
a

1-0

a
a

Interrupt: RLNR. RNR sent. RNRX was previously set.

1

a

Next received I-frame not brought into memory. If P
1. RN RX was previously set.
send RN R with F

=

= 1, will

RNRX set. RNR sent. There is no RLNR interrupt.

NOTES ON RNRX:
1. The arrows (-) indicate a change in state from the value on the left to the value on the right.
2. If an RNR is sent "immediately," it means immediately after link is brought up.
3. After the link is up, if an RR, RNR or REJ is sent, it is sent at the next opportunity. This means immediately if
no I-frame is being sent, or at the end of the current I-frame being transmitted.
4. The RNRX (SROO) status bit is set at the time the receiver-not-ready condition was established. The RNR may
be sent later according to note 3 above.
5. When a received I-frame is brought into memory, it may be accepted provided the FCS and N(S) are good and
the I-field is not too long. The N(R) mayor may not be correct, but is checked separately. If the N(R) is bad, a
link reset is transmitted.
6. Whenever RNRX
1, the I-field of received I-frames is not brought into memory. The received N(S) and N(R)
are checked as usual. (See note 9 below.)
7. If, while RNRX = 1, a link resetting SARM is received, a UA will be transmitted. However, an RNR will not be
1, then an RNR will be sent with F = 1.
sent immediately after the UA. If an I-frame is received with P
8. If a link resetting SARM is transmitted when RNRX = 1, RNRX will be cleared when the UA is received. If the
condition which caused received-not-ready still exists, an RNR is sent and RNRX is set according to the
RNRX table. If the receiver is ready, I-field data may be brought into memory.
9. If, while RNRX = 1, an out-of-sequence N(S) is received, the WD2501 will not immediately send an REJ. After
RNRX is cleared, an REJ will be transmitted at the next opportunity.

=

=

27

RECEIVING AN RNR (RNRR)

SEND
(CR10)

NA
AND
NB

RECVD
ACK?

RECVD
RNR

RECVD
RR,
REJ
OR
UA

11
EXPIRES

1

Not
Equal

YES

YES

NO

NO

Set RNRR. Restart T1
and N2. Update NA.

0

Not
Equal

YES

YES

NO

NO

Set RNRR. Restart T1
and N2. Update NA. If
after update NA
N B,
stop T1.

0

Equal

NO

YES

NO

NO

Set RNRR.

10rO

Not
Equal

NO

NO

NO

YES

Re-transmit last unacknowledged I-frame
with P
1. Start T1. If
RN R subsequently received restart T1 and N2.

Not
Equal

YES

10rO

Don't
Care

Don't
Care

0-+1

Equal

NO

10rO

=

=

NO

YES
(but not UA)

NO

Clear RNRR. Restart T1
and N2. Update NA. If
after update NA
N B,
stop T1.

NO

YES

NO

Clear RNRR.

NO

NO

NO

Send next I-frame. Increment N B after transmission. (Then, NB does
not NA). Start T1 and N2.

=

NOTES:
1. If SEND = 1, it is assumed that BRDY (NA) is set. Otherwise, SEND is cleared.
2. If RNRR = 1, only one I-frame is sent perT1 interval.
CONDITIONS FOR SENDING LINK RESET

and I-field data may again be brought into memory by
the receiver DMA (provided RECR = 1 and REC RDY
of segment #0 is set to 1). If a DISC is received, the
WD2501 will send a UA followed by a DISC and go to
State Table II, column 1.

1. CMDR received.
2. Received response, other than CMDR, which
contained an I-field.
3. Received I-frame or S-frame with invalid N(R).

If a supervisory response is received, the WD2501 will
accept any acknowledgements contained in the
received frames N(R), and the CMDR is retransmitted.

4. Received response with unsolicited F-bit.
5. Have sent I-frame N2 times without acknowledgement. Exception: An RNR frame received
will reset the N2 counter.

RECEIVING A CMDR
Upon the reception of a CMDR:
1. The CMDR I-field will be in the memory referenced
by the current NE segment, provided the receiver
was ready.

SENDING A CMDR
A CMDR may be sent for any of the reasons indicated
in X.25. If an invalid N(R) is received, the link is reset
whether the frame was a command or response.

2. The SEND (CR10) bit is cleared.
3. No more I-field data will be brought into memory
by the receiver.

Upon sending a CMDR, the WD2501 will not allow
I-field data to come into the receiver DMA. However, it
may send I-frames (packets). If an I-frame is received,
the WD2501 will re-transmit the CMDR. If a SARM is
received, the WD2501 will send a UA and clear NE,

4. A link resetting SARM is transmitted and an error
interrupt is generated at the beginning of the
SARM. The hexidecimal value of ERO is CO.

28

5. When a UA is received to the SARM, NA and NB
are cleared to O. I-field data may not come into
memory provided RECR = O. If RECR goes from 0
to 1, and after an I-frame is received, the next I-field
may be brought into memory.

TLOOK pOinter NB =
retransmission

X when

in

TLOOK pointer NA
last unacknowledged packet. When a
frame with a valid N(R) is
received, NA is made equal to
the N(R). If NA changed, an XBA
interrupt is generated.

NOTE: The reason for step 5 is to allow the CPU time
to initialize the transmitter in such a manner
so as to not duplicate I-frames. The CPU
should set-up the next transmission according to the received V(R) in the received
I-field. The reason for step 2 is to prevent outof-sequence transmissions.

PROTOCOL SIGNIFICANCE OF TLOOKIRLOOK
POINTERS

The NE, NA, and NB pointers have a relationship with
the sequence counters used in the LAPB protocol.

Let Vc(R) = V(R) in I-field of received CMDR.
If Vc(R) > NA, a transmitted block or blocks have
been acknowledged from NA and up to Vc(R) - 1.
Vc(R) is found in the current RLOOK buffer.

The RLOOK pointer NE is equal to V(R) at all times if
TRCV = O. However, when TRCV = 1 when the link is
UP, there is no guaranteed relationship between NE
andV(R).
TLOOK pointer NB is the Next Block to be transmitted. If not in packet retransmission, NB is equal to
the V(S) of the next new packet to be transmitted.

NOTE: After receiving a CMDR, the CPU has a
certain amount of time to read the current
values of NA and NB. This minimum time is
the time it takes to send a SARM and receive
a UA. Immediately after the UA is received,
NA and NB are cleared.

TLOOK pointer NA is the Next packet to be
Acknowledged. It represents the V(S) number for the
oldest packet in the retransmission buffer.

The CPU should take the packet referenced by Vc(R)
and puts its address and count information in TLOOK
segment #0. Vc(R) + 1 goes into segment #1 and so
on up to NB -. The CPU should await for NA and NB
to clear before setting the SEND (CR10) control bit.

USE OF THE RECR BIT

The RECR (CR01) bit should be understood as an
instruction to the WD2511 to initialize the receiver
memory. The WD2511 will test RECR as soon as
MDISC is cleared, and will test RECR after each link
set-up and each link reset. Once the receiver memory
is ready, the WD2511 will not test RECR again unless
there is a link set-up, link reset, or a receiver-not-ready
condition.

EXAMPLE: Suppose four packets are outstanding
with N(S) counts 3,4,5 and 6. Number 3
is a Data Packet on Logical Channel (LC)
14. Number 4 is a Call Request Packet on
LC 220. Number 5 is a Reset Packet on
LC 7. Number 6 is a Data Packet on LC 9.
A CMDR is received, and the V(R) in the 1field is 5. Thus, numbers 3 and 4 are
acknowledged. At this point NA = 3 and
NB = 7. The CPU will put the Reset
Packet on LC 7 in #0, and the Data
Packet on LC 9 in #1. After NA and NB
are cleared, the CPU may set SEND
(CR10) and transmission will start with
N(S) = 0, which is the Reset Packet on
LC7.

After the link is UP, and at least one packet has been
received as indicated by the PKR interrupt, the user
should clear RECR. This is an advantage, because if a
link reset is either transmitted or received, the
WD2511 will enter a receiver-not-ready condition.
This will prevent packets received after the link reset
from appearing to have arrived before some packets
received prior to the link reset.
The receiver-not-ready condition is indicated by
RNRX= 1. This condition is cleared after the user
makes RECR = 1 with RECRDY = 1 (in RLOOK #0),
and after either a packet or an S-frame is received.

PROT COL SIGNIFICANCE
TLOOK/RLOOK POINTERS

If RECRDY of the next RLOOK is 0, but RECR = 0,
there will not be an RLNR interrupt, but RNRX will be
set. If RECR = 1, but the RECRDY bit of the next
RLOOK segment is 0, there will be an RLNR interrupt
(error code 10), and RNRX will be set.

In addition to the use of the TLOOK/RLOOK pointers
as used in the Memory Access Method, the pointers
have a significance with the link level protocol.
RLOOK pointer NE = V(R) at all times
TLOOK pointer NB = V(S) when not in
retransmission due to time-out
recovery or received REJ.

29

ORDERING INFORMATION
Maximum Rate
Order Number
r-100 Kbps
WD2501T-01
500 Kbps
WD2501T-05
1.1 Mbps*
WD2501T-11
* Higher speeds available on special order.
The following devices have a tighter power supply
specification and meet all other parameters in this
data sheet.
Power Supply Range + 51 - 2%:
Maximum Rate
Order Number
100 Kbps
WD2501T-91
500 Kbps
WD2501T-92
1.1 Mbps
WD2501T-93

Information furnished by Western Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western Digital
Corporation for its use; nor for any infringements of patents or other rights of third parties which may result from its use. No license is granted by
implication or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right to change
specifications at anytime without notice.

30

Printed in U.S.A

WESTERN DIGITAL
c

o

R

p

o

R

A

T

o

/

N

~

WD2511 X.25 Packet Network Interface (LAPB)
FEATURES
• Packet switching controller, compatible with
CCITT recommendation X.25, level 2, LAPB
(WD2511)

• TTLcompatible
• 48 pin dual in-line packages
• Higher bit rates available by special order

• Programmable primary timer (T1) and retransmission counter(N2)

APPLICATIONS
X.25 PACKET SWITCHING CONTROLLER
PART OF DTE OR DCE
PRIVATE PACKET NETWORKS
LINK LEVEL CONTROLLER

• Programmable A-field which provides a wider
range of applications than defined by X.25. These
include: DTE-to-DTE connection, multipoint and
loop-back testing.
• Direct memory access (DMA) transfer: two
channels; one for transmit and one for receive.
Send/receive data accessed by indirect addressing
method. Sixteen output address lines.

GENERAL DESCRIPTION
The WD2511 is a MOS/LSI device which handles bitoriented, full-duplex serial data communications with
DMA, which conforms to CCITT X.25 with programmable enhancements.
The device is fabricated in N-Channel silicon gate
MOS technology and is TTL compatible on all inputs
and outputs.

• Zero bit insert and delete
• Automatic appending and testing of FCS field
• Computer bus interface structure: 8 bit bidirectional data bus. CS, WE, RE and four input
address lines
• DC to 1.1 MBPS data rate

8 61T DAL

ROM

cs

CENTRAL
MICRO·
CONTROLLER

WE
Ill'

IAO·AI3
DMA
INTR _ - - - - - - - '
DATAl CONTROL 6US

+12V - - - . .
+5V-..
GND_
CLK_

MR_

BLOCK DIAGRAM

PIN DESIGNATION

31

AO·A15

C

I\)

.....
.....

C11

INTERFACE SIGNALS DESCRIPTION (All signals are TTL compatible.)

=e
C

PIN
NUMBER

SYMBOL

PIN NAME

FUNCTION

I\)

c.n

-'"
-'"

1

No Connection

leave pin open

Reply

An active low o.!:!!,put t2..Jndicate the WD2511
has either a CS. RE or a CS.WE input.

WE

Write Enable

The data on the OAl are written into the
selected register when CS and WE ar~ low.

4

CS

Chip Select

Active low chip select· for CPU control of I/O
registers.

5

RE

Read Enable

The contents of the selected register are placed
on OAl when CS and RE are low.

6

ClK

Clock

Clock input used for internal timing. Must be
square wave, and greater than 250 KHz.

7

MR

Master Reset

Initialize on active low. All registers reset to
zero, excePbcontrol bits MDISC and LINK are
set to 1. DA K must be stable high before MR
goes high.

Data Access Lines

An 8-bit bi-directional three-state bus for CPU
and DMA controlled transfers.

2

REPLY

3

8-15
16
17

18
19

OAlO-DAl7
RO
RC

Receive Dat;:l
Receive Clock

VSS
TC

Ground

Ground.

Transmit Clock

A 1x clock input. TO changes on the falling
edge ofTC.

Receive serial data input.
This is a 1x clock J.Qput, and RD is sampled on
the rising edge.2!. RC. RO changes occur on the
falling edge of RC.

20

TD

Transmit Data

Transmitted serial data output.

21

RTS

Request-Ta-Send

An open collector (drain) output which goes low
when the WD2511 is ready to transmit either
flags or data.

22

CTS

Clear-Ta-Send

An active low input which signals the WD2511
that transmission may begin. If high, the TD
output is forced high. May be hard-wired to
ground.

23

DROO

DMA Request Out

An active low output signal to initiate CPU bus
request so the WD2511 can output onto the
bus.

24

DROI

DMA Request In

An active low output signal to initiate CPU bus
request so that data may be input to the
WD2511. DRaa and DROI will not be low at the
same time.

25

DACK

DMA Acknowledge

An active low input from the CPU in response to
DROI or DRaa. OACK must not be low if CS
and RE are low or if CS and WE are low.

26-41

AO-A15

Address Lines Out
(See front page for
Pin Assignments)

Sixteen address outputs from the W02511 for
DMA operation. If the control bit ADRV is 1, the
outputs are TTL drives at all times. If ADRV is 0,
the outputs are three-state, and are HI-Z
whenever DACK is high. (ADRV is in Control
Register #1.)

42

VDD

Power Supply

+ 12VDC power supply input.

32

INTERFACE SIGNALS DESCRIPTION CONTINUED (All signals are TTL compatible.)

::ec

PIN
NUMBER

SYMBOL

43

INTR

Interrupt Request

An active low interrupt service request output,
and returns high when Status Register #1 is
read.

44-47

IAO-IA3

Address Lines In
(See front page for
Pin Assignments)

48

VCC

Four address inputs to the WD2511 for CPU
controlled. read/write operation with registers in
the WD2511. If ADRV = 0, these may be tied to
AO-A3. (ADRV is in Control Register #1.)
+ 5VDC power supply input.

PIN NAME

FUNCTION

Power Supply

Parallel transmit data are entered into the Transmitter
Holding Register (THR), and then presented to the
Transmitter Register (TR) which converts the data to a
serial bit stream. The Cyclic Redundancy Check
(CRC) is computed in the 16-bit CRG register, and the
results become the transmitted Frame Check
Sequence (FCS).
Parallel receive data enter the Receiver Holding
Register (RHR) from the 24-bit serial Receiver
Register (RR). The 24-bit length of RR prevents
received FCS data from entering the RHR (unless
residual bits are received). The receiver CRC register
is used to test the validity of the received FCS. A 3stack FIFO is included in the receiver.

ORGANIZATION
A detailed block diagram of the WD2511 is shown in
Figure 1.
Mode control and monitor of status by the user's
CPU is performed through the Read/Write Control
circuit, which reads from or writes into registers
addressed by IAO-IA3.

Transmit and receive data are accessed through the
DMA control. Serial data is generated and received by
the bit-oriented controllers.
Internal Control of the WD2511 is by means of three
internal microcontrollers; one for transmit, one for
receive, and one for overall control.

8 BIT DAL

DMA
A
D
D
R
E

READ·

WE IAO.IA3 4

C6'~~~~L
LOGIC

S

REPLY

DMA
. CONTROL
LOGIC

S
E
S

AO·A15

+12V_
+5V_
TRANSMITTER
MICRO·CONTROLLER

MR CLK_
GND-

RD

TD

Figure 1

WD2511 BLOCK DIAGRAM -

33

DETAILED

I\)
(J'I

.....
.....

:ec
........
I\)
(J"I

FRAME FORMAT
The WD2511 performs "bit-oriented" data communications control. According to the bit-oriented
procedures (HDLC, SDLC, ADCCP), each serial block
of data is called a frame.
Each frame starts and ends with a Flag (01111110). A
single flag may be used both as the closing flag of
one frame and the opening flag of the next frame. In
between flags, data transparency is provided by the
insertion of an 0 bit after all sequences of 5 contiguous 1 bits. The receiver will strip the inserted 0
bits. The last 16-bits before the closing flag is in the
Frame Check Sequence (FCS). Each frame also
includes address and control fields (A and C fields).
The FCS calculation includes all data between the
opening flag and the first bit of the FCS, except for
D's inserted for transparency. The 16-bit FCS has the
following characteristics:

After the frame is received, if there were no errors,
then the remainder in the CRC register (internal in the
WD2511) will be:
1111000010111000 FOB8
The WD2511 generates and tests the Flag, FCS, AField, C-Field, and performs zero bit insertion and
deletion. According to the X.25 protocol, there are
three types of frames: supervisory (S-frame), unnumbered (U-frame), and information (I-frame).
The WD2511 performs frame level (level 2) link access
control. All S- and U-frames are automatically
generated and tested by the WD2511. The user need
only be concerned with the I-frames, which are
packets.
The WD2511 will transmit contiguous flags for interframe time fill.

Polynomial = X16 + X12 + X5 + 1
Transmitted Polarity -Inverted
Transmitted Order -High Order Bit First
Preset Value
-Alii's

~I

I·FRAME (PACKET)

14
I·FIELD (PACKET DATA)

14
FLAG

~

ADDRESS CONTROL

X.25LEVEL2

PACKET
CONTROL
INFORfv1ATION

X25LEVEL3

·1

USER DATA

FLAG

FCS

~~~~l~E4X'25LEVEL2~

APPENDED --~__- - - - DMA ACCESSED

~

APPENDED

~

~

WD2511

WD2511

X.2S MODE

NOTE: X.25 Level 1, is the Physical Interface

34

MODEM
CONTROLS

CPU BUS

(DTR, DSR, ETC.)

00

~I

(Jl

=i
0

>

r

~I

~I

5>

~I ~I

~I 5>
w

<;'

0
r

;>;

w1f
DROO

TC
TD

DROI

,----

WD2511

DACK

MEMORY

CTS
LEVEL 1

AO·A15

RTS

16

INTERFACE

~ MODEM

RC
RD

1 1 1

+12VDC +5VDC

Figure 2.

GND

SYSTEM CONNECTION

II. PROGRAMMING THROUGH REGISTERS

Control, status, and error bits will be referred to as
CR, SR, or ER, respectively, along with two digits. For
example, SR16 refers to status register #1 and bit 6,
which is "XBA."

The WD2511 is controlled and monitored by sixteen
I/O registers.
REGISTER DEFINITION
REG
#

IA3

1A2

IA1

lAO

0
0
0
0
0
0

0
0
0
0

0
0

0

1
1

0

1
1

0
0

0

0
0

1
1

1
1

0

1
1

0
0

0
0

0

9
A
B
C
D

1
1
1
1

0
0

1
1

0

1
1

0
0

0

E
F

1
1

1
1

1
1

0

0
1
2

3
4
5
6

7
8

1
1

1
1
1
1
1

REGISTER
CRO
CRl
*SRO
*SR1
*SR2
*ERO

REGISTER
GROUPING

OVERALL CONTROL
AND
MONITOR

*CHAIN MONITOR
*RECEIVED C-FIELD
T1
N2/Tl

RECEIVER
MONITOR
TIMER

TLOOKHI
TLOOKLO
CHAIN/LIMIT
NOT USED
XMT COMMAND "E"
XMT RESPONSE "F" (Note 1)

* CPU READ ONLY. (Write Not Possible)
NOTE:
1. Registers E and F should be set-up while MDISC

= 1.

35

DMASET-UP

"A" FIELD

CONTROL, STATUS, ERROR REGISTERS
BIT#
4

3

2

1

0

H/F

ACTIVEI
PASSIVE

LOOP
TEST

2RAMT

RECR

MDISC

TRCV

XI

AORV

0

0

0

SENO

NA2

NA1

NAO

RNRR

NB2

NB1

NBO

RNRX

SR1

1PKR

1XBA

1ERROR

0

NE2

NE1

NEO

0

SR2

T10UT

IRTS

REC
IOLE

0

0

0

0

ERO

ER07

ER06

ER05

ER04

ER03

ER02

ER01

EROO

CONTROL REGISTER 0
CR05
CR04
CR03

CR02

CR01

CROO

ACTIVEI
PASSIVE

RAMT

RECR

MOISC

REGISTER

7

6

5

CRO

ADISC

0

CR1

TXMT

SRO

LINK

1 Causes Interrupt (INTR Goes LOw).
2 RAMT is used to initiate a self-test feature (see section on Self-Test).
For normal operation, program to O.

REGISTER

CR07

CR06

CRO

AOISC

o

H/F

LOOP
TEST

DESCRIPTION

BIT
CROO

MOISC is a mandatory disconnect command. MOISC will cause a logical disconnect in
the link. No DMA accessed data will be transferred as long as MOISC = 1. After Master
Reset (MR pin transition from low to high), MDISC will be set. The W02511 will neither
transmit nor accept received data until MOiSe = O.

CR01

This bit is RECR which defines the CPU's receiver buffer as initially Ready (CR01 = 1). If
RECR
1, this bit indicates that the WD2511 may begin receiving I-frames. (See SROO)

CR02

RAMT - This bit activates an internal register test. See Section on Self tests for
description.

CR03

The LOOP TEST bit will connect the transmitted data output to the receiver input. The
receiver input pins RO and RC are logically disconnected. The "E" and "F" registers of
the A-field should be equal.

CR04

This bit will cause the W02511 to initiate link set-up if CR04 = 1, or to wait for a link setup from the remote device if CR04 = O.

=

= 0, and half duplex if CR05 = 1. (See Appendix A).

CR05

H/F selects full duplex if CR05

CR06

Unused control bits, like CR06, should remain at O.

CRO?

AOISC is used when CR04 = 1 (ACTIVE). When the WD2511 actively initiates link set-up,
a DISC will be transmitted and acknowledged prior to transmission of the SABM if CRO?
= O. Otherwise, the W02511 will send the SABM for link set-up, but not preceed the
SABM with a DISC if CRO? = 1.

36

REGISTER I

I

CR1

CR17

I

TXMT

I

CR16

I

TRCV

I

CONTROL REGISTER 1
I CR13
CR15 I CR14
XI

I

I

ADRV

BIT

0

I

I

CR12

I

CR11

o

I

o

I

I

CR10
SEND

c.n
.....

DESCRIPTION

CR10

The SEND bit (CR10) is used to command the WD2511 to send the next packet or
packets. If SEND = 1, the WD2511 will read from TLOOK the BRDY bit of the next
0, the WD2511 will clear SEND and no action
segment for transmission. If BRDY
occurs. If BRDY = 1, the WD2511 will then read TSADR and TCNT, followed by the
transmission of that buffer: After transmission, the WD2511 clears BRDY of the segment
just transmitted, and reads BRDY of the next segment. If 1, the next segment is transmitted. If 0, the SEND bit is cleared, and transmission of packets is stopped. As a matter
of good practice, the CPU should set SEND each time one of the BRDY bits is set.

=

CR11-13

Unused bits, write in O's.

CR14

The ADRV bit (CR14) is the control for the 16 bit output addresses (AO-A 15). If ADRV = 0,
the outputs are tri-state and are in HI-Z, except when DACK goes low. If ADRV = 1, the
outputs are always low impedance (TTL), and are high-level when DACK is high.

CR15

Xi -

Used when TXMT = 1

Xi = 0 Frame ~ 3 bytes excluding FCS
Xi = 1 Frame < 3 bytes excluding FCS
Receive all frames including unknown frames. See Appendix A.

CR16

TRCV -

CR17

TXMT - Transparent transmit. See Appendix A.

REGISTER

I

SR07

SRO

I

NA2

I

SR06

I

I

NA1

I

STATUS REGISTER 0
SR05
SR04
SR03

I

I

NAO

I

RNRR

BIT
SROO

I

NB2

I

SR02

I

SR01

I

SROO

I

NB1

I

NBO

I

RNRX

DESCRIPTION
RNRX. An RNR has been transmitted, or will be at next opportunity. TheCPU should set
RECR, when receive buffers are available.

SR03-SR01

NB2-NBO. Next block to be transmitted.

SR04

RNRR. This bit is set when an RNR frame is received. Once set, it is cleared when an RR,
REJ, or UA is received.

SR07-SR05

NA2-NAO. Next block of transmitted data to be Acknowledged.

37

:ec

N

.....

:ec

REGISTER

........

I

SR17

I

I

SR1

I\)

en

I

SR16
1XBA

I

I

STATUS REGISTER 1
SR14
SR13
SR15

I

I

1ERROR

I

o

BIT

I

NE2

SR12

SR11

NE1

NEO

I

I

SR10

o

DESCRIPTION

SR10

o

SR13-SR11

NE2-NEO. Next Expected packet segment number of RLOOK.

SR14

o

SR151

The ERROR bit indicates: 1) An error has occurred which is not recoverable by the
WD2511, or 2) A significant event has occurred. The "significant events" are: change in
link status (link-up or down), the WD2511 is progressing to the next segment in a
chained receive buffer, or one direction of the link has been reset.
The exact nature of the reason for the ERROR bit is given in ERO.

SR161

The XBA bit means that a previously transmitted Block, or Blocks, have been
acknowledged by the remote device. Upon acknowledgement, the ACK'ED bit is set to
"1" for each segment in TLOOK which was acknowledged.

SR171

The PKR bit stands for Packet Received. This means that a packet has been received
error-free and in correct sequence according to the received N (S) count. The data (I-field)
has been placed in the CPU's RAM memory. NE is advanced.

NOTE 1: The three interrupt-causing bits are SR17,
SR16, and SR15. Any of the three will cause
an interrupt request (INTR goes low). After

REGISTER

SR27

SR26

SR2

T10UT

IRTS

SR1 is read, all three bits are reset to 0, and
INTR returns high.

STATUS REGISTER 2
SR25
SR24
SR23
REC
IDLE

0

BIT

0

SR22

SR21

SR20

0

0

LINK

DESCRIPTION

SR20

If the link is established, LINK

SR24-21

Unused Bits - 0

= O.lf the link is logically disconnected, LINK = 1.

SR25

REC IDLE indicates that the WD2511 has received at least 15 contiguous 1'so

SR26

IRTS stands for the Internal Request-To-Send bit, and indicates that the transmitter is
attempting (successful or not) to send either data or flags. If the RTS pin is not tied to
ground orWIRE-ORED with another Signal, then IRTS
RTS.

SR27

T10UT bit means that timer T1 has timed-out. This bit returns to 0 when T1 is re-started.
1, T1 is not running. NOTE: This bit could be a 1 for a few microWhen T10UT
seconds in between intervals when T1 stops and is restarted.

=

=

38

ERROR REGISTER (ERO)
ER07
0

0

ER06 EROS
0

0

0

= ROR
= TUR
ER04 = RLNR
ER01
ER02

ER04
0
1

ER03
0
0

ER02
0
0

ER01
0
0

EROO
1
0

0

0

1

0

0

0

0

0

1

0

LINK is up. 0Nas down)
Received DISC or DM while LINK up (See
Note 3)

1
DISC sent, since sent N2 times without
UA. (Note 3).
DISC sent, REC IDLE forT1xN2.

CHAIN STATUS
0

1

1

0

0

EROO
ER01

= GNCS
= CNR
=

000000
LINK RESET RECEIVED if ER05-EROO
LINK RESETTRANSMITIED if ER05-EROO
non-zero

=

EROO similarto W
ER01 similar to X
ER02 similarto Y
ER03 similar to Z
1, but did not send P
1
ER05 means received F
ER04 -I-frame was sent N2 times without acknowledge

=

1

1

=

FRAME REJECT (See Note 1)
RECEIVED if ER05-EROO
000000
TRANSMITIED if ER05-EROO
non-zero
EROO
W
ER01
X
ER02
Y
Z (See Note 2)
ER03

=

=
=
=
=

=

NOTES: 1. Whenever a frame reject (FRMR) is received, the I-field will have been placed in appropriate memory
by DMA, and a link reset SABM will be transmitted. The NB is not advanced.
2. Definitions of W, X, Y, Z as stated in CCITI X.25.
3. DISC transmitted if DM received while link up.

Assigned bits are always O.
TERMS USED IN ERROR REGISTER
GNCS

Going to Next Chain Segment.

RLNR

RLOOK Not Ready. REC RDY bit of next segment is 0, but RECR
not occur if RECR = O.

ROR*

Receiver Over-Run. The Receiver Register (RR) had a character to load into the FIFO, but
the FIFO was full.

TUR*

Transmitter Under-Run. The Transmitter Register (TR) needed a character from the
Transmitter Holding Register (THR), but the THR was not ready. The frame being transmitted is ABORTed.

CNR

Next Chain Segment of Receiver was Not Ready.

= 1. This interrupt will

* TUR and ROR means that the bit rate clocks (TC and RC) are either too fast for the WD2511, or the DACK
response to DROI and DROO is too slow, or both.

39

w, x, Y, Z OF FRMR

These tables contain address and control information for individual send/receive packets.
To access TLOOK and RLOOK only the starting
address of TLOOK is loaded into the WD2511 in
registers A' and B'.

A frame reject (FRMR) contains a three byte I-field.
The first byte is the rejected frame control field. The
second byte contains the current N(S) and N(R)
counts of the terminal reporting the rejection condition. The third byte contains W-X-Y-Z-Z1-0-0-0 where
Wisthe LSB.
W set to 1 indicates that the control field received
and returned in the first I-frame byte was invalid.
X set to 1 indicates the rejected frame contained an
I-field which is not permitted with this command.
X 1 in conjunction with W 1.
Y set to 1 indicates the I-field exceeded the total limit
established. Y is mutually exclusive with W.
Z set to 1 indicates the control field contained ali
invalid N(R). Z is mutually exclusive with W.
Upon receiving a FRMR, the WD2511 will place the 3
byte I-field in memory by DMA, just as if the FRMR
were a packet.

=

REG A

A15 A14 A13 A12 A11 A10 A9

A8

REG B

A7

AO

A6

A5

A4

A3

A2

A1

AO-A1516 bit TLOOK starting address

=

The TLOOK and RLOOK tables are each divided into
8 segments and each segment contains 8 bytes.
Figure 3 illustrates the segmentation of TLOOK and
RLOOK. Figure 5 and 6 illustrate the contents of a
single TLOOK and RLOOK segment.
In transmit, the WD2511 will have read from TLOOK
the starting address and length of the first packet to
be transmitted. The WD2511 will automatically
transmit the flag, address, and control fields. Next,
the information field data will be transmitted using
DMA from the "SEND #0 PACKET" memory. At the
end of the information field, the WD2511 will
automatically send the FCS and closing Flag. The
WD2511 will then move on to the next packet.
If retransmission of one or more (up to seven)
packets becomes necessary, the WD2511 will automatically retrace the previous transmissions through
the TLOOK table. The user's CPU software does not
become involved in the retransmission. However, an
ERROR COUNTER is incremented. (See Error
Counter Section.)

When the WD2511 transmits a FRMR, the frame
reject condition is entered. Only a received SABM or
DISC will clear this condition. If any other command
is received, the WD2511 will re-transmit the FRMR.
However, valid responses received will be acted upon
accordingly. Also, the WD2511 may not transmit
packets while in the frame reject condition.
In the FRMR I-field, bit #4 of the second byte is a "1"
if the rejected frame was a response, and a "0" if the
frame was a command.
MEMORY ACCESS METHOD

The WD2511 memory access is accomplished by the
use of DMA and two look-up tables. These tables are
set-up to allow up to 7 I-frames to be outstanding in
each direction of the communications link. The lookup tables are divided into two areas (T-LOOK and
R-LOOK) and are in memory external to the WD2511.

To receive, each frame is checked for correct address
and FCS fields and for type of control field. If the
frame is a packet, the information field is placed in
the aSSigned memory location in a method similar to
that used in transmit. After the packet is received
error-free and in proper N(S) sequence count, an
interrupt is generated, and the WD2511 is ready for
the next packet which will be placed in the next
location.
Figure 4 shows a "store-and-forward" example that is
useful in a network node.

TLOOK
RLOOK

40

TSADR#O

'------'--'--_....J

r

~

CNT
#0

C

I\)
(J1

......
......

SEND
PACKET #1
(SECOND PART)
FOR THIS EXAMPLE,
TCNT #1 IS
GREATER THAN
LIM. THUS,
SECOND PART
OF #1 IS
CHAINED.

SEND
PACKET
#1
(FIRST PART)
XFRADR

-r

R~~~y;R

LIM

~

BUFFER
XFR ADR
LIM

~I-------i
XFR ADR

ERROR
COUNTERS

Figure 3. MEMORY ACCESS SCHEME

r--------------

LOC~/uP

I
MEMORY--..

-

-

-

-

-

-

-C~B

-

-

-

-,

I

LOOK·UP

TABLE

TABLE

TLOOK

0

I

TLOOK

I
2

f - - - - - --i
5

6
f - - - - - --i
7
RLOOK

j

I

/ ./" -

+

SERIAL
RECEIVE
CHANNELA

-...... -......

I
I

5

. . . .1 - - - - -6-1

/ RSADR #3
CHA

TSADR #6 . /

RECEIVED

--

~

RLOOK

I

~

I
I
I
I

------~--

Figure 4. STORE·AND·FORWARD EXAMPLE

:

I

~

After the Data Buffer is received- by CH A, the length (RCNT) is
in RLOOK segment #3. The CPU interrogates the packet header
(at the beginning of the Data Buffer), and concludes that the
buffer must be send out of CH B. RSADR, RCNT, and the
residual information are transferred from #3 segment to next
available TLOOK segment in CH B which is #6 in this example.

41

I

7

CH~f--------i

T
I
R~T ~~:; IB~

~--./-----WD2511
CHA

-

I

f------~-i ! T B~~;~R
f-------:~:-V//J

I
I

__

4

I

I
~

,

WD2511
CHB

SERIAL
TRANSMIT
CHANNEL B

After receiving an error-free packet with correct N(S),
the WD2511 will, in order: 1) Set FRCML (Frame
Complete), clear REC ROY, and store received
residual count. 2) Store the received length, in
characters, of the I-field in RCNT HI and RCNT LO. 3)
Advance the NE count, and generate a packet
received interrupt. 4) Acknowledge the received
packet at the first opportunity.
The addresses (TSADR and RSADR) are 16-bit binary
addresses. HI represents the upper 8-bits and LO
represents the lower 8-bits. The counts (TCNT and
ReNT) are 12-bit binary numbers for the number of
characters in the I-field.

TLOOK AND RLOOK

=e
cN

....
....
(J'1

Figures 5 and 6 detail the individual segments for
TLOOK and RLOOK.
BRDY means that the transmit buffer is ready. The
WD2511 will send the block only after the CPU makes
BRDY = 1. (BRDY is used in conjunction with the
SEND bit.) At the completion of the transmission, the
WD2511 will make BRDY = 0, and then read the
BRDY of the next segment.
After transmitting a packet, an ac~nowledgement
must be received from the remote device. The
acknowledgement is contained in the received N(R)
count of an I-frame or S-frame. Upon acknowledgement, the WD2511 will make ACK1ED = 1, and
generate a block-acknowledged interrupt. Before
assigning a new block to a segment in TLOOK, the
CPU must make sure that the previous block which
used that segment number has been acknowledged.
REC ROY informs the WD2511 that the receive buffer
is ready. The WD2511 will not receive a packet into a
buffer referenced by a particular segment until REC
ROY = 1. If the WD2511 progresses to a segment
which has REC ROY = 0, an error interrupt will be
generated.

TSADR is the starting address of the buffer to
transmit, and TCNT is the binary count of the number
of bytes to transmit.
RSADR is the starting address of the receive buffer.
After successfully receiving the packets, the WD2511
will write the value of ReNT which is the binary
length of the received packet.
Whether the WD2511 accesses a look-up table or a
memory block, a DMA Cycle is required for each
access.

Figure 5. TLOOK SEGMENT
BIT#

BYTE # IN
SEGMENT

1

7

6

5

4

3

2

1

0

ACK'ED

NS

NS

NS

NS

NS

NS

BRDY

2

TSADR HI

3

TSADR LO

4

TCNT HI

SPARE

5

TCNT LO

6

SPARE FOR USER DEFINITION

7

SPARE

8

SPARE

NS = Not Spare

42

Figure 6. RLOOK SEGMENT

=e

BITH
BYTEHIN
SEGMENT

7

6

5

4

3

2

1

0

1

FRCML*

NS

NS

NS

RES2

RES1

RESO

REC
RDY

2

RSADR HI

3

RSADR LO

4

NS

NOT SPARE

RCNT HI

5

RCNT LO

6

SPARE FOR USER DEFINITION

7

SPARE

8

SPARE

= Not Spare (NOTE: The "not spare" bits may be either 1 orO).
= Frame Complete

* FRCM L

The control bits in TLOOK (BRDY and ACK'ED) and in
RLOOK (FRCML and REC RDY) define various states
for each segment. These states are shown below:
TLOOK STATES
ACK'ED

BRDY

STATE

0

1

0

0

Ready To Transmit (CPU set BRDY, cleared ACK'ED)

1

0

Received Acknowledge (WD2511 set ACK'ED)

1

1

This state not allowed

*Transmitted and Awaiting Acknowledge (WD2511 cleared BRDY)

* State 0-0 could also occur whenever there is no data ready to send.

CPU SETS
BRDY

CPU
CLEARS
ACK'ED
CPU CLEARS ACK'ED
AND SETS BRDY

RECEIVED
ACKNOWLEDGE
1-0

DATA HAS BEEN
SENT WAITING
FOR ACKNOWLEDGE

WD2511 SETS
ACK'ED

a-a

WD2511 CLEARS
BRDY

TLOOK SEGMENT STATE FLOW
Notice that in a TLOOK segment, the 0-0 state could
have two meanings. Due to control internal to the
WD2511, this will not pose an ambiguity to the
WD2511. However, if it is a difficulty to the CPU, the
CPU could do two things:

2. At start-up, the CPU should set all ACK'ED bits.
(Since this would only be a start-up procedure, this
would not violate the "deadly embrace" rule.)
As another alternative, the CPU could use one or
more of the SPARE bits for additional state control.

1. Avoid ever entering the "NO DATA TO SEND"

In the "WAITING FOR ACKNOWLEDGE" state, one
or more re-transmissions could occur.

43

cN

.....
.....

CJ1

:ec
I\)

........

CJ1

REG = C

CHAIN

C~
IMIT

Bit
7

Bit
6

LIMIT
Bit
5

Bit
4

Bit

Bit
2

3

Bit
1

Interrupt code 42 if XRF ADR = all O's. Otherwise,
there will be an Interrupt code 41 which is a status
indication that the WD2511 is going to the next
segment.
On the receiver, Register 6 upper 4 bits gives a status
of which chain segment is currently being used.
The transmitter chaining works just like the receiver
with the following exceptions:

CHAINING
The WD2511 includes a chained-block feature which
allows the user more efficient use of memory particularly in situations where the maximum packet
size is much larger than the average packet size.
Register C is used to program the chaining feature.
The upper 4 bits define CHAIN which is the number
of chain segments allowed in addition to the first
segment. (If this feature is not used, make CHAIN
aIlO's).
The lower 4 bits of Register C define limit which is
the size of the buffer in multiples of 64 bytes including the transfer address (XFR ADR). If LIMIT is
0000, the size is 64. For 0001, the size is 128, and
soon.
For example, suppose that the LIMIT defines a
segment size of 128 and that CHAIN defines 8 additional segments in addition to the first. (Note:
Register C would be hex 81 in this example.) When
126 bytes of I-field have been received, the WD2511
will take the next two bytes as a transfer address
(XFR ADR) pointing to another segment. At the end
of that segment is another XFR ADR, and so on, up to
a maximum of 9 total segments.
On the receiver, a XFR ADR of all O's will mean that
the next segment is not ready. If the WD2511 reaches
a XFR ADR on the receiver, there will be an Error
RLOOK STATES

1. XFR ADR = all O's will not indicate next segment
not ready.
2. There is no interrupt when going from one
segment to another.
3. There is no status of the current segment being
used.
The total receiver limit is given by the expression:
TOTAL RECEIVER LIMIT

= (64 X (1
(1

+ LIMIT) - 2) X
+ CHAIN)

Also, note that the transmitter and receiver counts
are modified by 2 for each time a chain boundary is
crossed. For example, if LIMIT = 0001 (segment size
= 128 including XFR ADR), and if an I-field of 270
bytes is to be transmitted, then there will be two
times that a chain boundary is crossed. The TCNT
must be made 274 to send 270 bytes. The same is
true for RCNT.

STATE

FRCML

REC ROY

0
1

0

Ready To Receive (CPU set REC RDY, cleared FRCML)
Received Packet (WD2511 set FRCML, cleared REC RDY)

0
1

0
1

Not Ready (CPU cleared FRCML)
This state not allowed

1

NOT
READY
0-0

Bit
0

CPU SETS
REC R D Y - - - - - .

r - - = - - - -.......

CPU CLEARS
FRCML, AND
SETS
REC ROY

READY TO
RECEIVE
0-1

WD2511 CLEARS REC ROY
AND SETS FRCML

RLOOK SEGMENT STATE FLOW
44

"DEADLY EMBRACE" PREVENTION
A "deadly embrace" can occur when two processors
reach a state where each is waiting for the other. In
this case, the two processors are the user's CPU and
the micro-controller inside the WD2511. Therefore, to
prevent the "deadly embrace," the following rule is
obeyed by the WD2511 and should also be obeyed by
the user's CPU. This rule applies to TLOOK, RLOOK
and to the 1/0 registers. The Error Counters do not
apply to this rule.

ERROR COUNTERS
Following contiguously after RLOOK are six a-bit
error counters. The WD2511 will increment each
counter at the occurrence of the defined event.
However, the WD2511 will not increment past 255 (all
1's). The CPU has the responsibility of clearing each
counter. The first counter past RLOOK is #1, etc.
ERROR
COUNTER

* Received Frames with FCS Error
(includes frames ABORTed in the
I-field).

RULE: If a bit is set by the CPU, it will not be set
by the WD2511, and vice versa. If a bit is
cleared by the WD2511, it will not be
cleared by the CPU, and vice versa.
As an example, the BRDY bit in the TLOOK segments
is set by the CPU, only, but cleared by the WD2511,
only.

Received Short Frames (less than
32-bits)

3

**Number of times T1 ran-out
(completed)
Number of I-Frame Retransmissions due to T1 completing

5
6

= Next Expected to be Received

OTHER 1/0 REGISTERS
RECEIVED C-FIELD

VARIABLE BIT LENGTH
AND RESIDUAL BITS
The WD2511 will send a bits per character, only. Also
all transmitted frames will be integer multiples of
bytes.

Register 7 is the C-field of the last received frame,
provided the A-field of the frame was equal to either
register E or F, the FCS was good, and the frame
contained 32 or more bits, and the WD2511 is not
waiting for a SARM or DISC in response to a transmitted CMDR.

The WD2511 may receive a packet with, or without,
an integer multiple of bytes. The "RES" bits in the
RLOOK tables shows the number of residual bits.
The residual bits occupy the lower portion of the last
received character.

TIMER
Registers a and 9 define a 10-bit timer (T1), and a 6-bit
Maximum Number of Transmissions and Retransmissions counter (N2).

Received Residual Bits
REGISTER

0
1
1
1
1

0
0
1
1

0
1

0
0

0

1
1

0

0
1
1
1

REJ Frames Transmitted

The Error Counters are accessed by the WD2511
transmitter DMA channel. Therefore, if multiple
errors are received while the WD2511 is transmitting
a long frame, only the last error will be counted. The
only Counters which could miss counts because of
this are Counters #1, #2, and #5. The error Counters
are incremented only when the link is up (LINK = 0).

=

0
0
0

* REJ Frames Received

* These counters are incremented only if the
received A-field is equal to either Register E or F.
* * Incremented only when attempting to transmit a
command.

NA
Next to be Acknowledged
NB = Next Block to be Transmitted

RES2 RES 1 RESO

2

4

TLOOK AND RLOOK POINTERS
There are three 3-bit counters for the status of the
segments in TLOOK and RLOOK. Status Register #0
(SRO) contains counters NA and NB which are used
in conjunction with TLOOK. NB is the segment
number of the next block to be transmitted, and is
advanced at the end of each block transmission. NA
is the value of the segment of the next block which
will be acknowledged. If all transmitted blocks have
been acknowledged, then NA = NB.
In SR1 is a3-bit counter, NE, used with RLOOK. NE is
the value of the segment number where the next
received packet will be placed.

NE

COUNT

0
7
6
5
4
3
2
1

o

7

a

T1

9

N2
MSB

MSB = Most Significant Bit
LSB = Least Significant Bit

45

LSB

T1 provides the value of a delay ih waiting for a
response and/or acknowledgement. The delay is the
binary count of clock CT where:
CT

_
-

Once the CPU establishes T1 and N2, there is no
need to write into T1 and N2 again unless a master
reset (MR) has occurred, there is a power loss, or the
CPU needs to change T1 or N2. If a time-out occurs,
the WD2511 will still retain T1 and N2.

16,384
ClK

The conditions for starting, stopping, or restarting T1
are shown below: ("Re-start" means starting T1
before it ran-out).

Thus, if ClK = 1 MHz, then T1 may be set in increments 16.384 milliseconds, to a maximum delay
of 16.78 seconds. All ones in T1 is maximum delay.

1.

2.
3.
4.

STARTT1

RE·START T1

STOP T1

* I-frame sent if T1 not already
in progress due to previous
I-frame

* Acknowledgement received
to some, but not all, I-frames.

Acknowledgement received for
all I-frames.

-

* RNR received while link up.

SARM or DISC sent. (N2
restarted at first occurrence)
Receiver Idle (REC IDLE

-

UA or DM Received

= 1)

Detect REC IDLE

=0

-

5. S - command sent
* N2 is restarted where shown by asterisk (*).

NOTE: Reason 4 and 5 (above) are overridden by reasons 1, 2 and 3. On reason 2, T1 is stopped if the received
RNR acknowledged all outstanding packets.
"A" FIELD REGISTERS
Registers E and F provide a programmable A-field.
This allows the WD2511 to be a super-set of the X.25
document. That is, the WD2511 can handle a wider
range of application than the DTE-DCE links defined
in X. 25. These wider ranges include: DTE-to-DTE
connection, multipoint, and loop-back testing.
If the WD2511 is strictly in an X.25 DTE-DCE link, use
the values shown below:
DTE

Register E = 01
Register F = 03

DCE

Register E = 03
Register F = 01

If performing a loop-back test either internal
(CR03 = 1) or external, registers E and F should be the
same.

46

V.

LAPB PROCEDURE

Commands from DTE to DCE and responses from
DCE to DTE are address B (hex 01).

The Link Access Procedure Balanced (LAPB) is
described in CCITI Recommendation X.25 as the
Level 2 protocol for the Asynchronous Balanced
Mode (ABM).

The individual commands and responses are shown
in Figure 7.
One use of the Poll bit (P) is in conjunction with TimeOut Recovery. Timer T1 is started at the beginning of
a transmitted command provided it has not been
previously started. If T1 runs out (completes), the
command will be retransmitted with P = 1. If T1 runs
out again, the command will again be retransmitted,
with P= 1 up to N2 times. At N2 + 1, an error interrupt will occur. If the command was an I-frame, the
WD2511 will reset the link by transmitting a SABM. If
a 8ABM (either for link set-up or link reset), the
WD2511 will send a DISC. If a DISC, the WD2511 will
continue to send a DISC.

Zero bit insertion/deletion, use of flags and FCS are
part of Level 2, and have been discussed in this
document.
The OTE is the Data Terminal Equipment and the DCE
is the Data Circuit Termination Equipment, and is the
network side of the DTE-DCE connection.
The OTE and DCE are each "combined" stations in
that each can transmit and receive commands and
responses. Commands and responses are defined by
the A-field. Commands from DCE to DTE and
responses from DTE to DCE are address A (hex 03).

Figure 7
LAPB Commands and Responses (Bit 0 is transmitted first)
Only the CMDR and I-frame contain I-fields
FRAME TYPE

COMMAND

RESPONSE

BIT#

7

6

5

4

3

P

N(8)
1

1

0

1

1

0

1

1

INFORMATION
(I)

I-FRAME
OR PACKET

UNNUMBERED
(U)

8ABM

0

0

1

P

DISC

0

1

0

P

0

1

1

F

1
0
0

N(R)

UA

SUPERVISORY
(8)

2

1

0
0
1

FRMR

1

0

0

F

0

1

1

1

DM

0

0

0

F

1.

1

1

1

RR

RR

N(R)

J?
F

0

0

0

1

RNR

RNR

N(R)

fl-

O

1

0

1

*REJ

REJ

N(R)

3

1

0

0

1

F

F

*The WD2511 will not send a REJ command (will send REJ response, only), but may receive either a REJ
command or REJ response.

47

:ec
~
(J1

......
......

:ec
N

c.n
......

......

TRANSMISSION OF ABORT
An ABORT (a 0 followed by at least seven 1's) is
transmitted to terminate a frame in such a manner
that the receiving station will ignore the frame. There
are three conditions which will cause the W02511 to
transmit an ABORT:
1. An ABORT is sent when there is a Transmitter
Under-Run
2. While transmitting a packet, if a REJ S-frame is
received, the packet is ABORTed.
3. IfT1 times-out while a packet is being transmitted,
the packet is ABORTed. Caution: If a packet is
longer (in time) than T1, the packet will always be
ABORTed.

the loop-Back Test. This test provides a means to
check the other four registers.
The contents of Register A are placed in two even
internal registers, and the contents of Register B in
two odd internal registers. The four registers are then
added together without carry and the result is placed
in Registers 2, 5, 6 and 7. This test is initiated when
RAMT (CR02) = 1. Use the following procedure:
1. Set-up Registers A and B.
2. Set RAMT.
3. Wait at least 50 times the ClK Period.
4. Read Registers 2,5,6 and 7.
To repeat the test for new values in Registers A
and B:
5. Clear RAMT.
6. Wait at least 100 times the ClK period.
7. Go back to step 1.

SELF·TESTS
There are two self-test features: 1) Internal RAM
Register Test and 2) loop-Back Test. Both tests are
suitable for manufacturing testing, user incoming
inspection testing, or system diagnostics and
trouble-shooting.

LOOP·BACK TEST
The loop-back may be internal (CR03 = 1) or external
(CR03 = 0). Of course, if external, RO and TO must be
tied together either directly or remotely.

INTERNAL RAM REGISTER TEST
There are eleven 8-bit registers internal to the
W02511 which are not directly accessible by the
user's CPU. Seven of these registers can be tested by

If CR03 = 1, TO is internally tied to RO, and the pin at
RO (16) is internally disconnect~ Also, TC is internally tied to RC, and the pin at RC (17) is internally
disconnected.

48

NOTE:
Maximum limits indicate where permanent device
damage occurs. Continuous operation at these limits
is not intended and should be limited to those
conditions specified in the DC Electrical characteristics.

WD2511 ELECTRICAL SPECIFICATIONS:
ABSOLUTE MAXIMUM RATINGS:
Voltages referenced to VSS
High Supply Voltage (VDD) . . . . . . . . . .. - 0.3 to 15V
Voltage at any Pin .................. - .03 to 15V
Operating Temperature Range ...... O°C to + 70°C
Storage Temperature Range .... - 55°C to + 125°C

Operating DC Characteristics: VSS = OV, VCC = 5.0V ± .25, VSS = 12.0V ± .6V TA = 0° to 70°C
SYMBOL

PARAMETER

MIN

TYP

MAX

UNIT

IDD

VDD Supply Current

20

70

mA

ICC

200

280

mA

VDD

VCC Supply Current
High Voltage Supply

11.4

12

12.6

V

VCC

Low Voltage Supply

4.75

5

5.25

V

VIH

Input High Voltage

2.4

VIL

Input Low Voltage

0.8

V

CONDITIONS

V

VOH

Output High Voltage

VOL

Output Low Voltage

0.4

V

V

ILH

Input Leakage Source or Sink

10

uA

10ZH

Input Leakage High
Impedance

10

uA

Yin = VCC

10ZL

Output Leakage High
Impedance

10

uA

Yin = VSS

2.8

49

10= -0.1mA
1.6mA

10=

==

C

I\)
(J1

......

......

AC Timing Characteristics: VCC

SYMBOL

= 5V ±

.25; VDD

PARAMETER

= RV ±
MIN
0.5

.6V, VSS

= OV, TA = 0° to 70°C

TYP

MAX

UNIT

2.0

CONDITIONS

elK

Clock Frequency

MHz

Note 1, 2

RC

Receive Clock Range

0

MHz

Note 3, 4

TC

Transmit Clock Range

0

MHz

Note 4

MR

Master Reset Pulse Width

10

mS

TAR

Input Address Valid to RE

0

TRD

Read Strobe (or DACK
Read) to Data Valid

375

ns

THD

Data Hold Time From Read
to Strobe

80

nS

THA

Address Hold Time From
Read Strobe

80

ns

TAW

Input Address Valid to
Trailing Edge of WE

200

nS

nS
Note 5

TWW

Minimum WE Pulse Width

200

nS

TDW

Data Valid to Trailing Edge
of WE or Trailing Edge of
DACK for DMA Write

100

nS

TAHW

Address Hold Time After
WE

80

nS

TDHW

Data Hold Time After WE or
After DACK for DMA Write

100

nS

TDA1

Time From DROO (or DROI)
to Output Address Valid if
ADRV
1

80

nS

TDAO

Time From DACK to Output
Address Valid if ADRV
0

400

nS

Note 5

TDD

Time From leading Edge of
DACK to Trailing Edge of
DROO (or DROI)

400

nS

Note 5

TDAH

Output Address Hold Time
From DACK

100

nS

TDMW

Data Hold Time From DACK
For DMA Read

100

nS

TRP1

REPLY Response Time
(leading edge)

240

nS

Note 5

TRP2

REPLY Response Time
(trailing edge)

260

nS

Note 5

=

=

NOTES:
Clock must have 50% duty cycle.
Buffer chaining is not guaranteed when ClK is greater than 1.5 MHz.
Residual bit detection logic not guaranteed when RC is greater than 50Kbps.
See "Ordering Information" for maximum serial rates.
C(load) = 100pf

1.
2.
3.
4.
5.

50

DMA TIMING
DMA OUT

DMA IN

(AO-A15 SAME AS DMA READ)

DRQI~
AO-A 15 -:--f----=----1~
(ADRV = 0)
'------------'
AO-A15
(ADRV
1)

=

DACK

I

---J

DALO-DAL7

-------~<

~

-

TDMW
DATA VALID

A~-------

-------'\V~_=-----'/.,----­
-.j T DW/.-TDHW-l

M~MU

-------------/1

DACK---~

-TDD----.j

I

-------------«

TDAH

DATA VALID

>---

~

)>------

f--TRD---j

CPU READ/WRITE TIMING
CPU READ

CPU WRITE (CS

(CS IS LOW)

IAO-IA3==><_ _ _ _ _ _ _ _~r==

IAO-IA3==><
~
. _
14~--~T~AW------

I

FiE

IS LOW)

WE--~~---TWW----~~-----

DALO-DAL7

DALO-D~A=L7~_ _ _+_~

----~-r---~

R E P L y - - - - -_____ 1t

REPLy----"""'p

* NOTE: There must not be a CPU read or write (CS--RE or CS--WE) within 500 nanoseconds after the trailing
(rising) edge of DACK_
There must not be the leadinQ.j!alling) edge of DACK allowed within 500 nanoseconds after the
completion of a CPU write (CS--WE).
RE and WE must not be low at the same time.

51

52

APPENDIX A
Transparent Modes ....................................................................... .
Features of the Transparent Modes .......................................................... .
How the Transparent Modes Work ........................................................... .
Transparent Transmit ...................................................................... .
Transparent Receive ...................................................................... .
Table I, Packet Received ................................................................... .
Table II, UFI Received ..................................................................... .

APPENDIX B
Half Duplex Option ....................................................................... .

APPENDIX C
State Descriptions ....................................................................... .
Link Down Flow ......................................................................... .
Link Up Flow ................................................................. " ......... .
State Table I, Link Down, But Going Up ....................................................... .
State Table II, Link Going Down rNas Up) ...................................................... .
Use of Flags by the WD2511 ................................................................ .
Definitions of Command and Response ....................................................... .
State Table III, Sending I-Frames and S-Commands .............................................. .
Receiving and Transmitting a Null Packet ..................................................... .
Sending a REJ (Response) ................................................................. .
Receiving a REJ (Response or Command) ..................................................... .
Definition of Valid Received N(R) ............................................................ .
State Table IV, Sending an RNR (RNRX) ....................................................... .
State Table V, Receiving an RNR (RNRR) ...................................................... .
Sending S-Frames Commands ................................................ , ............. .
Conditions For Sending Link Reset .......................................................... .
Unsolicited UA or Unsolicited F Bit .......................................................... .
Sending an FRMR ........................................................................ .
Receiving an FRMR ...................................................................... .
Protocol Significance of TLOOK/RLOOK Pointers .............................................. .
Use of the RECR Bit ...................................................................... .

53

:e

cI\)
CJ'1

.....
.....

54

APPENDIX A

cleared, but the BRDY bit will not be cleared. The NB
pointer will not be incremented. To send another
transparent frame, set SEND. To resume packet
transmission, clear TXMT and set SEND. (Of course,
the TLOOK segment must be set-up prior to setting
SEND.)
If SEND is set while the link is down, a transmission
will occur even if TXMT = O. Under this condition, a
packet will be transmitted from current TLOOK
segment, and NB and V(S) will be incremented, and
the chip will go on to the next TLOOK segment just
as if the link were UP. However, the WD2511 will
expect no acknowledgment to the packet(s). If the
link is brought UP later, NB and V(S) are cleared to 0
at the time the link comes UP.
The bit XI (CR15) is used only when TXMT= 1. Xi
stands for Transmit I-field. If the frame contains three,
or more bytes, not counting FCS, make Xi = O. If the
frame contains two bytes not counting FCS, make
Xi = 1. When Si 1, only two frame bytes will be
transmitted regardless of TCNT. DO NOT attempt to
transmit a frame with TXMT = 1 and XI = 0 if TCNT is
2,1, orO.

TRANSPARENT MODES
The WD2511 was originally intended to be a link level
controller meeting the requirements of X.25 LAPB,
and this has been accomplished. However, there has
been an increasing demand from potential WD2511
users for additional frame types not included in the
LAPB frame type repertoire.
For example, the Bell System standard, BX.25, calls
for the use of XID (exchange identification) in LAPB
connections of DTE-to-DTE. (Of course, DTE-to-DTE
is not X.25 in the strictest sense.) Also, Western
Digital has received several requests for the use of a
SIM (set initialization mode). Also, there has been one
request to allow "unknown" frames to pass thru the
chip for the purpose of teleloading.
Therefore, to the WD2511 we have added two
selectable modes: transparent transmit and transparent receive. Basically, these two modes allow the
user the option to pass non-LAPB frames thru the
chip without controlling these frames according to
the LAPB protocol.

=

1_2 TRANSPARENT RECEIVE

FEATURES OF THE TRANSPARENT MODES
• May transmit any A and C field under transparent
control.

For the purposes of this discussion, it is necessary to
define an "unknown frame." That is, a frame which is
"unknown" to the WD2511.
Unknown Frame: A U-frame (unnumbered) frame
which is not part of the LAPB repertoire. The U-frame
repertoire in LAPB is SABM, DISC, DM, UA, and
FRMR. For the purposes of this discussion, "UF" will
refer to an unknown frame without an I-field, and
"UFI" will refer to an unknown frame with a I-field.

• May receive any U-frame not part of the LAPB
repertoire if transparent-receive enabled.
• Transparent modes are link state independent.
• Software to control WD2511 is backward compatible with the WD2501 (LAP chip).
1.0 HOW THE TRANSPARENT MODES WORK

A received SREJ (Selective REJect), which is an Sframe, is not considered an unknown frame by the
WD2511. If the link is DOWN and an SREJ command
is received, a DM response will be sent. If the link is
DOWN and a SREJ response is received, the SREJ is
disregarded. If the link is UP and a SREJ command or
response is received, a FRMR will be sent with W = 1.
The WD2511 will treat a received SREJ the same
whether TRCV is 0 or 1.
A received packet (I-frame) response is not considered an unknown frame by the WD2511. If the link
is DOWN, the frame is disregarded. If the link is UP, a
FRM R wi II be sent with W = 1 and X = 1. The received
packet response is treated the same whether TRCV
isOor1.
Whether TRCV is 0 or 1, the WD2511 will check all
received frames to insure that the A-field equals
either Register E or F, and that the FCS is correct,
and that the frame contains 32 bits, or more. If
TRCV 0, and if a UF or UFI is received, and if the
link is UP, the WD2511 will send a FRMR with W = 1
(Wand X are 1 in the case of a UFI). See "States of the
WD2511."

Two control bits have been added. TXMT (CR17) is the
bit to enable the Transparent Transmit, and TRCV
(CR16) will enable the Transparent Receive.
1.1 TRANSPARENT TRANSMIT
When TXMT = 1, the WD2511 will transmit the frame
in the next TLOOK segment provided SEND (CR10)
= 1, and BRDY of that TLOOK segment is 1. The link
may be either UP or DOWN. The WD2511 will not add
the A and C fields to the Transparent Transmitted
frame. The user's CPU must add these fields as the
first two bytes in the transmit buffer. Thus, the
significance of the transmit count (TCNT) is different
from packet transmission. In packet transmission,
TCNT is the count of the I-field. In transparent transmission, TCNT is the I-field plus the A and C fields (1field plus two bytes).
The timer, T1, will be disabled in transparent transmission. Therefore, if using this feature while the link
is UP, it is advised that TXMT be set only when there
are no outstanding (unacknowledged) packets which
is indicated whenever NA = NB.
At the end of the transparent transmission, there will
be an interrupt with XBA = 1. The SEN D bit wi II be

=

When TRCV = 1, the WD2511 will be enabled to
receive all frames. If the frame is "known" by the

55

WD2511, it will be treated according to the protocol
just as if TRCV = O. However, if the frame is a UF or
UFI, it will be passed on to the user's CPU.
When an unknown frame is received, and when
TRCV = 1, there will be an interrupt with ERROR= 1,
and the Error Register (ERO) will contain one of the
following hexidecimal values:

ERO

60
61
62

63

FRAME RECEIVED
UFI Response
UFICommand
UF Response
UFCommand

The C-field of the received frame is contained in
Register #7. If the frame had an I-field, the frame will
be placed in the next RLOOK segment, and the value
of RCNT will represent the count of bytes in the
I-field (not including the A and C fields). The RLOOK
pointer, NE, will be incremented. Therefore, the
relationship between NE and V(R) will not be
guaranteed if transparent receive is used while the
link is UP. However, this will not cause a sequence
problem in the protocol since the actual V(R) is
maintained in an internal register in the WD2511.
Note that NE is cleared when the link is brought UP.
Thus, if transparent receive is used only when the
link is DOWN, then NE will be equal to V(R).
A word of caution. If the next RLOOK segment is not
ready when a UFI is received, the Error Register (60 or
61) will be overwritten almost immediately with an
error code 10 (RLNR), and the user will not know if
the received UFI was a command or response.
If RECR is set while the link is DOWN, the WD2511
will prepare to receive I-fields, whetherTRCV is 0 or 1.
If a packet command is received, there will be a PKR
interrupt, and the NE and V(R) will be incremented. Of
course, NE and V(R) are cleared once the link is
brought up.
The following tables show what action the WD2511
will take when various frames are received.

56

TABLE I. PACKET RECEIVED (command, not response)
LINK
DOWN

RLOOKREADY
NO

TRCV
00r1

ACTION BY WD2511
DISREGARD

DOWN

YES

00r1

If N(S) = V(R), PKR interrupt. V(R) and NE
incremented. No ack transmitted. If N(S) not
= V(R), DISREGARD.

UP

NO

oor 1

If N(S) = V(RT), RNR sent. Else, REJ condition
entered.

UP

YES

oor 1

If N(S) = V(R), PKR interrupt. V(R) and NE
incremented. Acknowledgement sent at next
opportunity. If N(S) not = V(R), enter REJ
condition.

RLOOKREADY

TRCV

ACTION BY WD2511

TABLE II. UFI RECEIVED
LINK
DOWN

NO

oor1

DISREGARD

DOWN

YES

0

DISREGARD

DOWN

YES

1

Error interrupt 60 or61. NE incremented.

UP

NO

0

FRMR sent. W= 1 X= 1

UP

NO

1

DISREGARD

UP

YES

0

FRM R sent. W = 1 X

UP

YES

1

Error interrupt 60 or 61. NE incremented.

If TRCV = 1 and UF (no I-field) is received, there will
be an Error interrupt 62 or 63, independent of the link
state or the readiness of RLOOK.
Of course, the received C·field of any frame will be in
Register #7 provided the A-field matched either
Register E or F, the FCS was good, and the frame
contained 32, or more, bits.

57

=1

APPENDIX B
HALF DUPLEX OPTION
The WD2511 is basically a full duplex device. The
receiver is maintained in an "always ready" condition
even if the receive buffer is not ready. Thus, whether
the received frame came from a full or half duplex
system is of no consequence to the WD2511.
Therefore, the half duplex option affects only th~
WD2511 transmitter. Half duplex is enabled when H/F
(CR05) = 1.
The WD2511 will transmit one frame at a time according to the following procedure:
A. Enable RTS (RTS goes low).
B. Wait for CTS (CTS input goes low).
C. Transmit frame.
D. Remove RTS (RTS goes high 2Y2 bits of time
after the last 0 of the trailing flag.)
NOTES:
The leading flag will be transmitted somewhere
between 5 and 13 bits after CTS goes low.
RTS returns high after about 3 bits of the second
trailing flag has been transmitted.
If T1 is started, it is started when RTS goes low.
After RTS ~ low, the frame will not begin transmission until CTS goes low. After the frame has started,
the transmission of that frame is completed even if
CTS returns high during the frame.

58

APPENDIX C
STATE DESCRIPTIONS

~

The State Descriptions consists of flow charts,
tables, and verbal definitions to show how the
WD2511 will react to various external conditions. The
State Descriptions contain the following topics:

C

I\)

en
.....
.....

Link Down Flow
Link Up Flow
State Table I. Link Down, but Going Up
State Table II. Link Going Down
Use of Flags by the WD2511
Definitions of Command and Response
State Table III. Sending I-Frames (Packets) and
S-Commands
Receiving and Transmitting a Null Packet
Sending a REJ
Receiving a REJ
Definition of Valid Received N(R)
State Table IV. Sending an RNR (RNRX)
State Table V. Receiving an RNR (RNRR)
Sending S-Frame Commands
Conditions for Sending Link Reset
Unsolicited UA and Unsolicited F Bit
Sending an FRMR
Receiving an FRMR
Protocol Significance of TLOOKIRLOOK Pointers
Use of the RECR Bit

59

'\

LINK DOWN

SEND IDLE.
RECEIVER
IGNORED.
CLEAR
SEND
BIT
SEND
TRANSPARENT
FRAME

SEND
DISC

N

SEND DM

TRANSPARENT
RECEIVE

60

LINK UP
CONDITIONS FOR RESET OR DISCONNECT

LINK GOES UP
FROM STATE TABLE I.

INTERRUPT
ERO=21

CLEAR NE,
NA, N B, V(R), V(S),
SEND UA.

INTERRUPT
ERO=80

INTERRUPT
ER07= 1
ER06=O
INTERRUPT
ERO=CO
N
INTERRUPT
ERO=30

SEND UA

INTERRUPT
ERO=30

SEND
DISC

SET LINK = 1

o

61

SEE
"SENDING A
FRMR"

~

'STATE TABLE I
LINK DOWN, BUT GOING UP
(Column 2 also applies to link reset)

I\)
(II

ACTION BY WD2511

C

........

Stimulus:

Column 1:
DISC sent. WaitinQ for UA or DM.

Column 2:
SABM sent. Waiting for UA.

=1.

T1 runs out

Re·send DISC. P = 1.

Re·send SABM. P

T 1 and N2 run out

Re·send DISC. P = 1.

Send DISC. Interrupt ERO = 24. Go
to column 1

Received UA

Send SABM. Go to column 2.

Clear NA, N B, N E, V(R), V(S). Go to
link up flow.

Received DISC

Send DM.

Send DM.

Received SABM

Send DM.

Send UA. Clear NA, NB, NE, V(R),
V(S). Keep waiting for UA.

Received DM

Send SABM. Go to column 2.

Send DISC. Go to column 1.

Received something
other than UA, DM,
DISC, or SABM

Disregard.

Disregard.

STATE TABLE II
LINK GOING DOWN rNAS UP)
ACTION BY WD2511
Column 1:
DISC sent. Waiting for UA.

Column 2:
MDISC (CROO) set.

T1 runs out

Re·send DISC. P = 1.

Send DISC. Go to column 1.

Received UA or DM

Go to Link Down Flow

Stimulus:

Received SABM

Disregard

Received DISC

Send UA. Go to Link Down Flow

Received something
other than DISC,
SABM, UA, or DM

Disregard.
DEFINITIONS OF COMMAND AND RESPONSE
A transmitted or received command or response is a
frame with the A·field defined below:

USE OF FLAGS BY TH E WD2511

The WD2511 will send interlrame flags whenever full
duplex is selected (CR05 = 0), and point ST of the
Link Down Flow point has been entered. In half
duplex (CR05 = 1), interframe fi II wi II be all l' s.

FRAME

A·FIELD

=

The WD2511 does not require the interlrame time fill
flags. Either idle (all 1's) or flags will be accepted.
However, if the receiver detects idle for time T1 X N2,
the WD2511 will send a DISC.

Transmitted Command

Register E

Received Command

Register F

Transmitted Response

Register F

When sending continuous flags, the WD2511 will
send:

Received Response

Register E

For non·transparent transmitted frames, only com·
mands or responses are transmitted. A transparent
transmitted frame (TXMT = 1) may have any A·field
the user chooses.

011111100111111001111110011 ...
The WD2511 will accept either the above sequence
as continuous flags, or the "shared zero" pattern:
011111101111110111111011111 ...

All received frames must be either commands or reo
sponses, or the frame is disregarded ("thrown
away"), even if transparent receive is enabled
(TRCV= 1).

62

STATE TABLE III
SENDING I-FRAMES (PACKETS) AND S-COMMANDS
NOTES:
In all subsequent pages, the link is considered Up (LINK = 0) unless otherwise stated. X = don't care. TXMT = a
for Table III.
SEND

BRDY

NAANDNB

1

a
1

X

a

No

No

Clear SEND (CR10)

X

a

No

No

Send next packet with
N(S) = N B. After transmission complete. Increment NB. Exception: If
NB + 1 = NA, do not send
next packet. There are 7
outstanding.

X
X
X

X
not=
not=

1
X
a

Yes

No
No
Yes

Send S-command, P = 1.
Send S-command, P= 1.

1

X
X
X

RNRR

T1 EXPIRES RCVDREJ

Yes
No

NOTES ON STATE TABLE III
1. Received S-frames in Table III are assumed to have
valid N(R)'s.

Make NA = received N(R).
Start sequential retransmission of packets beginning
with N(S) = NA. See Note 3.

RECEIVING AND TRANSMITTING A NULL PACKET
If an error-free (FCS good) packet is received with a
correct N(S), but has no I-field, that packet will be
treated the same as a packet with an I-field. The fact
that there was no I-field is shown by RCNT equal to
alia's.
The WD2511 will not transmit a null packet. TCNT
must not be allowed to be all a's.

2. When an acknowledgement of one, or more,
previously transmitted packets is received, NA is
made equal to the received N(R). All TLOOK
segments from the old value of NA up to N(R) - 1
are acknowledged, and the appropriate ACKED
bits in the TLOOK segments will be set. After
setting the ACKED bits, an XBA interrupt is
generated.

SENDING A REJ (RESPONSE)
1. The REJ condition is entered any time an error-free
packet is received with an out-of-sequence N(S).
Exception: If the received N(S) + 1 = V(R), then the
received N(S) has been acknowledged, and either
an RR or RNR is transmitted.

3. Assuming appropriate TLOOK segments are
ready, packets are transmitted sequentially
without waiting for an acknowledgement with
three exceptions:
a. There are seven outstanding (unacknowledged) packets. (NB + 1 = NA)
b. The remote station has indicated a busy
condition, because an RNR was received. T1 is
started, and an S-command will be transmitted
with P = 1 when T1 expires.
c.

ACTION BY WD2511

2. When the REJ condition is entered, the REJ frame
with N(R) = V(R) is transmitted immediately if a
packet is not being transmitted, or at the completion of the current packet. There are two exceptions, as noted in 3 and 4 below.
3. If a link resetting SABM needs to be transmitted,
the SABM is sent ahead of the REJ. However,
when the UA is received for the SABM, the REJ
condition is cleared.
4. If the receiver is not ready (RNRX = 1), the REJ is
not sent until RNRX is cleared.
5. Once the REJ condition is entered, only one REJ
will be transmitted. Another REJ is not transmitted
unless the REJ condition is cleared and reentered. The REJ condition is cleared if a packet is
received with correct N(S), or if a SABM is
received, or if a SABM is transmitted and a UA
received.

If T1 expires, and there are one, or more,
outstanding packets, an S-command will be
transmitted with P = 1.

4. If an S-frame command is received, the WD2511
will transmit an S-frame response at the next
opportunity.
5. If SEN D = 1 and TXMT = 1, a frame wi II be transmitted from the next TLOOK segment if BRDY = 1.
After transmission, SEND is cleared by the
WD2511.

6. When the REJ is transmitted, error counter #6 is
incremented.

63

mand, the WD2511 will transmit a RR or RNR
response at the next opportunity.

RECEIVING A REJ (RESPONSE OR COMMAND)
Suppose a REJ has been received error-free with no
I-field, then:

DEFINITION OF VALID RECEIVED N(R)
Reference
CCITT Recommendation X.25 paragraphs 2.4.10 and
2.3.4.10.
Definition
A valid received N(R) is greater than or equal to NA,
and less than or equal to NB.

1. If the N(R) is not valid, an interrupt is generated
with ERa = ca, and a FRMR is transmitted.
2. If the N(R) is valid, and greater than NA, at least
one transmitted packet is acknowledged. The
appropriate ACKED bits in TLOOK are set, and an
XBA interrupt is generated.
3. If the N(R) is valid and less than NB, the WD2511
will begin sequential retransmission starting with
V(S) = received N(R). If a packet is being transmitted when the REJ was received, that packet is
aborted. If the N(R) is valid and equal to NB, and a
packet is being transmitted, that packet (which will
be #NB) is aborted, and retransmission will begin.

1. The "greater than" and "less than" relationships
must be understood in a circular sense. a could be
greater than 7 depending on the values of NA and
NB.
2. If NA = NB, there is only one possible valid
received N(R).
3. If NB + 1 = NA, there are seven outstanding
packets, and any received N(R) will be valid.

4. If the N(R) is valid and equal to NB, and there is no
packet being transmitted, there is no retransmission initiated. In this case the REJ has the same
effect as an RR.

4. Basically, a received N(R) which is not valid is one
which acknowledges a packet, or packets, never
transmitted.

5. If in 2, 3, or 4 above, the received REJ is a comSTATE TABLE IV
SENDING AN RNR (RNRX) (RESPONSt: OR COMMAND)
LINK

RECR

REC ROY

1

X

X

ACTION

1-0

1

1

RLOOK ready. No S-frame sent immediately.

1-0

1

a

Interrupt RLNR. RNR response sent immediately after link Up. RNRX set.

1-0

a

X

RNR response sent immediately after link
Up. RNRX set.
Receiver ready to accept packets.

No S-frame transmitted when link down.

a

1

1

a

1-0

1

Receiver ready to accept packets.

a

1

a

Interrupt RLNR. RNR response sent. RNRX
set.

a

0-1

1

If RNRX was set, then RNRX will be cleared
after the next received packet or Scommand. After that, an RR or REJ
response is sent.

a

a

a

RNR response sent. RNRX set. There is no
RLNR interrupt.
4. Whenever RNRX= 1, the I-field of all received
frames is not brought into memory. For received
packets, the N(S) and N(R) are checked as usual. If
the N(S) is out-of-sequence, the REJ will be
transmitted after RNRX is cleared.

NOTES ON STATE TABLE IV
1. The arrows (-) indicate a change in state from the
value on the left to the value on the right.
2. The RNRX status bit is set at the time the receivernot-ready condition was established. The RNR
frame will be sent immediately if no packet is
being sent, or after the end of the current packet.

5. If a link resetting SABM is transmitted when
RNRX= 1, RNRX will be cleared when the UA is
received. If the condition which caused receivernot-ready still exists, an RNR is sent and RNRX is
set. However, if the receiver is now ready, I-field
data may be brought into memory.

3. When a received packet is brought into memory
with RNRX = 0, the packet will be accepted
provided the FCS and N(S) are correct, and the
I-field i~ not too long. The N(R) may, or may not, be
correct, but is checked separately. If N(R) is not
valid, a FRMR is transmitted.

The same also applies is a link resetting SABM is
received, and a UA transmitted when RNRX= 1.

64

STATE TABLE V
RECEIVING AN RNR (RNRR)
SEND

NA AND NB

RECVD
ACK?

RECVD
RNR

RECVD RR,
REJ OR UA

X

not =

Yes

Yes

No

==
C

T1 EXPIRES ACTION
No

N

Set RN RR. Restart T1 and N2.
Update UA.
Set RNRR.

0

Equal

No

Yes

No

No

X

not =

No

No

No

Yes

Send S-command (P= 1). If
RNR subsequently received
restart T1 and N2.

X

not =

Yes

No

Yes, but not UA

No

Clear RNRR. Restart T1 and N2.
Update NA.

X

X

X

No

Yes

No

ClearRNRR.

0-1

Equal

No

No

No

No

Send next packet. Increment
NB after transmission. (Then,
NB does not = NA). Start T1
and N2.

2. NOTES OF TABLE V

If an S or I-frame is received which acknowledges a
previously transmitted packet(s), the acknowledgement(s) is accepted, and the appropriate ACKED
bit(s) in TLOOK is set, and there is an XBA interrupt.

1. If SEN D = 1, it is assumed for this table that BRDY
of the next TLOOK segment is set.
2. If RNRR= 1, an RR or RNR command is transmitted at T1 intervals.

While in the FRMR condition, the WD2511 will act as
shown below:

SENDING S·FRAME COMMANDS

FRAME RECEIVED

When an S-frame command is to be transmitted, an
RR command is transmitted if RNRX=O, or an RNR
command is transmitted if RNRX 1. If RNRX 0,
and a REJ is waiting to be transmitted, a REJ
command is transmitted.

=

SABM

Send UA. Clear FRMR
condition. Enter information transfer
phase.

DISC

Send UA. Clear FRMR
condition. Enter logical
disconnect state.

Packet with good N(R)

Retransmit FRMR

=

For all transmitted S-commands, the P bit is set to 1.
An S-command will be transmitted at T1 intervals if
an RNR is received (RNRX = 1), or if T1 has expired
due to waiting for an acknowledgement to one, or
more, previously transmitted packets.

ACTION BY WD2511

S-frame with good N(R) Retransmit FRMR
(command or response)

CONDITIONS FOR SENDING LINK RESET
1. FRM R received.
2. Have sent an S-command N2 times with P= 1, and
at T1 intervals, without receiving an S-response
with F= 1.

Packet or S-frame
with bad N(R)

Transmit new FRMR
(Z= 1)

Any frame with
violation W, X, Y

Transmit new FRMR

RECEIVING AN FRMR

UNSOLICITED UA OR UNSOLICITED F BIT

After a FRMR has been received:

If an unsolicited UA or an unsolicited F bit is received
with the link up, a FRMR will be transmitted with
W=1.

1. The FRMR I-field will be in the memory referenced
by the current NE segment, provided the receiver
was ready.

SENDING AN FRMR

2. The SEND bit is cleared.

An FRMR may be transmitted for any of the reasons
indicated in X.25 (W, X, Y, Z). An FRMR is transmitted
only if the link is up.

3. No more I-field data is allowed to come into
memory until the user makes the receiver memory
ready.

Upon sending a FRMR, the WD2511 will not send a
packet until the FRMR condition is cleared. The
WD2511 will also discard any received I-field. The
FRMR condition is cleared when either a SABM or
DISC is received.

4. A link resetting SABM is transmitted, and an error
interrupt, ERO = CO, is generated at the beginning
of the SABM.
5. After the UA is received for the SABM, then NA,
NB, NE, V(R), and V(S) are all cleared toO.

65

en
.....

.....

:ec
N

U'I

......
......

PROTOCOL SIGNIFICANCE OF TLOOKIRLOOK
POINTERS

ORDERING INFORMATION

The NE, NA, and NB pointers have a relationship with
the sequence counters used in the LAPB protocol.

Order Number

Maximum Rate

WD2511T-01
WD2511T-05
WD2511T-11

100 Kbps
SOO Kbps
1.1 Mbps*
* Higher speeds available on special order.

The RLOOK pOinter NE is equal to V(R) at all times if
TReV = O. However, when TRCV = 1 when the link is
UP, there is no guaranteed relationship between NE
andV(R).
TLOOK pointer NB is the Next Block to be transmitted. If not in packet retransmission, NB is equal to
the V(S) of the next new packet to be transmitted.

The following devices have a tighter power supply
specification and meet all other parameters in this
data sheet.

TLOOK pointer NA is· the Next packet to be
Acknowledged. It represents the V(S) number for the
oldest packet in the retransmission buffer.

Power Supply Range
Order Number
WD2511T-91
WD2511T-92
WD2511T-93

USE OF THE RECR BIT
The RECR (CR01) bit should be understood as an
instruction to the WD2511 to initialize the receiver
memory. The WD2511 will test RECR as soon as
MDISC is cleared, and will test RECR after each link
set-up and each link reset. Once the receiver memory
is ready, the WD2511 will not test RECR again unless
there is a link set-up, link reset, or a receiver-not-ready
condition.

+ 5/- 2%:
Maximum Rate
100 Kbps
500 Kbps
1.1 Mbps

After the link is UP, and at least one packet has been
received as indicated by the PKR interrupt, the user
should clear RECR. This is an advantage, because if a
link reset is either transmitted or received, the
WD2511 will enter a receiver-not-ready condition.
This will prevent packets received after the link reset
from appearing to have arrived before some packets
received prior to the link reset.
The receiver-not-ready condition is indicated by
RNRX = 1. This condition is cleared after the user
makes RECR = 1 with RECRDY 1 (in RLOOK #0),
and after either a packet or an S-frame is received.

=

=

If RECRDY of the next RLOOK is 0, but RECR 0,
there will not be an RLNR interrupt, but RNRX will be
set. If RECR = 1, but the RECRDY bit of the next
RLOOK segment is 0, there will be an RLNR interrupt
(error code 10), and RNRX will be set.

Information furnished by Western Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western Digital
Corporation for its use; nor for any infringements of patents or other rights of third parties which may result from its use. No license is granted by
implication or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right to change
specifications at anytime without notice.

66

Pronted in U.S.A

WESTERN DIGITAL
c

o

R

p

o

R

A

T

/

o

N

WD2520 Signalling Link Controller
FEATURES
• Performs most of the controls of the Signalling
Link Control for Signalling System No. 7.

APPLICATIONS
TELEPHONE SIGNALLING
SATELLITE LINKS
PBX SWITCHING/ROUTING
HIGH RELIABILITY COMMUNICATIONS

• Selectable window sizes (8,32,128).
• Dual channel DMA for full-duplex operation.
• Unique memory access method for buffer
management.
• All formatting of bit-oriented control included:
Zero bit insertion and deletion. Automatic appending and testing of flags and FCS fields.
• Automatic control of sequence numbers FSN and
BSN, and of control bits FIB and BIB.
• Selectable" Basic" error correction method or the
preventive cyclic retransmission error correction
method.
• 48-pin dual in-line package. Pin compatible with
the WD2501 and WD2511 X.25 link level controllers.
• DC to 1.1 M bit/sec transmit-receive rate. (Higher
bit rates available.)

GENERAL DESCRIPTION
Signalling System Number 7 is an international
standard for common channel signalling systems,
and is used within digital telecommunications
networks for call control, remote control,
management and maintenance signalling.
The flexible nature of the device allows more general
application in systems that have long round-trip
delays; notably satellite systems. As with other
members of the Western Digital family of Protocol
Controllers, all real-time protocol functions are fully
handled by the WD2520. Thus, high speed, high
efficiency communications are easily integrated into
new and existing designs.

• TTL compatible.

OMA
ADDRESSES

OMA
CONTROL
LOGIC

iNTR_----'

PIN DESIGNATION
LOOP BACK
TEST

WD2520 BLOCK DIAGRAM

67

:ec
~

c.n
~
o

INTERFACE SIGNALS DESCRIPTION (All signals are TTL compatible.)
PIN NUMBER

SYMBOL

PIN NAME

FUNCTION

1
2

No Connection

leave pin open

REPLY

Reply

An active low output to indicate the WD2520
has either a CS-RE or a CS-WE input.

3

WE

Write Enable

4

CS

Chip Select

5

RE

Read Enable

6

ClK

Clock

The data on the DAl are written into the
selected register when CS and WE are low.
Active low chip select for CPU control of 1/0
registers.
The contents of the selected register are placed
on DAl when CS and RE are low.
Clock input used for internal timing. Must be
square wave, and greater than 250 KHz.
Initialize on active low. All registers reset to
zero, except control bits MDISC and LINK are
set to 1. DACK must be stable high before MR
goes high.
An 8-bit bi-directional three-state bus for CPU
and DMA controlled transfers.

7

Master Reset

DAlO-DAl7

Data Access Lines

17

RD
RC

Receive Data
Receive Clock

Receive serial data input.
This is a 1x clock J.Qput, and RD is sampled on
the rising edge of RC. RD changes occur on the
falling edge of RC.

18
19

VSS
TC

Ground
Transmit Clock

20

TD

21

FITS

Transmit Data
Request-To-Send

Ground.
A 1x clock input. TD changes on the falling
edge ofTC.
Transmitted serial data output.
An open collector (drain) output which goes low
when the WD2520 is ready to transmit either
flags or data.
An active low input which signals the WD2520
that transmission may begin. If high, the TD
output is forced higQ. May be hard-wired to
ground.
An active low output signal to initiate CPU bus
request so the WD2520 can output onto the
bus.
An active low output signal to initiate CPU bus
request so that data may be input to the
WD2520. DRaa and DRal will not be low at the
same time.
An active low input from the CPU in response to
DRal or DRaa. DACK must not be low if CS
and RE are low or if CS and WE are low.

8-15
16

22

Clear-To-Send

23

DMA Request Out

24

DMA Request In

25

DMA Acknowledge

26-41

42

AO-A15

Address Lines Out
(See front page for
Pin Assignments)

Sixteen address outputs from the WD2520 for
DMA operation. If the control bit ADRV is 1, the
outputs are TTL drives at all times. If ADRV is 0,
the outputs are three-state, and are HI-Z
whenever DACK is high. (ADRV is in Control
Register #1.)

VDD

Power Supply

+ 12VDC power supply input.

68

INTERFACE SIGNALS DESCRIPTION CONTINUED
PIN NUMBER

43

44-47

48

SYMBOL

PIN NAME

FUNCTION

INTR

Interrupt Request

An active low interrupt service request output,
and returns high when Status Register #1 is
read.

IAO-IA3

Address Lines In
(See front page for
Pin Assignments)

VCC

Power Supply

Four address inputs to the WD2520 for CPU
controlled read/write operation with registers in
the WD2520. If ADRV = 0, these may be tied to
AO-A3. (ADRV is in Control Register #1.)
+ 5VDC power supply input.

TABLE OF CONTENTS
1.0
WD2520 Organization .................................................................. .
2.0
Programming Thru Registers ............................................................ .
3.0
Transmitting and Receiving Procedures .................................................... .
4.0
"Basic" Error Correction Method ......................................................... .
5.0
Error Correction by Preventive Cyclic Retransmission (PCR) .................................... .
6.0
Summary of Conditions for Transmission ................................................... .
7.0
Self Tests ............................................................................ .
8.0
Glossary of Terms ..................................................................... .

9.0

WD2520 Electrical Specifications ......................................................... .

REFERENCE:
CCITT Yellow Book, Volume VI - Fascicle V1.6, Q.703, Vllth Plenary Assembly, Geneva, 10-21 November 1980.

CPU BUS

Ii
:

M

I~ I~ I~ ~o 1:=z I~
~
-

I

~

t)

Figure 1

SYSTEM CONNECTION

r--M

TC

MEMORY

DROO

TO

ORal

CTS'

DACK

Ri'S

WD2520

AO-A15

RC

J

/

RD

16

1 1 1
+ 12VDC

+ 5VDC

69

GND

PHYSICAL
LEVEL
INTERFACE

~

.......
~

MODEM

before the closing flag is the FCS.
The transmitter of the WD2520 will always send at
least 2 flags between SU's, so that each SU has its
own opening and closing flag. However, the WD2520
receiver may receive as few as one flag between
SU's.
The FCS calculation includes all data between opening flag and the first bit of the FCS, except for O's inserted for transparency. The 16 bit FCS has the
following characteristics:
Polynomial: X16 + X12 + X5 + 1
Transmitted Polarity: Inverted
Transmitted Order: High order bit first
Preset Value: All 1's
FCS Register Value: 0001110100001111
if Received Correct (high order bit shown in LSB)
The WD2520 generates and tests Flags, FCS, inserted zeroes, FSN, BSN, FIB, BIB, and LI.
The WD2520 performs signalling link control. All
FISU's are automatically generated and tested by the
WD2520. The user need only be concerned with the
SF field of LSSU's and the SI and SIF fields of MSU's.
If the WD2520 has no outstanding MSU's or LSSU's,
it will transmit contiguous FISU's.
The user may control the two extra bits in the LI field
for MSU's and LSSU's. See paragraphs 3.1 and 3.2.

1.0 ORGANIZATION
A detailed block diagram of the WD2520 is shown on
the front page.
Mode control and monitor of status by the user's
CPU is performed thru the 16110 registers.
SF, SIO, and SIF data are accessed thru DMA control.
Serial data is generated and received by the bitoriented transmitter and receiver. (See Table 1.0).
(See section 8.0 for a GLOSSARY of terms.)
Internal control of the WD2520 is by means of 3
microcontrollers: one for receive, one for transmit,
and one for the internal LSI system.
Parallel transmit data is entered into the Transmitter
Holding Register (THR), and then presented to the
Transmitting Register (TR) which converts the data
into a serial bit stream. A five bit serial buffer
facilitates zero bit insert under control of the
Transmitter Microcontroller. The 16 bit FCS is calculated and transmitted from the FCS register.
Parallel receive data enter the Receiver Holding
Register (RHR) from a 3-stack FIFO. The FIFO input
is from a 24 bit serial Receiver Register (RR). This 24
bit register prevents received FCS data from entering
the RHR. The receiver FCS register is used to test the
correctness of the received FCS.
Serial data is defined in blocks called Signal Units
(SU). An SU may be a Fill-In Signal Unit (FISU), a Link
Status Signal Unit (LSSU), or a Message Signal Unit
(MSU). See Table 1.0. Each SU starts and ends with a
unique Flag (01111110). In between flags, data
transparency is maintained by the insertion of a 0 bit
after each sequence of 5 contiguous 1's. Inserted 0
bits are stripped-off by the receiver. The last 16 bits
TABLE 1.0
Numbers under SU show number of bits

,
,

,
,

BSN
7

BIB
1

Link Status Signal Unit (LSSU)

,
,

FLAG
8

I
I

BSN
7

I

BSN
7

- FISU's completely controlled by WD2520FSN
FIB
LI
00
, 7
2
1
6

J

1
I

I
I

I

FCS
16

FLAG
8

I

LI = 1 or 2

I

,I

,I

LI
6

I
I

-DMASF
80r16

XX*
2

-appendedbyWD2520
FCS , FLAG
16

,

8

LI>2

- appended by WD2520 , BIB
FSN
FIB
1
7
1

I

,I

1,

- appended by WD2520 BIB
FIB
FSN
, 7
1
1

Message Signal Unit (MSU)

FLAG'
8

The Three Signal Unit (SU) Types

LI = 0

Fill In Signal Unit (FISU)
FLAG
8

The WD2520 will discard all received SU's which do
not meet all the minimum conditions:
1. FCS Correct.
2. A multiple of 8 bits.
3. There must be at least 5 bytes between flags.
4. The LI (Length Indicator) must be correct. (See
paragraph 3.6 for the definition of a "correct" LI.)

I
I

I
I

-DMA-

1,

LI
6

I
I

*Where the "X" bits are controlled by the user.

70

XX*
2

SIO
8

I
I

SIF
8n, n>2

-appendedbyWD2520
FCS
16

1FLAG
I

8

When this document refers to an SU as "received,"
that SU is understood to meet all the above minimum
conditions. (In some cases an error counter may be

2.0

incremented, but the SU is not considered as received unless all minimum conditions are met. See
paragraph 3.3 and Figure 5.)

PROGRAMMING THRU REGISTERS

The WD2520 is programmed by six write/read
registers, and is monitored by six status, read-only
registers.

REGISTER NUMBER
0
1
2*
3*
4*
5*
6*
7*
8
9
A
B
C
D
E
F

IA3
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

1A2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

IA1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

lAO
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

REGISTER NAME
CRO Control Register 0
CR1 Control Register 1
SR2 Status Register 2
SR3 Status Register 3
SR4 Status Register 4
SR5 Status Register 5
SR6 Status Register 6
SR7 Status Register 7
TIMER'
BUFFER HI
BUFFER LO
(not used)

*NOTE: SR2 thru SR7 may only be read by the CPU.

CONTROUSTATUS REGISTERS SUMMARY
REG

7

6

5

BIT NUMBER
4
3

CRO

PCRI
BASIC

0

0

0

0
X

0

0

ADRV

SR2
SR3

MSUR

XMA

ATTN

NAKR

IRTS

REC
IDLE

IRECR

CR1

SR4

X

2

1

0

LOOP
TEST

RAMT

RECR

RESET

0

K2

K1

SEND

FSNO

SR5

RECEIVER STATE
X

ATTENTION REGISTER

SR6

FIBT

FSNT

SR7

BIBT

BSNT

NOTES:
Whenever any of the three bits MSUR, XMA, or ATTN
is a 1, INTR will go low. After SR3 is read, all three
bits will return to 0, and INTR will return high.
"X" represents a bit used by the WD2520's internal
microcontroller. At any time these bits may be "1" or
"0", and are to be disregarded by the user's CPU.
Unused control bits must be left at "0".

71

PCRS

X
NL1

NLO

REGISTER

CR07

CROS

CRO

PCR/BASIC

o

CONTROL REGISTER 0
CR04
CR03
CR05

o

o

CR01

CROO

RAMT

RECR

RESET

DESCRIPTION

NAME

BIT

LOOP
TEST

CR02

CROO

RESET

This bit, when set, commands the WD2520 to reset SR2 thru SR5
to all O's, and set SR6 and SR7 to all 1's. The WD2520 will not
transmit nor accept serial data until RESET = O. RESET will go to 1
when MR is enabled.

CR01

RECR

Defines the CPU's receiver memory as initially ready (RECR 1) or
initially not ready (RECR = 0). The CPU should set RECR as part of
its initialization procedure, and clear RECR when either IRECR
(SR44) is set or when the first MSUR interrupt occurs. See
paragraph 3.1.4.

CR02

RAMT

Enables a self test for registers internal to the WD2520. (See
section 7.0 on SELF-TESTS.)

CR03

LOOP TEST

InternaliXlies TO back to RD, and TC to RC. The normal inputs of
RD and RC are logically disconnected. There will still be an output
at TO, and TC needs the transmitter clock. (See 7.0)

CR04-CROO

o

Unused control bits, like CR04, must be left at O.

CR07

PCR/BASIC

This bit selects one of two error correction procedures.

=

If CR07 = 0, the "basic" error correction method is employed
which uses retransmission, positive acknowledge, and negative
acknowledge. (See section 4.0)
If CR07 = 1, the Preventive Cyclic Retransmission (PCR) error control method is used. PCR is essentially a noncompelled forward
error correction method. (See section 5.0)

72

REGISTER
CR1

I
I

CR17
0

I
I

CR16

I

0

I

BIT

CONTROL REGISTER 1
CR15
CR14
CR13
0

I

I

CR12

I

CR11

I

I

K2

I

K1

ADRV

NAME

CR10

SEND

0

I
I

CR10
SEND

DESCRIPTION
Used to command the WD2520 to transmit the next MSU, MSU's,
or LSSU. If SEND = 1, the WD2520 will read from the next TLOOK
segment the value of RTX (See Table 3.1). If RTX 0, the WD2520
will clear SEND, and no transmission occurs. If RTX = 1, the
WD2520 will then read TSADR and LIT from the TLOOK segment,
and the buffer (either an MSU or LSSU) is transmitted. After
transmission, the WD2520 will clear RTX of the segment just
transmitted. If an MSU has been transmitted, the RTX of the next
TLOOK segment is now read, and the procedure above is repeated.
(See section 3.0) As a matter of good practice, the user's CPU
should set SEND each time a new MSU or LSSU is ready to
transmit.

=

CR12 and CR11

K2,K1

Used to define the window size. The window defines the maximum
number of outstanding (unacknowledged) MSU's allowed. The window also defines the size of TLOOK and RLOOK.
SIZE OF
TLOOKJRLOOK
(K+ 1)

NUMBER OF
OUTSTANDING
MSU'S(K)

K2

K1

o

0

8

7

1

32
128

31
127

o
1

0

CR14

ADRV

The ADRV bit is the control for the 16 bit output addresses
(AO-A15). If ADRV=O, the outputs are three-state, and are in HI-Z,
except when DACK goes low. If ADRV = 1, the outputs are always
low impedance (TTL), and are high level when DACK is high.

CR13, 15, 16, 17

o

Unused control bits.

REGISTER

I

SR27

I

SR2

I

X

I

BIT
SR26-SR20

STATUS REGISTER 2
SR26-SR20
FSNO
NAME

FSNO

DESCRIPTION
Represents the FSN value of the next transmitted MSU to be
acknowledged. FSNO relates to the particularTLOOK segment for
that MSU.
Notice that if the retransmission buffer is empty; FSNO (SR2) =
FSNT (SR6) + 1.

SR27

X

Used internally, may be 1 orO.

73

=e
C
N

REGISTER
SR3

(J1

I

SR36

I MSUR I

XMA

SR37

BIT

N

0

I

NAME
X

I
I

STATUS REGISTER 3
SR33
SR35
SR34
ATTN

I
I

X

X

SR32

X

I
I

SR31

SR30

X

X

DESCRIPTION
Used internally may be 1 or O.

SR30toSR34
SR35

ATTN

The ATTN (Attention) bit indicates that either: 1) An error
has occurred which is unrecoverable by the WD2520, or 2) A
significant event has occurred, and the CPU must be informed.
The ATTN Register (SR5) will contain the coded reason for the
ATTN interrupt.

SR36

XMA

Means that a previously transmitted, or retransmitted, MSU, or
MSU's, has been acknowledged.

SR37

MSUR

Stands for Message Signal Unit Received. This means that an MSU
was received has met the minimum conditions of section 10 and
that the received FSN was equal to BSNT + 1. (Where the BSNT
referred to is the value of BSNT before the MSU was received.)
Also, the receiver memory had to have been ready. This interrupt
also means that the SIO and SIF fields are already in RAM, the
BSNT has been incremented, and an acknowledge will be
transmitted at the next opportunity. (The "next opportunity" to
acknowledge an MSU received is with the transmission of the BSN
in the next transmitted SU.)

REGISTER

SR47

SR46

SR4

X

IRTS

BIT

NAME

STATUS REGISTER 4
SR45
SR44
SR43
REC
IDLE

IRECR

X

SR42

SR41

SR40

PCRS

NL1

NLO

NLO, NL1

DESCRIPTION
Represent a binary number for the segment where the next
received LSSU will be placed in the RLSSU (See 3.2).

SR42

PCRS

Used for internal control.

SR43

X

Used internally may be 1 orO.

SR44

IRECR

A status bit which informs the CPU that the receiver memory
through RLOOK has been set·up. The CPU should clear RECR
either when IRECR = 1, or after the first MSUR interrupt. After the
WD2520 sets IRECR, the WD2520 will not test RECR again until a
reset condition, or IJntii a C3 interrupt (see paragraph 2.3.2). Also
see paragraph 3.1.4.

SR45

RECIDLE

Indicates that the WD2520 has received at least 15 contiguous 1's.
When at least one 0 is received. REC IDLE goes to 0, and remains 0
until 15 contiguous 1's.

SR40, SR41

SR46

Stands for the Internal Request·Ta-Send bit, and indicates that the
transmitter is attempting (successful or not) to send data. If the
RTS pin (pin~is not tied to ground or WIRED·ORED to another
signal, then IRTS
RTS.
Used internally may be 1 or O.

=

SR47

X

74

REGISTER
SR5

I
I

I

STATUS REGISTER 5
SR57-SR50
AnN

BIT

NAME

SR57-SR50

AnN

DESCRIPTION
The Register shows the coded reason for the AnN interrupt. See
Table XX for description of AnN codes.

TABLE XX

ATTN Register Codes

HEXIDECIMAL
CODE

REASON
TUR. Transmitter Under-Run.

C1
C2

ROR. Receiver Over-Run.

C3

RLNR. RLOOK not ready. The RTR bit of the next RLOOK segment is O.

01

LOST LSSU. An LSSU was received, but temporarily lost, because the RTR bit of
the next RLSSU segment was O. See Table 3.1.

02

At least two out of three consecutively received FIB's indicate start of
retransmission when no retransmission was requested. OR, at least two out of
three consecutively received BSN's are not valid. A valid received BSN is defined
as less than or equal to FSNT and greater than or equal to FSNO-1.

04

The current TLOOK segment for MSU has an illegal byte count. The illegal count is
all O's, and the WD2520 will not attempt to transmit a null MSU.

20

An LSSU has been received and is in the RLSSU.

40
80

An LSSU has been transmitted.
No SU has been received within time T1.

REGISTER

SR67
(SR77)

SR6
(SR7)

FIBT
(BIBT)

STATUS REGISTERS 6 & (7)
SR66-SR60
(SR76 - SR70)
FSNT
(BSNT)

BIT
SR66-SR60
(SR76-SR70)

DESCRIPTION

NAME
FSNT
(BSNT)

The current value of transmitted FSN. SR6 is incremented prior to
the transmission of the next new MSU. SR6 applies only to new
MSU's, and not MSU's which may be retransmitted_
The expected value of the FSN of the next received MSU is SR7
plus one. SR7 (BSNT) also represents the current value of the
transmitted BSN.
FSNT and BSNT are initialized to aIl1's.

SR67
(SR77)

FIBT
(BIBT)

The current values of the transmitted FIB and BIB, respectively.
The WD2520 will invert FIBT and initiate retransmission of MSU's
in response to a received inverted BIB. If the WD2520 receives an
incorrect FSN, BIBT will be inverted on the next transmitted SUo
(NOTE: A correct received FSN is equal to FSNO for an MSU, or
FSNO-1 for an FISU or LSSU.)
FIBT and BIBT are each initialized to 1.

75

REGISTER

TR7
(0)

TR6
(0)

TIMER lSB
TIMERMSB

T7
(0)

T6
(0)

BIT

TIMER REGISTER lSB & MSB
TR5
TR4
TR3
(0)
(0)
(0)
T5
(0)

T4
(0)

T3
(0)

NAME

TR9-TRO

T9-TO

TR2
(0)

TR1
(TR9)

TRO
(TRS)

T2
(0)

T1
(T9)

TO
(T8)

DESCRIPTION
Registers 8 and 9 define a 10 bit value for timer T1. The lSB is
in Register 8, Bit 0, and the MSB is in Register 9, Bit 1. The upper
six bits of Register 9 are not used. The time of T1 is given by the
expression:
T1
where ClK
N

= 16,384 N/ClK
= Frequency of ClK input (pin 6)
= Binary value of T1 in Registers 8 and 9.

The timer is re·started each time an SU is received. If no SU is
received within T1, and AnN interrupt is generated with AnN
code 80.

REGISTER

7

6

BUFFER HI
BUFFER lO

B15
B7

B14
B6

BIT
B15-B8
B7-BO

BUFFER HI-REGISTER A
BUFFER lO-REGISTER B
4
3
5
B13
B5

B12
B4

B11
B3

1

0

B10
B2

B9
B1

B8
BO

DESCRIPTION

NAME
BUFFER HI
BUFFER lO

2

Registers A and B represent the 16 bit starting address of the 24
byte buffer. TlOOK follows that buffer. RlOOK follows TlOOK,
RlSSU follows RlOOK, and the Error Counters follow RlSSU.
(See Figure 3.) RlOOK and RlOOK will each have either 8,32, or
128 segments according to the values of K2 and K1.

Regarding the TUR and ROR errors; an ROR means
that the receiver Register (RR) had a byte to load into
the receiver FIFO, but the FIFO was full. TUR means
that the Transmitting Register (TR) needed a byte·
from the Transmitter Holding Register (THR), but the
TH R was empty. Either TUR or ROR may be caused
by one of two conditions, or both.

3.0

TRANSMITTING AND RECEIVING
PROCEDURES

Referring to Table 1.0, notice that the SF of lSSU's
and the SIO and SIF of MSU's are DMA accessed.
The DMA is part of the Memory Access Method (buf·
fer management) shown in Figure 3.
The starting address of a TlOOK (Transmitter look·
Up) table follows the 24 byte buffer which starts at
the address given in Registers A and B. TlOOK has
K + 1 segments, and each segment consists of four
bytes. TlOOK is followed contiguously by RlOOK
(Receiver look·Up) which also has K + 1 segments of
four bytes each. The value of K + 1 is programmed by
control bits CR12 and CR11.

1) The bit rate clock, TC or RC, is too fast for the
WD2520.
2) The DACK response is too slow for the bit rate.
In addition to the above, an ROR could be caused as
a result of an RlNR condition. If there is an RlNR
condition, and an MSU or lSSU is received before the
RlNR is cleared, there will be an ROR interrupt which
will override the RlNR.

RlSSU (Received lSSU's) is a four segment table
which follows RlOOK. Each segment has four bytes.

........ F

76

=e
c

r

~

CI1

ADDRESS FROM
REGAANDB

24
BYTE
WORK AREA

TLOOK

MSU #0
OR
LSSU

0

MSU #1
OR
LSSU

•
•
•
K + 1

T

LIT #0

1

LIT #1

~
RSADR #0

T
320
BYTE
LIMIT

•
•
•

1

K + 1

RLSSU(

~

TSADR #0

0

RSADR
#1

T
320
BYTE
LIMIT

~
ERROR
COUNTERS
(5 BYTES)

Figure 3

MEMORY ACCESS METHOD

NOTES:
1. ALL RAM IN THE FIGURE IS EXTERNAL TO THE WD2520.
2. K + 1
8,32, OR 128. (SEE CONTROL BITS K2 AND K1).

=

77

Lastly, there are five error counters of one byte each.
These error counters represent errors recoverable by
the WD2520, whi Ie those error conditions reported by
the ATTN Register are not recoverable by the
WD2520.

After a previously transmitted, or retransmitted,
MSU(s) is acknowledged, the XMA bit (SR36) is set
and an interrupt is generated. The ACK'ED bit in each
TLOOK segment acknowledged will have been set
prior to the XMA interrupt.

The 24 byte buffer ahead of TLOOK is to be reserved
for the WD2520 for internal control. The beginning of
this work area is defined by Registers A and B. The
WD2520 will use that work area as follows:

For all transmitted MSU's and LSSU's, TL6 and TL7
are placed in the SU's byte #3, bits 6 and 7, without
alteration.
The length of the MSU is determined as follows: If
ELFT (Extended Length Field for Transmitter), EX7,
and EX6 are all 0, the MSU will send the length equal
to LIT. Also, the LI field in the transmitted MSU will be
equal to the TLOOK segment, byte #3 (TL7, TL6, and
LIT).

OFFSET BYTE
NUMBER USE
0,1

Retransmission pointer address

2, 3

FSNO address

4,5

FSN address

6, 7

BSN address

8,9

RLOOK starting address

A, B

LSSU pointer address

C, D

E thru 17

If either ELFT, EX7, or EX6 are set to 1, an MSU with
length greater than 62 bytes will be transmitted. The
lower 6 bits of LI will be all 1'so The length of the
transmitted MSU will be the combination of EX7, EX6,
and LIT. If the MSU length is to be greater than 255
bytes, than ELFT is set to 1.

LSSU starting address

NOTE:
The WD2520 will not send an MSU with length
greater than 320 bytes. If the user attempts to put a
value greater than 320, the WD2520 will send the 320
bytes, and ABORT. However, this will allow more than
272 bytes as stated in Q.703, paragraph 2.3.8.

Reserved

Note that the WD2520 will compute the above addresses, and the user's CPU need only reserve the
space. The CPU may read the 24 byte buffer, but must
not write into that buffer.
3.1

To receive MSU's, the WD2520 will test the RTR
(Ready To Receive) bit in the next RLOOK segment
(as determined by the value of SR7 plus one). If
RTR = 1, the WD2520 will prepare to receive beginning at address RSADR (Receiver Starting Address)
with maximum buffer size of 320 bytes. If an MSU is
received (LI>2), and if the MSU meets all the conditions stated under the description of SR37, then the
WD2520 will store the received length in the lower 6
bits of byte #3 of the applicable RLOOK segment.
The RTR is cleared to 0 and MRCVD (MSU ReCeiVeD)
is set to 1 by the WD2520. After this, an interrupt is
generated with MSUR (SR37) set to 1. The WD2520
will go on to the next RLOOK segment.

Sending and Receiving MSU's

The segment number in TLOOK maintains a relationship with the transmitted FSN. The segment number
will correspond with the least significant bits of
FSNT. For example, if K + 1 = 32, the segment
numbers vary from 0 to 1F (hexidecimal) and equal
the 5 LSB's of the transmitted FSN. Thus, segment
#3 could correspond to transmitted FSN 03, 23, 43, or
63 (hexidecimal).
In like manner, the RLOOK segment has a relationship to the expected value of the received FSN, and
the actual expected FSN of the next MSU is maintained is SR7 (BSNT + 1).

For all received MSU's and LSSU's, the values of the
received SU's byte #3, bits 6 and 7, are placed in RL6
and RL7 without alteration.

To transmit an MSU, the SEND bit (CR10) must first
be set. After SEND is set, the WD2520 will go to the
next segment (as determined by the value of SR6)
and test bit RTX (Ready To Transmit). See Table 4. If
RTX= 1, the WD2520 will transmit the MSU with
length determined by LIT, ELFT, EX7 and EX6. Prior to
the transmission, FSNTwili be incremented. The SIO
and SIF fields are found in a memory block beginning
at address TSADR (Transmitter Starting ADdRess). Of
course, LI>2 for an MSU. After sending the MSU,
the WD2520 will clear RTX, and go on to the next
segment.

The received length is determined as follows: If ER7,
ER6, and ELFR are all 0, the length is contained in the
six bit number LlR, and the received length is less
than, or equal to, 63.
If an MSU of length greater than 63 bytes is received,
the received LI field will be all 1'so However, under
this condition, at least one of the bits ER7, ER6, or
ELFR will be set to 1. The LlR will contain the lower
six bits of the received length byte count. ER6 and
ER7 are added directly to LlR. If ELFR is set, an MSU
greater than 255 bytes has been received.
For example, suppose an MSU of length 70 (hex 46)
bytes is received. The LI field in the MSU will be all
1'so In the RLOOK segment, the bits ELFR and ER7
will be 0, and ER6 will be 1. LlR will be 6 (000110).

When the WD2520 reaches a segment whose
RTX=O, the WD2520 clears the SEND bit. Then, the
WD2520 will begin retransmission of the oldest MSU
(as determined by FSNO) if PCR is selected
(CR07 = 1), or the WD2520 will transmit FISU's if
BASIC is selected (CR07 = 0).

78

Like the transmitter, the WD2520 will not receive an
MSU of length greater than 320 bytes. The WD2520
will not write into received memory past 320 received
bytes per MSU.

the WD2520 would perform nearly constant DMA's
while testing RTR. To prevent this, the CPU should
set RECR after a reset, but clear RECR after either
IRECR (SR44) is set to 1, or after the first MSUR interrupt. Then, if an ATTN code C3 interrupt happens, the
CPU has the opportunity to set-up the next RLOOK
before setting RECR, and the WD2520 will not tie-up
the DMA channel.

If the WD2520 reaches an RLOOK segment with
RTR = 0, an ATTN interrupt is generated with ATTN
code C3. The WD2520 will not test that RTR again until the user's CPU sets RECR (CR01) to a 1. Therefore,
if RECR is set, but the RTR of the next RLOOK is 0,

Segment Descriptions (Note: S = Spare)

TABLE 4
7
Byte 0

ACKED

6

1
1

1

5
S

I
1

4
S

1
1

3

TSADR HI

Byte 2

TSADR LO

I TL6

Byte 3

TL7

Byte 0

MRCVD

I
1

6
S

I
I
1

5
S

I
1

4
S

1

I

3

Byte 2

RSADR LO

Byte 0

LRCVD

S

Byte 1

RL7

RL6

1

RL6

I

1

1

ELFX

I

0
RTX

1

I

2

1

ER6

1

1

1

ELFR

0
RTR

1

RLOOK
Segment

LlR (length> 2)

1

6

7

1

EX6

TLOOK
Segment

ER7

RSADR HI
RL7

I

2

LIT

Byte 1
Byte 3

1

EX7

Byte 1

7

3.2

I

S

5
S

I
I

4
S

I
I

I
I

3
S

2

1

S

I

1

1

S

1

0
RTR

LlR (1 or2)

Byte 2

First SF byte received

Byte 3

Second SF byte received

Sending and Receiving LSSU's

3.3

If an LSSU is ready to transmit, the same initial
procedure will be followed as for an MSU except that
the LIT value is 1 or 2, and ENLF, EX7, and EX6 are all
O. After the LSSU is transmitted, the SEND bit (CR10)
is cleared, and RTX is cleared. FSNT of SR6 is not
incremented, and the WD2520 does not go on to the
next segment. After transmission of the LSSU, an
ATTN interrupt with code 40 is generated.

RLSSU
Segment

Error Counters

Following contiguously after RLSSU are five a-bit
error counters. The WD2520 will increment each
counter at the occurrence of each defined event.
However, the WD2520 will not increment past 255 (all
1's). The CPU has the responsibility of clearing each
counter. The first counter past RLSSU is #0, etc.
ERROR
COUNTER
NUMBER

When an LSSU is received, the LlR will be either 1 or
2. In addition to the minimum conditions for received
SU's (see 1.0), the WD2520 will test the received FSN
to be equal to the value of SR7. If it is, the LI and SF
fields are placed in the next RLSSU segment as
determined by NL1 and NLO (SR41 and SR40)
provided that the RLSSU's segment RTR = 1. (If that
RTR = 0, an ATTN interrupt with code 01 is
generated.) The WD2520 will then set LRCVD (LSSU
ReCeiVeD) and clear RTR, and generate an ATTN
interrupt with code 20. The NL1/NLO pointer is incremented.

o

EVENT DESCRIPTION
Received SU's with FCS error
(includes ABORTed SU's where an
ABORT is 7 contiguous 1's).
Number of SU's received which
were not a multiple of a bits.

Bits TR7 and TR6 are transmitted in byte #3 bits 7 and
6 without alteration. The received bits 7 and 6 in byte
#3 are placed in ER7 and ER6 without alteration.

79

2

Received short SU's (less that 5
bytes between flags).

3

Number of SU's received incorrect
LI.

4

Number of SU's received with incorrect FSN.

:ec
N

(J1

N

o

SU

RECEIVED

INCREMENT
ERROR
COUNTER

N

#0

INCREMENT
ERROR
COUNTER
#1

N

INCREMENT
ERROR
COUNTER

N

#2

INCREMENT
ERROR
COUNTER

N

#3

Figure 5

RECEIVER FUNCTIONAL FLOW

The error counters will not be incremented unless
the received SU had a correct FCS.

3.4 Deadly Embrace Prevention
A "deadly embrace" is defined here as a state where
the user's CPU and the WD2520 are both waiting for
an action from the other. This situation could exist
unless control bits shared by the WD2520 and the
CPU are handled properly. A shared control bit is
defined as one which is either set by the CPU and
cleared by the WD2520, or is set by WD2520 and

These counters are intended for statistical purposes,
only, and are not guaranteed to be incremented at
each occurrence of the defined event.

80

cleared by the CPU. They must both not be allowed
to set or clear the same bit. The shared control bits
are shown below:

WD2520 receives a NACK, the WD2520 will begin
retransmission of MSU's with the transmitted FSN
equal to the received BSN plus one, and the transmitted FIB equal to the received BIB. However, if the
received NACK refers to an FSN not in the retransmission buffer, the NACK is discarded, but the next
transmitted FIB will still be made equal to the
received BIB. If 2 out of 3 consecutively received
BSN's reference FSN's of MSU's not in the retransmission buffer, an ATTN interrupt is generated with
code 02.
When a valid NACK is received, the WD2520 will
begin sequential retransmission starting with the
oldest MSU even if there are more new MSU's ready.

SET CLEARED
BIT
NAME
WHERE FOUND
BY
BY
SEND CR10
CPU
WD2520
RTX
each TLOOK segment
CPU
WD2520
CPU
ACK'ED each TLOOK segment WD2520
each RLOOK segment
CPU
WD2520
RTR
CPU
MRCVD each RLOOK segment WD2520
RTR

each RLSSU segment
LRCVD each RLSSU segment

CPU
WD2520

WD2520
CPU

A received NACK may also acknowledge one, or
more, previously transmitted MSU's.

Any of these bits may be set to any value by the CPU
at initialization. However, after initialization, the
deadly-embrace rule must be followed.
3.5

All previously transmitted MSU's may be
acknowledged by a received NACK. In this case, a
received NACK will have cleared the retransmission
buffer. This is an acceptable condition, and the
acknowledgements are accepted. The FIBT is inverted. However, there will be no retransmission of
MSU's.
The retransmission buffer is defined as those MSU's
awaiting acknowledgement from FSNO to FSNT.
In BASIC, retransmission will not begin unless a
NACK is received.
If the WD2520 receives an MSU with an FSN not
equal to the BSNT + 1, or if an FISU or LSSU is received with an FSN not equal to BSNT, the WD2520 will
transmit a NACK.

Initialization Procedure

Initialization begins after either the RESET bit is
cleared after having been set, or after the CFB bit is
cleared after having been set.
At initialization, transmitted FSN's and BSN's are all
1'so Transmitted FIB's and BIB's are 1.
The first transmitted MSU will have FSN = 0, and the
expected value of the FSN of the first received MSU
willbeO.
3.6

Definition of Correct LI

The LI field is found in each SU as the lower 6 bits in
the third byte following the leading flag.

5.0

LI is the byte count for the length of the SUo The
length of the SU is the number of bytes following the
LI field, but preceding the FCS.

ERROR CORRECTION BY PREVENTIVE
CYCLIC RETRANSMISSION (PCR)

In the PCR procedure, previously transmitted, but
unacknowledged, MSU's are sequentially retransmitted whenever there are no new MSU's or LSSU's
to transmit. This procedure is employed if CR07 = 1.

For an FISU, LI = 0, and a correct LI means that the
FCS field will immediately follow the LI field.

The absence of new MSU's or LSSU's is determined
if the RTX bit of the next TLOOK segment is 0, or if
SEND (CR10) is 0, or if there are K outstanding MSU's
(K= 7, 31, or 127 depending on control bits K2 and
K1). If there are no new MSU's or LSSU's to transmit,
and if the retransmission buffer is not empty, the
WD2520 will begin retransmission with the oldest
MSU. If there are no new MSU's or LSSU's, and if the
retransmission buffer is empty, the WD2520 will
transmit continuous FISU's.
PCR does not require a NACK to be received before
beginning retransmission. However, received
NACK's are treated the same in PCR as in BASIC.
Also, the WD2520 may send a NACK in PCR just as in
BASIC.
The CPU must determine when the maximum
number of bytes available for retransmission (NMAX)
has been reached. NMAX, measured in bytes, is the
total of the lengths of the MSU's in the retransmission buffer. When NMAX is reached, the CPU

For an LSSU, LI = 1 or 2, and a correct LI means that
there are 1 or 2 bytes in the SF field (corresponding to
LI).
A correct LI for an MSU wi II meet either one of two
conditions:
For MSU's with lengths from 3 to 63, the LI must
equal the number of bytes in the length of the MSU.
For MSU's which are 63 bytes, or longer, the LI will be
maintained at a value of 63 (six 1's).
4.0 "BASIC" ERROR CORRECTION METHOD
In the basic method, previously transmitted, but
unacknowledged, MSU's are not retransmitted
unless a NACK (Negative ACKnowledge) is received.
The WD2520 will employ this procedure when
CR07=0.
A NACK is defined as an SU with the BIB inverted
from the previously transmitted SUo When the

81

must not allow new MSU's to be transmitted by insuring that the RTX bit of those new MSU's is zero.
However, new LSSU's may be transmitted. When the
CPU has determined that new MSU's may be transmitted (because some of the retransmission buffer
has been removed by received acknowledgements),
then the CPU may add new MSU's.

are sequentially retransmitted beginning with FSNO.

A. NACK received with received BSN greater than or
equal to FSNO, but less than FSNT.· Notice that
this condition requires that the retransmission
buffer is not empty. (The retransmission buffer is
empty when FSNT + 1 = FSNO).
B. PCR procedure, and no new MSU's nor LSSU's
ready, and retransmission buffer not empty.
C. PCR procedure, and there are K outstanding
MSU's.

SUMMARY OF CONDITIONS FOR
TRANSMISSION
No SU's will be transmitted until RESET (CROO) and
CFB (CR17) are both 0, and CTS (pin 22) is low. Given
these conditions, the WD2520 will always be
transmitting SU's. If there are no MSU's nor LSSU's
to send, the WD2520 will send FISU's.
The following conditions require that RESET = 0 and
that CTS is low. In the following paragraphs, the
following conventions are used: X means "don't
care." (N) refers to the applicable TLOOK segment.
6.0

7.0

INTERNAL RAM TEST
There are eleven 8-bit registers in the WD2520 which
are not directly accessible by the user's CPU. Four of
these cannot be completely tested by using loopback. Therefore, this test was created as a means to
test those four internal registers. The contents of
Register A are placed in two even internal registers,
and the contents of Register B are placed in two odd
internal registers. The four registers are then added
together, without carry, and the results are placed in
Registers SR2, SR5, SR6, and SR7. This test is initiated when RAMT (CR02) is set to 1 provided RESET
(CROO) is also set to 1. Use the following procedure:
1. Insure RESET = 1
2. Set RAMT
3. Set-Up Registers A and B
4. Wait at least 150 times the CLK period
5. Check the results in Registers SR2, SR5, SR6, SR7
To repeat the test for new values in Registers A
and B:
6. Clear RAMT
7. Wait at least 120 times the CLK period
8. Go back to step 1
During the execution of this test, the ROM 10 code of
the WD2520 will be displayed in the lower 5 bits of
SR4.

CONDITIONS FOR SENDING AN LSSU
SEND = 1
CR07 = X
RTX(N) = 1
LlR(N) = 1 or 2
After sending the LSSU, RTX(N) and SEND are
cleared to O.
CONDITIONS FOR SENDING AN FISU
Either condition A or B below will cause an FISU to
be transmitted.
A. "Basic" procedure selected, and no new MSU's
nor LSSU's ready for transmission, and no retransmission in progress.
B. PCR procedure selected, and no new MSU's nor
LSSU's ready for transmission, and the retransmission buffer is empty.
SEND = 0
CR07 = 1
FSNT (SR6)

SELF TESTS

There are two self tests: 1) An internal RAM test, and
2) A loop-back test. Both tests are suitable for
manufacturing testing, user incoming inspection
testing, diagnostics, and trouble-shooting.

+ 1 = FSNO (SR2)

CONDITIONS FOR SENDING AN MSU FOR THE
FIRSTTIME
In either "basic" or PCR, the conditions below will
cause an MSU to be transmitted for the first time.
After the transmission is complete, RTX(N) is cleared
to O. FSNT (SR6) is incremented prior to the transmission of that MSU.

CONDITIONS FOR RETRANSMITTING AN MSU

LOOP-BACK TEST
The internal loop-back condition exists whenever
CR03 = 1. TD is tied back to RD and TC is tied to RC.
The inputs, RD and RC are gated-out, but the TO
output is still present.
When running this test, it is recommended that
MSU's be transmitted and received and the SIO and
SIF fields be checked. The transmitted and received
SIO and SIF fields should be identical. When this is
done, the entire DMA and buffer management is
tested as well as the transmitter and receiver.

Retransmission of one or more MSU's will occur
whenever conditions A, B or C below are met. MSU's

LSSU's may also be transmitted and received in loopback.

SEND = 1
CR07 = 0
RTX(N) = 1
LlR(N) >2
There are less than K outstanding MSU's

Il
82

8.0

GLOSSARY OF TERMS

BASIC
BIB
BIBT
BSN
BSNT

F
FCS
FIB
FIBT
FISU
FSN
FSNO
LI
LSSU
MSU
NACK
NMAX
PACK
PCR
SF
SIF
SIO
SU
SU length

The "basic" error correction method
Backward Indicator Bit (1 bit)
BIB to be transmitted
Backward Sequence Number (7 bits)
BSN to be transmitted
Flag
Frame Check Sequence
Forward indicator Bit (1 bit)
FIB to be transmitted
Fill In Signal Unit(L=O)
Forward Sequence Number (7 bits)
FSN of next transmitted MSU to be acknowledged (Also called FSN of oldest MSU in retransmission buffer)
Length Indicator (1 byte field)
Link Status Signal Unit (L = 1 or 2)
Message Signal Unit (L>2)
Negative ACKnowledgement
A procedure which complements PCR, and is used to limit the number of bytes available for
retransmission.
Positive ACKnowledgement
Preventive Cyclic Retransmission (one of two error correction methods)
Status Field (1 or 2 byte field in an LSSU)
Signalling information Field (2 or more byte field in an MSU)
Service Indicator Octet (1 byte field in an MSU)
Signal Unit (may be FISU, LSSU, or MSU)
The number of bytes in an SU after the LI field, but before the FCS.

83

9.0

WD2520 ELECTRICAL SPECIFICATIONS:
ABSOLUTE MAXIMUM RATINGS:

Voltages referenced to VSS
High Supply Voltage (VDD) . . . . . . . . . .. - 0.3 to 15V
Voltage at any Pin .................. - .03 to 15V
Operating Temperature Range ...... O°C to + 70°C
Storage Temperature Range. . .. - 55°C to + 125°C
NOTE:
Maximum limits indicate where permanent device
damage occurs. Continuous operation at these limits
is not intended and should be limited to those
conditions specified in the DC Electrical characteristics.

Operating OC Characteristics: VSS
SYMBOL

100
lee
VOD
Vee
VIH
Vil
VOH
VOL
ILH
10ZH
10Zl

= OV, VCC = 5.0V ±

PARAMETER

VOO Supply Current
Vee Supply Current
High Voltage Supply
low Voltage Supply
Input High Voltage
Input low Voltage
Output High Voltage
Output low Voltage
Input leakage Source
orSink
Input leakage High
Impedance
Output leakage High
Impedance

MIN

11.4
4.75
2.4

.25, VSS = 12.0V ± .6V TA = 0° to 70°C
TYP

MAX

UNIT

20
200
12
5

70
280
12.6
5.25

0.4

mA
mA
V
V
V
V
V
V

10

uA

10

uA

Vin = Vec

10

uA

Vin = VSS

0.8
2.8

84

CONDITIONS

10= -0.1mA
1.6mA
10 =

AC Timing Characteristics: VCC = 5V ± .25; VDD = RV ± .6V, VSS = OV, TA = 0° to 70°C

SYMBOL

PARAMETER

TYP

MIN

MAX
2.0

UNIT
MHz

ClK

Clock Frequency

RC

Receive Clock Range

0

MHz

Note 3, 4

TC

Transmit Clock Range

MHz

Note 4

0.5

Note 1, 2

MR

Master Reset Pulse Width

0
10

TAR

Input Address Valid to RE

0

TRD

Read Strobe (or DACK
Read) to Data Valid

375

ns

THO

Data Hold Time From Read
to Strobe

80

nS

THA

Address Hold Time From
Read Strobe

80

ns

TAW

Input Address Valid to
Trailing Edge of WE

200

nS

TWW

Minimum WE Pulse Width

200

nS

TDW

Data Valid to Trailing Edge
of WE or Trailing Edge of
DACK for DMA Write

100

nS

TAHW

Address Hold Time After
WE

80

nS

TDHW

Data Hold Time After WE or
After DACK for DMA Write

100

nS

TDA1

Time From DROO (or DROI)
to Output Address Valid if
ADRV = 1

80

nS

TDAO

Time From DACK to Output
Address Valid if ADRV = 0

400

nS

Note 5

TDD

Time From leading Edge of
DACK to Trailing Edge of
DROO (or DROI)

400

nS

Note 5

TDAH

Output Address Hold Time
From DACK

100

nS

TDMW

Data Hold Time From DACK
For DMA Read

100

nS

TRP1

REPLY Response Time
(leading edge)

240

nS

Note 5

TRP2

REPLY Response Time
(trailing edge)

260

nS

Note 5

mS
nS

NOTES:
1.
2.
3.
4.
5.

CONDITIONS

Clock must have 50% duty cycle.
Buffer chaining is not guaranteed when ClK is greater than 1.5 MHz.
Residual bit detection logic not guaranteed when RC is greater than 50Kbps.
See "Ordering Information" for maximum serial rates.
C(load) = 100pf

85

Note 5

DMA TIMING
DMAIN

DMA OUT
rTD?

DRQO

AO-A15
(ADRV
0)

=

AO-A15
(ADRV
1)

=

(AO-A15 SAME AS DMA READ)

I

I

;;

DRQI~

I!DA~I-1 J~~~"-A~
'
't~
_____ }

y ________

DACK

I

DALO-DAL7

<

~-.J

~

TDMW

Y

DACK
DALO-DAL7

1_ TDAH

iTDD-j

~/

/

-.j T DW~TDHW-I

(

DATA VALID

>--

r-

DATA VALID )

~TRD--l

I
CPU READ/WRITE TIMING

CPU READ

CPU WRITE (CS IS

(CS IS LOW)

IAO-IA3==><~_ _ _ _ _ _ _----.Jr,--___

I

RE

LOW)

v---

---v

IAO-IA3
_ -t4~-----:T=-/!I.-W------~

WE---~~r----TWW--~~r-=---

t=TDW-1
DALO-D:..:..A=L_7_ _ _ _ _+----<

DALO-DAL7

-------+----~

'----=----REPLY------~r

REPLY------~~

~TRP1~

~---------------------~---------------------~

* NOTE: There must not be a CPU read or write (CS-RE or CS-WE) within 500 nanoseconds after the trailing
(rising) edge of DACK.
There must not be the leading (falling) edge of DACK allowed within 500 nanoseconds after the
completion of a CPU write (CS-WE)_
RE and WE must not be low at the same time_
ORDERING INFORMATION
ORDER NUMBER
WD2520T-01
WD2520T-05
WD2520T-11

MAXIMUM RATE
100 Kbps
500 Kbps
1_1 Mbps

Information furnished by Western Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western Digital
Corporation for its use; nor for any infringements of patents or other rights of third parties which may result from its use. No license is granted by
implication or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right to change
speCifications at anytime without notice.

86

Printed in US.A

WESTERN DIGITAL
c

o

R

p

o

A

R

T

/

o

N

WD2840 Local Network Token Access Controller
FEATURES
• Broadcast Medium Oriented (Coax, RF, CATV, IR,
etc.)

nodes. WD2840's will be designed into process
control equipment, micro-computers, mini-computers, personal computers, proprietary micro-processor based applications, intelligent terminals, frontend processors, and similar equipment.
The great advantage for the design engineer is the
ease with which he can implement a local network
function. The WD2840 handles autonomously all
major communications tasks as they relate to the
local network function.

• Up to 254 nodes
• Dual DMA/Highly efficient Memory Block
Chaining
• Token based protocol
• Acknowledge option on each datagram
• Adjustable fairness, stations may be prioritized
• Frame format similar to industry standard HDLC
• Supports Global Addressing
• Diagnostic Support: Self-Tests, System and
Network

GENERAL DESCRIPTION
The WD2840 is a MaS/LSI device intended for local
network applications, where reliable data communications over a shared medium is required. The device
uses a buffer chaining scheme to allow efficient
memory utilization. This scheme minimizes the host
CPU time requirements for handling packets of data.
The WD2840 frees the host CPU from extensive
overhead by performing network initialization, addressing, coordination, data transmission, acknowledgements and diagnostics.

• TTL Compatible
APPLICATIONS
The WD2840 is a general purpose Local Network
Token Controller applicable to virtually all types of
multi-point communications applications. The token
protocol allows the sharing of one bus by up to 254

r- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - :

I

DALO-7,IAO-3

--------1
ROM

1

1

I

!

REGISTER
~--~
FILE
(16 HOST
VISABLE)

TC

CONTROL

DMA

I
I

DMAREGS
(2 CHAN)

IL _________________________________ - _____ - --II

PIN DESIGNATION

BLOCK DIAGRAM

Figure 1_1

87

=e
c
N

8

CONTENTS
Introduction ............................................................................ .
Scope................................................................................. .
1.0
General Description ...................................................................... .
1.1
Pin Definitions .................................................................... .
1.2
Device Architecture ................................................................ .
1.3
Register Definitions ................................................................ .
1.4
Diagnostic Aids ................................................................... .
1.4.1
Self Tests .................................................................. .
1.4.2 System Diagnostics .......................................................... .
1.4.3
Network Diagnostics ......................................................... .
2.0
Interfaces .............................................................................. .
2.1
Host ............................................................................ .
2.1.1
Event Counters ............................................................. .
2.1.2
Transmit Memory Interface .................................................... .
2.1.3
Receive Memory Interface ..................................................... .
2.2
Modem Interface .................................................................. .
3.0
Network Protocol ....................................................................... .
3.1
Data Transmission ................................................................. .
3.2
Access Method .................................................................... .
3.2.1
Initilization/Error Recovery .................................................... .
3.2.2
Station Removal ............................................................ .
3.2.3
Interaction of the Sub-Protocols ................................................ .
3.3
Frame Format ..................................................................... .
4.0
Electrical Specification ................................................................... .
5.0
Timing Characteristics ................................................................... .
6.0
Ordering Information ..................................................................... .
RELATED DOCUMENTS
Consult Western Digital Corporation for current application notes and related documents.

WD2840 LOCAL NETWORK
TOKEN ACCESS CONTROLLER
The WD2840 is designed to logically interconnect 2
to 254 user devices over a shared communications
medium. Examples of expected mediums include
coax cable, twisted pair bus, RF, and CATV. All
network control functions, such as data framing and
error checking, destination filtering, fair and adjustable transmission scheduling, and network
initialization and fault recovery (caused by noise for
example) are handled completely by the WD2840.
The protocol implemented allows guaranteed station
access intervals allowing applications in factory
automation and other critical communications environments where "statistical delays" are not acceptable. The WD2840 token protocol also allows the
addition and/or removal of stations to a network at
anytime, including while operating.

INTRODUCTION
The WD2840 is a single LSI device which gives
systems designers the ability to include networking
capabilities into their unique products simply and
economically.
A general and fundamental advantage to the use of
complex LSI in a given system is the partitioning of
required technical expertise. A successful user of the
WD2840 need not be a data-communications expert,
and further, he need not be at all concerned with low
level network details (though these details are documented and available to him if he is interested). The
potential user of the WD2840 must simply evaluate
the communications facilities provided by the device
to determine its suitability for the intended use.

88

tails of the communications protocol implemented
by the WD2840 Token Access Controller.
The document is organized into three main sections:
SECTION ONE is much like a traditional data sheet
including register descriptions, pin definitions, and
hardware architecture.
SECTION TWO describes the interfaces to the
WD2840. The network side is conventional, the host
side consists of an elaborate DMA interface with
control blocks and WD2840/host handshaking.
SECTION THREE details the network protocol implemented by the device. Normal operation, initialization, and the handling of error conditions are
described.

Serious attention has also been given to the user's
interface to the device. The interface is a combination of conventional 1/0 registers and an
elaborate DMA buffer chaining interface. This
chaining feature allows the user much more efficient
use of his system memory, particularly in situations
where the maximum message sent over the network
is much longer than the average size. This feature
also allows the automatic queueing of messages
independently of the user's consumption rate, in
effect, speed decoupling the user's CPU and
processing requirements from the network.
The WD2840 has several parameters (registers) that
allow tailoring to the user's requirements. In this way,
network priority and access ordering, to name two,
can be manually set if desired.
Using an integrated version of these network
algorithms saves not only the development costs
already mentioned, but further, the total processing
power required for the user's application is not increased. In other words, a CPU upgrade can likely be
avoided by "distributing" the network processing
task into LSI devices such as the WD2840.
SCOPE
This document differs from traditional LSI data
sheets in that it details not only the LSI implementation of a function, but also defines the overall function in detail. Specifically, this document includes de-

MEDIUM

CPU BUS

TO

AO·15
ORal

WD2840

TC

DRao

RTS

DACK

CTS

DALO-?

RD

cs

RC

WE

so

FiE
IAO-3
INTR
MR

TYPICAL SYSTEM CONNECTION

89

MODEM

1.1

PIN DEFINITIONS

PIN NUMBER

SYMBOL

PIN NAME

FUNCTION

1

DNC

DO NOT CONNECT

Leave pin open.

2

SQ

SIGNAL QUALITY

An active low input which signals the WD2840
that a frame may be received. The modem may
negate this signal if its receive signal quality is
below a reliability threshold, ensuring that the
WD2840 will not accept the frame.

3

WE

WRITE ENABLE

The data on the DAL are written into the
selected register when CS and WE are low. RE
and WE must not be low at the same time.

4

CS

CHIP SELECT

Active low chip select for CPU control of 1/0
registers.

5

RE

READ ENABLE

The content QL!he selected register is placed
on DAL when CS and RE are low.

6

CLK

CLOCK

Clock input used for internal timing.

7

MR

MASTER RESET

Initialize on active low. All registers reset to
zero, except control bit ISOL is set to 1. DACK
must be stable high before MR goes high.

DALO·7

DATA ACCESS LINES

An 8-bit bi-directional three-state bus for CPU
and DMA controlled data transfers.

16

RD

RECEIVE DATA

Receive serial data input.

17

RC

RECEIVE CLOCK

This is a 1X clockJ!!put, and RD is sampled on
the rising edge of RC.

18

VSS
TC

GROUND

Ground.

19

TRANSMIT CLOCK

A 1X clock input. TD changes on the falling
edge ofTC.

20

TD

TRANSMIT DATA

Transmitted serial data output.

21

RTS

REQUEST-TO-SEND

An open collector output which goes low when
the WD2840 is ready to transmit either data or
flags.

22

CTS

CLEAR-TO-SEND

An active low input which signals the WD2840
that transmission may begin.

23

DRQO

DMA REQUEST OUT

An active low output si9ral to initiate CPU bus
request so that the WD2840 can output onto the
bus.

24

DRQI

DMA REQUEST IN

An active low output signal to initiate CPU bus
requests so that data may be input to the
WD2840.

25

DACK

DMA ACKNOWLEDGE

An active low input from the CPU in response to
DRQO or DRQI. DACK must not be low if CS
and RE are low or if CS and WE are low.

26-41

AO-A15

ADDRESS LINES OUT

Sixteen address outputs from the WD2840 for
DMA operation.

VDD
INTR

POWER SUPPLY

+ 12VDC power supply input.

INTERRUPT REQUEST

An active low interrupt service request output.
Returns high when Interrupt Register is read.

IAO-IA3

ADDRESS LINES IN

Four address inputs to the WD2840 for CPU
controlled read/write operations with registers
in the WD2840. If ADRV = 0, these may be tied
to AO-A3.

VCC

POWER SUPPLY

+ 5VDC power supply input.

8·15

42
43
44-47

48

90

terrupt Event Register, a Counter Register and a
variety of Parameter Registers. In general the host is
responsible for defining these registers (except certain host read-only registers: SRO-2, IRO, CTRO and
NA) to contain proper and meaningful values prior to
entering Network Mode from Isolate State. Furthermore, while the WD2840 is in Network Mode, the
CBP (H,L) and MA registers must not be changed by
the host. Register NAR may be changed arbitrarily
but will only be considered by the WD2840 in
response to the NEWNA (CR10) control bit being set.
The two Control Registers and the TA, TD, AHOLT,
TXLT registers may change dynamically to control
the behavior of the WD2840.

1.2 DEVICE ARCHITECTURE
A detailed block diagram of the WD2840 is shown in
Figure 1.1.
Mode control and monitor of status by the user's
CPU is performed through the Read/Write Control
circuit, which reads from or writes into registers
addressed by IAO-IA3.
Transmit and receive data are accessed through DMA
control. Serial data is generated and received by the
bit-oriented controllers.
Internal control of the WD2840 is by means of three
internal micro-controllers; one for transmit, one for
receive, and one for overall control.
Parallel transmit data is entered into the Transmitter
Holding Register (THR), and then presented to the
Transmitter Register (TR) which converts the data to a
serial bit stream. The Frame Check Sequence (FCS)
is computed in the sixteen bit CRC register, and the
results become the transmitted FCS.

REG

Parallel receive data enters the Receiver Holding
Register (RHR) from the 24 bit serial Receive Register
(RR). The 24-bit length of RR prevents received FCS
data from entering the RHR. The receiver CRC
register is used to test the validity of the received
FCS. A three level FIFO is included in the receiver.
The WD2840 sends all information, network control
and user data, in blocks called frames. Each frame
starts and ends with a single flag (binary pattern
01111110). In between flags, data transparency is
provided by the insertion of a zero bit after all
sequences of five contiguous one bits. The receiver
will strip the inserted zero bits. (See section on frame
format for location of address, control, and FCS
fields.)

[1]
0
1
2[2]
3[2]
4[2]
5[2]
6[2]
7[2]
8
9
A

NAME

DESCRIPTION

CRO
CR1
SRO
IRO
SR1
SR2
CTRO
NA
TA
TD
CBPH

B
C
D
E
F

CBPL
NAR
AHOLT
TXLT
MA

Control Register 0
Control Register 1
Status RegisterO
Interrupt Event Register
Status Register 1
Status Register 2
Counter Register 0
Next Address
ACKTimer
Net Dead Timer
Control Block Pointer
(MSB)
Control Block Pointer (LSB)
Next Address, Request
Access Hold-off Limit
Transmit Limit
My Address

=

[1]
Hexadecimal representation of IAO-IA3.
[2] = CPU read only, write not possible.

1.3 REGISTER DEFINITION

Control, status, and interrupt bits will be referred to
as CR, SR, or IR, respectively, along with two digits.
For example, SR21 refers to status register #2 and bit
1, which is "STATE."

The WD2840 is controlled and monitored by sixteen 8
bit registers. This set of registers consists of two
Control Registers, three Status Registers, an In-

91

SUMMARY -

CONTROL, STATUS, INTERRUPT REGISTERS

REGISTER

7

6

5

BIT #
4

3

2

1

0

CRO

TXDEN

TXEN

RXEN

TOFF

ILOOP

COpy

NOINT

ISOL[1J

CR1[2J
CR1[4J

DIAGC
DIAGC

PIGT
0

INIT
0

ADRV
ADRV

GIRING
DMAT

0
LOOPT

0
RAMT

NEWNA
NUDIAG

SRO

LASTF

SENDACK

L2

0

BSZ3

SR1

TAOUT

IRTS

RECIDL

1

1

1

1

1

SR2

NXTTO

NXTRO

TR

ACKRQ

RETRY

TSENT

STATE

INRING

IRO[3J

ITUR

IROR

INS

ITRAN

IREC

ITOK

ITA

ITD/M

.. .

BSZ2

.. .

BSZ1

...

BSZO

NOTE: ZERO BITS (0) SHOWN ABOVE ARE RESERVED AND SHOULD NOT BE USED.
NOTES:
[1J = Set to 1 on power-up or master reset.
[2J = Non diagnostic mode only (CR17 -DIAGC cleared).
[3J = Any bit set causes host interrupt (INTR goes true) when Master Interrupt Suppress (CR01) is clear: All
bits are cleared when register is read by the host.
[4J

=Diagnostic State only (CR17-DIAGC set). See diagnostic section for register usage in diagnostic mode.

CRO -

CONTROL REGISTER 0 DEFINITION

REGISTER

CR07

CROS

CR05

CR04

CR03

CR02

CR01

CROO

CRO

TXDEN

TXEN

RXEN

TOFF

ILOOP

COPY

NOINT

ISOL

BIT

NANIE

DESCRIPTION

CROO

ISOL

Isolate. Set true on power up or master reset. Host clears this bit after the host
memory based WD2840 control block and other WD2840 registers have been set
up. May be set by the host at any time (will be ignored if WD2840 is in diagnostic
state). There is some delay for the WD2840 to respond to any state change request.
A state change to network mode is acknowledged by the state confirmation status
bit (SR21-STATE) being cleared. Setting ISOL while the WD2840 is in Network State
will cause a state change to Isolate State, confirmed by an interrupt event (IROOITM) and the STATE status bit (SR21) being set. This transaction will be delayed
until the node does not possess the token. Any in-progress frame transmission will
be completed normally (at the current frame, regardless of queue length), followed
by a normal token pass sequence.

CR01

NOINT

Master Interrupt Suppress. When clear, the WD2840 will generate host interrupt
requests (INTR low) if any bit in the WD2840 interrupt request register (IRO) is set.
When set, only the interrupt request is suppressed, not the setting of bits in IRO.
Note that any interrupt request will be dropped by the WD2840 when IRO is read
since this will clear IRO.

CR02

COPY

Enables COPY mode. When set causes all received data frames to be accepted
and DMA'ed into memory regardless of destination address. (See description in
Diagnostics Section.)

CR03

ILOOP

Instructs the WD2840 to loop data internally from transmitter to receiver: Used with
the LOOP diagnostic. Must NOT be set while in network mode (CROO-ISOL clear).

CR04

TOFF

When set causes WD2840 to ignore timers. This is NOT intended to be used in an
operational network but is provided to support network diagnosis. CAUTION: This
control bit disables all automatic network error recovery.

92

BIT

NAME

DESCRIPTION

CR05

RXEN

Receive Data Enable. When clear, the WD2840 still makes normal responses to
supervisory frames (scan, token pass), but will not DMA any data frames into
memory and ignores the receiver buffer chain. However any data frame which is
addressed to this node and for which an ACK is requested, will be NAK'ed with a
"receiver not enable" Nak code. When RXEN is set, it allows the receiver to DMA
appropriate data frames into memory. RXEN may be arbitrarily set and reset while
in Network State but changes will not affect any frames in progress.

CR06

TXEN

CRO?

TXDEN

NOTE: Even when RXEN is clear, the WD2840 is "following" the receiver buffer
chain with an internal register pointing either to the next available buffer (NXTRO
set) or, if the chain is exhausted, to a link field of zero (NXTRO clear). The constraints on host manipulation of the receiver buffer chain are the same regardless
of the state of RXEN. See the subsequent section on Receiver Memory Interface
for more details.
Master Transmit Enable. When clear no transmissions will occur and the transmit
buffer chain will be ignored. When set, transmission activity is further dependent
upon TXDEN (CRO?).
NOTE: Even when TXEN is clear, the WD2840 is "following" the transmitter buffer
chain with an internal register pointing either to the next frame to transmit (NXTTO
set) or, if the chain is exhausted, to a link field of zero (NXTTO clear). The constraints on host manipulation of the transmitter buffer chain are the same regardless of the state of TXEN. See the subsequent section on Transmitter Memory
Interface for more details.
Data Transmit Enable. Has no meaning unless TXEN is set. When set in conjunction with TXEN, normal WD2840 transmission of data and supervisory frames
will occur. When clear and with TXEN set, only data frame transmission will be
suppressed. That is, token pass and Ack/Nak supervisory frames will still be
transmitted when appropriate.
NOTE: The note above forTXEN applies.

CR1 - CONTROL REGISTER 1 DEFINITION
REGISTER

CR17

CR16

CR15

CR14

CR13

CR12

CR11

CR10

CR1
CR1

DIAGC
DIAGC

PIGT
0

INIT
0

ADRV
ADRV

GIRING
DMAT

0
LOOPT

0
RAMT

NEWNA
NUDIAG

BIT

NAME

DESCRIPTION (CR17 = 0, Network mode)

CR10

NEWNA

Update NA register. When set causes WD2840 to copy the contents of register
NAR into register NA. The WD2840 clears this bit after the function is complete.
This mechanism allows the host to define the WD2840's successor in the logical
ring. The node's next token pass will be to the new NA node.
NOTE: The normal token pass recovery applies. If the token pass to the new NA is
not successful, a normal scan sequence will occur where the WD2840 attempts a
single token pass to each node address in numerical sequence until a successful
pass occurs or the node's address itself is reached.
(Not used, Reserved.)
(Not used, Reserved.)
Get in logical ring. Instructs the WD2840 to gain entry into the logical ring at the
next opportunity (Le. respond to a token pass). The INRING status bit (SR20) is
confirmation; when INRING is set, it indicates that the WD2840 is participating in a
logical ring of at least two nodes. If the host clears GIRING while INRING is set,
the WD2840 will not accept the next token pass to it at which time INRING will be
cleared as confirmation.

CR11
CR12

-

CR13

GIRING

93

BIT

NAME

DESCRIPTION (CR17 = 0, Network mode)

CR14

ADRV

Address Driver Enable. Enables the sixteen output address (AO-A 15). If ADRV
0,
the outputs are tri-state and are in HI-Z, except when DACK goes low. If ADRV
1, the outputs are always TTL levels.

CR15

INIT

Network Initialization Enable. When clear, the WD2840 will not attempt to
(re)initialize the network if the net dead timer (TO) expires. When set, TO timer
expiration causes the WD2840 to enter Scan Mode. In this mode it transmits a
token pass frame to each node numerically higher in address, one after another,
until either network activity occurs (another node responds) or until the node's own
address is reached. When Scan Mode begins, the first node address used is the
then current NA (Next Address) node address. This value is derived from and is
affected by the following actions:

=

1.
2.
3.

=

At transition into Network State it defaults to MA + 1.
It may be set by the host using the NAR register and the NEWNA (CR10)
control flag.
Upon receipt of a Scan Mode frame, NA is redefined to MA + 1.

The successful initialization of the network by Scan Mode causes NA to be defined
as the first responding node (hence, this node's successor).
All node address computations are ascending and circular within the valid node
address range of 1-254.
NOTE: Since this network initialization activity comes about because of a timer
expiration, TOFF (CR04) must be clear.
CR16

PIGT

CR17

DIAGC

CR1 -

If set, instructs WD2840 to piggy back token on last data frame transmitted. This
request is honored if the last frame is determined as a result of limit TXLT or the
LAST bit set in the TFSB, but not if transmission ends due to the reaching of the
end of the chain.
Enables diagnostic mode. In network mode this bit should be zero.

CONTROL REGISTER 1 DEFINITIONS

BIT

NAME

DESCRIPTION (CR17 = 1, Diagnostic mode)

CR10

NUDIAG

Perform a new diagnostic. When set causes WD2840 to perform the selected
diagnostics. The host initializes the appropriate registers for the particular
diagnostiC and by setting this bit can initiate the test. The WD2840 clears this bit
after completion of the diagnostic.

CR11

RAMT

Selects internal RAM test if in diagnostic mode.

CR12

LOOPT

Selects Loop Test if in diagnostic mode.

CR13

DMAT

Selects DMA Test if in diagnostic mode.

CR14

ADRV

Address Driver Enable. Enables the sixteen output address (AO-A15). If ADRV
0,
the outputs are tri-state and are in HI-Z, except when DACK goes low. If ADRV
1, the outputs are always TTL levels.

CR15

-

CR16
CR17

DIAGC

=

=

(Not used, Reserved.)
(Not used, Reserved.)
Enables diagnostic mode. Confirmation of diagnostic mode is via status bit STATE
(SR21). When DIAGC and STATE are both set, diagnostiC functions of CR1 apply.
When DIAGC is cleared, after the selected set of diagnostics in progress complete, the WD2840 will transition to the Isolate state. This transition will cause an
interrupt event (ITM).

94

SRO - STATUS REGISTER 0 DEFINITION
REGISTER

SR07

SR06

SR05

SR04

SR03

SR02

SR01

SROO

SRO

LASTF

SENDACK

L2

0

BSZ3

BSZ2

BSZ1

BSZO

BIT

NAME

DESCRIPTION

SROO

BSIZ

Buffer Size, multiples of sixty-four bytes (the multiple ranges from a to 15, meaning
buffers are 64 to 1024 bytes). This is an indication only (Le. read only). The value is
obtained from the host memory-based WD2840 control block which is read when
the WD2840 transitions from Isolate State to Network State (see ISOL-CROO). See
the subsequent section on memory interface for more details.

....

SR03

SR04

-

Not used.

SR05

L2

An internal flag set during frame transmission if the length value of the current
frame is equal to eight. For normal data frame transmission this means the frame
has no data field and for transparent frame transmission this means the frame is an
access control frame.

SR06

SENDACK

An internal flag set during data frame reception to indicate that the incoming frame
should be acknowledged (send ack/nak frame). This flag is cleared when the
acknowledgement has been transmitted.

SRO?

LASTF

An internal flag set during data frame transmission to indicate that the current
frame will be the last to be transmitted during this access period. Five situations
can cause this to occur: 1) ISOL (CROO) becoming set, 2) TXDEN (CRO?) becomes
clear, 3) current frame flagged (via FSB) to be "last frame," 4) the current token
frame count reaching the TXLT limit, 5) transmitter under-run detection. Note in
particular that the last frame in the transmit queue will not cause LASTF to set
since it's being last is not known until frame end. Also if a piggy-back token is permitted (CR16 set) and no acknowledge is requested (via FSB), the token will be piggybacked on the current (last) data frame. LASTF is not cleared until the next data
frame transmission begins.

SR1 - STATUS REGISTER 1 DEFINITION
REGISTER

SR17

SR16

SR15

SR14

SR13

SR12

SR11

SROO

SR1

TAOUT

IRTS

RECIDL

1

1

1

1

1

BIT

NAME

SR10

....

-

DESCRIPTION
(Not used, reserved.)

SR14
SR15

RECIDL

SR16

IRTS

SR1?

TAOUT

Receiver Idle. Indicates the WD2840 has received at least 15 contiguous ones.
Internal Request To Send. Indicates the transmitter is attempting (successful or
not) to send either data or flags. If the RTS pi n is not tied to ground or WI RE-ORED
with another signal, then IRTS = RTS.
Timer TA expired.

95

SR2 - STATUS REGISTER 2 DEFINITION

BIT

NAME

DESCRIPTION

SR20

INRING

In logical ring. Indicates the node has had the token and has successfully passed it
at least once (therefore it is included in a logical ring of at least two nodes). See
GIRING (CR13) for other comments.

SR21

STATE

SR22

TSENT

Mode confirmation. Depending on DIAGC (CR17), the WD2840 is either in Isolate or
Diagnostic state. When ISOL (CROO) is set, STATE set confirms the WD2840 is not
in Network State. When ISOL is clear, STATE clear confirms Network State. Note
any state transition into Isolate State causes an interrupt event to occur (ITM).
An internal flag. TSENT is set when the WD2840 passes the token. It may have
been either a piggyback or explicit token pass frame. TSENT is cleared when the
next frame is received.

SR23

RETRY

SR24

ACKRQ

SR25

TR

An internal flag set when the WD2840 receives a token passed to it. It is cleared
when the token is passed (or if it is ignored for any reason. For example, piggyback
token on a bad data frame, TXEN clear, or detection of duplicate tokens in the
logical ring).

SR26

NXTRO

Internal Receive Buffer Pointer State. Because of the linked list approach used in
the buffer chains, the WD2840 internal register used to follow the list is either
pOinting to the next buffer in the chain or at the address of the next buffer in the
chain (prior buffer's link field). The WD2840 will always advance along the chain so
that it has the address of the next buffer to be used. However, when a zero link is
encountered, the WD2840 retains the link field address expecting eventually that
the chain will be extended by the host making the link some non-zero value. When
the WD2840 actually needs the next buffer, it looks again at the contents of the link
field expecting it to have been changed (chain extended) to the address of an
available buffer. The NXTRO bit differentiates between these two situations. When
set it indicates the WD2840 has the address of the next buffer and that all prior
frames (denoted by posted FSB's) can be removed from the chain for received
frame processing by the host. When NXTRO is clear it indicates that the WD2840
has advanced to a zero link (end of chain).
NOTE: In this situation, the last posted frame CANNOT be removed from the chain
for processing since it is the link field of his last buffer that must be set in order to
extend the receiver buffer chain.

SR27

NXnO

Internal Transmit Buffer Pointer State. The comments for NXTRO (SR26) apply (in an
analogous manner) to NXnO since the transmit buffer chain is handled by the
WD2840 using an identical scheme. When NXnO is set it indicates that the
WD2840 has the address of the next frame to transmit in its internal register.
However when clear, it indicates that the transmit chain internal register points to
the link field of the last buffer of the last transmitted frame. This link field contained zero when first read. For the transmit case, this is a normal situation
corresponding to no data frames to transmit.

An internal flag which is set when either a data frame or a token pass frame must
be retransmitted. Data frames are only retransmitted if they have an acknowledge
request and no response at all occurred. Token pass frames (except Scan) are
retransmitted if no network activity was detected. Both of these situations are
detected as a result of a TA timeout.
An internal flag set during data frame transmission if an acknowledgement is
requested for the specific frame. If this is the case, the WD2840 pauses to await
the ACK/NAK response frame; if the TA timer expires before the response, a single
retry will occur (see RETRY-SR23). ACKRQ is not cleared until the beginning of the
next data frame transmission.

NOTE: As in the receive case, when NXnO is set, all previously transmitted frames
(denoted by posted FSB's) can be removed from the chain for reuse. However,
when NXnO is clear it indicates that the transmit chain must be extended by the
host before removing the very last frame that has been transmitted (posted).

96

IRO -

INTERRUPT REGISTER DEFINITION

REGISTER

IR07

IRoa

IROS

IR04

IR03

IR02

IR01

IROO

IRO

ITUR

IROR

INS

INTRAN

IREC

ITOK

ITA

ITO/M

The setting of any bit in this register by the W02840 causes an interrupt request (INTR
is clear. The reading of this register by the host clears all bits (and any interrupt request).

= low)

if NOINT (CR01)

BIT

NAME

DESCRIPTION (1)

IROO

ITO/M

Network dead or mode change (dual use). When in Network mode, timer TO expiring (with TOFF clear) causes this bit to be set to indicate no network activity has
occurred within the timeout period. Also INRING (SR20) is cleared and, if INIT
(CR15) is set, the WD2840 will enter Scan Mode (see INIT - CR15 for details).
Transition from Network or Oignostic State to the Isolate State will be confirmed by
this interrupt. The choice between the ITO and ITM interpretations is easily made
based on the ISOL (CROO) bit.

IR01

ITA

Date Frame Transmission Unsuccessful. This interrupt indicates that a transmitted
data frame with an acknowledge request was not successfully acknowledged.
Either a NAK or no response after two transmissions will cause this. The exact
cause can be determined by inspecting the appropriate FSB.

IR02
IR03

ITOK
IREC

IR04

INTRAN

Indicates that at least one data frame has been transmitted. The number of frames
transmitted and the status of each (Le. ACKINAK, retry count) is determined by
following the transmit chain and inspecting frame status bytes (FSB). All transmitted frames up to but NOT including the last posted may be freely removed. The
last one posted may only be removed if the W02840 NXnO (SR27) is set. For more
details see the explanation for NXnO.

IR05

INS

New successor. The W02840 has identified a new successor in the logical ring.
This happens when the prior suocessor either failed to respond to a token pass or
as instigated by a network scan frame.

!R06

IROR

Receiver over-run. The W02840 ran out of buffers or access to the OMA channel
was delayed by the host so long as to cause loss of received data.

IR07

ITUR

Transmitter under-run. The W02840 was delayed access to the OMA channel by the
host long enough to cause loss of transmitted data (an abort was sent). The frame
is not retried and the token is passed.

The token has been received.
Data Frame Received. This interrupt signifies that a good data frame has been
properly received and DMA'ed into the buffer chain. Frames that have been
received can be identified by following the buffer chain noting the W02840 frame
status bytes (FSB). A non-zero FSB (host must clear when queuing free buffers)
indicates a properly received frame. The host may freely remove all received
frames from the chain up to but NOT necessarily including the last one posted.
The last one posted may only be removed if the W02840 NXTRO (SR26) is set. For
more details see the explanation for NXTRO.

(1) = Non diagnostic mode only. See diagnostic section for register usage for diagnostics.

97

:ec

I\)

~

OTHER REGISTER DEFINITIONS
NAME

DESCRIPTION

CTRO

Running Limit Counter: Used by the WD2840 for Access Hold-Off Limit (AHOll) checking and
Transmit Limit (TXll) checking. When transmitting data frames CTRO is used for TXlT
counting; otherwise it is used for AHOlT counting. The counter runs from zero to the 8-bit
limit value.
Next Address. This register shows the current (instantaneous) successor node in the network
logical ring. For validity, the WD2840 should be "in the ring" (see GIRING - CR13 and INRINGSR20 for more detailS). The successor node may be changed for a variety of reasons:

NA

1. Any attempted token pass that fails twice will cause the WD2840 to attempt to locate a
new successor by sequentially trying token passes to successively higher node addresses beginning with NA+ 1.
2. A received Scan frame will cause NA to be set to MA + 1. If the next token pass fails
case 1 applies.
3. The host may arbitrarily redefine NA by using the NAR register and the NEWNA (CR10)
control bit. At a convenient pOint the WD2840 recognizes NEWNA, copies NAR into NA,
then clears NEWNA as confirmation. If the next token pass fails case 1 applies.
TA

Acknowledgement Timer. Value of maximum allowed time between frame transmission and
ACKINAK (if requested), or between token sent and network activity. The delay is in increments of 64 times the period of the clock ClK. Thus, if ClK = 2 MHz, then TA may be set
in increments of 32 microseconds (range of 32/As to 8.2 ms).

TD

Network Dead Timer: Value of maximumtime interval between received valid frames on the
network. Same clock source and range as TA. TD must be >TA.

CBP(H,l)

Control Block Pointer. A sixteen bit pointer to the WD2840 control block in the user's memory.
Must not be modified while the WD2840 is in network mode.

NAR

Next Address, Request. Used in conjunction with the NEWNA (CR10) control bit to cause the
WD2840 to update the NA register. This redefines the node's successor in the network logical
ring. It MUST be an address in the range 1-254. The acceptance of this update is confirmed
when the NEWNA control bit is cleared. On the next token pass, if the redefined successor
fails to accept the token, this WD2840 enters Scan mode where it sequentially attempts a
token pass to successively higher nodes.

AHOlT

This register is set at a value indicating the number of access cycles (tokens received) that
must be skipped before a data frame may be transmitted. (A token pass frame will be sent
even if a data frame may not be sent at a given access cycle.) Initialized to zero at power up.

TXlT

This register is set at the maximum number of consecutive data frames the WD2840 may
transmit during one access cycle. A value of zero allows the WD2840 to transmit all frames
queued up to 256. Initialized to zero at power up.

MA

My Address. The WD2840 receives only frames with this destination address (along with the
broadcast address) and inserts this address into the SA field of any transmitted frame. Must
be set by the host (range is 1 to 254).

98

1.4 DIAGNOSTIC AIDS
There are three levels of diagnostics supported by
the WD2840; those that are associated with the
network as a whole, those associated with the inDIAGNOSTIC
MODE CONTROL
CROO CR17 SR21
ISOL DIAGC STATE
1

0

0

0
1

0
0

0
1

1

1

0

1

1

1

0
0
0

0

1
0
1

1

1

dividual node, and those that are limited to the
WD2840 as a device. These tests are Network
Diagnostics, System Diagnostics and Self Diagnostics respectively. The Network Diagnostics can be
performed while the WD2840 is in the logical ring, but
the System Diagnostics and the Self Diagnostics
may be used only while the WD2840 is in the
diagnostic mode.
Diagnostic mode may be entered after power-up or
from the network mode by manipulation of the mode
control bits. The mode transition is confirmed by the
WD2840 via the STATE status bit.
Once in diagnostic mode, the desired test is selected
via CR1. Because most of registers 8 through Fare
interpreted differently for each test, only one of the
diagnostic test bits should be set at a time. In
conjunction with setting the diagnostic bits, the
NUDIAG (CR10) bit must be set to perform the
diagnostic test requested.
At the completion of the selected test NUDIAG is
cleared by the WD2840. Therefore the host can initiate a diagnostic by entering the diagnostic mode, initializing the proper registers, setting the desired
diagnostic bit, and setting NUDIAG. The host then
moniters CR1 for NUDIAG going to zero, indicating
the completion of the requested diagnostic.

DEFINITION
WD2840 "Isolated." Powerup condition or isolate
request.
WD2840 active.
Isolate request function
confirmed.
Host request to enter
diagnostic mode.
Diagnostic mode confirmed. Diagnostic functions of CR1 apply.
Illegal.
Illegal.
Illegal.

DIAGNOSTIC STATE FLOW CHART

ISOL = 17
(CROO)

~N~O~_ TO NETWORK STATE

INTRPIN43
GOES LOW

YES
YES

~_ _~

o-_ _ _ _ _ _ _ _ _...:...YE::.::S=_<

DIAGC=17
(CR17)

NUDIAG = 17'>N'-'-O=----_ _ _ _ _ _~
(CR1O)

NO

Poll CR1 for 0 in
NUDIAG for test
complete, process
results, then clear
DIAGC in CR1 to exit or
set NUDIAG and NEXT
TEST to continue
diagnostics.

99

POWER UP

Figure 1.3

FUNCTIONAL STATES

match. The same is true for registers D and 6 and
memory location N + 1.
Loop-Back Test
The host can test the WD2840 parallel to serial, serial
to parallel converters, CRC, and framing logic by
setting LOOPT (CR12) bit of the WD2840, while in the
diagnostic mode. The host has t~e responsibility of
initializing a transmit buffer with a known pattern and
then verifying its correct reception. The pattern is
looped internally to the device if ILOOP (CR03) = 1,
or may be looped externally (with outside logic) if
ILOOP = O.
The following procedure should be followed in order
to run the loop-back test:

1.4.1 SELF DIAGNOSTICS
Internal Ram and Interrupt Test
There are nine eight bit registers in the WD2840
which are not directly accessable by the users CPU.
This test provides a means to check those registers
and the interrupt register. The contents of register A
are placed into the interrupt register and five even
internal registers, and the contents of register B in
four odd internal registers. The nine registers are
then added together without carry and the result is
placed in registers 2, 5, 6, 7.
Use the following procedure to initiate the RAM test:
1. Enter diagnostic mode.

1. Enter diagnostic mode.
2. Set up register A and B to point to a buffer that is
initialized with a pattern for transmission.

2. Set up registers A and B
3. Set RAMT.
4. Set NUDIAG (can be set with RAMT bit together).

3. Set up register C and D to point to a buffer to
receive the frame. (It is a good practice to initialize
this buffer with all '00' or all 'FF' value bytes.)
4. Set up the buffer size in bits 3-0 of register E.
(NOTE: In this test the last two bytes of the buffer
will not be transmitted.)

5. Wait for NUDIAG to be cleared.
6. Read registers 2, 5, 6, 7. Clear RAMT.
Note that the setting of any bit in the interrupt
register while NOINT is clear will generate a hardware interrupt (INTR , pin 43 goes true).

5. Set ILOOP bit (CR03). (This is optional, if internal
loop-back test is desired.)
6. Set LOOPT bit (CR12).
7. Set NUDIAG (CR10).
8. Wait for NUDIAG (CR10) to be cleared.
9. Compare the two buffers to verify correct
reception of the frame.
NOTE:
If this test frame is allowed onto the network, transmission collisions may occur. Further, the first three
bytes of the transmit buffers will be interpreted as
TC, DA and SA, respectively, by the other stations.
Therefore in case this test is initiated while this node
is in the logical ring, care should be taken for
choosing these three values for external loop-back
test.

1.4.2 SYSTEM DIAGNOSTICS
DMATest

This test verifies proper operation of the DMA subsystem by reading the value from a register and
writing it into the user memory. The test continues by
reading the value from the same location in memory
and writing it into another register.
The value is read from register C. Using the transmitter DMA sub-system, it is written into memory location addressed by register A and B (location N;
register A is the MSB). The receiver DMA sub-system
is used and contents of the same address is read and
it is stored into the register 7. Next the receiver dma
is used and the contents from register D is written
into location N + 1. The transmitter dma reads the
value from location N + 1 and stores it into register 6.

For proper operation of the internal loop-back test the
CTS and sa pins of the WD2840 should be either tied
to ground or tied to RTS pin of the WD2840.

It is the host's responsibility to check if the contents
of registers C and register 7 and memory location N

100

several circumstances. The NAK prevents the
transmitting node from wasting bandwidth retrying
indiscriminately, and further, lends visibility to individual network node problems. The NAK includes a
reason code which is available to the transmitter's
software (via the TFSB).
Each data frame to be transmitted can be specifically
marked (via the FCB) by the host to require an
ACKINAK response from the receiving WD2840. In
the absence of errors, an acknowledge (ACK) frame
will be returned to the transmitter as confirmation.
However, several circumstances cause a Negative
Acknowledge (NAK) to be returned:
1. Insufficient buffer space
2. Receiver not enabled (RXEN - CR05 cleared)
3. Receiver overrun
4. Frame exceeded 16 buffers in length
This information is placed in the transmitted
frames's FSB. See section 2.1.2 for more details on
the Transmit Frame Status Byte (TFSB).

1.4.3 NETWORK DIAGNOSTICS
Duplicate Station Detection

Dupl icate stations (more than one station with the
same address) can result from the faulty programming of internal register MA (due to wrong address
switch settings on the user's device, for example).
This is expected to occur often enough to warrant the
addition of a detection algorithm in the users
WD2840 initialization procedure.
After initializing all required parameters, the user
places the WD2840 in network mode (by setting ISOL
false). The WD2840 monitors all frames on the network, and, if one is observed as having been transmitted by its address (source address of the frame
equals the value in register MA) an event counter is
incremented.
The user should monitor the SA = MA event counter
at least long enough for the token to have circulated
all the way around the access ring (time is configuration dependent) before enabling the WD2840's
transmitter:
It is useful to note that this constraint requiring each
node which is participating in the network logical
ring to have a unique address does not extend to
nodes which are "listening" but not "in the ring." It
might be useful to a network designer to have groups
of receive only nodes which have the same node
address but do not participate in the network token
passing (see GIRING - CR13). Data frames transmitted to such clusters must not request acknowledgement since all nodes in the cluster would
simultaneously respond.

2.0 INTERFACES
There are two interfaces to the WD2840: the host
computer side, and the network side. The network
side is conventional from an electrical point of view,
the WD2840 performs all logical functions required to
ensure communications capability on broadcast
media (such as coax or RF).

The host interface involves two separate functional
interfaces: the status/control registers described in
section one, and a DMA interface that is described in
the following subsection.

Copy Mode
The COPY Mode is selected by setting the COPY
control bit (CR02). Normally the WD2840 receives
(DMA's into the receive buffer chain) data frames only
if they contain the general broadcast destination
address or if they are specifically addressed to the
WD2840. This occurs when the frame's destination
address (DA) matches the WD2840 my address (MA,
set by the host).
However, when COPY mode is selected data frames
which are specifically addressed to other nodes will
be treated as broadcast frames by this node. The
COPY mode allows a specific node to "evesdrop" on
data frame traffic on the network.

2.1 HOST
The WD2840 uses a complex memory buffer architecture allowing it to respond in real time to its network
obligations (e.g., to meet network data rate and processing delay requirements). These memory structures are managed cooperatively by the host and the
WD2840.
Memory management functions requiring real time
response (e.g., traversing chains) are completely
handled by the WD2840. Other important, but not
time critical operations are the responsibility of the
host software (such as removing used buffers from
the transmit chain).
All memory references by the WD2840 are pointed to
by memory locations (and internal registers) initially
defined and set up by the host software. Initial values
and memory based registers are grouped together
and called the WD2840 Control Block.

Nak Response
The WD2840 sends negative acknowledgements
(NAK's) on response to received frames under

101

it is expected that the host will maintain both a FIRST
and a LAST address for each chain. On transition into
Network State, the chain origin information in the
WD2840 control block is the same as FIRST. In fact,
since the WD2840 does not change these control
block entries, they can be maintained directly as
FIRST by the host. An explicit LAST could be placed
in an extended control block section.

The location of this control block is written into the
registers CBPH and CBPl anytime the WD2840 i~ in
Isolate State. This control block has the followmg
structure:
CBP- +0

NXTR(H)

+1

NXTR (l)

+2

NXTT (H)

+3

NXTT (l)

+4

BSIZE

+5
+6

EVTO
EVT1

+F

EVT10

Receive Buffer Chain
(MSByte)
Receive Buffer Chain
(lSByte)
Transmit Buffer Chain
(MSByte)
Transmit Buffer Chain
(lSByte)
Buffer Size /16 (O-F = 641024 bytes)

The WD2840 "follows" the linked buffer chains by
maintaining a NEXT address internally for each
chain. This NEXT address can be in one of two
states: 1) it can be the address of the next buffer in
the chain, or 2) at the chain end (zero link), it can be
the address of the buffer containing the zero link. The
WD2840 uses a status bit for each chain, NXTRO
(receive) and NXTTO (transmit), to differentiate t~e
two states. When set they indicate the WD2840 cham
NEXT address is in state 1 above; when clear they
indicate state 2 above. This is an important distinction since it indicates whether the last buffer posted
in a chain can be removed by the host (because the
WD2840 has advanced to the buffer beyond) or must
be left until the chain can be extended so the
WD2840 can advance.

Eleven separate Event
Counters, see section
2.1.1 for details

As the WD2840 transitions to Network State, it reads
and uses the first five bytes of the control block. The
remaining eleven bytes of event counters are accessed by the WD2840 only when each specific event
condition occurs.

The host software monitors the progress of the NEXT
pointer: and updates FIRST and LAST as it adds (and
remov~s) buffers to (from) the chains as required. The
WD2840 provides Interrupt Events (see IRO) and
NXTRO, NXTTO status bits to indicate when it advances along the two chains and exactly what state
its NEXT address registers are in. The operation of
these chains will be explained by example in later
sections.

Either the Receive (NXTR) or Transmit (NXTT) chain
entries in the control block may initially be zero; in
such a case the WD2840 expects the chain to be
extended by the host's changing the zero link field in
the control block. Thereafter any such zero link would
be in a buffer.
The WD2840 uses constant size buffers; their length
is set by the value in location BSIZE. The buffer size
is indicated by a 4-bit count in the least significant 4
bits of the BSIZE byte in the WD2840 control block.
The buffer sizes available are multiples of 64;
(BSIZE + 1) 64 is the buffer size used by the WD2840.
Thus a BSIZE range of 0-15 corresponds to actual
buffer sizes of 64 through 1024 bytes. This buffer
length is inclusive of control bytes and buffer link
pointers.

"Deadly Embrace" Prevention
A "Deadly Embrace" can occur when two processors
reach a state where each is waiting for the other: In
this case, the two processors are the user's CPU and
the micro-controller inside the WD2840. Therefore, to
prevent the "deadly embrace," the following rule is
obeyed by the WD2840 and should also be obeyed by
the user's CPU. This rule applies to the WD2840
memory registers and to the I/O registers. The Event
Counters are an exception to this rule.

The WD2840 includes a chained-block feature which
allows the user more efficient use of memory, particularly in situations where the maximum packet
size is much larger than the average packet size. One
or up to 16 buffers may make up a frame but a buffer
may not contain more than one frame.

Rule:
If a bit is set by the CPU, it will not be set by the
WD2840 and vice versa. If a bit is cleared by the
WD2840: it will not be cleared by the CPU, and vice
versa.
As an example, the NEWNA (CR10) control bit is only
set by the host and is only cleared by the WD2840.

Byte counters are associated with each frame (at the
memory interface, not actually transmitted within the
frame) so that frames on the network need not be
integer multiples of buffers. The byte counters include all buffer management overhead. Therefore, a
frame consisting of 100 transmitted data bytes,
occupying two 64-byte buffers, would have a byte
count of 108 (six bytes per frame + 2 bytes per buffer
boundry).

DualDMA
The WD2840 may, for effiCiency, interleave frame data
fetch/store operations with fetches and stores. of
pointers and flags in memory. In all cases, operation
sequencing is such as to prevent deadlocks and
ambiguities between the WD2840 and software.

Since the WD2840 receive and transl11it buffer chains
are linked lists (see section 2.1.2 and 2.1.3) and are
"followed" by the WD2840 but managed by the host;

102

2.1.1 EVENT COUNTERS
Several non-fatal logical events are tabulated by the
WD2840 and made visible to the host via memory
based event counters (see WD2840 control block
organization for specific locations). The WD2840 will

increment each counter at the occurance of the
specified event. Note that the WD2840 will not increment past 255. The host has the responsibility of
initializing each counter:

COUNTER

DESCRIPTION

EVTO

"Set scan mode" frame received from the network. The NA register was redefined to
MA + 1 at the time.
Transmission error first attempt, second try successful. Can only occur for frames
requiring an acknowledgement. It indicates no response was received for the first
transmission; however, the second transmission was either ACK'ed or NAK'ed.
Transmission error: Attempt aborted due to either transmitter underrun or frame
length exceeding 16 buffers.
TimerTD (network dead) expired.
Access Control Frame Reception Error: A one or two byte supervisory frame
(ACKINAK, Token Pass, Scan Mode) has been received in error: This may be due to an
FCS error, frame abort, or carrier loss detection.
Data Frame Reception Error: An incoming data frame was incorrectly received due to
an FCS error, frame abort, carrier loss detection, or receiving a data frame when expecting an ACKINAK frame.

EVT1

EVT2
EVT3
EVT4

EVT5

EVT6

NAK sent. Can occur for any of the following reasons:
1. Insufficient buffers in chain
2. Receiver not enabled (RXEN clear)
3. Receiver overrun
4. Frame length exceeded 16 buffers

EVT?

Invalid frame received. Caused by the detection of certain abnormal network conditions such as receiving an ACKINAK frame when not expecting one, receiving a
Scan mode frame when expecting an ACKINAK frame, or receiving an invalid
supervisory frame.
Duplicate token detected. This counter will be incremented when the WD2840
determines that more than one token exists in the logical ring. This happens if a
token pass is received when the WD2840 already has the token, or a data frame is
received when the WD2840 is waiting for an acknowledgement frame.

EVT8

EVT9
EVT10

Not used.
Duplicate node address. This counter will be incremented when a data frame being
DMA'd into memory has a source address (SA) equal to the WD2840 node address
(MA). This counter when used with COPY mode (CR02) is one way for detecting other
nodes with the same node number (MA).

2.1.2 TRANSMIT MEMORY INTERFACE
When the token is received, data transmission is
enabled (TXEN - CR06 and TXDEN - CRO? both set),
and if the access hold-off counter has reached its
limit, the WD2840 will determine whether any data
frames are pending in the transmit chain. If so, it will
transmit the first data frame in the chain. Otherwise
the token will be passed. A given data frame will be
the last frame transmitted for this token if any of
several conditions occur:
1. ISOL (CROO) is set indicating the host has
requested a transition to Isolate State.

4. The running frame counter has reached its limit
(TXLT).
5. No further frames are pending in the transmit
chain.
If any of the first four reasons above are true a token
pass will occur: If the last frame does not require an
acknowledgement, the WD2840 will piggyback the
token pass if that is permitted (CR16). If the token
cannot be piggybacked or if the last frame transmitted is the last frame pending (condition #5 above),
an explicit token pass will occur: A piggyback token
will not occur for the last pending frame because, for
the general multiple buffer case, it is not known to be
the last pending frame until after the transmission is
complete.

2. TXDEN (CRO?) is clear indicating the host has
changed data frame transmission rights.
3. The frame FSB indicates this frame should be the
last transmitted for this token.

103

The WD2840 will read and evaluate the address of the
next frame at two specific points in time:
1. At the end of the prior frame, even if the prior
frame is the last to be transmitted for this token.
2. When the token is received .and data frame
transmission is permitted.
If a non-zero frame address is found at time 1 above,
it is kept and used without being re-read at time 2
above. However, if no pending frame is found at time
1, this is noted with the NXTTO flag clear and the
chain re-inspected on each occurrence of time 2
above.
As frame transmission commences, the WD2840
reads the address of the next buffer, the frame
control byte, (FCB) and the frame length. It then
starts reading bytes from the buffer and sending
them until the frame length count or the end of the
buffer is reached. The new buffer is read and data
transmitted as before. (See Figure 2.1)

When the frame length is finally reached, the
WD2840 pauses if an acknowledgement has been
requested. The frame status byte (FSB) is updated
when the frame is completed; its posting indicates
frame completion and gives information about the
success or failure of the frame transmission. At
frame completion, the WD2840 attempts to advance
along the transmission chain to identify the next
frame regardless of whether it will be transmitted
with this token or later.
The host may add frames to the end of the transmit
chain at any time by changing the zero link in the last
buffer. Also buffers of all posted frames up to but
NOT including the last buffer of the most recently
posted, may be arbitrarily removed from the chain.
The last posted frame (more specifically, the last
buffer of the last frame) may only be removed and
reused if NXTTO is set. This indicates that the
WD2840 has advanced its NEXT address to the next
frame but that its transmission has not been completed (in fact, perhaps not even started).
NOTE:
The WD2840 checks only the most significant byte of
the link field for zero link detection. This has the
following implications:

The frame length provided in the LENGTH field must
include all overhead bytes (LINK, FSB, FCB,
LENGTH) in all buffers used for the frame. For
example LENGTH = 8 implies DA, SA but no data
bytes. If buffer size is 64 then LENGTH = 67 implies
DA, SA, and 57 data bytes (one data byte in an
overflow buffer. As a result of this convention, certain
LENGTH values are not valid (e.g., 65, 66 in the
second example).

1. When writing into a zero link field, the host must
write the LSB of the new link field first, followed by
the corresponding MSB.
2. All buffers must have a starting address greater
than or equal to Hex '0100'.

TRANSMIT FRAME STATUS BYTE (WRITTEN BY WD2840)

o

2
VAL2

VAL1

VALO

BIT

NAME

DESCRIPTION

7

DONE
WIRING

Set to guarantee a non-zero value for the posted FSB.
Value of the corresponding bit in received ACK frame.
Reserved.
When set, indicates the ACKINAK code appears in the value field (bit 2-0) of this
FSB is assigned by the WD2840 transmitter routine. When clear, indicates value
resulted from ACKINAK code from receiving station.
An encoded field whose interpretation depends upon the SELF flag (bit 3) in this
FSB.
a. SELF clear
o 0 0 - No receive error ( = ACK when DON E is set).
001 - Insufficent buffers for frame.
o 1 0 - Receiver not enabled at frame start.
o 1 1 - Receiver over-run.
1 0 0 - Frame exceeded 16 receive buffers.
b. SELF set
000 - No transmit error.
001 - Transmitter under-run.
o 1 0 - End of chain reached.
o 1 1 - Frame exceeded 16 transmit buffers.
1 0 0 - Transmission failed. Two attempts occurred.

6
5-4
3

2-0

SELF

VAL

104

Transmit Frame Status and Control Bytes
Each frame has two bytes reserved, one for host
control information needed by the WD2840, the other
for status information posted by the WD2840 at frame
transmission completion. The frame control byte
(FCB) is only read by the WD2840, never changed; the
frame status byte (FSB), is written (posted) by the
WD2840 with no regard for its prior contents. On
completion, the FSB value will always be non-zero; it
is important that the host zero the FSB byte in order
to be able to recognize a posted frame.

NOTE:
Specifically note in Figure 2.1 that the first buffer of
each frame has a different structure than any overflow buffers for that frame. In particular, each frame
has only one set of FSB, FCB, and LENGTH fields
regardless of the number of buffers required by the
frame.

TRANSMIT FRAME CONTROL BYTE (WRITIEN BY HOST)

o
x

2

x

I

x

BIT

NAME

DESCRIPTION

7

WACK

Wait for Acknowledgement. Instructs the WD2840 to wait for an ACKINAK
response from the receiver for this particular frame only. The token control (TC)
byte in the frame is automatically set to cause the destination node to respond.
This bit must NOT be set if the frame uses the broadcast destination address.
Inadvertently doing so will cause the frame to be posted "Transmission failed, due
to max retries."

6

FCBLF

Last Frame. This bit will cause the WD2840 to pass the token either piggybacked
with this frame (if possible) or explicitly after the frame transmission completes.

5

TRANSP

Transparent Frame. This bit will cause the WD2840 to interpret the buffer contents
to be the exact sequence of bytes to be transmitted. The normal token control (TC)
byte and source address (SA) byte generation is suppressed. Note that for a nontransparent data frame the TC byte must NOT appear in the buffer.

4-0

-

Reserved.

-NXTT(L)
- - -NXTT(H)

INTERNAL REGISTERS

LINK (H)

-----L1NK(L)

.-

LINK (H)

LINK (H)

----- --..-------!II!i" --- --L1NK(L)

0
----.---.~ ~-----

L1NK(L)

FSB

XX

FSB

--- ----

-------

FCB

FCB

LENGTH (H)

LENGTH (H)

LENGTH (L)

LENGTH(L)

------

-------

DA

DA

SA

SA

D
A

D
A
T

T

A

A
TRANSMITTED BUFFERS, TO BE REFILLED
ANDR&QUEUEDBYTHEHOST

TO BE TRANSMITTED

Figure 2.1 TRANSMIT BUFFER CHAIN

105

END
OF
CHAIN

2.1.3 Receive Memory Interface

2. Current buffer capacity exhausted. If 16 buffers
have been used for the current frame, an event
occurs with the frame being dropped and the
chain reset. Otherwise the WD2840 attempts to
advance to the next buffer in the receiver buffer
chain. The frame data will be continued in this
subsequent buffer. If the end of the receiver
buffer chain is reached an event counter is
incremented, the frame is dropped, and the
chain reset.

After the third byte of an incoming data frame is
detected, the WD2840 will begin to place frame data
into memory if several conditions are satisfied:

1. Receiver Enabled (RXEN-CR05 set).
2. There is an available buffer in the receive buffer
chain.
3. The frame is addressed to this node specifically,
it is a broadcast frame, or COpy mode has been
selected by the host.

3. Frame ends. If the FCS is not corrected an
event counter is incremented, the frame is
dropped, and the chain is reset. If corrected
however, the frame length is placed in the
LENGTH field and the Frame Status Byte (FSB)
is posted "done, no error:'

As the frame continues, it may completely fill its
buffer. If this happens the WD2840 reads and inspects the link field of the current buffer. If this link is
zero, an error occurs and the receive chain is reset to
reuse from the first buffer used by the dropped frame.
However, if another buffer is available, the incoming
frame is continued beginning in the third byte of that
buffer. This continues until one of several things
happen:

If the frame is addressed to this node and indicates
an acknowledgement is required (TC = 255), whether
or not an error occurs, the WD2840 responds with an
ACK/NAK supervisory frame indicating either
success or failure. In case of receiver over-run, bad
FCS, and SA = MA acknowledgement request will be
ignored. (See section 1.4.3 for details)

1. Receiver overrun. The WD2840 has a four byte
FIFO to buffer incoming frame data; however, if
the host DMA responds too slowly a receiver
overrun will occur. If this happens an event
counter is incremented, the frame is dropped,
and the receiver buffer chain is reset to reuse
buffers of the dropped frame.

It is the host's responsibility to ensure that buffers
are available, initialized (FSB zero'ed), and attached
to the end of the receive buffer chain.

RECEIVE FRAME STATUS BYTE (WRITIEN BY WD2840)
81T#

7

6

5

4

3

2

Name

DONE

x

x

x

x

x

BIT

NAME

7

DONE

DESCRIPTION
Set to indicate the frame reception is complete.

-

6-0

x

o
x

Reserved.

RECEIVE FRAME CONTROL BYTE (WRITIEN BY HOST)

I

81T#

7

6

5

4

3

2

Name

X

X

X

X

X

X

BIT

I

7-0

NAME

DESCRIPTION

IReserved.

106

0
X

X

_.

NXTR(H)

-- --

NXTR(L)

INTERNAL REGISTERS

LlNK(H)

-- ---LlNK(L)

..

LlNK(H)

------

---..... ----.,..

LlNK(L)

LlNK(H)

------

----.-- ..

0
~ ~----

LlNK(L)

XX

FSB

r---- ---FCB
LENGTH(H)

r------LENGTH(L)
DA
SA

D
A
T
A

AVAILABLE FOR WD2840 USE

FILLED BUFFERS, TO BE EVALUATED BY THE HOST

Figure 2.2

RECEIVE BUFFER CHAIN

2.2 MODEM INTERFACE
The modem interface is the conventional half duplex
NRZ type with separate data and clock (Figure ~
When the WD2840 desires to transmit, it asserts RTS
and awaits CTS. RTS is generally used to enable the
modem transmitter. After a system dependent
preamble is generated, the modem asserts CTS
which allows the WD2840 to ~n the actual trans·
mission of the frame. (Note: CTS may be asserted
permanently if the transmission system does not
need to generate a preamble).
The sa input is used on receive to indicate a valid
carrier. If this term is negated anytime during a
receive message, the' WD2840 will presume the
message is in error and treat it as an abort. This
signal is used to augment message integrity beyond
that of the CRC by allowing a modem to detect and
report low level faults (such as out·of·frequency
carrier or missing clock).

107

-

END
OF
CHAIN

I
I
I

fC

RC

I
TO

DATAl
CLOCK
ENCODER

TRANSMISSION
J

""""

L--~""

,

.-.

) )

MEDIUM

DATAl
CLOCK
ENCODER

RD

sa

RTS

CTS

OPTIONAL
PREAMBLE
DELAY
TRANSMIT

Figure 2.3

RECEIVE

CONCEPTUAL MODEM

3.0 NETWORK PROTOCOL
To enable operation on a broadcast medium without
the need for a central controller performing device
polling, the WD2840 implements a media access
protocol. The particular access protocol designed
into the WD2840 prevents self-induced transmission
collisions and ensures a fair and guaranteed
distribution of transmission time among attached
controllers.
This design-out of collisions allows the WD2840 a
greatly expanded selection of transmission media,
since no physical characteristics of a particular
medium are relied upon for proper network operation.
Another benefit of this lack of collisions is the
visibility of network faults. If a collision is detected, it
is treated consistently in a error recovery mode by
the WD2840 and is also unambiguously visible to
service personnel as a fault.
Secondly, the WD2840 can ensure that a transmitted
message was correctly received and buffered by
requiring acknowledgement of its receipt. This is
sometimes called "acknowledging datagrams"
where the sender awaits a predefined period after a
frame is sent for a reply from its destination. With
this method, no sequence counters nor multi-frame
retransmission buffering is required. The scheme is
efficient since local network applications such as the
WD2840 address do not encounter extremely long
transmission delays (such as satellite links) as in
conventional data networks (such as X.25).

Both functions are parameterized, allowing tuning
and optimization by the user to his unique application. These parameters may be adjusted in real
time by the user's software, allowing a dynamic
network, responsive to constantly changing
requirements.
The two functions; access control and data transmission, function Simultaneously though independently.
Thus they are described separately as subprotocols
for clarity.

3.1 Data Transmission
The data transmission cycle is entered after the
token has been received and data transmission rights
validated (see section 3.2 "access method"). The
WD2840 determines if there is a frame to be sent and,
if not, simply sends the token to the next station.
If something is queued for transmit, the WD2840
DMA's it from memory and sends it. After the
complete frame has been sent, the WACK (Wait for
ACK) bit is tested in the TFSB (Transmit Frame Status
Byte). If set, the WD2840 waits for, and expects, an
acknowledgement from the frames recipient. A timer
(TA) is started. In the normal case, the ACK is
received before TA expires which causes the WD2840
to send the next frame queued, repeating this
procedure. Thus, the WD2840 sends multiple frames
to various destinations until the transmit queue is
emptied or a programmed limit (register TXLT) is
exceeded.

108

which does respond. rhe responding station
number is written into register NA so that this
scanning procedure need not be repeated on subsequent access cycles.

In the event TA expires, the frame is re-transmitted
once. (Note: it is the responsibility of higher level
protocol operating in the host to protect against the
possibility of duplicate frame reception.) If TA expires
again, usually indicating the destination node is offline, the FSB is updated to reflect the unsuccessful
transmission, interrupt bit ITA is set, and the frame is
skipped.
A frame is also skipped and tagged if the destination
station sends a NAK, indicating it cannot presently
process the frame.

NOTE: 1. Node numbers 0 and 255 are reserved and
cannot be used. Consequently scanning
occurs circularly in the range 1-254.
2. During Scan mode token passing each
node is only tried once.
Anytime a station cannot successfully pass a token
within two attempts, register NA is updated to
NA + 1, and a new" next" station is searched for. The
result is the removal of non-responding station(s)
from the access ring. An interrupt (INS) is generated
indicating a network exception caused a change to
NA.

TRANSMISSION OF ABORT
An ABORT is transmitted by the WD2840 to terminate a frame in such a manner that the receiving
station will ignore the frame. An ABORT is sent when
there is a Transmitter Under-Run. The abort sequence
is a zero, followed by seven ones, after which RTS is
set false.

The above description covers network recovery from
station failure and purposeful removal of stations
during on-line network operation. Setting stations in
the scan mode can also be accomplished by sending
control frames (a Scan frame redefines NA = MA + 1)
over the network. The control frame may be directed
to a single station, or all stations simultaneously
(using the broadcast address). It is this scanning for
new stations that permits on line addition to the
access ring.

3.2 ACCESS METHOD
The WD2840 network access method is based on the
use of tokens, the specific granting of transmission
rights passed from station to station. At any given
time, exactly one station has the right to transmit
(this right is called the token) and is obligated to pass
it on when finished with it.
This can be clarified by referring to Figure 3.1. We
assume in this figure that the network has already
been initialized (meaning that the linkages in the
access ring have already been established) and the
token is held at this instant by station 4 (the station
whose MA register = 4).
When station 4 is ready to pass his access right on,
he sends a message to the station number called out
in his internal register NA, in this case 11. The
message, and thus the token, are received by station
11 who can now transmit its message(s). When
station 11 is ready to pass the token, it sends a
message to station 19, as directed by its internal
register NA and the cycle continues, in a circular
fashion, from station 4 to 11 to 19 to 54 to 4 ...
Notice that the station numbers need not be contiguous. This relatively arbitrary station numbering (in
the example) poses no inefficiency to the access
method. The value of this is the ability to add and
remove stations (re-configure) to the network without
re-arranging everyone elses addresses. (See section
3.2.2 for an example.)
In this way, the token is passed from one station to
the next in a logical ring.

NOTE:
The policy of the SCAN frame is redefined by the
user software as required by the application. For
example: in a process control environment where
stations are not often added while the network is in
use, this procedure would be initiated rarely if at all.
3.2.2 REMOVING A STATION
There are two ways a station can be removed from
the access ring: non-response due to station failure
and non-response due to host commanded transition
to the Isolate State. Both are treated identically from
a network point of view.
Referring to Figure 3.1, assume that station 19 is
removed from the network (either physically or
logically). In this example, station 11 would detect a
network fault when trying to pass the token to 19
(time TA would expire since station 19 will not
respond). Station 11 detects this and finds the next
station in the access ring by using the "scan" function (similar to initialization). The next attempt at
passing the token would be to station 20, register
NA+1.
By starting the token ring recovery procedure at the
intended station plus one (station 20) rather than
MA + 1 (station 12) as is done in initialization,
recovery delays are minimized (since fewer stations
are tested for presence, 8 less in this example).
The next station found would be number 54 in the
example which station 11 writes into his register NA
(now "patching out" dead station 19). The next time
station 11 is finished with the token, it directly sends
it to 54, making the sequence now 11 to 54 to 4 to 11
to 54 ...

3.2.1 ACCESS INITIALIZATIONI ERROR RECOVERY

When the WD2840 is commanded into Network
State, the Next Address Request (NAR) register and
the NEWNA (CR10) flag must be used to define the
Next Address (NA) register. When it is necessary to
pass the token, it is passed to the current node
number in register NA. If station NA is not on-line,
determined by its lack of response, station NA + 1 is
tried. This process continues until a station is found

109

3.2.3 INTERACTION OF THE SUB·PROTOCOLS
After a station is given the token, it will send an in·
formation frame, a token frame, or a combination of
both. It is this combination frame, referred to as a
"piggy back" token, that causes the sub-protocols to
interact slightly.

In the case of a combination frame, the SENDer
resets his timer TA on transmission complete and
waits for the NA station to transmit something valid,
to verify his reception of the piggy back token. If the
timer expires, the sender sends an explicit token (the
data from the combination frame is assumed to have
been accepted) and enters the normal token subprotocol.

In the normal case (no time-out), the SOURCE may
transmit a combination frame to the DATASINK when
his access period is over. All stations on the network
observe this; after the reception of the current frame
is complete, the one whose MA register matches the
token address in the frame (TC) knows it has the
token.

The user is prevented from sending a combination
frame and requesting an acknowledgement at the
same time to prevent possible network state confusions under time-out conditions.

----,
I

1
1

I

MEDIUM
1

I
I
I
1_ _ -

MA = Node ("My") Address
NA
Next (Successor) Address
does not apply

_

Figure 3.1

=
•• =

TOKEN PASSING ON A LOGICAL RING

3.3 FRAME FORMAT
The frame format the WD2840 uses to transmit all
data and control frames is similar to the industry
standard HDLC. A 16 bit CRC is implemented and
standard zero insertion (CRC16-CCITT) is used for
framing. This framing method allows the use of
standard network monitoring and diagnostic
equipment such as data scopes and logic analyzers.

Access Control Format:
F-DA-AC-FCS-F
F
= Flag, binary pattern 01111110
DA = Destination Address (8 bit)
AC = Access Control Field (8 bit)
FCS = Frame Check Sequence (16 bit)

Additional address fields and control points are
defined as required to support the protocol.

Token Pass Format:
F-TC-FCS-F

Normal Frame Format:

F
= Flag, binary pattern 01111110
TC = Token Control (8 bit)
FCS = Frame Check Sequence (16 bit)

F - TC- DA-SA-I- FCS- F
F
TC
DA
SA
I

= Flag, bi nary pattern 01111110
= Token Control (8 bit)

FCS

= Frame Check Sequence (16 bit)

= Destination Address (8 bit)
= Source Address (8 bit)

= Information Field (0 to 2048 bytes or 16
buffers, whichever is less).

110

FIELD DESCRIPTIONS AND ENCODING

TC

The token control byte has the dual purpose of transferring access control between
stations and conveying a request for immediate acknowledgement of the frame by its
intended receiver.
There is no interaction between the TC field and the DA or SA fields. Thus the token
may be transferred to one station and data sent to the same or a different station, with
one single frame. The value entered into the TC field is determined by the WD2840
and does not appear in the buffer (except for transparent frames). See WD2840 state
document for details.
TC Value

Meaning

a
1-254

Token not affected at this time.
After current frame, the token belongs to station TC.
(The sending station has recovery responsibility).
Immediate ACK requested. Token not affected.

255
NOTE:
The sharing of this field prevents the passing of the token with data (piggy-back) and
acknowledgement requests on the same frame. This combination is specifically
disallowed because of its undesirable characteristics in network error situations.
Destination address. Value of zero is reserved, 1 to 254 indicates the destination
address of the frame. The value 255 is the global (or broadcast) address.
Source address. The values of 0 and 255 are reserved. A value of 1 thru 254 is the
address of the sender of the frame.
Information Field. User defines format and content.
Frame Check Sequence. The FCS calculation includes all data between the opening
flag and the first bit of the FCS, except for a's inserted for transparency. The sixteen
bit FCS is compatible with the standard HDLC FCS.
Access Control. Conveys supervisory information. May be sent as a command using
transparent mode or received in response to an ACK/NAK request. Its format is
shown below:

DA
SA
I
FCS

AC

ACCESS CONTROL FIELD
BIT#

7

6

5

4

3

Name

SCANF

WIRING

a

a

a

2

1

0

NVAL2 - NVAL1 - NVALO

BIT

NAME

DESCRIPTION

7

SCANF

Scan Mode (Command). Indicates that the addressed node(s) must redefine NA =
MA + 1 for use on its next token pass.

6

WIRING

5-3
2-0

NVAL

Wants in ring (Response). This bit indicates the node that transmitted the frame is
not in the logical ring but would like to be. It is the logical function of the transmitting node's GIRING .AND. INRING. (see CR13 and SR20) The WD2840 does not
act on this information but merely passes it to the host via the ACK'ed frame's
FSB.
Reserved.
An encoded NAKI ACK value (Response). The receiving node will set one of the
following codes depending upon the state of the last received frame:

-

oa
oa
o1
o1

01011 a 0-

No error
Insufficient buffers for frame
Receiver not enabled at frame start
Receiver overru n
Frame exceeded 16 receive buffers

111

4.0 ELECTRICAL SPECIFICATIONS
ABSOLUTE MAXIMUM RATINGS:

NOTE:
Absolute maximum ratings indicate limits beyond
which permanent damage may occur. Continuous
operation at these limits is not intended and should
be limited to those conditions specified under DC
Electrical Characteristics.

Voltages referenced to VSS
High Supply Voltage (VDD) . . . . . . . . . .. - 0.3 to 15V
Voltage at any Pin .................. - .03 to 15V
Storage Temperature Range .... - 55°C to + 125°C
Electro-static voltage at any pin ...... 400V (Note 6)

OPERATING CHARACTERISTICS (DC):
Operating Temperature Range ...... O°C to
SYMBOL
IDD
ICC
VDD
VCC
VIH
Vil
VOH
VOL
10ZH
10Zl
IIH
III

PARAMETER
VDD Supply Current
VCC Supply Current
High Voltage Supply
los Voltage Supply
Input High Voltage
Input low Voltage
Output High Voltage
Output low Voltage
Three-State leakage
Three-State leakage
Input Current
Input Current

+ 70°C
MIN.

11.4
4.75
2.4

TYP.

MAX.

UNIT

18
160
12
5

30
220
12.6
5.25

0.4
50
50
10
1.6

mA
mA
V
V
V
V
V
V
I1A
I1A
I1A
mA

MAX_

UNIT

CONDITIONS

2.05

Note 1
Note 4
Note 4

375

MHz
MHz
MHz
mS
nS
nS

80

nS

0.8
2.8

CONDITIONS

10
10
VIN
VIN
VIN
VIN

= -0.1mA
= 1.6mA
= VCC
= O.4V
= VCC
= 0.4V

5_0 TIMING CHARACTERISTICS (AC):
SYMBOL

PARAMETER

MIN_

ClK
RC
TC
MR

Clock Frequency
Receive Clock Range
Transmit Clock Range
Master Reset Pulse Width
Input Address Valid to RE
Read Strobe (or DACK
Read) to Data Valid
Data Hold Time From
Read to Strobe
Address Hold Time
From Read Strobe
Input Address Valid
to Trai ling Edge of WE
MinimumWE Pulse Width
Data Valid to Trailing
Edge of WE or Trai Ii ng
Edge of DACK for DMA
Write

0.5
0
0
10
0

TAR
TRD
THD
THA
TAW
TWW
TDW

TYP.

80

nS

200

nS

200
100

nS
nS

112

Note 5,2

Note 2, 3

TIMING CHARACTERISTICS (AC):
SYMBOL

PARAMETER

TYP.

MIN.

UNIT

MAX.

CONDITIONS

,-

TAHW
TDHW

TDA1

Address Hold Time
After WE
Data Hold Time After WE
or After DACK for DMA
Write
Time From DROO (or
DROI) to Output
Address Valid if
1
ADRV
Time From DACK to
Output Address Valid if
ADRV
Time From Leading Edge
of DACK to Trailing
EdgeofDROO
(orDROI)
Output Address Hold
Time From OACK
Data Hold Time From
DACK For OMA Read

80

nS

100

nS

80

nS

400

nS

Note5

400

nS

Note5

100

nS

100

nS

=

TDAO

=a

TDO

TOAH
TDMW

Note 2

NOTES:
1.

Clock must have 50% duty cycle.

2. There must not be a CPU read or write (CS-RE or CS-WE) within 500 nanoseconds after the trailing (rising)
3.
4.
5.

6.

edge of DACK.
There must not be the leading (falling) edge of DACK allowed within 500 nanoseconds after the completion
of a CPU write (CS-WE).
See "Ordering Information" for maximum serial rates.
C(load) = 100pf
Measured by discharging a 100pf capacitor to each pin through a 1K ohm resistor.

113

~

c

X

I\)
()C)
~

F

IAO. IA3

I

0

RE

"\,

~TAR·I
DALO·DAL7

-.1/

THA

~

DATA"

~TRo~~VA~:o/~

WE

• • A15

(ADRV = 0)

II

1

TDD

DACK

(

DATA VALID

-1

j.-TAHW

>r-

TDHW

CPU WRITE (CS IS LOW)

!.-

I~-

(AO·A15 SAME AS DMA OUT)

I
I.-

r-- TDAO

j- -- --- ---- ----- -- - - -.~-----',-·--I--------~-TDA~
~

I

DACK

·~r~~----

,
---.1 TDMW I-DALO·DAL7
I----------« DATA VALID />-----

"''--_ _--..J/
I~DH:!
I.. >
(
-TDW..

DALO·DAL7

l-TRD~I

~---------.(

~ATA VALI~

DMAIN

DMAOUT
6.0

I:-=TDW

<,,--------)>-____

, . _I

~TDA1~ ~

= 1)

"I

T_

I

y--------

AO·A1::-5---,~--- (ADRV

;;r

TAW

t

DALO·DAL7

CPU READ (CS IS LOW)

DRQO~

X

f..

IAO·IA3

ORDERING INFORMATION
ORDER NUMBER
WD2840T-01
WD2840T-05
WD2840T-11

MAXIMUM RATE
100 Kbps
500 Kbps
1.1 Mbps

Information furnished by Western Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western Digital
Corporation for its use; nor for any infringements of patents or other rights of third parties which may result from its use. No license is granted by
implication or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right to change
specifications at anytime without notice.

114

Printed in U.S.A

WESTERN DIGITAL

c

o

p

R

o

R

A

T

/

o

N

WDK25001 PACKIT

FEATURES
• X.25 (WD2501
CONTROLLER

OR

WD2511)

NETWORK

• BAUD RATE GENERATOR
• RS-423INTERFACE
• 8 SOCKETS FOR OPTIONAL USER RAM, ROM,
EPROM
• WIRE-WRAP HOST INTERFACE AREA
• INTERNAL DATA RATE TO 64 KBPS

ORGANIZATION

• + 5°C TO + 50°C OPERATION

The WDK25001 "PACKIT", is composed of two major
physical areas. The printed circuit area contains
factory installed circuitry which handles the Packet
Network Interface device, programmable bit rate
generator, memory address decoder, and the EIA RS423 interface. The wire-wrap area is set up to allow
the user to design and implement their own host
interface and or level 3 and higher modules.

GENERAL DESCRIPTION
The Western Digital WDK25001 PACKIT is a preconfigured breadboard designed to be an instant
development tool for the implementation of bitoriented, full duplex, serial X.25 data communication
systems. Most of the hardware interfacing (Level 1/2
interfacing) is already done on the board. Level 213
interfacing is described in the long form specification. To perform Link Control (Level 2) functions, the
PACKIT utilizes the Western Digital LSI Packet
Network Interface Device. Two versions of the LSI
Packet Network Interface Device are available for use
with the PACKIT: the WD2501 and the WD2511. The
WD2501 LSI device handles the LAP (Link Access
Procedure). The WD2511 LSI device handles LAPB
(Link Access Procedure Balanced).

INTERFACES
The PACKIT interfacing (Level 1/2) is divided into two
classifications: the user interface and the serial
communications interface.
USER INTERFACE
Voltage Levels:

TTL
Architecture:

The PACKIT is composed of two major physical
areas. One side of the printed circuit board contains
the factory installed circuitry required to perform X.25
Link Level operations: the other side of the circuit
board contains the wire-wrapping area for user implementation of the individual system design.

Microprocessor interface oriented. 16 Address lines,

8 data lines, 10 control lines.
SERIAL COMMUNICATIONS
INTERFACE
Electrical Characteristics:

The wire-wrapping area of the circuit board is
designed to accommodate any industrial standard IC
package. IC width is defined in 0.15 inch increments,
with IC pin separation of 0.1 inch. The wire-wrap area
is large enough to permit the installation of approximately one hundred 16-pin IC's.

RS-423
Mode:
Synchronous, Bit stuffing oriented, full-duplex, X.25
Asynchronous Response Mode (WD2501) or X.25
Asynchronous Balanced Mode (WD2511).
Clock Rates:
Independent transmit and receive clocks. Either
internal or external clock source, selected by jumper
strapping. Internal clock rates selectable by DIP
switches or under user program control via the User
Interface.

115

~

c

BR1941
BAUD
RATEGEN

"c.n

I\)

WD2501/WD2511
X.25 PACKIT NETWORK
INTERFACE

RIBBON
CONN

RS·423
INTERFACE

8.....

RAM/ROM/EPROM
SOCKETS

PROTOTYPING AREA

J
PACKIT BLOCK DIAGRAM
ELECTRICAL SPECIFICATIONS

PHYSICAL DIMENSIONS

Voltage Requirements:

Size:
Single printed circuit board, 8 inches by 14 inches
(203.2 by 355.6mm)

+5v, +/- 5%
+ 12v, +/- 5%
-5v, +/- 5%

Weight:
Maximum Voltage Ripple:

2 Pounds (0.907Kg).

100mv, PTP

THE LSI PACKIT NETWORK INTERFACE DEVICE
Factory-Installed Circuitry Power Requirements:

The Packit Interface Device is a 48-pin, n-channel
silicon-gate, MaS chip designed to perform CCITT
X.25 Level 2 (link control), with selected enhancements. In addition to the link control functions
required by X.25, the Device eliminates the need for
separate DMA circuits, timing chips, and the system
software previously required to perform the link
control between a data terminal equipment (DTE) and
a data circuit-terminating equipment (DCE).

+ 5v @ .76A (max.)
(No memory device) + 12v @ .20A (max.)
- 5v @ .04A (max.)

MEMORY SPECIFICATIONS
Maximum Size Allowable:
64Kx8.

The WD2501IWD2511 interfaces directly with the onboard memory (when installed) or with the user's
memory data and address lines. The WD2501/
WD2511 is controlle.QJhrough nine user interface
lines: Master Reset (MR), REPLY, DMA Request Out
(DROO), DMA Request In (DROI), DMA Acknowledge
(DACK), Interr~t Request (INTR), Write Enable (WE),
Read Enable (RE), and Chip Select (CS).

Memory Type:
8-bit wide RAM, ROM, EPROM
Package Type:
24-pin or 28-pin

ENVIRONMENTAL SPECIFICATIONS

Additionally, the WD2501/WD2511 is driven by the 1
MHz system clock.

Operating Temperatures:
+ 5 to + 50 °C (Maximum temperature is reduced by
1.8 degree centigrade per 1000 meters altitude above
sea level.)

THE PROGRAMMABLE BIT RATE GENERATOR
Circuit board IC location U3 contains a Western
Digital BR1941 Programmable Bit Rate Clock. This nchannel MOS silicon-gate device is capable of
generating sixteen externally selected clock rates,
where-of six are standard rates.

Relative Humidity:
10 to 95%, maximum wet bulb of 32 degrees Centigrade and a minimum dew-point of 2 degrees
Centigrade (90 degrees and 36 degrees Farenheit,
respectively.)

The bit rate for both transmit and receive frequencies
may be selected independently through the on-board

116

DIP switch, S1, or through the user's program via the
TA, TB, TC, TO, RA, RB, RC, and RD user interface
control lines.

THE EIA RS-423 INTERFACE
The communications link between the Western
Digital PACKIT and the Data Communications
Equipment (DCE) is provided through the EIA RS-423
interface. This interface contains a subset of the
RS449 signals. The interface signals are supplied to a
40-pin ribbon cable connector. Each of the RS-449
signals are buffered by 26LS29-type RS-423 line
drivers and 26LS32 RS-423 line receivers.
If RS-232-C interfacing is desired, instead of RS-449
interfacing, the ribbon connector may be jumpered to
provide RS-232-C signal compatability. However, due
to differences in signal voltage levels, certain
precautions must be taken when converting to RS232-C interfacing.

To further increase PACKIT flexibility, the bit rate
generator is installed in an IC socket to enable easy
removal for specialized user bit rates not conforming
to those avai lable from the BR1941.
PACKIT MEMORY
Located on each PACKIT printed circuit board are
eight 28-pin IC sockets designed for optional userinstalled RAM, ROM, or EPROM memory chips.
These sockets present the user with the option of
either using the system memory or off-loading the
PACKIT memory functions to on-board memory of
the user's choice. Once the optional memory is installed it may be accessed by both the user's
computer and by the WD2501IWD2511 Network
Interface Device via DMA.

BIT RATE GENERATOR STRAPPING

The Western Digital BR1941 Bit Rate Generator, on
board the PACKIT, may be programmed for receive
and transmit bit rate, by on-board switch setting or by
program command from the user circuitry. The
selection between these two options is controlled by
the S1 switchpack. To use program control all
switches of S1 must be in the "OFF" position
otherwise the bit rate is the "wired-and" of the
program control and the setting of the switches.
Transmit and receive bit rates are independently
selected.

NOTE:
All memory devices installed on the PACKIT board
must be 8-bit wide devices. Total memory installed
must not exceed 64K-bytes.
The design of the memory sockets permits the user a
wide range of RAM, ROM, and EPROM selectability.
Memories such as the 4802 (2K x 8 RAM), 4118 (1 K x 8
RAM), and the 2716 (2K x 8 EPROM), allow the user to
select the type, capacity, and expense of memory
desired for each individual application.

Program control of the bit rate, when enabled, is
received by the PACKIT via the TA, TB, TC, and TO
jumper pads, for the transmit bit rate, and via the RA,·
RB, RC, and RD jumper pads, for the receive bit rate.
(Each of these control lines is tied to + 5v via a 2.2K
resistor pull-up.)

Also, the design of the sockets provides for the use
of either 28-pin or 24-pin memory circuits. If a 24-pin
circuit is to be installed, the chip is simply inserted in
a manner that places pin 1 of the memory chip in IC
socket position 3. Polarization of the sockets is indicated by a white dot, on the PC board, adjacent to
both Pin 1 and Pin 3 of the socket.
When calculating the size of on-board memory, for a
particular application, it is imperative that the user
remember that the on-board memory must be large
enough to contain five major arrays.
1.
2.
3.
4.
5.

PROGRAMMING AND

THE PACKIT USER INTERFACE
The Western Digital PACKIT user interface defines all
of the signals available to the user. These signals
include: the microprocessor oriented address, data,
and control lines, the RS-423 communications interface signals, the programmable bit rate generator
control lines and on-board strapping.

The data to be transmitted,
The data received,
The transmit-data look-up table (TLOOK),
The receive-data look-up table (RLOOK),
The PACKIT error counters.

USER INTERFACE SIGNALS
The user designed circuitry interfaces with the
PACKIT through the interface signal jumper pads
located at the center of the PACKIT PC board. The
signals are listed in the table on following page.
Signals are defined as "IN", "OUT", or "BI", to denote
input from or output to the user interface, or bidirectionality, respectively. RS-449 mnemonics are presented in parenthesis.

For a detailed description of the use of memory by
the Packit Network Interface Device, refer to the
WD2501IWD2511 Long Form Specification.
Industrial standard memory types like 4118 or 4801
(1 K x 8), 4802 or 2716 (2K x 8), and 37000 or 2764 (8K x
8) can be used in the PACKIT.

117

USER INTERFACE SIGNALS
SIGNAL NAME

DIR

SIGNAL DEFINITION

AO-A15

BI

The sixteen memory address lines. These lines may be connected to the user's
memory address bus or to the PACKIT on-board optional memory chips, when
installed. These lines also carry the memory address outputs of the Packit Network Interface Device for DMA operations.

DO-D7

BI

The eight bit data lines used to transmit and receive byte-oriented data between
the interface chip and the user circuitry. These lines also carry data between the
WD2501 IWD2511 and the optional on-board memory (when installed).

TMI (TM)

OUT

Test mode Indication. Signal returned from the RS-423 communications interface indicating that the local DCE is in the test mode. This signal is propagated to the user interface.

RDYREC(RR)

OUT

Ready to receive. Signal returned from the RS-423 communications interface
indicating that the communications link is ready to receive data. This signal is
propagated to the user interface.

IN

DMA Acknowledge. The CPU signal generated in response to the
WD2501IWD2511 transmitted DRaa or DRal DMA request signals. An active
low, sent to the PACKIT, on this line informs the PACKIT that the DMA request
is acknowledged and the CPU has relinquished control of the system bus.

OUT

DMA Request IN. The WD25Q1IWD2511 requests a DMA bus access. A DRal is
a request for a transmission of data FROM the memory TO the
WD2501IWD2511. This signal is active low.

OUT

DMA Request OUT. The WD2501IWD2511 initiated signal requesting access for
a DMA data transfer. The DRaa signal requests a DMA cycle to enable transfer
of data FROM the WD2501IWD2511 TO the memory. This signal is active low.

OUT

Master Reset. The master reset, generated by the on-board RESET momentary
closure switch, clears all of the WD2501IWD2511 control and status registers,
with the exception of two internal control bits (refer to the WD2501IWD2511
Long Form Data Sheet, sheet 2). This signal is active low.

OUT

Interrupt Request. The WD2501IWD2511 issues INTR to request an interrupt.
This signal is active low.

IN

Chip Select. CS is driven low, by the user's Circuitry to enable the
WD2501IWD2511 for programmed 1/0 read or write operations. CS may be
permanently activated by jumpering pad location S11 to ground.

DATA MODE
(DM)

OUT

The DATA MODE signal is returned from the communications link, over the RS423 interface, to inform the PACKIT that the data link is in the data mode.

REPLY

OUT

Reply. An active low signal, generated by the WD2501IWD2511 to indicate that it
is selected (CS is low) and it is either read enabled (RE is low) or it is write
enabled 0NE is low).

MWE

IN

An active low signal generated by the user's system to enable the PACKIT onboard memory chips for a memory-write operation. Not applicable on 24-pin
memories. All 24-pin memories are enabled through the J2-O through J2-7 interface signal lines. This signal is connected to pin 27 of all 28-pin memories.

J2-0to J2-7

IN

User activated signal lines to individually enable each of the PACKIT on-board
memory sockets. Each active low signal enables the Write Enable 0NE) input of
the respective memory socket where:

INTR
CS

J2-0 write-enables memory socket U13
J2-1 write-enables memory socket U14
J2-2 write-enables memory socket U15
J2-3 write-enables memory socket U16
J2-4 write-enables memory socket U17
J2-5 write-enables memory socket U18
J2-6 write-enables memory socket U19
J2-7 write-enables memory socket U20
Each signal is connected to Pin 23 of the corresponding memory socket.

118

CONTINUED
SIGNAL NAME
TA, TB, TC, TD

DIR
IN

USER INTERFACE SIGNALS

~

SIGNAL DEFINITION
These four inputs combined select the Transmit bit rate to be generated by the
Western Digital BR1941 Programmable Bit Rate Clock. The values presented to
the bit rate clock generator, over these lines, may be determined either by the
user program or by on-board switch setting, as determined by switch-pack S1.

REMOTE LOOP
TEST (RL)

IN

When activated, the REMOTE LOOP TEST line forces the communications link
into a diagnostic test. Data is transferred from the memory, to the communications link, to the remote DCE, and back to the PACKIT for verification.

TERM RDY (TR)

IN

Terminal Ready. Input line to the PACKIT, from the user circuitry, informing the
DCE that the PACKIT is ready to set-up the communications link.
This signal is optionally generated, on a permanent basis, by the PACKIT when
jumper S12 is connected to ground.

LOCAL LOOP
TEST (LL)

IN

The LOCAL LOOP TEST performs a diagnostic operation similar to that of the
REMOTE LOOP TEST with the exception that the data being tested is transmitted to the local DCE and then returned to the PACKIT for verification.

MOE

IN

Memory Output Enable. A user supplied low active signal used to enable the
3-state output of the optional on-board PACKIT memory, when installed. This
signal is connected to pin 22 (28-pin) and pin 20 (24-pin) of the memory devices.

119

C

"

I\)
(J'I

o
o......

120

WESTERN DIGITAL
o

c

R

P

o

R

A

T

/

o

N

TR1402/TR1602
Universal Asynchronous Receiver/Transmitter (UART)

~

FEATURES
• FULL DUPLEX OR HALF DUPLEX OPERATION
• AUTOMATIC INTERNAL SYNCHRONIZATION
OF DATA AND CLOCK
• AUTOMATIC START BIT GENERATION
• EXTERNALLY SELECTABLE
Word Length
Baud Rate
Even/Odd Parity (ReceiverlVerification Transmitter/Generation)
Parity Inhibit
One, One and One-Half, or Two Stop Bit
Generation (1112 at 5 Bit Level for TR1602)
• AUTOMATIC DATA RECEIVEDITRANSMITTED
STATUS GENERATION
Transmission Complete
Buffer Register Transfer Complete
Received Data Available
Parity Error
Framing Error
Overrun Error
• BUFFERED RECEIVER AND TRANSMITTER
REGISTERS

:c
.....
en
oI\)

• TTL COMPATIBLE
• PULL-UP RESISTORS ON ALL INPUTS

APPLICATIONS

•
•
•
•
•
•
•
•
•
•
•
•
•
•

PERIPHERALS
TERMINALS
MINI COMPUTERS
FACSIMILE TRANSMISSION
MODEMS
CONCENTRATORS
ASYNCHRONOUS DATA MULTIPLEXERS
CARD AND TAPE READERS
PRINTERS
DATA SETS
CONTROLLERS
KEYBOARD ENCODERS
REMOTE DATA ACQUISITION SYSTEMS
ASYNCHRONOUS DATA CASSETTES

• THREE-STATE OUTPUTS
Receiver Register Outputs
Status Flags

VCC
vGG
VDD
RRD
RRS
RR7
RR6
RRS
RR4
RR3
RR2
RR1
PE
FE
OE
SFD
RRC
DRR
DR
RI

TRC
EPE
WLS1
WLS2
SBS

THRL

CRL

TAs
TR7
TR6
TRS
TR4
TR3
TR2
TR1
TRO
TRE
THRL
THRE
MR

PIN CONNECTIONS

-t

:c
.....
~
oI\)

TRO

RECEIVER
TIMING AND
CONTROL

CONTROL
REGISTER

VCC~
VGG(~

VDD.i~

TR1602/TR1402 BLOCK DIAGRAM

121

TRANSMITTER
TIMING AND
CONTROL

TRC
THRE
TRE

122

WESTERN DIGITAL
r:

(7

R

P

0

RAT

/

0

N

TR1863/TR1865
Universal Asynchronous Receiver/Transmitter (UART)
FEATURES

• THREE-STATE OUTPUTS
Receiver Register Outputs
Status Flags

• SINGLE POWER SUPPLY - + 5VDC
• D.C. TO 1 MHZ (64 KB) (STANDARD PART)
TR1863/5

• TTL COMPATIBLE
• TR1865 HAS PULL-UP RESISTORS ON ALL
INPUTS

• FULL DUPLEX OR HALF DUPLEX OPERATION
• AUTOMATIC INTERNAL SYNCHRONIZATION
OF DATA AND CLOCK
• AUTOMATIC START BIT GENERATION
• EXTERNALLY SELECTABLE
Word Length
Baud Rate
Even/Odd Parity (ReceiverlVerification Transmitter/Generation)
Parity Inhibit
One, One and One-Half, or Two Stop Bit
Generation (1 V2 at 5 Bit Level)
• AUTOMATIC DATA RECEIVEDITRANSMITTED
STATUS GENERATION
Transmission Complete
Buffer Register Transfer Complete
Received Data Available
Parity Error
Framing Error
Overrun Error
• BUFFERED RECEIVER AND TRANSMITTER
REGISTERS

VCC
NC

vss
RRD
RRS
RR7
RR6
RR5
RR4
RR3
RR2
RR1
PE
FE
OE
SFD
RRC
DRR
DR
RI

APPLICATIONS
•
•
•
•

PERIPHERALS
TERMINALS
MINI COMPUTERS
FACSIMILE TRANSMISSION

•
•
•
•

MODEMS
CONCENTRATORS
ASYNCHRONOUS DATA MULTIPLEXERS
CARD AND TAPE READERS

•
•
•
•
•
•

PRINTERS
DATASETS
CONTROLLERS
KEYBOARD ENCODERS
REMOTE DATA ACQUISITION SYSTEMS
ASYNCHRONOUS DATA CASSETTES

TRC
EPE
WLS1
WLS2
SBS
CRL
TA8
TR7
TR6
TR5
TR4
TR3
TR2
TR1
TAO
TRE
THRL
THRE
MR

PIN CONNECTIONS

TRO

RECEIVER
TIMINGAND
CONTROL

CONTROL
REGISTER

VCC(+5V) ..
VSS(GND) ...

TR1863ITR1865 BLOCK DIAGRAM

123

TRANSMITTER
TIMING AND
CONTROL

TRC
THRE
TRE

124

WESTERN DIGITAL
CORPORATION

WD1983 (BOART)
Bus Oriented Asynchronous Receiver/Transmitter
BAUD RATE-DC TO 36K BITS/SEC (16X)
SELECTABLE CLOCK RATES

FEATURES
ASYNCHRONOUS MODE
•
•
•
•
•
•
•
•
•
•
•
•

• 1X, 16X, 64X, BAUD RATE CLOCK INPUTS
• UP TO 47% DISTORTION ALLOWANCE
WITH 64X CLOCK

FULL DUPLEX OPERATION
SELECTABLE 5,6,7, & 8 BIT CHARACTERS
LINE BREAK DETECTION AND GENERATION
1, 1V2, or 2 STOP BIT SELECTION
FALSE START BIT DETECTION
OVERRUN AND FRAMING ERROR DETECTION
DC TO 36K BITS/SEC (16X)
DC TO 600K BITS/SEC (1 X)
8251/8251 A ASYNCHRONOUS ONLY REPLACEMENT
REQUIRES NO ASYNCHRONOUS SYSTEM CLOCK
28 PIN PLASTIC OR CERAMIC
+5 VOLT ONLY

APPLICATIONS
ASYNCHRONOUS COMMUNICATIONS
SERIAL/PARALLEL INTERFACE

GENERAL DESCRIPTION

SYSTEM COMPATIBILITY
• DOUBLE BUFFERING OF DATA
• 8 BIT BI-DIRECTIONAL BUS FOR DATA, STATUS, AND
CONTROL WORDS
• ALL INPUTS AND OUTPUTS TTL COMPATIBLE
• CHIP SELECT, RE, WE, C/O INTERFACE TO CPU
• ON-LINE DIAGNOSTIC CAPABILITY
• THREE STATE DATA BUS

The WD1983 is an N channel silicon gate MOS/LSI device
that interfaces a digital asynchronous channel with a parallel
channel. It is available in a ceramic or plastic standard 28 pin
dual in line package.
The WD1983 is a fully programmable microprocessor I/O peripheral with two control registers and a status register. It is
capable of full duplex operations.

D2
27

D3

Do

26

Vcc(+5V)

(GND)Vss

25

AXe

D4

24

D5

23

DTR
RTs

RXD-

3

D6
WD1983
D7

TXC
WE

22

i'5SR

21

MR

20

NC

10

19

TXD

cs

11

18

TXE

C/D

12

17

-CTs

FiE

13

16

BRKDET

RXRDY

14

15

TXRDY

FIGURE 1 WD1983 PIN-OUT

TXD

RXD

FIGURE 2 WD1983 BLOCK DIAGRAM

125

126

WESTERN DIGITAL

c

o

R

p

o

R

A

T

/

o

N

WD8250 Asynchronous Communications Element
FEATURES
• Designed to be Easily Interfaced to Most Popular Microprocessors (Z-80, 8080A, 6800, etc.)

• Full Prioritized Interrupt System Controls
• Single

GENERAL DESCRIPTION

• Full Double Buffering
• Independently Controlled Transmit, Receive,
Line Status, and Data Set Interrupts

The WD8250 is a programmable Asynchronous
Communication Element (ACE) in a 40-pin package. The device is fabricated in N/MOS silicon
gate technology.

• Programmable Baud Rate Generator Allows
Division of Any Input Clock by 1 to (2 16 - 1)
and Generates the Internal 16x Clock

The ACE is a software-oriented device using a
three-state 8-bit bi-directional data bus.

• Independent Receiver Clock Input
• Fully Programmable Serial-Interface
Characteristics
-5-, 6-, 7-, or 8-Bit Characters
-Even, Odd, or No-Parity Bit Generation and
Detection
-1-, 1112 -, or 2-Stop Bit Generation
-Baud Rate Generation (DC to 56K Baud)

The ACE is used to convert parallel data to a serial
format on the transmit side, and convert serial
data to parallel on the receiver side. The serial
format, in order of transmission and reception, is
a start bit, followed by five to eight data bits, a
parity bit (if programmed) and one, one and one
half (five bit format only) or two stop bits. The
maximum recommended data rate is 56K baud.
Internal registers enable the user to program
various types of interrupts, modem controls, and
character formats. The user can read the status of
the ACE at any time monitoring word conditions,
interrupts and modem status.
An additional feature of the ACE is a programmable baud rate generator that is capable of
dividing an internal XTAL or TTL Signal clock by a
division of 1 to 216 - 1.
The ACE is designed to work in either a polling or
interrupt driven system, which is programmable
by users software controlling an internal register.

• False Start Bit Detector
• Complete Status Reporting Capabilities
• THREE-STATE TTL Drive Capabilities for Bidirectional Data Bus and Control Bus
• Line Break Generation and Detection
• Internal Diagnostic Capabilities
-Loopback Controls for Communications
Link Fault Isolation
-Break, Parity, Overrun, Framing Error
Simulation

DO
D,
D,

+ 5-Volt Power Supply

Vee
AI

RLSO

D3
D,

37

5SR

36

CTS

34

OUT 1
DYR

D5
D6
D7

WD8250
SOUl

11

csa

12

33
32
31
30
29

CS1

=
B"AUDOUT

27
'6
25

XTAL2

17

DOSTR

18

SEAIALIN
DATA

}
TO FROM
PERIPHERAL
MODEM OA
OATAsn

SYSTEM
PROCESSOR

SERIAL
DATA OUT

INTRPT

NC

MODEM·CONTAOl

AD

FUNCTIONS
TO FROM MODEM
OR DATA SET

A,
A,

ADS
SYSTEM

DOSTR

OISTR

Vss

OIS'(R

INTERRUPT

PIN DESIGNATION
WD8250 GENERAL SYSTEM CONFIGURATION

127

128

WESTERN DIGITAL

c

o

R

o

p

R

A

T

/

o

N

WD2123 DEUCE
Dual Enhanced Universal Communications Element
FEATURES
• TWO INDEPENDENT ASYNCHRONOUS FULL DUPLEX
DATA COMMUNICATION CHANNELS (2 BOARTS)
• TWO INDEPENDENT BAUD RATE GENERATORS (ONE
PER CHANNEL)
• EACH CHANNEL WITH FOLLOWING FEATURES:
• SELECTABLE 5 TO 8 BIT CHARACTERS
• 1X, 16X, 64X CLOCK RATES
• 16 SELECTABLE BAUD RATE CLOCK FREQUENCIES
(INTERNAL)
• LINE BREAK DETECTION AND GENERATION
• 1, 1V2, OR 2 STOP BIT SELECTION
• FALSE START BIT DETECTION
• ODD OR EVEN PARITY GENERATE AND DETECTION
• OVERRUN AND FRAMING DETECTION
• DOUBLE BUFFERING OF DATA
• TTL COMA6.TIBLE INPUTS AND OUTPUTS

• COMA6.TIBLE WITH 8251 A (ASYNC ONLy) AND WD1983
DEVICES
• DIAGNOSTIC LOCAL LOOP-BACK MODE
• RXD INITIALIZATION UPON MASTER RESET
• ON-BOARD OSCILLATOR FOR EASE OF USE WITH A
CRYSTAL
• VERSATILE CLOCK SELECT OPTIONS FOR INDEPENDENT TRANSMIT AND RECEIVE RATES

INTRODUCTION
The Western Digital WD2123 Dual Enhanced Universal
Communications Element (DEUCE) is a single chip MOS/LSI
Data Communications Controller Circuit that contains two
independent full-duplex asynchronous RECEIVERITRANSMITTER CHANNELS and two independent BAUD RATE
GENERATORS_ The WD2123 is fabricated in N-Channel silicon gate technology and is packaged in a 40 pin plastic or
ceramic package_ All inputs and outputs are TTL compatible.

DATA
BUS

WE

FiE

c/o

MR
BUS TRANSCEIVERS

TXROY-B

NC
39

TXO-B

CS2

(8)

CSi

RXROY-B

RXO-B

38

TXE-B

~

37

BRKOET-B

TXD-A

CS1

36

RTS-B

RXD-A

C/rl"

35

Ci'S-B

DO

34

SELCLK-B

01

33

XCI/BCQ-B

___

TXRDY-A

CHANNEL

RXRDY-A

TXD-B
RXD-B
TXRDY-B

CHANNEL

RXRDY-B

B

TXE-B

TXE-A

BRKDET-B

BRKDET-A

32

XTAL2

RTS-A

RTS-B

VSS

10

31

XTAL1

ffi-A

ffi-B

03

11

30

VCC

02

WD2123

04

12

29

MR

05

13

28

XCI/BCQ-A

06

14

27

SELCLK-A

07

15

26

C'fS-A

Cs2
WE

16

25

R'I'S-A

17

24

BRKOET-A

CS3

18

23

TXE-A

RXO-A

19

22

RXROY-A

TXO-A

20

21

TXROY-A

SELCLK-A

BAUD RATE

BAUD RATE

GENERATOR

GENERATOR
XCI/BCO-B

XCI/BCO-A

GND

+5V

Figure 1. WD2123

SELCLK-B

PINOUT DIAGRAM

Figure 2. WD2123

129

BLOCK DIAGRAM

130

WESTERN DIGITAL

c

o

R

p

o

R

A

T

/

o

N

BR1941(5016) Dual Baud Rate Clock
FEATURES

GENERAL DESCRIPTION

• 16 SELECTABLE BAUD RATE CLOCK FREQUENCIES
• SELECTABLE 1X, 16X OR 32X CLOCK OUTPUTS FOR
FULL DUPLEX OPERATIONS
• OPERATES WITH CRYSTAL OSCILLATOR OR
EXTERNALLY GENERATED FREQUENCY INPUT
• ROM MASKABLE FOR NON-STANDARD FREQUENCY
SELECTIONS
• INTERFACES EASILY WITH MICROCOMPUTERS
• OUTPUTS A 50% DUTY CYCLE CLOCK WITH 0.Q1 %
ACCURACY
• 6 DIFFERENT FREQUENCY/DIVISOR PAIRS
AVAILABLE
• TTL, MOS COMPATIBILITY

The BR1941 is a combination Baud Rate Clock Generator and Programmable Divider. It is manufactured in
N-channel MOS using silicon gate technology. This device is capable of generating 16 externally selected
clock rates whose frequency is determined by either a
single crystal or an externally generated input clock.
The BR1941 is a programmable counter capable of
generating a division from 2 to (215 - 1).
The BR1941 is available programmed with the most
used frequencies in data communication. Each
frequency is selectable by strobing or hard wiring each
of the two sets of four Rate Select inputs. Other
frequencies/division rates can be generated by
reprogramming the internal ROM coding through a
MOS mask change. Additionally, further clock division
may be accomplished through cascading of devices.
The frequency output is fed into the XTALlEXT input
on a subsequent device.

• PIN COMPATIBLE WITH COM5016

FREQUENCY
SELECT
ROM

DIVIDER

fT

DIVIDER

fR

*INTERNALLY BONDED. DO NOT CONNECT
ANYTHING TO THIS PIN.

BR1941 BLOCK DIAGRAM

PIN CONNECTIONS

131

132

WESTERN DIGITAL
c

o

R

p

o

R

A

T

/

o

N

WD1943(8116)IWD1945(8136) Dual Baud Rate Clock
FEATURES

GENERAL DESCRIPTION

-16 SELECTABLE BAUD RATE CLOCK FREQUENCIES

The WD1943/45 is an enhanced version of the BR1941 Dual
Baud Rate Clock. The WD1943/45 is a combination Baud
Rate Clock Generator and Programmable Divider. It is
manufactured in N-channel MOS using silicon gate
technology. This device is capable of generating 16 externally selected clock rates whose frequency is determined by either a single crystal or an externally generated
input clock. The WD1943/45 is a programmable counter
capable of generating a division by any integer from 4 to
215 - 1, inclusive.

- OPERATES WITH CRYSTAL OSCILLATOR OR EXTERNALLY GENERATED FREQUENCY INPUT
- ROM MASKABLE FOR NON-STANDARD FREQUENCY
SELECTIONS
-INTERFACES EASILY WITH MICROCOMPUTERS
- OUTPUTS A 50% DUTY CYCLE CLOCK WITH 0.Q1 %
ACCURACY
- 6 DIFFERENT FREQUENCY/DIVISOR PAIRS
AVAILABLE

The WD1943/45 is available programmed with the most
used frequencies in data communication. Each frequency
is selectable by strobing or hard wiring each of the two sets
of four Rate Select inputs. Other frequencies/division rates
can be generated by reprogramming the internal ROM
coding through a MOS mask change. Additionally, further
clock division may be accomplished through cascading of
devices. The frequency output is fed into the XTAUEXT
input on a subsequent device.

-SINGLE +5V POWER SUPPLY
- COMPATIBLE WITH BR1941
- TTL, MOS COMPATIBILITY
- WD1943IS PIN COMPATIBLE TO THE COM8116
- WD1945IS PIN COMPATIBLE TO THE COM8136 AND
COM5036 (PIN 9 ON WD1945IS A NO CONNECl)

The WD1943/45 can be driven by an external crystal or by
TTL logic.

TA
TS
TC

FREQUENCY
SELECT
ROM

TO

XTALlEXT 1

XTALlEXT 2

+5V

IT

IR

TA

AA

TS

AS

TC

AC

TO

Ao

STT

STR

fT

1/4
(1945)
fR

GNO
NC(1943)

NC

RA

1/4 (1945)

RS
RC
RD

BLOCK DIAGRAM

PIN CONNECTIONS

133

134

WESTERN DIGITAL
c

o

R

p

o

R

A

T

/

o

N

UC1671 ASTRO
8 SELECTABLE CLOCK RATES
• Accepts 1X Clock and Up to 4 Different 32X
Baud Rate Clock Inputs
• Up to 47% Distortion Allowance with
32X Clock

FEATURES
SYNCHRONOUS AND ASYNCHRONOUS
• Full Duplex Operations
SYNCHRONOUS MODE
• Selectable 5-8 Bit Characters
• Two Successive SYN Characters Sets
Synchronization
• Programmable SYN and DLE Character
Stripping
• Programmable SYN and DLE-SYN Fill
ASYNCH RONOUS MODE
• Selectable 5-8 Bit Characters
• Line Break Detection and Generation
• 1-, 1V2-, or 2-Stop Bit Selection
• False Start Bit Detection Automatic Serial
Echo Mode

APPLICATIONS

SYNCHRONOUS COMMUNICATIONS
ASYNCHRONOUS COMMUNICATIONS
SERIAL/PARALLEL COMMUNICATIONS
GENERAL DESCRIPTION

The UC1671 (ASTRO) is a MOS/LSI device which
performs the functions of interfacing a serial data
communication channel to a parallel digital system.
The device is capable of full duplex communications
(receiving and transmitting) with synchronous or
asynchronous systems. The ASTRO is designed to
operate on a multiplexed bus with other bus-oriented
devices. Its operation is programmed by a processor
or controller via the bus and all parallel data transfers
with these machines are accomplished over the bus
lines.

SYSTEM COMPATIBILITY
• Double Buffering of Data
• 8-Bit Bi-Directional Bus For Data, Status,
and Control Words
• All Inputs and Outputs TTL Compatible
• Up to 32 ASTROS Can Be Addressed On Bus
• On-Line Diagnostic Capability
TRANSMISSION ERROR DETECTION-PARITY
• Overrun and Framing
BAUD RATE -

The ASTRO is fabricated in n-channel silicon gate
MOS technology and is TTL compatible on all inputs
and outputs.

DC TO 1M BIT/SEC

(-5V) VBB

IAcKi

IXRC

cs

IXTC

WE

IACKO

R3

RPLY

R2

INTR
OALO

R4

OAL1

R3

OAL2

R2

OAL3

R1

m

OAL4

CARR (CF)

g

U)

:::>

I)AL5
OAL6
OAL7
OTR(CO)

MR

INTii

107

RPLY

RING (CE)

IACKO

MISC

IACKI

(GNO)VSS

WE

PIN CONNECTIONS
19 19 1919 19

UC1671 BLOCK DIAGRAM

135

136

WESTERN DIGITAL
o

c

p

R

o

A

R

T

/

o

N

WD1931 Asynchronous/Synchronous Receiver/Transmitter
FEATURES

8 SELECTABLE CLOCK RATES
• Accepts 1X Clock and Up to Four Different 32X
Baud Rate Clock Inputs
• Up to 47% Distortion Allowance with 32X Clock

SYNCHRONOUS AND ASYNCHRONOUS
• Full Duplex Operations
• Selectable Character Length (5, 6, 7 or 8 Bits)
SYNCHRONOUS MODE
• Two Successive SYN Characters Sets
Synchron ization
• Programmable SYN and OLE Character
Detection and Stripping
• Programmable SYN and DLE-SYN Fill
• Transparent BI-SYNC Operation
• DDCMP Compatible
ASYNCHRONOUS MODE
• Line Break Detection and Generation
• 1-, 1112-, or 2-Stop Bit Selection
• False Start Bit Detection
• Automatic Serial Echo Mode
• Overrun and Framing Error Detection

PINOUT COMPATIBLE TO WD193X FOR
MULTIPROTOCOL BOARD APPLICATIONS
APPLICATIONS
SYNCHRONOUS COMMUNICATIONS
ASYNCHRONOUS COMMUNICATIONS
SERIAL/PARALLEL COMMUNICATIONS
GENERAL DESCRIPTIONS
The WD1931 is a MOS/LSI device which performs the
functions of interfacing a serial data communications channel to a parallel digital system. This
device is capable of full duplex communications with
asynchronous and/or synchronous systems. Western
Digital has made device pin assignments for the
WD1931 to make it compatible with the WD193X
(Synchronous Data Link Controller). This pin out
allows the user to implement a one-board multiprotocol design. For character-oriented asynchronous and/or synchronous (bi-sync) protocols, the
WD1931 is used, and for bit-oriented SDLC, HOLC
and ADCCP protocols the WD193X is used (see
WD193X data sheets and WD1931IWD193X compatibility application notes).

SYSTEM COMPATIBILITY
• Double Buffering of Data
• 8-Bit Bi-Directional Bus for Data, Status, and
Control Words
• All Inputs and Outputs TTL Compatible
• Chip Select, RE, WE, AO, A1 Interface to CPU
• On-Line Diagnostic Capability
• Data Set, Carrier Detect, and Ring Interrupts
BAUD RATE - DC TO 1M BIT/SEC

CD
R4
R3
R2

Ai
OSR
RTS
1xTC
COMPARISON
REGISTER

RSCLK

I

CTS·

! > - - - t - - - - - TBOC

I

TBOC
RO

VO O (+ 12V)
A1

_VSS (GNO)

AD
A1
CS
WE
RE

MOOEM
INTERFACE
CONTROL

CLOCK
CONTROL

....- VCC (+6)
-

PIN CONNECTIONS
Figure 1.

WD1931 PIN CONNECTIONS

Figure 2.

137

WD1931 BLOCK DIAGRAM

VOO (+ 12)

138

WESTERN DIGITAL
CORPORATION

WD1933IWD1935
Synchronous Data Link Controller
FEATURES

• PROGRAMMABLE MODEM CONTROL INTERRUPTS

• HDLC, SDLC, ADCCP AND CCID X.25 COMPATIBLE

• DOUBLE BUFFERING OF DATA

• SDLC LOOP DATA LINK CAPABILITY

• DMA COMPATABILITY

• FULL OR HALF DUPLEX OPERATION

• END OF BLOCK OPTION

• DC TO 2.0 MBITS/SEC DATA RATE

• VARIABLE CHARACTER LENGTH (5,6,7 OR 8 BITS)

• PROGRAMMABLE/AUTOMATIC FCS (CRC) GENERA·
TION AND CHECKING

• RESIDUAL CHARACTER CAPABILITY
• ADDRESS COMPARE

• PROGRAMMABLE NRZI ENCODE/DECODE

• GLOBAL ADDRESS RECOGNITION

• FULL SET OF MODEM CONTROL SIGNALS

• EXTENDABLE ADDRESS FIELD

• DIGITAL PHASE LOCKED LOOP

• EXTENDABLE CONTROL FIELD

• FULLY COMPATIBLE WITH MOST CPU'S

• AUTOMATIC ZERO INSERTION AND DELETION

• MINIMUM CPU OVERHEAD

• MAINTENANCE MODE FOR SELF·TESTING

• ASYNCHRONOUS/SYNCHRONOUS
MULTI-PROTOCOL BOARD CAPABILITY (PIN COMPATIBLE WITH WD
1931)
• FULLY TTL COMPATIBLE
APPLICATIONS

• SINGLE +5V SUPPLY

COMPUTER COMMUNICATIONS

• ERROR DETECTION: CRC, UNDERRUN, OVERRUN,
ABORTED OR INVALID FRAME ERRORS

TERMINAL COMMUNICATIONS

• STRAIGHT FORWARD CPU INTERRUPTS

COMPUTER TO MODEM INTERFACING

(1933) (1935) -

NC

REOM

1

EOB

2

INTRa
WE

6
7

D1
D2
D3
D4

os

TC
1XJ32X

13

D6
D7

17

CTS
NRZI
RD

RC

MR
DTR
ORaD

24

MISC IN

ORal
VSS (GND)

Figure 1.

WD193X
Figure 2.

PIN DESIGNATION

139

WD193X BLOCK DIAGRAM

140

WESTERN DIGITAL
C

0

,R

P

0

RAT

/

0

N

WD1993 Arinc 429 Receiver/Transmitter
and Multi-Character Receiver/Transmitter
FEATURES
•

PRESENT UPON MASTER RESET FOR ARINC 429
PROTOCOL

•

PROGRAMMABLE WORD LENGTH FROM 1 CHARACTER TO 8 CHARACTERS

•

PROGRAMMABLE CHARACTER LENGTH, 5, 6, 7,
OR 8 BITS

•

• SINGLE +5 VOLT SUPPLY
• TEMPERATURE RANGES O°C to 70°C, - 1993-03,
- 40°C to + 85°C - 1993-02, - 55°C to + 125°C 1993-01

INTRODUCTION
The Western Digital WD1993 Avionic Receiver/Transmitter
is designed to handle digital data transmission, according to
the Avionic Arinc 429 protocol. Also, the word length is programmable from one to eight characters of 5, 6, 7, or 8 bits.
Parallel data is converted into a serial data stream during
transmission and serial to parallel during reception. The
WD1993 is packaged in a 28 pin plastic or ceramic package
and is available in three temperature ranges: Commercial,
Industrial and Military.

RETURN TO ZERO (RZ) OUTPUT

• AUTO SPACE GENERATION
•

DOUBLE BUFFERED RECEIVER AND TRANSMITIER

•

UNDERRUN ERROR DETECTION FOR TRANSMISSION

• OVERRUN, FRAMING AND PARITY ERROR DETECTION ON RECEIVER
• WORD ERROR FLAG FOR COMPREHENSIVE
ERROR REPORTING
•

FIRST CHARACTER OF WORD FLAG FOR SINGLE
INTERRUPT APPLICATIONS

•

DIAGNOSTIC LOCAL LOOP-BACK TEST MODE

•

DC TO 200 KILOBITS PER SECOND OPERATION

GENERAL DESCRIPTION
The WD1993 is a bus-orientated MOS/LSI device designed
to provide the Avionics Arinc 429 Data Communication Protocol, along with programmable character length capabilities.
Also, the WD1993 contains a local loop-back test mode of
operation, which is controlled by the Loop Test Enable (LTE)
bit in the command register. In this diagnostic mode, the
transmitter output is "looped-back" into the receiver input.
The REN and TEN control bits must also be active ("1") and
the CTS input must be low. The status and output flags operate normally.

• TIL COMPATIBLE INPUTS AND OUTPUTS

TXC

RE
c/o
Cs"
WE

N.C.

07

MR

06

TXE

05

RXROY

04

TXROY

03

TXOO

02

VSS
WEF
CTS

TX01

01

RXC

DO

FCR
RXOO

RX01
VCC

Os
Ai:
AEADIWRtTE

WE

Figure 1 PIN DIAGRAM

CONTROL

en

Figure 2 WD1993 BLOCK DIAGRAM

141

142

WESTERN DIGITAL
c

o

p

R

o

R

A

T

o

/

:ec

N

N

WD2001/WD2002 Data Encryption Devices

o

o

~

FEATURES

ic

APPLICATIONS
• SECURE BROKERAGE TRANSACTIONS

• CERTIFIED
DARDS.

BY

NATIONAL

BUREAU

OF

N

o
o

• ELECTRONIC FUNDS TRANSFERS

STAN-

• SECURE BANKING/BUSINESS ACCOUNTING

• TRANSFER RATE:
WD2001/2-05 300Kbs with 500KHz clock
WD2001/2-20 1.3 Mbs with 2MHz clock
WD200112-30 1.8 Mbs with 3MHz clock

• REMOTE AND HOST COMPUTER
COMMUNICATIONS

• ENCRYPTS/DECRYPTS 64 BIT DATA WORDS USING
56 BIT KEY WORD

• SECURE DISK OR MAG TAPE DATA STORAGE

• MAINFRAME COMMUNICATIONS

• SECURE AID
• SECURE PACKET SWITCHING TRANSMISSION

• SINGLE PORT 28 PIN PACKAGE WD2001 OR DUAL
PORT 40 PIN PACKAGE WD2002

GENERAL DESCRIPTION
The Western Digital WD2001 and WD2002 Data
Encryption / Decryption devices are designed to encrypt
and decrypt 64-bit blocks of data using the algorithm
specified in the Federal Informa.~ion Processing Data
Encryption Standard (#46). These devices encrypt a
64-Bit clear text word using a 56-Bit user-specified key
to produce a 64-Bit cipher text word. When reversed,
the cipher text word is decrypted to produce the
original clear text word.
The DE2001/2 are fabricated in N-channel silicon gate
MOS technology and are TTL compatible on all inputs
and outputs.

• COMMAND BIT PROGRAMMING VIA DAL BUS OR
INPUT PINS
• DMA COMPATIBLE
DM1883)

(SEE

WESTERN

DIGITAL

• PARITY CHECK ON KEY WORD LOADING
• STANDARD 8 BIT MICROPROCESSOR INTERFACE
• INPUTS AND OUTPUTS TTL COMPATIBLE
• KEY STORED
ACCESSIBLE

ON

CHIP

IS

NOT

EXTERNALLY

SEPARATE CLEAR AND CIPHER BUS STRUCTURE
ON WD2002

_ ( + 12IVOD

_(+51 Vee
_IGNDlVSS

KA

WD2001/WD2002 BLOCK DIAGRAM

143

OIR

DiA

OOR

OOA

ACT

EIO

CAPs

KEOE

DPs

N

144

WESTERN DIGITAL
o

c

R

o

p

R

A

T

/

o

N

DM1883A/B Direct Memory Access Controller
FEATURES

GENERAL DESCRIPTION

•

The DM1883 Direct Memory Access Controller
(DMAC) is packaged in a 40 pin standard dual inline package. The chip requires a single +5 power
supply input and a single clock input. The device
contains 8 CPU addressable registers, and allows
for up to 8 CPU addressable device registers if the
automatic device chip select feature is used. Byte or
word transfers can be programmed, and all memory
DMA operations are handshaked for compatibility
with a variety of bus structures. Up to 256K bytes of
memory can be accessed directly with 64K page
protection and nonexistent memory interrupt as
options. Bus and Interrupt Acknowledge signals are
internally daisy chained, and a STOP REQUEST
input prevents new requests while a current request
is active. Device accesses are not handshaked, and
a BUS HOLD feature is present for high speed
devices. Device interrupt input, end-of-block
output. and I/O read/write output pins simplify
hardware interfacing to the device and the CPU bus.
The AUTO LOAD feature allows automatic bootloading of up to 64K bytes or words into memory
starting at location zero. An 8 bit interrupt 10 code is
also provided.

•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•

AUTOMATIC DAISY CHAINING OF BUS AND
INTERRUPT ACKNOWLEDGE SIGNALS
AUTO LOAD OPTION
SINGLE +5 VDC POWER SUPPLY
8 BIT BI-DIRECTIONAL DATA BUS
TRUE OR COMPLEMENT DATA BUS
8 CPU ADDRESSABLE DMAC REGISTERS
8 CPU ADDRESSABLE DEVICE REGISTERS
AUTOMATIC GENERATION OF DEVICE CS
DURING DMA AND CPU DEVICE ACCESSES
256K MEMORY ADDRESSING
64K PROGRAMMABLE PAGE PROTECTION
BYTE OR WORD DMA TRANSFERS
INTERRUPT AND BUS REQUEST CAPABILITIES
END-OF-BLOCK SHUT OFF BY DMAC
TIME-OUT INTERRUPT CAPABILITY
SINGLE CLOCK INPUT
CS, RE, WE, AO-A3 ADDRESSING
STOP REQUEST INPUT TO DELAY INTERRUPT OR BUS REQUESTS
COMPATIBLE WITH OUR FLOPPY DISC
CONTROLLERS
8 BIT PROGRAMMABLE INTERRUPT
IDCODE

AEB

vss

INTR

DRQ

DINTR

REPLY

EOB

BACKI

AUTLD

A3

BOW

BUSR

DAlD

cs

DAL2

DCS

DAL3

FiE

DAl4

WE

DAL5

MEMR

DAl6

MEMW
MR

DAl7
AE8

ClK

TOB

MYSNC

A1

RiW

AD

LAL
IACKI

DAL6

DAL1

BACKO

STOPR

OAL7

A2
IACKO
VCC(+5)

MEMR

MEMW

BOw -------MSYNC

fiE

WE
OINTR - DRQ

5CS
REPLY
EOB

PIN CONNECTIONS

DM1883 BLOCK DIAGRAM

145

146

WESTERN DIGITAL
CORPORATION

Application Note
Using The WD2501/2511
This application note provides an introduction to the
X.25 communication protocol and introduces the ISO
reference model. The link layer of X.25 is highlighted
as it can today be implemented with a single LSI
device, the WD2501/WD2511.
The bulk of this document provides details of the
hardware and software interfaces that a user typically
encounters when using the WD2501. Schematic and
timing diagrams for a typical Z80 interface along with
high level flowcharts for initialization and operation
are given.
Three appendices cover a glossary, a discussion of
X.25 LAP vs LAPB, and using the WD2501/WD2511 in
multi-point configuration.

NOTE:
Unless otherwise noted in this document, all
references to the WD2501 should be assumed to
pertain to the WD2511 as well.
In addition to the traditional parallel/serial converters
and FCS logic, the WD2501 incorporates a highly
efficient micro-programmed processor that fully
handles the required link set-up and frame sequenc·
ing operations conventionally delegated to a "user
defined" processor. The WD2501 also contains an
intelligent two-channel DMA controller to further
simplify its integration into a user's system.
2.0 THE WD2501 AND THE ISO MODEL
The CCITT X.25 recommendation comprises three
levels of protocols (Level 1 to 3). See Figure 1.
Level 1 is the physical level, which concerns the
actual means of bit transmission across a physical
medium.
Level 2 is the link level which includes frame formatting, error control and link control.
Level 3 is the packet (network) level which controls
the traffic of the different virtual calls and multiplexes these for passage over the physical line.
These three levels are completely independent of
each other, which allows changes to be made to one
level without disrupting the operation of any other
level. An adjacent level is affected only if the changes
affect the interface to that level.
Each level performs one well defined set of functions, using only a well defined set of services
provided by the level below. These functions im·
plement a set of services that can be accessed only
from the level above. Each level is strictly controlled
by the systems engineer according to formal functional and interface specifications.
The WD2501 implements level 2. Without additional
logic, it generates the frame, performs error checking, performs link management (set up/disconnect)
and ensures reliable data transmission by evaluating
the sequence numbers associated with each I-frame.
The device automatically acknowledges received 1frames and fully supports up to 7 outstanding
(unacknowledged) frames, including retransmission
if required.

CONTENTS

1.0 The WD2501/2511 General Description
2.0 The WD2501 and the ISO Model
3.0 Hardware
4.0 Software
Appendix A Glossary
Appendix B LAP vs LAPB
Appendix C Using the WD2501/2511 in a Multipoint
Configuration
RELATED DOCUMENTS
WD2501 Specification
WD2511 Specification
"LSI Ready to Make a Mark on Packet-Switching
Networks," Geary Leger, Electronics, December 20,
1979.
"LSI Circuit Simplifies Packet-Network Connection,"
Geary Leger, Electronics, December 20, 1979.
1.0 THE WD2501/2511 General Description

The WD2501 and WD2511 are LSI devices that fully
handle the link level (level 2) of the CCITT X.25
communications protocol. They are pin·compatible
with each other and with other members of the
Western Digital Network Controller Family.
The distinction between the WD2501 and the
WD2511 lies in their internal firmware: the WD2501
implements LAP (Link Access Procedure) whereas
the WD2511 implements LAPB (Link Access
Procedure Balanced). The protocol differences
between LAP and LAPB are described in Appendix B.

147

:eC

LEVEL

I\)

(J1

....

-........
0

USER
PROCESS

4·7

USER
PROCESS

I \)

(J1

LEVEL 3/4 INTERFACE

PACKET
LEVEL

------.

PACKET
LEVEL

t

LEVEL 2/3 INTERFACE

LINK
LEVEL

LINK
LEVEL

LEVEL1~INTERFACE

PHYSICAL
LEVEL

PHYSICAL
LINK

PHYSICAL
LEVEL

DTEIDCE

DTE

Figure 1. LAYERED ARCHITECTURE FOR COMPUTER NETWORKS
The only real physical connection between the two
stations (DTE to DTEJDCE) is the Physical Link
between the two physical layers. The other connections shown between two of the same layers
(peer to peer interface) is not a physical but rather a
logical connection made up by the respective

protocols for that particular level.
Each level n "interfaces" to the corresponding level n
on the other side of the Data Communication
Link through the level n-1, then n-2 etc., via the
physical link and up through the levels to n-2, n-1 and
to level n.

3.0 HARDWARE
The WD2501 must be connected to the Physical
Level (level 1). This generally amounts to simple line
drivers/receivers.
A typical X.25 DTEJDCE station block diagram is
shown in Figure 2. Figure 3 shows a circuit diagram
of the actual X.25 hardware interface of this same
station. Table 1 is a description of signal functions for
this circuit diagram. This is to be connected directly
to a Z80 microprocessor on one side and an EIA RS422 interface on the other side.
Figures 4 and 5 are DMA cycle timing diagrams for
this particular station.
General notes to this interface:
• A modem would be needed for long-distance
communication lines.

• The hardware interface in Figure 3 includes all
hardware options. Simpler interfacing is possible.
• The function of the CPU Bus Driver Control Circuit
(CBDCC) is to control the direction and/or timing
of the data-line transceivers and the two address
latches.
• If the CPU clock frequency is not higher than the
WD2501 ClK maximum frequency, the High
Speed Control Circuit (HSCC) is not needed. The
function of the HSCC circuit is to divide an high
speed CPU clock signal (0) down to half the
frequency (01 A). It also delays the reset of
BUSRQ with one additional 01 clock cycle when
a high speed CPU clock is used. These functions
are needed to establish a time window of at least
500ns between DACK being active and a CPU
Write/Read function.

148

During a read operation, the falling edge of RE will
initiate a WD2501 read cycle. The addressed register
will then place its content onto the Data Bus.
To insure that all six status registers (registers 2 thru
7, inclusive) are read correctly, either rule A or rule B
must be followed (or both):
A) Enable CS • RE only while the ClK input is high.
B) Read the status registers only after an interrupt,
and read within one frame time of the interrupt.
If rule A) is used, the high ClK may (at the user's
option) be extended by skippin9..i?ne~nd only one,
negative going ClK whenever a CS • RE is executed.
This is shown below:

• When a high speed CPU clock is used, connect
0bA signal to 01 signal and BUSRQA signal to
B SRQ signal. When a low speed CPU clock is
used, connect CPU clock (0) direct to 01 signal and
BUSRQ2 signal to BUSRQ signal.
• The ClK circuit is needed in all applications. Its
purpose is to stop the ClK signal from going lO
during a CPU read cycle. This logic will avoid any
possible interference between an internal updating of a status register while the CPU reads this
same register.
• The DMA I/O circuit matches the timing between
the Z80 and the WD2501.
• The RTS open collector output needs a pull-up
resistor.
• In this particular example, line drivers/receivers are
of type EIA RS-422. However, RS-232C or RS-423
can also easily be used.
• Port A of a Pia in this example is programmed to
be an output. In this case, the CPU controls the
DTR output to the modem. Port B of the Pia is
programmed to be interrupt controlled inputs; the
CPU can be interrupted by DSR and/or INTR as
programmed.
• The WD2501 ClK input is derived from the Z80
CPU clock. The ClK may be supplied from an
independent clock generator. In that case, instead
of connecting the 01 clock to the ClK circuit,
connect the independent clock to where the 01
clock is shown in the ClK circuit in Figure 3.
• MRW (Memory Read/Write) signal enables the
output of the memory address decoder for the
computer system memory chips. As an example, if
a PROM type 28S42 is used as the memory address decoder, MRW is connected direct to E
(Pin 15) input.

ClK
One negative ClK
is skipped
As a reminder, the long form speCification already
states that ClK must be a square wave.
Non-conformance to the Rule above could mean that
the CPU will at rare times read incorrect values of NA,
N B, N E, ERa, or any other status.
The CPU must set-up all transmit data, TSADR HI and
la, TCNT HI and la, and residual bits before setting
BRDY in the applicable TlOOK segment.
The CPU must set aside receiver memory (at least
one chain segment with transfer address), and set-up
RSADR HI and lO before setting REC RDY in the
applicable RlOOK segment.
3.2 DMA INIOUT OPERATION

The Direct Memory Access (DMA) operation is
completely controlled by the WD2501. During a DMA
cycle, the CPU sets its address bus, data bus and
three-state control signals to their high impedance
states.
(See DMA In/Out timing diagrams, Figures 4 and 5.)
In this application example, the data bus transceivers
are permanently enabled (low impedance state).
When the CPU has control, the direction of these
transceivers is pointing from the CPU bus towards
the WD2501. During a DMA In cycle, this is not
changed. During a DMA Out cycle however, the
direction is reversed (WD2501 towards the CPU bus).
The address bus latches are in high impedance state
while the CPU has control of the bus. When the
WD2501 has control of the CPU bus, the address
latches are in the low impedance state. During the
DMA Out cycle, these latches function as regular bus
drivers. During the DMA In cycle however, the address gets latched to assure enough data hold time
for the WD2501.

• The WD2501 CS input is to be connected to a port
address decoder (or mem..2!}' address decodeO.
MWE is connected to all WE inputs, and MOE
is connected to all OE inputs of the system
memory chips.
• REPLY output is not used in this application.
3_1 READIWRITE CONTROL OF 1/0 REGISTERS
The sixteen I/O registers are directly accessible from
the CPU data bus (DAlO-DAl7) by a read and/or write
operation by the CPU. The CPU must activate the
WD2501 register address (IAO-IA3), 9:!!P Select (CS ),
Write Enable (WE ) or Read Enable (RE ) before each
data bus transfer oRe ration. The read/write operation
is completed when CS or RE /WE is brou9.!n high.
During a write operation, the falling edge of WE will
initiate a WD2501 write cycle. The addressed register
will then be loaded with the content of the Data Bus.
The rising edge of WE will latch that data into the
addressed register.

149

3.2.1 DMA IN

3.2.2 DMA OUT

During a DMA In cycle, the task of transferring one
byte of I-field data from memory into the WD2501 is
performed. The CPU time (in the example described
in this paragraph to execute this task) is five T-states
for a low speed CPU clock system and ten T-states
for a high speed CPU clock system.
The DMA In function starts when the WD2501 is
ready to receive a byte from memory to be transmitted out to the remote station. This condition
causes the DRQI signal to go La, which in turn
activates the BUSRQ (Bus Request) signal. Also at
this time (ADRV bit = 1), the WD2501 presents the
address (on AO-A15) of the data byte to be retrieved
from memory.
The BUSRO signal is sampled by the CPU with the
rising edge of the last CPU clock (0) period of any
machine cycle. In this case, because the BUSRO
signal is active, the CPU goes into high impedance
state with the rising edge of the next CPU clock
pulse. At this time, the CPU also switches the control
over to the WD2501 by activating the BUSAK signal.
This causes DACK to go La at the following rising
edge of 01 clock. This is the actual indication for the
WD2501 to start the DMA In cycle. DACK also
causes DROI to return to the HI state.
At the next rising edge of the 01 clock, MOE
(Memory Output Enable) is activated. This causes the
memory to output the addressed data byte onto the
Data Bus. Also, the address is now latched into the
address bus latches (74LS373) at this time.
At the next falling edge of the 01 clock, DACK gets
deactivated, causing the WD2501 to latch the data
byte (DALO-DAL7) and to set its address lines (AOA 15) to logical HI state (ADRV bit set). The address
bus latches hold the address active until DMOE
signal is deactivated.
At the next rising edge of the 01 clock (low speed
CPU clock), BUSRO gets deactivated. When high
speed CPU clock is used, BUSRO is deactivated
after an additional 01 clock cycle.
At the next following rising edge of 01 clock,
BUSRO is sampled by the CPU. This causes
BUSAK and MOE to become deactivated, but not
until the next falling edge of the CPU (0) clock. This is
the end of the DMA In cycle. At the next rising edge
of the CPU clock, the CPU again controls the CPU
bus.

This operation is very similar to the DMA In function.
During this cycle, one byte of I-field data is transferred from the WD2501 to the memory. The CPUtime in this example described to perform this task is
the same as for the DMA In cycle.
The DMA Out function starts when the WD2501 is
holding a received I-field byte and is ready to transfer
this to the memory. This condition activates the
DROO signal, which in turn sets the BUSRO to La.
Also at this time (ADRV bit = 1), the WD2501
presents the address to the memory location to
where the respective data byte is to be loaded.
The BUSRQ signal is sampled by the CPU \AJith the

rising edge of the last CPU clock period of any
machine cycle. Since the BUSRO signal is active,
the CPU goes into high impedance state with the
rising edge of the following CPU clock pulse. Now
the CPU also switches the control over to the
WD250~ activating the BUSAK
signal. This
causes DACK to go La at the next rising edge of 01
clock, which indicates to the WD2501 to start the
DMA Out cycle. This causes DROO to reset back to
HI state and to load the data byte to be transferred
onto the data-bus.
At the next rising edge of the 01 clock, MWE
(Memory Write Enable) is activated. This causes the
memory to input the addressed data byte.
At the following rising edge of the 01 clock, MWE
goes HI, latching the data into the memory. Also at
this time (low speed CPU clock), BUSRO signal gets
deactivated. When high speed CPU clock is used,
BUSRO is deactivated after an additional 01 clock
cycle.
At the next rising edge of 01 clock, the BUSRO
signal is sampled by the CPU.
DACK goes HI half a 01 clock cycle after MWE
goes HI. This ends the DMA Out cycle by the
WD2501 setting its data-lines in high impedance
state and the address-lines (AO-A15) to logical HI
state (ADRV bit set).
After CPU has sampled and detected BUSRO being
deactivated, it resets BUSAK to HI at the next falling
edge of the CPU clock.
At the next rising edge of the CPU clock, the CPU
again controls the bus.

150

TABLE 1
SIGNAL NAMES FOR THE HARDWARE INTERFACE (See Note)
NAME
RECEIVE

SYMBOL

FUNCTION

RCV

When activated (LO), sets the direction of the
data bus transceivers from WD2501 towards the
CPU bus. This is done only during CPU Read or
DMA Out cycle.

DRM TRANSFER

When activated (LO), enables the output of the
address bus latches. This is done during a DMA
In/Out Gycle.

DMA MEMORY OUTPUT ENABLE

Is activated during a DMA In cycle. Generates
the MOE signal and latches the DMA In addresses.

MEMORY OUTPUT ENABLE

Is activated during a DMA In or a CPU Read
cycle. Enables the memory outputs. Is to be
connected to the OE pin of the memory circuits.

MEMORY WRITE ENABLE

Is activated during a DMA Out or a CPU Write
Cycle. Enables the memory write function. Is to
be connected to the WE input of the memory
circuits.

MEMORY READIWRITE

MRW

Is activated during a DMA In/Out function or a
Memory ReadIWrite cycle by the CPU. Enables
the output of the Memory Address decoder.

DMA OUT

DMAOUT

Is activated during a DMA Out function.

DMAIN

DMAIN

Is activated during a DMA In function.

INTERNAL LOOP

ILOOP

Is activated during an internal loop-back test.
Keeps the RTS signal to the modemJ.!Loff
condition and logically connects RTS to CTS .

BUS ACKNOWLEDGE 1

BUSAK1

When active, indicates that the CPU has
switched bus control over to the WD2501.
Compared to BUSAK signal, this is delayed
one 01 clock cycle when going LO to allow a
time window of at least 500 ns before DACK
becomes activated.

BUS REQUEST 1

When active, requests the CPU via BUSRQ2
and BUSRQ (low speed CPU clock) to switch
control over to the WD2501.

BUS REQUEST 2

BUSRQ2

BUS REQUEST A

BUSRQA

Same function as BUSRQ1 , except that
BUSRQ2 is delayed one 01 cycle when going
HI. The delay allows a time window of at least
500 ns between DACK being active and a CPU
ReadIWrite function.
Same function as -=B~U:=S-=R-::::Q-=2 , except is delayed
an additional 01 cycle when going HI. This delay
allows the necessary 500 ns time window
between DACK being active and a CPU
ReadIWrite function when an high speed CPU
clock is used. This is then directly driving the
BUSRQ signal.

151

:ec
I\)

en

....
....
o

N
....en

TABLE 1 (Continued)
SIGNAL NAMES FOR THE HARDWARE INTERFACE (See Note)
NAME

SYMBOL

FUNCTION

CLOCK

ClK

Clock used for internal timing of WD2501. Is
synchronous with 01 clock with the exception
that when the CPU is performing a read function, ClK signal will not go to lO state. This
function avoids an internal up-date of a status
register while the CPU is reading this same
register.

01

01

01A

01A

+ 5 RESISTIVE

+5R

Clock used for timing of this hardware interface. The 01 frequency is not allowed to be
hiaher than the ClK max. frequency of the
WD2501. When a low speed CPU·clock is used,
01 signal is connected directly to the CPU clock
(0). When an high speed CPU clock is used, this
is connected to the 01A Signal.
Clock Signal with half the CPU clock frequency.
This is driving the 01 clock when an high speed
CPU clock is used. Toggles only during DMA
In/Out cycles.
+ 5V through a resistor.

NOTE: Signals described in this paragraph are Signals generated by this circuitry only. Other Signals are
described in either the WD2501 device specification or in the Z80 CPU data sheets.

COMPUTER

COMPUTER
INTERFACE

~

i-'-+

WD2501

~

LINE
DRIVERS
RECEIVERS

_----- ----------')

\.......

y

FIGURE 3

Figure 2. DTE/DCE STATION BLOCK DIAGRAM

152

MODEM

~

TO/FROM
REMOTE
STATION

r------CE

SA

OR01

OROl

DRao

DRCO

RTS

A'N

B OTR

BUSRQ

245

BliSAi

I

BUSRQ2

BUSRQl

, - - - - - - - - - 1 , - - - - - - - - - - ---------,

VCC

VSS

:::c

"T1

I

BUSAKl

All

ill

Ms

C

I

I
1

A14

:::c

I

I

1
1_ _ -

~

l>

I

1

BE

74LS
373

MRW

DMA
1/0

I

6SR

AS

C11
-a.

MREQ

;:;;WE

I

2511

I\)

I

I

A'

I
I

DACK

I

74LS

I

aUSAKl

~:~~=i)

I
I

RTS

B TD

i'i2

Do
~

I
:

BO

Dl

I

~

ACV

---------1
,
'I

01

CI

-------- -,

ClK

1

I
I

II

1'----------1-----'

01AINOTE)

BUSRQA (NOTE)

NOTE
_ _ __
Connect 0 to 01 and BUSRQ2 to BUSRQ if following conditions
are true:
1. WD2501/2511 ClK max. frequency ~ CPU frequency.
2. CPU frequency.;;;; 2.5 MHz.
If above conditions are not true, connect 01A to 01 and
BUSRQA to BUSRQ.

_______ ~

+""1"2V'GND

--+12

~ ~S~/~os~aM

=e

c
N

en
o.....

N
en
.....

CPUO
(NOTE 1)
01
(NOTE 1)
ORQ1

.....
BUSRQ

--,
I

- - - - - - - - - - - - - - - - - - - - -_ _ _ _... _ _ _ _ _ _ J

I

(NOTE 1)

]__________________________-''- J

BUSAK

DACK

t

T
AO-A15 - (W02501/2511).

TOAH

I

~

VALID
"
C - _ _ _ _ _ _ _ _ _-(
~_ _ _
_ _ _ _.....,~

~

I

~TOA1

(NOTE 3)

(~------V-A-L-ID------...II : ; - - - -

OALO-OAL7
(W02501/2511)

MOE

I

---.j

j+-

DA0.:'1

(NOTE 1)

-+-I J----------------------;1

MEMORY OUTPUT

I

ENABLE
_I--~-----'___
_ _ ACCESS
_ _ _TIME
_ _ _ _ _~I_J
(NOTE 1)

NOTE:

1_ These dashed lines show the respective signals when a fast
CPU 0 clock is used. Solid lines show same signals for a
slow CPU 0 clock (CPU 0 = 01).
2. Propagation delay is omitted in this diagram unless timing
symbol is shown.
3. Data would become non-valid after the address becomes
non-valid if address latches were not used.

Figure 4. DMA IN TIMING

01
(NOTE 1)
ORao - - ,_______________~~I
.

TOO

~~

BUSRQ

1 ________________________'- _____ l
(NOTE 1)

......___________________________.1_ j

BUSAK

_ H __

TOAO
AO-A15
(W02501/2511)

(NOTE 1)

--ll-~----------'I

-~I

---+i J.-= TOAH

I+--

:-i'-~-~~~~~=_=:=:~~~_:_.~-:-«======~Q£=====::::)!r~=:..:::..:=-:=--=:..=:..:=.
c:
.~ _
VALID
.-

---i

hOA1

TRO-+\

OALO-OAL7

<~

~
VALID

NOTE:
1. These dashed lines show the respective signals when a fast
CPU 0 clock is used. Solid lines show same signals for a
slow CPU 0 clock (CPU 0
01).
2. Propagation delay is omitted in this diagram unless timing
symbol is shown.

=

Figure 5. DMA OUT TIMING

154

f..-TOMW
)

3.3 SERIAL INTERFACE
The receiver and transmitter sUb-systems are
completely independent of each other, the CPU
Read/Write functions and the DMA In/Out functions.
The serial data is synchronized by the externally
su2.Qlied TC clock and RC clock. The falling edge
of TC ~erates new transmitted data and the rising
edge of RC is used to sample the received data.
After initialization and before the first frame is sent,
the TD output sends Idles (continuous 1s).
After the first frame is sent or the ACTIVE/""PA"""'S="S"""'I"""V=E
bit is set, continuous flags are sent in between
frames.
For detailed information on what type of frames are
sent for certain conditions, see the WD2501 or
WD2511 specifications.
4.0 SOFTWARE

Initialization of the WD2501 and I-field data
processing (level 3) is accomplished by user written
software. This software need not be realtime, since
the WD2501 responds to link exceptions and
overhead functions on its own.
Configuring the WD2501 to certain test functions,
modes, timer values, location of initial memory
pointers, chain buffer lengths and link level addresses is performed via the sixteen I/O registers.
All buffer management support, buffer chaining and
free/busy flags, occur in user memory. Here two lookup tables (TLOOKIRLOOK), located in the user

memory, contain pointers/counters for up to eight
outstanding transmit/receive packets. The WD2501
contains only one address pointer, which is the
starting address of Segment #0 in the TLOOK table.
Segment #0 in the RLOOK table always begins
40(Hex) bytes after TLOOK, Segment #0, byte #0. See
section "Memory Access Scheme" in the WD2501
specifications.
Link monitoring is done by use of the I/O registers
and the memory buffers. The WD2501 indicates to
the system CPU that a certain event has occured by
setting a bit in status register 1 and setting the interrupt flag. This indicates whether a packet has been
received, a transmitted packet has been acknowledged, a non-recoverable error condition or some
other condition needs the attention of the CPU.
In this section, a flow-chart is given to show the user
how to program the WD2501. For more details refer
to the data sheets.
The flow for programming/monitoring the WD2501
for transmitting or receiving a packet(s) or for a loopback test is shown in the flowchart below. The flow
starts at START1 if a power-up was just done and/or if
no data communication environment programming
(initialization) has been done.
If initialization is complete, the flow starts at START2
when the WD2501 is to be enabled to receive a
packet(s).
If a packet/s is to be transmitted and initialization is
complete, the flow starts at START3.

155

WD2501/2511 PROGRAMMING FLOWCHART

IN ITIALIZAnON

START1

MR

MOMENTARILY ~ 10MS

RESET WD25011
2511

PROGRAM THE
WD2501/2511,
FOR THE USER'S
ENVIRONMENT

PROGRAM 1/0
REG. 1,8,9,
A AND B.

YES

YES

SEE PARA·
GRAPH
"INTERNAL
LOOP·BACK
TEST"

NO

SET RTS OFF TO
MODEM.
ENABLE CTS
INPUT

(DCE)

(DTE)

RESET RECEIVE
DATA BUFFERS
XMIT
COMMANDI
RESPONSE
ADDRESS

SET REG. E
SET REG. F

= 01
= 03

SET REG. E
SET REG. F

= 03

= 01

SET
REG. E = REG. F

156

:ec

I\)

CJ'1

ENABLE RECEPTION
OF PACKET(S)

9

START2

II

NO

RLOOK

PROGRAM THE
LOOK·UP TABLES
FOR THE RECEIVE
DATA BUFFERS

REC RDY AND
RSADR

NO

SET CONTROL
BITS

COMPUTER DOING
OTHER TASKS

SET ACTIVE AND
RECR BIT

WAIT

157

o
.....
i\5
CJ'1
.....
.....

START
TRANsMr'i'i'iNGPACKET(S)
(DATA IS ALREADY LOCATED
IN THE TRANSMIT DATA
BUFFER(S))
LOAD DATA INTO
THE TRANSMIT
DATA BUFFERS

START3

6

TLOOK

NO

PROGRAM THE
LOOK·UP TABLES
FOR THE TRANSMIT
DATA BUFFERS

BRDY, TSADR AND
TCNT

YES

LINK UP?

SET CONTROL
BITS

SET SEND BIT

COMPUTER
DOING OTHER
TASKS

WAIT

158

SET ACTIVE,
LOOP·TEST AND
RECR BIT

~

C
N

C1I

o
.....

CHAINING TRANSMIT
DATA SEGMENTS

N
C1I
.....
.....
CHAIN

LIMIT

=

PROGRAM THE
AMOUNT OF CHAIN
SEGMENTS
(REG. C, UPPER 4 BITS)

REG. C
Y~(HEX)
Y
NUMBER OF CHAIN
SEGMENTS PLUS ONE

PROGRAM THE
CHAIN· BUFFER
SIZE
(REG. C, LOWER 4 BITS)

REG. C = Yr(HEX)
BUFFER SIZE = r:
64 x (1 + ~) BYTES

=

YES

NO

YES

XFR ADR
SET ALL THE
TRANSMIT XFR
ADR POINTERS

159

INTERRUPT

==
C
I\)
(J1

-..........
0

.....

I \)

READ SRI
(REG. 3)

READ
STATUS

(J1

YES

NO

THE PACKET HAS BEEN RECEIVED
ERROR-FREE AND IN CORRECT
SEQUENCE. THE I-FIELD
DATA HAS BEEN PLACED IN
THE USER'S MEMORY

RESET
RECR BIT
YES

NO

END
READ ERRORREGISTER
(REG. 5)

NO

CHAINING
RECEIVE
DATA
SEGMENTS

ESTABLISH BY
CODING THE ERRORREGISTER (REG. 5), IF
ANY ACTION IS NEEDED

C__

EN_D____
)

160

A PREVIOUSLY TRANSMITTED
BLOCK(S) HAS BEEN
ACKNOWLEDGED BY THE
REMOTE STATION

CHAINING RECEIVE
Q..ATA SEGM~NT§'

YES

NO

SET RECEIVE
XFR ADR POINTER
IN SEGMENT #0

NO

YES
READ REG. 6 TO
ESTABLISH WHICH
CHAIN SEGMENT IS
CURRENTLY
BEING LOADED

LOAD XFR ADR
POINTER INTO
CURREN; SEGMENT

(COMPUTER DOING
OTHER TASK)

C

WAIT

)

"'------

161

8
CHECK RESULT OF
LOOp·BACK T EST
(DATA TRANSFER CO MPLETED)

CHECK
1/0 REGISTERS

VERIFY CORRECT
INDICATIONS OF
THE 1/0 REGISTERS

CHECK
TLOOK SEGMENTS

VERIFY TRANSMITTER
LOOK·UP TABLES
ARE CORRECT

CHECK
RLOOK SEGMENTS

VERIFY RECEIVER
LOOK·UP TABLES
ARE CORRECT

VERIFY CORRECT
DATA

VERIFY RECEIVED
DATA IS CORRECT

END

162

=

REG. 1
00/10
REG. 2 = NN (UPPER 4
BITS
LOWER 4 BITS)
REG. 3/BITS 3·1
REG. 2/BIT 3·1

=

=

ACK'ED = 1
BRDY
0

=

FRCML = 1
REC ROY
0
RCNT = TCNT

=

CONTENT OF TRANSMIT
DATA BUFFERS
CONTENT OF RECEIVE
DATA BUFFERS

=

4.1 INTERNAL LOOp·BACK TEST (Example 1)

Chaining is used in this example. The 1024 bytes are
divided into 256 byte chain segments. Five segments
are needed for this operation with 254 bytes of I-field
data and two XFR ADR bytes per segment in the first
four chain-segments. The rest of the I-field data (8
bytes) are located in the fifth chain-segment.

The loop-back test feature is an internal programmable loop-back of data, enabling the user to make
an almost complete test of the WD2501. It allows
d~ag~ostic te~ting of the WD2501 and the interfacing
?lr~Ultry. In this mode, transmitted data to the TD pin
IS Internally routed to the received data input circuitry, thus allowing this WD2501 to set-up a link,
send a number of packets to itself and then reset the
link.

Programming:

= = number of CHAI N segments - 1
= = (number of bytes per segment divided

CHAI N
4
LIMIT
3
by 64) -1

The RC clock is internally connected to TC clock.
CTS input however, must be connected externally to
GND or the RTS output.

For buffer management programming, see memory
access scheme in Figure 7.
XMIT Command Address and XMIT Response Address (REG. E and F) must be the same value.

The loop-back test allows the verifying of proper
operation of practically all the various functions of
the WD2501. The features tested here, the addresses
and values of the variables chosen are only used as
examples and are as follows:

In some applications, it is necessary to keep the
RTS signal to the modem in the Off condition during
internal loop-back test. Also, to accomplish the most
complete test, RTS output should be connected to
CTS input externally (not done internally). Figure 6
shows one example of how to implement these two
functions. The ILOOP signal is connected directly to
a Pia output.

TLOOK segments starting address = 0800H
Transmit Data buffer no.O starting address = 1000H
Received Data buffer no.O starting address = 1800H
Number of packets transferred = 1
Number of I-field bytes per packet = 1024
Number of residual bits = 0
T1
101 H
N2 = 20H

In the loop-back test example shown in this section,
the logic in Figure 6 is used and contains the
Z80 CPU, programmable 1/0 (Pia) etc., as shown in
Figure 3.

=

+5

DRIVER

WD2501/
2511

r---------------------~ A
RECEIVER

PIO/A1-ILOOP

Figure 6. LOGIC FOR INTERNAL LOOP·BACK TEST

163

=e
C

TRANSMITTER
CHAINSEGMENT

I\)

en

0

#0

#2

#1

~

1300

1180

N
en

~
~

DATA

XFR ADR
#0

. TLOOK 0800

/

0

XFR ADR
#1

c:

1
2

1480

3
4

DATA

TRANSMIT
DATA BUFFERS

/

DATA

XFR ADR
#2

#4
+-------1#3 / 1 6 0 0 •
DATA

DATA

5
XFR ADR
#3

6

7
RLOOK 0840

0
1
2
3
4

5

~

RECEIVER
CHAIN
SEGMENT
#0

DATA

6

7
0880

#1

#2

1980

XFR ADR
#0

/

1 BOO

DATA

XFR ADR
#1

/

DATA

XFR ADR
#2

ERROR
COUNTERS

#4

#3
1EOO

DATA
RECEIVE
DATA BUFFERS
XFR ADR
#3

/

Figure 7. MEMORY ACCESS SCHEME FOR LOOp·BACK TEST
(Example 1)

s
164

DATA

APPENDIX A
GLOSSARY OF DATA COMMUNICATIONS TERMS

The following is a list of industry-accepted data communications terms that are applicable to this specification.
ABM

Asynchronous Balanced Mode

ADCCP

Advanced Data Communications Control Procedure (ANSI BSR X3.66)

ANSI

American National Standards Institute

ARM

Asynchronous Response Mode

CCITT

International Consultative Committee for Telegraphy and Telephony

CMDR

Command Reject. AU-Frame

DCE

Data Circuit Termination Equipment (the network side of the DTE/DCE link)

DISC

Disconnect. AU-Frame

DTE

Data Terminal Equipment

DM

Disconnect Mode. AU-Frame (LAPB, only)

ECMA

European Computer Manufacturers Association

FCS

Frame Check Sequence

FDX

Full Duplex (also called "two way simultaneous")

FRAME

Basic Se,ial Block of Bit-Oriented Data. Includes leading and trailing flags, address field, control
field, FCS field, and an optional information field.

FRMR

Frame Reject. AU-Frame (LAPB, only)

HDLC

High-Level Data Link Control (ISO 3309)

HDX

Half Duplex (also called "two way alternate")

HOST

Another name for a DTE

I-Frame

Information Frame. Control field bit 0 is O. In X.25 an I-frame is a packet.

ISO

International Standards Organization

LINK

The logical and physical connection between two data terminals

LAP

Link Access Procedure

LAPB

Link Access Procedure Balanced

N2

Maximum number of retransmissions of a frame. (Also called retransmission count variable.)

NODE

Another name for a DCE.

N(R)

Sequence number of next frame expected to be received.

N(S\

Sequence number of current frame being transmitted.

OCTET

An 8-bit byte

P(R)

Receive Data, Packet count of next packet expected to be received

P(S)

Send Data, Packet count of current packet being transmitted

PACKET

An I-Frame in X.25

PAD

Packet Assembly/Disassembly

REJ*

Reject. An S-Frame

RNR*

Receiver Not Ready. An S-Frame

RR*

Receiver Ready. An S-Frame

S-Frame

Supervisory Frame. Control field bit 0

SARM

Set Asynchronous Response Mode. (LAP, only)

=1 and bit 1 =0

SABM

Set Asynchronous Balanced Mode. (LAPB, only)

SDLC

Synchronous Data Link Control (IBM document GA27-3093)

SNAP

Standard Network Access Protocol (Trans-Canada)

165

T1

A Primary Timer for a delay in waiting for a response to a fra~e

U-Frame

Unnumbered Frame. Control Field bit 0

UA

Unnumbered Acknowledge. AU-Frame

X.25
X.3, X.28, X.29

Recommendations by CCITT involving PAD facilities

ACS

Advanced Communications Service (AT&1)

=1 and bit 1 =1

Recommendation by CCITT on Packet Switching Networks

*There are also RR, RNR, and REJ packets which are not the same as the S-frame RR, RNR and REJ discussed
in this document.

166

APPENDIX B

3_0 Link Down
In LAP, if a link is down, a station may respond only to
received SARM's or DISC's. The response is a UA.
Any other received command is disregarded.
In LAPB, a down station may respond to a SABM or
DISC with a UA. When receiving any other command
frame with the P-bit set to 1, the DCE will transmit a
DM response with the F bit set to 1. This is an advantage in a down station which does not initiate link
set-up. If the other station "thinks" the link is up, it
will eventually send a packet with P= 1. When this
happens, it is informed, by the DM response, that the
link is down.

THE DIFFERENCE BETWEEN LAP AND LAPB
In March 1976, the CCITT adopted Recommendation
X.25 as an interface standard for public packetswitching networks. The link level procedure adopted
was called Link Access Procedure (LAP) and used
the HDLC Asynchronous Response Mode (ARM).
However, LAP was not fully in conformity with HDLC
(ADCCP is essentially the same. See ANSI X3.66,
1979). Therefore, in 1977, when Provisional Recommendation X.25 was adopted, a procedure called
LAPB was added. LAPB is Link Access ProcedureBalanced and operates under the HDLC Asynchronous Balanced Mode (ABM). Unfortunately, the
1977 LAPB lacked good symmetry between the DTE
and DCE, and was unworkable.

4_0 Supervisory Commands
In LAP, S-frames are responses, only.
In LAPB, an S-frame may be a command or response.
Suppose two stations are operating over a set-up link
(station A and station B). Suppose B sends an RNR.
In LAP, the only way that A can test B to see if B is
ready again is to send the last unacknowledged
I-frame with P = 1 at T1 intervals. This forces B to
reply with either an RNR or RR (F = 1). An I-frame is
used here as a request for status, and it could be a
long I-frame.

In the April 1979 CCITT meeting, the LAPB was
greatly enhanced, especially in the DTE/DCE symmetry. This enhanced version was approved in the
February 1980 Plenary meeting of the CCITT. We now
have a good, workable LAPB standard.
The LAP, because of not fully complying with HDLC,
has subtle problems. LAPB is a superior procedure.
The usage of LAP will eventually be replaced with
LAPB.
LAP and LAPB are different only in the link set-up,
disconnect, reset and receiver-not-ready procedures.

In LAPB, station A could send an RR command with
P = 1 at T1 intervals. B would respond with either
an RNR or RR (F = 1), and this procedure is more
efficient.

1.0 Link Set-Up
In LAP, a link is set-up when both ends exchange a
SARM and UA. In LAPB, only one end will send a
SABM, and when the other end sends a UA, the link
is up.

5_0 CMDRlFRMR
Suppose a command or response is received errorfree (FCS good), but there is an invalid condition. This
could be an acknowledgment to a packet never sent,
an unrecognized command or response, an I-field
where one is not allowed, etc.

2_0 Link Reset
A link, which is up, may be reset.
In LAP, a link may be reset in one I-frame direction by
sending a SARM. When the other end acknowledges
the SARM with a UA, the end that send the SARM
clears its send sequence number. However, I-frames
coming from the other direction are not reset. This
could be a problem. Suppose a link is up, but one end
momentari Iy loses power. When that end tries to setup the link by sending a SARM, the other end sends a
UA, but "thinks" the SARM was a link reset. Thus, a
SARM is never returned. (The WD2501 gets around
this by sending a DISC before trying to bring a link
up.)
In LAPB, a link reset SABM resets the link in both
directions. The ambiguity between a reset command
and a link set-up command is much less than for LAP.
(It is still a good practice to send a DISC before trying
to bring a link up in LAPB. This will insure that Level 3
software is fully aware of a disconnect situation, as
opposed to a reset.)

In LAP, received invalid commands may be rejected
except for packets with an invalid N(R). The receiving
station would send a command reject (CMDR) along
with the rejecting cause and its current V(R) and V(S)
counts. These counts allow for re-initialization at a
higher level to prevent duplicate packet transmission
(Le., sending an already acknowledged packet).
However, invalid responses or packets with an invalid
N(R) may not be rejected. Only a link resetting SARM
may be sent. Thus, the reason for the reject is not
communicated to the other end. Even worse,
duplicate packets could be exchanged since the
V(R), V(S) counts are not transferred.
In LAPB, all invalid responses and commands are
rejected with a frame reject (FRMR). An FRMR is the
same as a CMDR except for one bit which tells
whether the rejected frame was a response or
command. Thus, the rejecting cause and V(R), V(S)
counts are communicated for both invalid commands and responses.

167

~

t3
I\)

en
o
"""'"
i\5
en
"""'"
"""'"

:e

LAP COMMANDS AND RESPONSES
(Bit 0 is transmitted first) Only the CMDR and I-frame contain I-fields

C

N
CJ1

o
.....

FRAME TYPE

COMMAND

I-FRAME

I-FRAME

i\5
CJ1
.....
.....

S-FRAME

RESPONSE

N(R)

P

N(S)

0
0

RR

N(R)

F

0 0 0

1

RNR

N(R)

F

o

1 0

1

NCR)

F
P

1 0 0

000

1 1 1

1
1

UA

0 1 0
0 1 1

P
F

0 0 1
0 0 1

1
1

CMDR

1 0 0

F

0 1 1

1

REJ
SARM

U-FRAME

CONTROL FIELD
81T#
321
765
4

DISC

RECEIVER
READY
RECEIVER
NOT
READY
REJECT
SET ASYNCHRONOUS
RESPONSE
MODE
DISCONNECT
UNNUMBERED
ACKNOWLEDGE
COMMAND
REJECT

LAPB COMMANDS AND RESPONSES
FRAME TYPE

COMMAND

I-FRAME

I-FRAME

S-FRAME

U-FRAME

RESPONSE

CONTROL FIELD
81T#
321
765
4

N(R)

P

N(S)

0
0

RR

RR

N(R)

P/F

0 0 0

1

RNR

RNR

N(R)

P/F

0 1 0

1

REJ
SABM

REJ

N(R)

001

P/F
P

1 0 0
1 1 1

1
1

DM

0 1 0
0 0 0

P
F

0 0 1
1 1 1

1
1

UA

0 1 1

F

0

o

1

1

FRMR

1 0 0

F

0 1 1

1

DISC

Only the FRMR and I-frame contain I-fields
P Poll Bit
F = Final Bit

=

168

RECEIVER
READY
RECEIVER
NOT
READY
REJECT
SET ASYNCHRONOUS
BALANCED
MODE
DISCONNECT
DISCONNECT
MODE
UNNUMBERED
ACKNOWLEDGE
FRAME
REJECT

APPENDIX C
OPERATING THE WD2501 OR
MULTIPOINT CONFIGURATION

WD2511

IN

in each secondary, but unique for that secondary. The
primary would modify Registers E and F for each
session with a given secondary. Neither of the above
methods appears to have an advantage over the
other.

A

A typical multipoint consists of a primary station
controller connected to one, or more, secondary
controllers by means of a four wire connection as
shown in Figure 1. One wire pair carries serial data
from the primary for broadcast to all secondaries.
One wire pair carries serial data from all secondaries
to be received by the primary. Thus, the primary
communicates with secondaries, and secondaries
never communicate directly with one another. Also,
the primary can only "talk" to one secondary at a
time.

By way of example, suppose the second method is
chosen, and suppose there are five secondaries.
Register E and F for the five will be 1, 3, 5, 7, and 9.
Each secondary will be in an idle state with CRO bits
5 and 1 set (hex 22). The RTS pin will be off for the
secondaries. As soon as a secondary receives a DISC
with A field which matches Register F, RTS will be
asserted. If the A field does not match Register F, the
frame is discarded, and RTS remains off.
When the primary needs to communicate to #1,
Register E and F in the primary are set to 1. The
primary will set CRO bits 4 and 1 (hex 12). The primary
will initiate a link set-up procedure wih #1. After the
link is brought up with #1, there will be a link-up
interrupt with ERO = hex 21 in both the primary and
secondary. If, however, #1 is off-line, there will be no
link-up time-out from the WD2501/2511 for failure to
bring-up a link. The user must provide this time-out.
After the link is up, if a WD2511 is being used, the
user may wish to clear CRO bit 5 (does not need to do
so for the WD2501). For the WD2511, this is a half
duplex bit, and will become full duplex when the bit
is cleared.

ADCCP (Advanced Data Communication Control
Procedures, ANSI X3.66) specified three modes:
Normal Response Mode (NRM), Asynchronous
Response Mode (ARM), and Asynchronous Balanced
Mode (ABM). NRM is strictly an association between
a primary and one, or more, secondaries. Therefore,
N RM has been specifically designed for use with
multipoint, and is the best choice for multipoint.
ABM and ARM are not as well suited for multipoint as
NRM, but can none-the-Iess be used in multipoint.
The WD2501 is LAP which is an application of ARM.
The WD2511 is LAPB which is an application of ABM.
For multipoint, the primary will establish a link with
one secondary, and communicate I-frames with that
secondary. After this "session," the primary will
initiate link disconnect, and go on to another
secondary.
The control of the WD2501 and WD2511 is by means
of Registers E and F which control the command/response definitions for the A field. This may
be handled in one of two ways: First, make Register E
the same for all secondaries, and this value will be
used in Register F of the primary. Register F will be
unique for each secondary, and the primary will
modify Register E for each session with an individual
secondary. Second, Register E and F could be equal

To discontinue a session, the primary will set bit 0 in
CRO (hex 01). This will cause a DISC to be generated
to the secondary. The user may change Registers E
and F for the next second~fter waiting a few
mill iseconds (2 or 3) after the LI NK bit becomes set.
When the secondary receives the DISC, the
secondary will generate a disconnect interrupt (ERO
= hex 30), and transmit a UA.

SECONDARY

SECONDARY

#1

#3

PRIMARY

Figure 1. TYPICAL MULTIPOINT CONFIGURATION

169

SECONDARY
#N

Information furnished by Western Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western Digital
Corporation for its use; nor for any infringements of patents or other rights of third parties which may result from its use. No license is granted by
implication or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right to change
specifications at anytime without notice.

170

Printed in U.S.A

WD2511 LSI circuit simplifies
packet-network connection
by Geary L. Leger,

Western Digital Corp., Newport Beach, Calif.

Technical articles_ _ _ _~------

LSI ready to make a mark
on packet-switching networks
New chip's link-control capabilities
ease connection to terminals: Part I
by Geary L. Leger,

Western Digital Corp., Newport Beach, Calif.

o Packet-switching networks are prime targets for the
application of large-scale-integrated circuit technology.
In fact, sometime during the first quarter of next year,
this useful and expanding approach to data communicaThis is the first oj two articles. It deals with the overall
characteristics oj packet-switching networks. Part 2, which
starts on page 95, describes an LSI chip being developed Jor
Level 2 control per the X. 25 protocolJor packet networks.

...

LEVEL 7

tions will have its first dedicated LSI circuit, one
designed to take advantage of LSI'S potential for lower
cost and greater reliability.
The circuit is the Micro Packet Interface chip, or
,uPAC, being developed by Western Digital. It will handle
Level 2 control of the link between a data terminal and a
network node as set forth in the X.25 protocol established by the Consultative Committee for International
Telephony and Telegraphy (CCITT). Because these

-----------~

PROCESS

CONTROL

...------------+

PRESENTATltltj

LEVEL 5

...-------------.

SESsiON
CONTl'laL

LEVEL 4

...-------------+

ENO·TO·END
CONTROL

LEVEL 6

PRESENTATrON
CONTROL

CONTROL

TRANSPORT

PEER-TO-PEER INTERFACES

LEVEL 3

...-------------.

LEVE L 2

...------------

LEVEL 1

.-------------.

NETWO.RJ<
CONTRal

t

LEVEL-TOLEVEL
INTERFACE

...

1. Layered architecture. Independence among system levels allows changes to be made to one level without disrupting the operation of
other levels; and adjacent level is affected only if the changes affect the interface to that level. Standards apply to peer-to-peer interfaces_

172

Recent efforts in packet switching
The security, survivability, and economic advantages of
packet-switching data-communications networks have not
gone unnoticed in either the military or the corporate
sectors. Though still in its infancy, this type of communication is growing rapidly.
According to Defense Advanced Research Project
Agency director Eugene H. Kopf, the latest military packet
effort aims to find the optimum architecture for a
command and control network of 5,000 to 10,000 small
packet radio relay terminals whose purpose would be to
insure survivable control over strategic weapons. The
network voice and data-packet radios would provide lineof-sight communications throughout the continental U. S.
after an attack.
The civilian sector has continued the development of
packet networks from their modest beginnings. In 1972,
Bolt Beranek & Newman Inc. founded Telenet, a public
packet-switching network taken over this year by General
Telephone & Electronics Corp. GTE Telenet Communications Corp., Vienna, Va., completed installation this month
of a packet-switching exchange in San Juan, Puerto Rico,
for ITT World Communications Inc. The new service allows
businesses and industrial organizations to link to the ITT
gateway and transmit and receive data over shared transmission lines 'to data terminals or computers on the U. S.
mainland.
Tymnet Inc., Cupertino, Calif., is the largest public packet-switching network in the U. S. It has so many customers
that it issues a 34-page directory describing 200 data
bases accessible through its network. Tymnet now serves
250 computers in the U. S.; it recently added New Zealand

networks are relatively new, familiarity with the Level 2
link control and other details of their operations is not
widespread. Yet the purpose of the ,uPAC is intelligible
only in the context of such an understanding.
To date, most data-communications systems use
circuit-switching techniques. A physical circuit is
assigned either permanently (a private, leased line) or
for the duration of the call (a dial-up line). But of a
given line's total available time, only a small percentage
is actually taken up by data transmission. A system for
dynamic allocation of the physical circuits, in contrast to
static circuit-switching allocation, requires the logic and
memory capabilities of computers.
Prior to the late 1960s, static circuit allocation was
more economical than using computers in a dynamic
allocation system. The low cost of today's minicomputers
and micFoprocessors and the dramatic drop in the cost of
memory, however, make dynamic allocation more
economically feasible in many cases. It is most suitable
in multipurpose applications-digital communications
systems linking various types of data terminals such as
facsimile machines, computerized data bases, interactive
keyboard printers, or cathode-ray-tube terminals.
Historically, communications systems have been
developed to satisfy one application at a time. The wide
variety of computers, terminals, and technologies has led
to the development of many incompatible networks. A
time-sharing network may connect many asynchronous
interactive keyboard printers on dial-in lines at 110 or

to its list of countries served, bringing the total to 26.
The Japanese have not been idle in adapting packet
technology to their needs. Nippon Telegraph and Telephone Public Corp. started work on its digital dataexchange system in 1971 and had installed packetnetwork equipment in seven cities by late 1978. This
commercial packet-switching network (called 050) is
expected to go into full service this year. 050 conforms
fully to Recommendation X.25 of the Consultative
Committee for International Telephony and Telegraphy.
The packet network industry has come a long way since
the first operational system (Arpanet) was installed by the
Defense Advanced Research Projects Agency in 1969. In
1976, the CCITT adopted X.25 as a standard three-level
protocol for interfacing terminals to public packet
networks-a major step for the industry. Even though it
has been criticized as being too complicated, X.25 has
stimulated interest in packet networks.
However, packet switching is not the answer to all data
and voice communications problems, as some have
claimed. Gino J. Coviello of the Defense Communications
Agency in Arlington, Va., concluded in a recent study that
the number of channels traversing a particular transmission link and the network topology and architecture have a
significant impact on the cost-effectiveness of a packetswitching network. Ray W. Sanders, president of Computer Transmission Corp., says, "Packet switching will take
its rightful place alongside circuit switching." A hybrid
approach combining features of both circuit and packet
switching "provides the best of all possible worlds,"
according to Sanders.
-Harvey J. Hindin

300 bits per second. A clustered CRT application such as
IBM's 3270 may operate synchronously at 1,200, 2,400,
or 4,800 b/s.
The incompatibility of different types of equipment
and the protocols they use for communicating greatly
reduces the reliability and efficiency of data communications as a whole. A single corporation may, for example,
use several incompatible networks.
Security and survivability

The technique of sending a digital data in short packets, rather than in a continuous stream, was first
suggested by Paul Baran of the Rand Corp. more than a
decade ago. The packets are transmitted between intermediate points in the network, called nodes, or DCEs, for
data-circuit-terminating equipment (see table).
This dynamic-allocation technique has two major
inherent advantages over circuit-switching methods. It
increases data security, since the message is broken up:
all the packets would have to be picked up and combined
by an intruder before he could use the data. And system
survivability and reliability are enhanced by the large
number of linked nodes. Alternate routes will get a
message through if some of. the nodes or links are
malfunctioning or destroyed. The security and survivability are of great interest to the military. The commercial sector is also developing this type of system (see
"Recent efforts in packet switching," above).
The problem of equipment and communication-proto-

173

col incompatibility is an international one, since data
communications is international. This question is
addressed at the global level by the CCITT (see "Setting
the standard," p. 93).
The difficulty of expanding, modifying, or upgrading
existing data-communications networks is another problem that is tackled by the new packet-switching systems.
Any communications system represents a large capital
investment, and down time can be disastrously expensive. A user cannot simply tear down an old network and
substitute a new one with the latest advances. New
terminals and technologies must be phased into the
existing structure without interrupting operation. This
calls for a degree of system flexibility.

PACKET-SWITCHING NETWORK TERMINOLOGY
ADCCP

Layered architecture

Packet-switching n'!tworks achieve this flexibility
through layered (;r multilevel) architecture [Electroni~s
May 24, 1979, p. Ill]. Several standards organizations
have been working on the specifics of this concept.
The importance of layered structure is easy to understand. Suppose Mr. Jones, an executive, wishes to talk to
Ms. Smith, another executive. Jones (level 4) tells his
secretary (level 3) to get Smith on the line. Jones'
secretary dials the number (level 2). An electromechanical switching mechanism connects the two phones (level
1). Smith's phone rings (level 2). The two secretaries
converse (level 3) and pass on the information that the
call is ready to their bosses. Smith and Jones now
communicate (level 4).
Jones was never concerned with the electromechanical
switching mechanism, nor with Smith's telephone'
number; he was primarily concerned with talking to
Smith (peer to peer) and secondarily with talking to his
secretary to get the call set up.
Multilevel communications systems are structured in a
similar fashion. The protocol standards are prepared for
connection in the peer-to-peer layer. Standards do not
define the interface between adjacent layers. This is
intentional: terminal manufacturers are thus left free to
design the adjacent-layer interface in their own way.
This enhances system flexibility. If a layer is changed or
upgraded, nonadjacent layers are not affected.
X.25 defines and standardizes three levels. There are
as many as four more definable levels (Fig. 1), but much
work remains to be done to standardize these higher
levels. Level 1 may be viewed as a data-exchange mechanism serving Level 2. Level 2 is a data-exchange mechanism serving Level 3, and so on.
Three standardized levels

Level 1 concerns itself with the link's physical interfaces. Level 2 deals with link control. It includes setting
up and disconnecting a link, the control of flow between
data generators and data receivers, and bit-oriented
frame structure. The JLPAC from Western Digital is
designed to perform the Level 2 functions. Level 3,
network control, includes the procedures for establishing
and disconnecting the virtual circuit and for controlling
the flow of data packets in the network.
In a packet network, the sender or receiver has a
terminal (commonly called DTE, for data-terminal equip-

Advanced Data-Communications Control Procedure
(ANSI X3,66)

ANSI

American National Standards Institute

ATOM

asynchronous time-division multiplexing

BOP

bit-oriented protocol

CCITT

Consultative Committee for International Telephony
and Telegraphy

DCE

data-circuit-terminating equipment (network node)

DTE

data-terminal equipment (user's terminal)

FCS

frame check sequence

HDLC

High-level Data-Link Control protocol (ISO 3309)

ISO

International Standards Organization

ITU

International Telecommunications Union

I frame

information frame, known as a packet under X,25

LAP

Link-Access Procedure (X,25)

LAPB

Link-Access Procedure, Balanced (X.25)

Link
control

X,25 Level 2 control for linking DTE and DCE,
including link initialization, establishment, and
disconnection, and control of data flow on the link

Network
control

X.25 Level 3 control of virtual circuits in network,
including circuit establishment, disconnection, and
reset, and the control of packet flow

N1

maximum number of bits in a packet

N2

maximum number of command retransmissions

PAD

Packet Assembly/Disassembly facility (defined in
CCITT recommendations X,3, X,28, and X,29)

Physical
interface

X,25 Level 1 specifications for the physical connection
of DTE and DCE, including electrical parameters
and transmission rate

S frame

supervisory frame

SDLC

Synchronous Data-Link Control protocol

T1

time minimum before retransmission of
unacknowledged command

U frame

unnumbered frame

X,25

CCITT recommendation for packet-switching network
protocols (others include X,3, X,28, and X.29)

ment) with a distinct address. Part of the gear at a
network node might also be called data-terminal equipment. The packets of data are transferred from node to
node and finally to the receiver's terminal.
When a node receives a packet, it stores the packet,
decides where and when to forward it on the basis of the
packet's destination and priority and the load conditions
of the network, and then does so. This store-and-forward
facility is the key to the network's ability to allocate
circuits dynamically. Packets going from terminal A to
terminal B in Fig. 2 could follow the node path
7-12-11-10,7-5-3-1-10, or any of a number of others.
Dynamic routing within the network is transparent to
the users at their terminals. The path data takes is called
a virtual circuit between A and B: the terminals communicate as if a dedicated circuit joined them. In order to

174

r - - - - - - VI RTUAL CIRCUIT (A TO B) - - - - - -__

IElETYPE'
WRfTl!R

CATHODERAY-TUBE
TERMINAL
NO.1

TERMINAL
EQUIPMENT t - - i - { )
A

CRT
TERMINAL
NO.2

2. Many possible paths. The user of a packet-switching network at his terminal sees no difference between the virtual circuit and an ordinary
phYSical link. Network control may send the data packets through a changing series of nodes as system traffic conditions change.

establish a virtual circuit, terminal A transmits a callrequest packet that includes the caller's address and the
address of terminal B, the destination. Terminal B
accepts the request by returning a call-accepted packet
to A, and the virtual circuit is set up.
Circuit sharing

Several simultaneously active virtual circuits can be
set up by interleaving packets. This asynchronous timedivision multiplexing (ATOM) exploits the fact that a
typical virtual circuit carries data for only a small
percentage of the time it is set up. It differs from other
time-division multiplexing schemes in that a dedicated
NODE

TERMINAL
COMMAND
SECONDARY
FUNCTION

PRIMARY
FUNCTION
RESPONSE
COMMAND

PRIMARY
FUNCTION

SECONDARY
FUNCTION
RESPONSE

3. Addressable functions. A terminal or node has a primary function that sends commands and receives responses. Its secondary
function, which has a different address, responds to received
commands. Arrows represent system logic, not phYSical wires.

175

time slot is not provided for each virtual circuit being
multiplexed.
In the multilevel packet-switching architecture, Level
2 (also known as the link level or the frame level)
involves the point of contact between the subscriber's
terminal and the network node it is linked to directly.
Each station, be it terminal or node, has two logical
functions needed for addressing and signal implementation, called primary and secondary (Fig. 3). The primary
function transmits commands and receives responses; the
secondary function does the reverse- it receives commands and transmits responses.
The structure of the data frames used for this communication is common to all bit-oriented protocols (BOPS)High-level Data-Link Control (HOLC), the essentially
similar Advanced Data-Communication Control Procedures (AOCCP), and the Synchronous Data-Link Control
(SOLC) protocol worked out by IBM [Electronics, Jan. 18,
1979, p. 137]. The Level 2 protocol defined by X.25 is an
outgrowth of HOLC.
The frame is simply a block of serial data exchanged
between two terminals or a terminal and a node. It
consists of a flag, an address field (or A field), a control
field (or C field), an information field (or I field), a
frame-check sequence (FCS), and another flag. Depending on the frame type, the information field mayor may
not be included.
There is a flag at either end of a frame; a single flag
may close one frame and open the next. Data transparency is provided within the frame by the transmitting
station: a logic 0 is inserted after all sequences of 5
contiguous logic 1 bits, so that no transmitted data is
inadvertently read as a flag, which has the binary form

Setting the standard
International interface standards are vital to the development and growth of packet-switching networks. Standards
lead to lower costs for equipment bought by network
users, since this equipment can be manufactured in much
larger quantities. The user also benefits from the interchangeability of gear from different vendors. Manufacturers reap the rewards of a global market rather than a local
one, and network organization is made vastly easier.
A number of U. S. and international standards organizations are working together to set up interface rules. The
International Telecommunications Union (ITU), formed in
1865, operates under the auspices of the United Nations.
Under the ITU is the Consultative Committee for International Telegraphy and Telegraphy (CCITT), which is
primarily an organization of carriers.
Study Group VII is a CCITT organization that handles

i

public data networks. SG VII is responsible for publishing a
number of standards or recommendations for packetswitching networks. The best known of these is Recommendation X.25.
The International Standards Organization (ISO), which is
composed of representatives from the manufacturing and
user community, works closely with the CCITT; the ISO
also has a group under its wing with responsibility for
public data networks.
In the U. S., the American National Standards Institute
(ANSI) is a clearinghouse that coordinates activity for
voluntary standards. Its X3S37 committee, which has the
responsibility for public data networks, does liaison work
as well as coordination. This committee represents a cross
section of U. S. industry: manufacturers, users, and
carriers. It offers inputs to both the ISO and the CCITT.

· I - - - - - - - - - - - - - - - - - - I N F O R M A T I O N FRAME (PACKET)

-----------------+1_1

Ioofl.f------INFORMATION FIELD (PACKET DATA)

FLAG

1-0_1------\

ADDRESS

PACKET
CONTROL
INFORMATION

CONTROL

LEVEL 2 - - - - - - ;•.-t-\....-

FLAG

ADDRESS

UNNUMBERED FRAME (LEVEL 2)

CONTROL

I·FIELD

f--------SUPERVISORy FRAME (LEVEL2)

ADDRESS

CONTROL

FCS

FLAG

SOFTWARE----II.-r\~--- LEVEL 2 - - - - l

-------~.I
FLAG

FCS

1. .

FLAG

FRAME
CHECK
SEOU ENCE
(FCS)

USER DATA

LEVEL 3 -••....
\ c - - - - APPLICATION

1-01.1----------

---~_I

-----.-t.1
FLAG

4. Standard frames. Three types of data frames may be sent over a packet network. All data except the user data in the information field of
ali information frame is system overhead required for synchronization, data checking, verification, and bookkeeping functions.

01111110. The receiving station automatically deletes
the inserted Os from the data.
The frame-check sequence is the last 16 bits before the
closing flag. They are produced by a calculation that
checks all data between the opening flag and the first bit
of the FCS. The logic Os inserted for data transparency
are not checked.
A frame may be one of three types (Fig. 4): a supervisory frame (or S frame), an unnumbered frame (or U
frame), or an information frame (or I frame).
Level 2 control does not involve itself with the data
within the information field of an information frame. It

simply encloses the packet data in an HDLC frame and
sends it out onto the network.
Supervisory frames are used to perform supervisory
control of a link, such as acknowledging packets,
requesting retransmission of packets, and requesting
temporary suspension of transmission. Unnumbered
frames are used to set up, disconnect, and reset links.
The Level 2 protocol may take one of two forms:
Link-Access Procedure (LAP) and Link-Access Procedure, Balanced (LAPB). When it was originally written in
1976, Recommendation X.25 contained LAP only. LAPB
has been added since that time, offering some improve-

176

)(28
\

\

CATHOOE·RAY·TUBE
TERMINAL

\

",').'0

X.3 \
K29 I

I
J

i-').~

TERMINAL
CONCENTRATOR
(PACKET
ASSEMBLY!
OISASSEMBL Y
FACILITY)

X.25

CENTRAL
PROCESSING
UNIT

PUBLIC
PACKET
NETWORK

I

X.75

",').S

CPU

CRT TERMINAL
PUBLIC
PACKET
NETWORK

5. Multiterminal connection. A Packet Assembly/Dissassembly
(PAD) facility allows various types of interactive terminals to communicate with each other using the interface standards indicated. PAD
equipment may belong to either the user or the network.

ments. Some changes in frame types were made, but the
primary differences between LAP and LAPB are in the
functions that set up, disconnect, and reset links. (Two
models of the J.l,PAC, the WD 2501 and the WD 2511, are
geared to the LAP and the LAPB, respectively.)
There are four system parameters defined by the X.25
Level 2 protocol: T1, N2, N I, and k. T I is the time limit
set for the primary timer; when TI runs out, an unacknowledged command may be retransmitted. N2 is the
limit set for a counter that is incremented each time a
command is retransmitted because time TI ran out
without its being acknowledged. N I is the maximum
number of bits in a packet; it depends on the maximum
length of the information field. And k is the maximum
number of sequential packets that a terminal or node
may have outstanding (transmitted but unacknowledged) at any given time. In the J.l,PAC, TI, N2, and Nl
are programmable. The number k can never exceed
seven under X.25, and it is fixed at seven in the J.l,PAC.
Multiplexing terminals

Since each user of the packet network typically has
many different types of data generators and receivers,
multiplexers must connect the network to the existing
equipment. This multiplexer has been defined by the
CCITT as the Packet Assembly/Disassembly (PAD)
circuit (Fig. 5). The PAD is specifically for use with
asynchronous terminals; it combines or separates the
multiple signals that are sent to or received from the
network.
CCITT protocol standards X.3, X.28, and X.29 are
used together to define a PAD interface. A PAD facility
may be viewed as a terminal concentrator that connects
several asynchronous terminals to a single X.25 link. The
PAD circuit is sometimes called an interactive-terminal
interface because in practice most terminals connected
to PAD interfaces require human interaction via
keyboards and CRT displays or printing equipment.

CPU

When a PAD interface is used between the packet
network and the terminals, two stations that are incompatible by themselves can communicate. They need only
be able to talk to the PAD. The J.l,PAC chips will allow
them to do this. Another advantage of this approach is
that new types of equipment added at a terminal are
transparent to the network.
On the other hand, changes and improvements within
the packet network are transparent to the user. These
improvements could include increasing node-to-node
communication speed, increasing the number of nodes,
and changing node-to-node connections to fiber optics.
Variations on the theme

Many packet systems are available; they vary according to the network organization. Several networks, such
as Montreal-based Bell Canada's Datapac, offer (in
addition to the standard virtual circuit) a permanent
virtual circuit that requires no call for link establishment
anrl is continually available.
Another possible service, Datagram, when made available, will not require the initial establishment of a virtual
circuit. In this approach a packet is merely put out on
the line- typically by users of so-called transactionbased networks. There is no call procedure, and duration
of connection is not of concern for billing purposes.
Users may, for example, pay a flat fee. Short, independent data bursts will ultimately work their way through
the network to their destinations.
A closed user group, available from Datapac and
others, is like a private network. Users in a group,
actually connected to a public network, can communicate with one another, but access is barred to and from
all other users of the network. AT&T'S proposed
Advanced Communications Service includes this feature;
the company calls it a virtual subnetwork.
0

177

178

WD2511 LSI circuit simplifies
packet-network connection
48-pin chip replaces entire board
and thousands of lines of software
by Geary L. Leger,

Western Digital Corp.. Newport Beach. Calif.

D Packet-switching data-communications technology
can now claim its first dedicated large-scale integrated
circuit. Called the Micro Packet Network Interface chip,
or ,uPAC for short, it is a complete X.25 Level 2 controller with on-chip bidirectional direct-memory-access
facilities. This n-channel silicon-gate MOS chip in a
48-pin package replaces a board full of electronics.
The ,uPAC goes way beyond the functions performed
by the bit-oriented-protocol (BOP) control chips currently in widespread use. It includes the circuitry of a BOP
chip. But it handles many other operations, eliminating
the need for separate OMA circuits and associated
address latches, timing chips, and the system software
(more than 1,000 lines of code) required until now to
perform Level 2 control of the link between a data
terminal and a node of a packet-switching network. It
has an II-K read-only memory and the equivalent of
three microprocessors: one to handle data-transmission
operations, another for dealing with received data, and a
third central processor to coordinate all chip functions.
Sample quantities of the controller will be available from

SYNCHRONOUS OATA·LlNK
CONTROL (SOLC) PROTOCOL

J.lPAC X 25
ENHANCEMENTS \

:~

Western Digital Corp. in the first quarter of 1980.
The data-link controllers already on the market
(Western Digital 1933, Signetics 2652, Intel 8273, Zilog
SIO, and others) handle BOP frame structure in a broad
range of applications. For example, the WD 1933 can be
used with the High-level Data Link Control (HOLC) and
Synchronous Data-Link Control (SOLC) protocols,
including the SOLC loop mode. This chip and others like
it handle zero-bit insertion and deletion, the frame-check
sequence (FCS), and the flags that define the beginning
and end of a data frame.
The ,uPAC trades some of this protocol flexibility for
the sake of greatly enhanced usefulness within its area of
application (Fig. I). It is restricted to the Level 2 packetswitching protocol defined in Recommendation X.25
from the Consultative Committee for International Telephony and Telegraphy (CCITT), a protocol developed
from HOLe. But other BOP chips do not set up, disconnect, or reset the link; they do not automatically retransmit up to seven information frames (I frames); nor do
they have a timer for retransmission control. These are

:

~

\

:

X.25
-PROTOCOL ~

I
I
I

I

I

I
I

LINK SET·UP
AND DISCONNECTION.
DATA FLOW CONTROL

I
I
I
I

I
I
HIGH·LEVEL DATA·LlNK
CONTROL (HDLC) PROTOCOL

I
FRAME
{
STRUCTURE

I
I

LINK CONTROL

I
~I

I
I
I
I
I

,I

J.lPAC AREA OF APPLICATION

SDLC
LINK
MODE

I

I
I

o

\

o

APPLICATION AREA OF BIT'ORIENTED'PROTOCOL CHIPS

1. Targeted. The Micro Packet Interface (ILPAC) chip is the first large-scale integrated circuit deSigned specifically for packet-switching
applications. The application range of other chips that handle bit-oriented frame structure is wider, but the ILPAC does much more in its area.

179

TABLE l' COMPARISON OF FEATURES OF BIT-ORIENTED-PROTOCOL CHIPS
H D L C / ADCCP protocol featu re

X.25 Level 2

Bit-oriented-protocol chips

J.lPAC

Basic bit-oriented frame structure

yes

yes

yes

Retransmission of up to 7 I frames (modulo 8)

yes

no

yes

Asynchronous response mode

yes, LAP

no

yes, 2501

Asynchronous balanced node

yes, LAPB

no

yes, 2511

Control of S, U frames

yes

no

yes
yes

Link set·up, disconnect, and reset procedures

yes

no

Time-out recovery

yes, T1/N2

no

yes, T1/N2

Multipoint operation

no

no

yes

f\Jorma! response mode (f\J R~.~)

no

no

no

Level 2 modu 10 128

FS

no

no

FS = item for further study by the CCITT

all features of the J.LPAC chip (see Table 1).
Two versions of the J.LPAC will be made available. One,
the WD 2501, uses the Link-Access Procedure (LAP)
defined in the first version of X.25. The WD 2511 is for
networks using the Link-Access Procedure, Balanced
(LAPB) added to X.25 subsequently. The two chips differ
only in the program stored in ROM. They are pincompatible and interchangeable without hardware br
software modifications. Both may be used either in a
terminal (DTE, data-terminal equipment) or in a network
node (DCE, data-circuit-terminating equipment).
Direct memory access

Because of the HDLC feature that allows up to seven
packets (I frames) to be outstanding (transmitted but
unacknowledged) at any time, the J.LPAC has information-field data (the 1 field of an information frame)
buffered for up to eight packets both when transmitting
and when receiving. In other words, the J.LPAC may have
to retransmit up to seven packets. It must therefore be
able to retrace its steps through as many as seven of its
eight buffers.
DMA circuitry, included in the J.LPAC, is the best way to
achieve this. A number of other control chips (floppydisk controllers and data-link controllers) are DMAcompatible, but they do not actually include DMA.
General-purpose microprocessors that have their own
DMA, such as the Intel 8089, are not in the same category as the J.LPAC.
DMA control on the J.LPAC is simple, requiring only
three pins (DRQW, DROR, and DACK) for handshaking
with the central processing unit's bus (Fig 2.). There are
16 address-output pins (AO through A 15) that are separate from the eight da.ta pins (DALO through DAL7).
This means that the DMA transfers are fast-they occur
in a single cycle. Unlike the J.LPAC, DMA chips such as
Western Digital's 1883 or Intel's 8257 require external
address latches. This means that some or all of the
address must come through the data bus and two or
three cycles are required for data transfer.
In general, DMA control is either of the block-transfer
type or the transparent type. In block-transfer DMA
control, the DMA controller transfers several bytes of

data while the CPU is disabled from using the bus. If
transparent, the DMA control is imbedded in the cPU's
clock cycle in such a way that the transfers are invisible,
or transparent, to the CPU. Since the J.LPAC must be able
to transmit and receive data on two DMA channels at
once (for full-duplex operation), the only logical choice
for the J.LPAC is transparent DMA, since block-transfer
DMA would restrict operation to half-duplex.
All Level 2 data is appended and checked automatically by the J.LPAC. The I-field data is accessed via DMA
channel. All supervisory frames (S frames) and unnumbered frames (U frames) are automatically transmitted
and checked by the J.LPAC. The user's CPU operates only
on the I field of I frames.
Keeping track of packets

The DMA uses two lookup tables-one for transmitted
frames (TLOOK) and another for received frames
(RLOOK). These contain addresses and control bytes for
the individual packets. Thus packet data is addressed
indirectly. This method is best suited for most software
applications.
The 16-bit starting address for TLOOK is loaded into
the J.LPAC by the CPU. RLOOK must follow immediately,
and both TLOOK and RLOOK are stored in random-access
memory external to the J.LPAC.
There are a total of eight segmented control sections
for each table. Each section contains 8 bytes, 4 of which
are used for memory starting address and length. The'
rest are for control.
In the transmit mode, the J.LPAC reads (from TLOOK)
the starting address and length of the first packet to be
transmitted. The chip then automatically transmits the
flag, address, and control fields. Next, the informationfield data is transmitted using DMA and the memory
location called "send #0 packet." At the end of the
information field, the J.LPAC automatically sends the FCS
and closing flag. It then moves on to the next packet.
If retransmission of one or more (up to seven) packets
becomes necessary, the chip automatically retraces the
previous transmissions through the TLOOK table. The
user's CPU software does not become involved in the
retransmission. An error counter is incremented.

180

REPL Y

8'BIT DATA ADDRESS LINE

CS

READ'ONL Y MEMORY

WE

DROR

CENTRAL
MICROCONTROLLER

RE

DROW

IAO-IA3

DACK

iNfR
DATA/CONTROL BUS

AO-A15

MR--

t-----,r---~TD

RD ----y----I~

_TC
_CTS
-RTS
LOOPTEST

2. Ina ide the J.lPAC. The Level 2 controller has its own timer and direct-memory-access circuitry and is the logical equivalent of three
microprocessors. Routines stored on the chip allow it to relieve the network user's central processor of a large software overhead burden.

Each received frame is checked for correct address
and FCS fields and for type of control field. If the frame
is an I frame, the I field is placed in the assigned
memory location using a method similar to that used in
transmission. After the packet is received error-free and
in proper sequence, an interrupt is generated and the
p.PAC is ready for the next packet, which will be placed
in the next location.
Ten 8-bit error counters follow RLOOK in the external
RAM. These counters do not cause an error interrupt, but
maintain a running count of error activity. The contents
of the counters include: the number of frames received
with FCS error; the number of times Tl (the time minimum set for a timer that allows retransmission of an
unacknowledged packet) ran out; and the number of
packet retransmissions.
Control bits are included in TLOOK, RLOOK, and the
p.PAC to ensure orderly transfer of data blocks. For
example, the control bits are designed to prevent what is
known as "deadly embrace," a situation in which the
p.PAC and the user's computer are waiting for one another to start.
Self-testing

Self-testing features are critical to proper operation.
The p.PAC does a comparison test, an internal RAM
register test, and a loop-back test. All three are suitable
for use during manufacturing and inspection. The internal RAM and loop-back tests are also useful for system
diagnostics and troubleshooting.
The comparison test requires a device known to be
good or a stored list of known good responses. The
program location counter (PLC) for the main ROM is
halted so it may be incremented under external control.

TABLE 2 MICRO PACKET INTERFACE CHIP (IlPAC)
TERMINOLOGY

ABM

asynchronous balanced mode

ARM

asynchronous response mode

CMDR

command reject (U frame, LAP only)

DISC

disconnect (U frame)

OM

disconnect mode (U frame, LAPB only)

F RM R

frame reject (U frame, LAPB only)

R EJ

reject (5 frame)

RN R

receiver not ready (5 frame)

RR

receiver ready (5 frame)

SABM

set asynchronous balanced mode (LAPB only)

SARM

set asynchronous response mode (LAP only)

UA

unnumbered acknowledgement (U frame)

All jumps stored in ROM are disabled so that each
location of the PLC may be counted. As the PLC is
incremented, the responses of the output pins and status
registers are compared to the known good responses.
There are 11 8-bit registers in the p.PAC that are not
directly accessible by the user's CPU, which complicates
testing somewhat. The internal RAM register test
provides a means of checking these registers. The
contents of register A are placed in six even internal
registers and the contents of register B in five odd
internal registers. The 11 registers are then added
together without carry and the result is placed in status
registers. This test is initiated by a control bit in the
p.PAC. The loop-back test is discussed later.
For the purposes of discussing link establishment
procedures, it will be assumed that there is a 2501 p.PAC
at each end of the link. In practice, the 2501 can

181

..................................

~
THOUSAND
FEET

tERMINA~B

3. Off the network. The ,uPAC is also useful in non-network applications that use bit-oriented protocols. It provides full-duplex capability.
does error detection and recovery. and gives systems the option of hooking directly to a packet-switching network at some future date.

communicate with any device meeting X.25 Level 2
specifications.
When a link is set up, it is said to be in the information-transfer phase. This means that the terminal and
node will accept and transmit I and S frames. When a
link is logically disconnected, only U frames- DISC,
SARM, or UA (disconnect, set asynchronous response
mode, and unnumbered acknowledge; see Table 2) -will
be accepted or transmitted.
Link supervision

A link-connect frame is not the same as a link-reset
frame. A link in the information-transfer phase may be
reset in one direction by a SARM transmission. A link is
up after both ends send a SARM command and receive a
UA response.
Since a SARM can be either a command to reset or set
up a link, misinterpretation by the receiver of a SARM is
possible. This could happen when a link is established if
one end momentarily loses power. When that end tries to
bring the link up by sending a SARM, the other end may
interpret the command as a link-reset.
There are two ways to get around this problem.
Suppose a terminal or node attempting to bring a link up
sends a SARM command and receives a UA. After time
Tl, if the station does not receive SARM, it assumes that
the other end considered the link up. It will then disconnect the link by sending DISC and receiving a UA, and
attempt to set up a link a second time.
The other way around the problem is the method used
by the 2501. The 2501 will always send DISC and receive
a UA before attempting to bring the link up. This will
assure a logically disconnected link so that it may

attempt to set one up. Immediately after the link is up,
the 2501 generates an interrupt.
It is possible to recover a single error on a packet with
J,tPAC control. The error makes the received FCS bad, so
B does not recognize A's first transmission of frame 1.
When B receives frame 2, something is wrong since the
last successfully received packet was frame O. Thus, at
the next opportunity, B sends a REJ (reject-an S frame)
asking A to retransmit frame 1. This opportunity comes
after B completes sending its frame 2.
When A receives the REJ frame, it is sending frame 3.
There is no need to continue with frame 3, so A aborts
transmission of frame 3 and goes back and retransmits
frame 1. After retransmitting frame 1, A will retransmit
frames 2 and 3. Finally, A will continue transmitting
other frames.
Loop-back

A loop-back condition exists when a station receives
the same serial information it has transmitted. In the
loop-back test, the serial-transmit output is connected to
the serial-receive input in order to test the transmitter
and receiver channels. Each station has both primary
and secondary functions, so there are two logical primary-to-secondary associations on a terminal-to-node link,
and each association is identified by a different address
field. This makes loop-back testing impossible when a
strict X.25 connection is made. Commands will have the
A field of a response and vice versa. One way around this
is to make the A fields of the two associations equal for
the duration of the loop-back test. (The A fields are
programmable in the J,tPAC.)
Another problem with loop-back testing is the actual

182

detection of the condition and the detection of the condition's removal. There is no simple way around this
problem, and the ~PAC gives only limited assistance.
First, detecting the existence of a loop-back condition
is the responsibility of the CPU driving the ~PAC. If the
CPU sees that a link cannot be brought up, or if a link is
up and suddenly has excessive link resets and CMDRS
(command reject, a U frame), the CPU could assume the
presence of a loop-back condition. After making the two
A fields the same, if a disconnected link is successfully
brought up, then the loop-back condition exists.
To detect the removal of this condition, a particular
control bit (RRTI) in the ~PAC may be used. It causes
the ~PAC to send an RR (receiver ready, an S frame) or
an RNR (receiver not ready, also an S frame). These
frames are sent at TI intervals as long as the ~PAC is not
commanded to send a packet. As long as the ~PAC
receives those S frames, the loop-back condition exists.
However, if the ~PAC fails to receive an S frame for a
time equal to TI X N2, an interrupt is generated, signalling that the loop-back condition has been removed.

TERMINALS
AD3

'\

AD5
UJ

>

~

C =8·BIT HEXADECIMAL ADDRESS
FO R TRANSMITTED COMMAND
AND EXPECTED RECEIVED
RESPONSE

AD7
UJ

>

~

AD9
UJ

>

~

R = 8·BIT HEXADECIMAL ADDRESS
FO R TRANSMITTED RESPO NSE
AND EXPECTED RECEIVED
COMMAND

4. Multipoint line. The programmed features of the ILPAC chip enhance the flexibility of a system comprising one master terminal and
up to 128 slave terminals. Hardware and software savings are possi-!
ble when the ILPAC is used in this off-network context.

Suppose that AD3 wishes to communicate with AD7.
AD3 will first make sure that its receiving line is idle (a
status bit in the ~PAC). Next, AD3 will change its
transmitted command and response A fields to be the
reverse of AD7 (command field is set to 07, response
field is set to 01). Then AD3 will initiate link establishment by setting a control bit, called "active," in the
~PAC. Once the link has been established (the ~PAC
generates an interrupt when the link is first set up), AD3
and AD7 may exchange I frames. To discontinue the
session, either AD3 or AD7 will set the mandatorydisconnect control bit in its ~PAC. This will cause that
terminal to initiate a logical-disconnect procedure.

Modified X.2S

The original design intention was to use the ~PAC in a
strict X.25 terminal-to-node application, the only application covered by X.25. However, by taking advantage
of the terminal-node symmetry of the ~PAC (the fact
that it can be used in both DTE and DCE), other applications are possible that use its built-in features.
For instance, the user does not need to develop the
software for error recovery since this is a ~PAC feature.
For another, using a ~PAC makes it possible to connect a
non-packet terminal to an X.25 link at a future time.
And lastly, the chip's protocol is bit-oriented. It has a
number of advantages over older, character-oriented
protocols, such as code transparency, full-duplex capability, flexibility, and modularity [Electronics, Jan. 18,
1979, p. 137].
One possible application is the connection of two
terminals at Levels 1 and 2 (Fig. 3). How much of Level
3 is used would depend upon the individual application;
the more of Level 3 used, the better standardized the
interface is. One of the terminals in Fig. 3 could be a
terminal concentrator (a Packet Assembly/Disassembly
facility, or PAD, as defined by Recommendations X.3,
X.28, and X.29) on a factory floor, and the other could
be a host computer in a data-processing center.
Modified X.25 could also be used in a multipoint
system (Fig. 4). Idle terminals in this type of system
must transmit an "idle" sequence, not continuous flags.
The terminal addresses (AD3, AD5, AD7, and so on)
correspond to the transmitted response A field. The
transmitted command A field is the same for all terminals and is chosen to be hexadecimal Olin this case. All
A fields are selected with odd values (least-significant bit
transmitted first) to conform to the extended-address
format of the Advanced' Data-Communication Control
Procedures (ADCCP).
Two terminals on the multipoint line may establish
and discontinue communications by exercising X.25
procedures for setting up and disconnecting a link. But
only two terminals can communicate at anyone time.

A

/

Contention and roll-call methods

#

The multipoint system may be implemented by either
contention or roll-call polling. In the roll-call method,
the master terminal will initiate link establishment with
one of the slave terminals, communicate with that slave,
discontinue the session (disconnecting the link), and go
on to the next slave. This process continues until all
slaves are polled and then starts over. One advantage of
the roll-call method is that the master has tight control
over the line for efficient operation.
A disadvantage is that slaves must be queried (polled)
before sending data, and the more slaves on the line, the
longer it takes for the master to poll them. Therefore it is
essential that each slave be designed to exchange a
relatively small amount of data with the master in a
single session, lest it tie up the line for long periods.
Large amounts of data should be broken up and
exchanged in more than one session. This method is
suited to applications where the multipoint line has a
high usage.
In the contention method, any terminal may initiate a
session at any time. This is similar to a party telephone
line and is suited to applications where line usage is low.
All sessions are between the master and one of the
slaves, but unlike the roll-call method, a slave may
initiate the session. The terminal that initiates a session
must send an I frame with its unique address immediately after the link is set up.
0

Reprinted from ELECTRONICS, December 20, 1979, copyright 1979 by McGraw-Hili, Inc., with all rights reserved.

183

184

LOCAL NETWORK
ACCESS TRADEOFFS

Cost/complexity tradeoffs are examined in CSMA/CD and
token passing techniques for accessing local area networks

by Mark Stieglitz
ocal networks are characterized by problems that
are very similar to those encountered in conventional data communications networks. I Local networks, however, generate new problems and opportunities that require reconsideration of tradeoffs in
system cost/complexity. A fundamental point of decision in local network design is the choice of access
method. Chief contenders among access techniques are
carrier sense mUltiple access and token passing.

l

What is a local network?
The current controversial nature of local area networks
(LANS) is highlighted by their many definitions. A common theme in these is that the LAN be privately owned
and/or administered by the user. An LAN need not be
considered only as a high speed data transfer
mechanism; current private branch exchanges also meet
the definition of a private system. The opportunity to
optimize the network for a particular user's application,
therefore, becomes a key feature of the network. In this
discussion we assume the following: that a local network is a privately owned communication system; it
usually runs at data rates of lOOk bits/s and above; and
it is usually restricted geographically (100 to 25,000 m).
It is often asked if the X.25 protocol can be used in
LAN applications, especially now that X.25 large scale integration (LSI) controllers are available. This question

Mark Stieglitz is local networks program manager at
Western Digital Corp, 2445 McCabe Way, Irvine, CA
92714. He is responsible jor planning and developing
the company's LSI and system level local network
products. Active in IEEE standards activities, he is
currently chairman oj the IEEE-802 Token Access
Working Group.

can be more readily answered by comparing LAN
and X.25 protocol functions
using the International
Standards Organization
Open Systems Interconnection (ISO/OSI) reference
model. 2,3 The model was
developed to help conceptualize the relationships of
various elements in a communications protocol. The access function resides between physical and link level functions, often referred to
as a link layer sub-layer (Fig 1). The primary difference
is that the concept of a shared medium is foreign to X.25.
Addresses at the link level are actually command/response indicators, since it is assumed that pairs
of stations have point to point links between them.
The local network access layer implements both the
device arbitration and addressing necessary for shared
medium operation. Once this layer is chosen and implemented, it is expected that the remaining layers may
be used in this new application with little change.
Network topologies
In simple terms, topology is the way in which networks
are tied together (Fig 2). Many networks are wired in
ring or star configurations in order to eliminate the contention problems that occur when more than one connected device tries to send data at the same time. The
primary advantage of the bus topology is easy reconfigurability, more important, perhaps, than its reliability advantage. Costs of improving reliability in a star
or ring network, eg, adding redundant subsystems, can
be much less than reconfiguration costs of the same network over its lifetime. Reconfiguration is labor intensive, and the cost of labor is increasing at a faster rate
than that of reliable electronics.
The security of a broadcast bus system is often questioned by users who are apprehensive of the party line
COMPUTER DESIGN

OCTOBER 1981
"Reprinted with permission from Computer
Design - October, 1981 issue. CopYright
.,
1981 Computer DeSign Publishing Company

185

APPLICATION
PRESENTATION
S.ESSION
TRANSPORT
NETWORK

~------~~

r-

The production release procedure for an LSI device is
designed to assure maximum reliability with a
Quality checklist for:

~

:J:J

m
r-

[t'I" Test program qualifications

5>

[t'I" Characterization report
[t'I" Field test (Beta Test) report

!:!!

[t'I" Reliability Lifetest Qualifications

~

r-

[t'I" Infrared Thermal Analysis
[B" Static Protection
All new devices and major process changes must
pass reliability qualification before incorporation into
production using the criteria defined in Tables 2-4.
The infrared microscope shown on the right assures
optimum burn-in temperatures and margins of safety.
The dynamic burn-in system shown on the right is
one of two custom designed systems which assure
protective device isolation during burn-in.

• MAINTAINING RELIABILITY IN PRODUCTION

Process defects control are defined to continually
measure built-in reliability, as measured by the
following criteria:

TABLE 1
PROCESS RELIABILITY CONTROL

Subgroup 1 - Defects Control
a. Oxide Integrity
b. Polysilicon Integrity
Subgroup 2 - Electro-Migration Control
Metal Step Coverage
Subgroup 3 - Defect Density

Subgroup 4 - Passivationllnsulation
Integrity

METHOD

Non-destructive
bubble test
SEM Analysis

CONDITION

Pinhole defect density

5 wafers

Visual

5 wafers

SEM Analysis

5 wafers

MIL-STD-883
Method 2018
Critical layers
Field
Gate
Contact
Metal

Visual of Photo defects
(Defects/in2)

MIL-STD-883 Method
2021

Visual of Pinhole
defect density

·Inspection intervals are defined by the in-line process control data reviewed on a lot-by-Iot basis.

205

SAMPLE*

8 wafers
each layer

Final Silox
5 wafers
Intermediate
5 wafers

• PROGRAMS TO ASSURE OPTIMUM RELIABILITY

gl>

Improved levels of reliability are available under custom reliability programs using static and dynamic burn-in to
further improve reliability. These programs focus on MaS failure mechanisms as follows:

~::D

FAILURE MECHANISMS IN MaS

r-

m
r-

:;
2!
r-

~

FAILURE
MECHANISM
Slow Trapping
Contamination
Surface Charge
Polarization
Electromigration
Microcracks
Contacts
Oxide Defects
Electron Injection

EFFECT ON
DEVICE

ESTIMATED
ACTIVATION ENERGY

Wearout
Wearout!
Infant
Wearout
Wearout
Wearout
Random
Wearout!
Infant
Infant!
Random
Wearout

1.0eV
1.4 eV

Static Burn-In
Static Burn-In

0.5-1.0eV
1.0eV
1.0 eV

Static Burn-In
Static Burn-In
Dynamic Burn-In
100% Temp. Cycling
Dynamic Burn-In

0.3eV

Dynamic Burn-In
at max. voltage
Low Temp. Voltage
Operating Life

-

Temperature Acceleration of Failure

--

------

10"

The Arrhenius Plot defines a failure rate proportional to exp( - Ea/kt) where Ea is the activation
energy for the failure mechanism. The figure on
the right indicates that lower activation energy
failures are not effectively accelerated by temperature alone; hense, maximum voltage operation
is selectively applied to optimize the burn-in
process.

10'
10'

en
a::

10'

0
~

10'

::J

Static Bum-In (125°C - 48 hours or 160 hours)

w

a::

Provided on a sample basis for process
1.0 eV failure
monitor/control of 0.5 eV mechanisms. 100% static burn-in may be
specified at an additional cost. However, static
burn-in is considered only partially effective for
internal LSI gates at logic "0" levels.
Dynamic Burn-In (Pattern testl125°C 160 hours)

SCREENING
METHOD

::J
...J

10'

~

LL

0

IW
~

i=

10'
10'
10'

8 hours to

10'

Accelerated functional dynamic operating life
effectively controls internal MaS gate defects
buried from external pin access. The input pattern
is optionally pseudo-random or fixed pattern
programmable to simulate 1000-3000 hours of field
operation at maximum operating voltage(s).

50

75

100

125 150175200

250

TEMPERATURE (0C)

' - - - - - - - - - - - - _ . _ - - - - - - - - _ .__ ._-

High-Rei "K" Testing Program
General conformance to MIL-STD-883B method
5004.4, Class B with static Burn-In (Dynamic BurnIn may be specified as an option).

206

LSI RELIABILITY STANDARDS
TABLE 2
STANDARD RELIABILITY LEVELS
TEST
METHOD
CONDITION
Infant
Mortality
(see note)

Static
Burn-In

Long Term
Failure Rate

Dynamic
Life Test

125°C -

125°C -

160 hrs.

1000 hrs.

o

c:

FAILURE

l>

r-

~::D

<0.5%

m
r-

<.05%/1000 hrs.
@55°C
60% Confidence

TABLE 3
Subgroup 1
a. Internal Visual
b. Thermal Shock
c. Bond Strength
d. Die Shear Strength

GROUP A DEVICE RELIABILITY MONITORS
METHOD
CONDITIONS

Test Failure Used (cond. B or C)
Test Failures (cond. B)
Test Failures

b. Seal- Fine Leak

1014

Fluorocarbon detection 10 - 3
atm/cc/sec
Test Condition A

Subgroup 3
a. Rotating Steady State Life Test

1005

Subgroup 2
a. Seal - Gross Leak

-

b. Electrical Parameters
TABLE 4

TEST
Subgroup 1
a. Thermal Shock
b. Temperature Cycling
c. Seal- Gross Leak
d. Seal - Fine Leak (ceramic)
e. Electrical Parameters
f. 85/85 Moisture Resistance
(plastic only)
g. Electrical Parameters
Subgroup 2
a. High Temp. Storage
b. Mechanical Shock
c. Seal- Gross Leak
d. Seal - Fine Leak
(ceramic)
e. Electrical Parameters
Subgroup 3
a. Lead Integrity
b. Seal - Gross Leak
c. Seal - Fine Leak
(ceramic)

LTPD
15

1011
2011
2019

Static 160 hr. Burn-In 125°C
plus 125°C Lifetest - 1000 hrs.
Final electrical @ 25°C (with data @
70°C)

GROUP B PACKAGE RELIABILITY MONITORS
CONDITIONS
METHOD
1011
1010

1014

1008
2002

1014

Test Condition B or C
Test Condition B or C
Fluorocarbon detection 10 - 3
atm/cc/sec
Test Condition A
Electrical at max -C
85% RH/85°C for 1000 hours
PDA = 10%
Fi nal electrical @ 25 ° C
Test Condition B or C
Test Condition B
Fluorocarbon detection 10 - 3
atm/cc/sec
Test Condition A

-

Final electrical @ 25°C/max. C

2004

Test Condition B2
(Lead Fatigue)
Fluorocarbon detection 10 - 3
atm/cc/sec
Test Condition A

1014

207

r-

~

"NOTE: Devices failing the infant mortality target remain on burn-in until acceptable failure rates are obtained.

TEST

»~

15

5

LTPD
15

15

15

WESTERN DIGITAL CORPORATION
CHIEF EXECUTIVE

• Systems Quality
• New Product
Qualification
• System Test
Qualification
• Software
Qualification

• LSI Qualification
• Burn-In/Stress
Requirements
• Reliability Monitor
Data
• Reliability Testing

•
•
•
•

Document Control
Wafer Defects Control
Subsidiary/Offshore QC
Process Qualification

•
•
•
•
•
•
•
•
•

Incoming QC
Vendor Quality
LSI Burn-In
LSI Package Monitors
Precap Visuals (883 optional)
100% Test Audit
Failure Analysis
Package Qualification
Calibration Control

,,---------,II'---_ I 1'---_ _ _-----'
"Systems DeSign
Control"

"LSI Design Control"

Figure 2

"Manufacturing Assurance"

QUALITY ORGANIZATION

Information furnished by Western Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western Digital
Corporation for its use; nor for any infringements of patents or other rights of third parties which may result from its use. No license is granted by
implication or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right to change
specifications at anytime without notice.

208

Printed in U.S.A

WESTERN DIGITAL

c

o

R

p

o

R

A

T

/

o

N

Announcing Burn-In Program Availability/Warranties

Western Digital now supports customer burn-in
requirements for both static and dynamic burn-in
under the strict control of the QA-Reliability
organ ization.
This burn-in provides high performance 125°C static
and dynamic burn-in for 8-160 hours to eliminate
infant mortality and improve reliability. This process
is executed using custom modified 32Bit AEHR test
commercial burn-in equipment which provide monitored fixed pattern or pseudorandom burn-in with
power s4Pply and resistor device pin isolation.
LSI dynamic burn-in is verified in all cases by the
design engineer for proper functioning. LSI Chip sets
are also individually burned-in with dynamic equivalency to assure high performance bundled reliability.
The warranty on the program will optionally provide
certificate of compliance to standard or custom designed burn-in programs and guarantee <.05%/Khrs
fai lure rate.
CAUTION

Using outside burn-in methods not certified as acceptable by Western Digital may result in voided warranty, due to mishandling, junction temperature
stress, or electrical damage. Further, since most
burn-in houses do not support testing, catastrophic
system condition can result in substantial damage
before a problem is identifi~d.
One consistent problem experienced with outside
LSI burn-in houses can cause reliability problems;
namely, parallelling totem pole MOS outputs, where
the output states are not predictaple, can cause a
single (or a few) device(s) to sink all the current from
the other devices on the burn-in tray - electromigration or current zaps are both possible.
Western Digital burn-in diagrams, dated after 1/1/82,
must be used exactly as shown and will be provided
upon request.
.
SEE YOUR LOCAL REPRESENTATIVE FOR COSTS
AND ORDERING INFORMATION ON THIS NEW
PROGRAM.

209

210

r-

INDEX MARK
PIN I INDICATOR

I

oiO
T"""C\I

~!
T"""~

10

.095 ±.005
(2.40 ± 0.13)

.600 ± .005
(15.24 ± 0.13)

COLO

·s

2.400 +.025
~

I

(60.96 + .64)

•

I-

.050 ±.005
(1.27 ± .13)

.050
(1.27

~

-

-

-

~I

.1

L-

'g;l)

t

.100 ± .010(2.54 ± .25)

.155 ~g~;
(3.94 ~)

NON ACCUMULATIVE
AT SEATING PLANE

48 LEAD PACKAGE
CERAMIC SIDE BRAZE

NOTE:
(
) DENOTES METRIC VALUE IN MM

(0.25 ± 0.05)
.010 ± .002

212

Component Products
Terms and Conditions
1.

ACCEPTANCE: Unless otherwise provided, it is agreed that sales are made on the terms, conditions and warranties contained herein and that to
the extent of any conflict, the same take precedence over any terms or conditions which may appear on Buyer's order form. Seller shall not be
bound by Buyer's terms and conditions unless expressly agreed to in writing. In the absence of written acceptance of these terms, acceptance of
or payment for any of the articles covered hereby shall constitute an acceptance of these terms and conditions.

2.

EO.B. POINT: All sales are made F.O.B. point of shipment. Seller's title passes to Buyer and Seller's liability as to delivery ceases upon making
delivery of articles purchased hereunder to carrier at shipping point in good condition; the carrier acting as Buyer's agent. All claims for damages
must be filed with the carrier. Unless specific instructions from Buyer specify which method of shipment is to be used, the Seller will exercise his
own discretion.

3.

DELIVERY: Shipping dates are approximate only. Seller shall not be liable for any loss or expense (consequential or otherwise) incurred by Buyer
if Seller fails to meet the specified delivery schedule because of unavoidable production or other delays. Seller may deliver the articles in in·
stallments, Seller shall not be liable for any delay in delivery or for non·delivery, in whole or in part, caused by the occurrence of any contingency
beyond the control either of Seller or Seller's suppliers, including, by way of illustration but not limitation, war (whether an actual declaration
thereof is made or not), sabotage, insurrection, riot or other act of civil disobedience, act of a public enemy, failure or delay in transportation, act
of any government or any agency or subdivision thereof, judicial action, labor dispute, accident, fire, explosion, flood, storm or other act of God,
shortage of labor, fuel, raw material or machinery or technical failure where Seller has exercised ordinary care in the prevention thereof. If any
contingency occurs, Seller may allocate production and deliveries among Seller's customers.

4.

TERMS AND METHODS OF PAYMENT: Where seller has extended credit to Buyer, terms of payment shall be net thirty (30) days from date of
invoice. The amount of credit or terms of payment may be changed or credit withdrawn by Seller at any time. If the articles are delivered in in·
stallments, Buyer shall pay for each installment in accordance with the terms hereof. Payment shall be made for the articles without regard to
whether Buyer has made or may make any inspection of the articles. If shipments are delayed by Buyer, payments are due from the date when
Seller is prepared to make shipments. Articles held for Buyer are at Buyer's sole risk and expense.

5.

TAXES: All prices are exclusive of all federal, state and local excise, sales, use, and similar taxes. Such taxes; when applicable to this sale or to
the articles sold, will appear as separate additional items on the invoice unless Seller receives a properly executed exemption certificate from
Buyer prior to shipment.

6.

PATENTS: The Buyer shall hold the Seller harmless against any expense or loss resulting from infringement of patents or trademarks arising from
compliance with Buyer's designs or specifications or instructions. The sale of products by the Seller does not convey any license, by implication,
estoppel, or otherwise, under patent claims covering combinations of said products with other devices or elements. Except as otherwise
provided in the preceding paragraph, the Seller shall defend any suit or proceeding brought against the Buyer so far as based on a claim that any
product, or any part thereof, furnished under this contract constitutes an infringement of any patent of the United States, if notified promptly in
writing and given authority, information and assistance (at the Seller's expense) for the defense of same, and the Seller shall pay all damages and
costs awarded therein against the Buyer. In case said product, or any part thereof, is in such suit held to constitute infringement and the use of
said product or part is enjoined, the Seller, shall at its own expense, either procure for the Buyer the right to continue using said product or part,
or replace same with non·infringing product, or modify it so it becomes non·infringing, or remove said product and refund the purchase price and
the transportation and installation costs thereof. The foregoing states the entire liability of the Seller for patent infringement by the said products
of any part thereof.

7.

ASSIGNMENT: The Buyer shall not assign his order or any interest therein or any rights thereunder without the prior written consent of Seller.

8.

WARRANTY: Seller warrants articles of its manufacture against defective materials or workmanship for a period of one year from date on which
Seller delivers said articles. The liability of Seller under this warranty is limited at Seller's option, solely to repair, replacement with equivalent
articles, or an appropriate credit adjustment not to exceed the original sales price of articles returned to the Seller provided that (a) Seller is
promptly notified in writing by Buyer upon discovery of defects, (b) the defective article is returned to Seller, transportation charges prepaid by
Buyer, and (c) Seller's examination of such article disclosed to its satisfaction that defects were not caused by negligence, misuse, improper
installation, accident, or unauthorized repair or alteration by the Buyer. In the case of equipment articles, this warranty does not include
mechanical parts failing from normal usage nor does it cover limited life electrical components which deteriorate with age. In the case of ac·
cessories, not manufactured by Seller, but which are furnished with the Seller's equipment, Seller's liability is limited to whatever warranty is
extended by the manufacturers thereof and transferable to the Buyer. This Warranty is expressed in lieu of all other Warranties, expressed or
implied, including the implied Warranty of fitness for a particlar purpose, and of all other obligations or liabilities on the Seller's part, and it
neither assumes nor authorizes any other person to assume for the Seller any other liabilities. This Warranty should not be confused with or
construed to imply free preventative or remedial maintenance, calibration or other service required for normal operation of the equipment articles.
These Warranty provisions do not extend the original Warranty period of any article which has either been repaired or replaced by Seller. In no
event will Seller be liable for any incidental or consequential damages.

9.

TERMINATION: Buyer may terminate this contract in whole or from time to time in part upon 60 days written notice to Seller. In such event Buyer
shall be liable for termination charges which shall include a price adjustment based on the quantity of articles actually delivered, and all costs,
direct and indirect, incurred and committed for this contract together with a reasonable allowance for pro·rated expenses and profits. Any ter·
mination or back off in scheduling will not be allowed on shipments scheduled for the month in which the request is made and for the month
following.

10.

GOVERNMENT CONTRACTS: If the articles to be furnished under this contract are to be used in the performance of a Government contract or
subcontract and a Government contract number shall appear on Buyer's purchase order, those clauses of the applicable Government
procurement regulation which are mandatorily required by Federal Statute to be included in Government subcontracts shall be incorporated
herein by reference.

11.

ORIGIN OF ARTICLES: Seller engages in off·shore production, assembly and/or processing and makes no warranty or representation, expressed
or implied, that the articles delivered hereunder are United States articles or of U.S. origin for the purpose of any statute, law, rule, regulation or
case thereunder. If Buyer ships the articles hereunder out of the U.S. for assembly, then at Buyer's request in writing, Seller shall provide in·
formation applicable to identification of any articles not of U.S. origin.

213

Corita Kent, the cover artist, is an American whose work presents an optimistic,
yet philosophical view of the world we live in. A former Catholic nun and
teacher, Corita now devotes her life and energies to her artwork and the "human
needs she feels transcend national and religious barriers." A true "citizen of the
world," Corita's philosophy positions her "on the positive side of hope." Her
depiction of the Western Digital mission . .. "Making the leading edge work for
you" ... dramatizes the spectrum of solutions we provide our customers.

Information furnished by Western Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western Digital
Corporation for its use; nor for any infringements of patents or other rights of third parties which may result from its use. No license is granted by
implication or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right to change
specifications at anytime without notice.

214

Printed ,n U.S.A

IIVESTERN DIGITAL
COR

PO

RA

T

/

2445 McCabe Way, Irvine, CA 92714
(714) 557-3550· TWX 910-595-1139

0

N



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Create Date                     : 2012:12:14 17:42:23-08:00
Modify Date                     : 2012:12:14 21:10:11-08:00
Metadata Date                   : 2012:12:14 21:10:11-08:00
Producer                        : Adobe Acrobat 9.52 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:f935f28e-97d2-4709-80cf-cbd769e236be
Instance ID                     : uuid:1c5545b6-2b08-424e-af5f-f37a2200e205
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 224
EXIF Metadata provided by EXIF.tools

Navigation menu