1984_Western_Digital_Communications_Products 1984 Western Digital Communications Products

User Manual: 1984_Western_Digital_Communications_Products

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

Download1984_Western_Digital_Communications_Products 1984 Western Digital Communications Products
Open PDF In BrowserView PDF
June, 1984
Communication
Products Handbook

WESTERN DIGITAL
CORPORA

TID

N

June, 1984
Communications
Products Handbook

COPYRIGHT©1984 WESTERN DIGITAL CORP
ALL RIGHTS RESERVED
This document is protected by copyright, and contains information proprietary to Western Digital Corp. Any copying, adaptation, distribution,
public performance, or public display of this document without the express written consent of Western Digital Corp. is strictly prohibited. The
receipt or possession of this document does not convey any rights to reproduce or distribute its contents, or to manufacture, use, or sell any1hing
that it may describe, in whale or in part, without the specific written consent of Western Digital Corp.

Making The Leading Edge
Work For You.
This handbook is designed for you, the engineer. It's intended to
be a useful tool, enabling you to make a preliminary evaluation of
our products and later, with samples in hand, 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 commentsto:
Corporate Communications Director
WESTERN DIGITAL CORPORATION
2445 McCabe Way
Irvine, CA 92714
(714) 863-0102

iii

WESTERN DIGITAL
c

OR

PO

RAT

I

o

N

Regional and District Sales Offices
Northeastern
United States/Eastern Canada

Southern
United States

Western
United States/Western Canad.

70 Atlantic Avenue
Marblehead, MA 01945
Phone: (617) 631-6466
TWX: 710-347-1060

1015 Semoran Blvd.
Summit Plaza II, Suite 0
Casselberry, FL 32707
Phone: (305) 331-4434
TWX: 810-853-0297

1151 Dove Street
Suite 170
Newport Beach, CA 92660
Phone: (714) 851-1221
TWX: 910-595-2430

4950 Westgrove Dr., Suite 115
Dallas, TX 75248
Phone: (214) 248-6785
TWX: 910-997-0509

5677 Oberlin Drive, Suite 202
San Diego, CA 92121
Phone: (619) 457-1777
TWX: 910-337-1257

2300 W. Meadowview Road
Suite 209
Greensboro, NC 27407
Phone: (919) 299-6733
TWX: 510-922-7309

201 San Antonio Circle
Building E, Suite 172
Mountain View, CA 94040
Phone: (415) 941-0216
TWX: 910-379-5038

Europe

5743 Corsa Ave.
Suite 201
Westlake Village, CA 91361
Phone: 818-991-2556

72 Sumit Avenue
Montvale, NJ 07645
Phone: (201) 930-0700
TWX: 710-991-8360

North Central
United States
3600 West 80th Street
Suite 620
Bloomington, MN 55431
Phone: (612) 835-1003
TWX: 910-576-2417
1301 West 22nd Street
Suite 217
Oakbrook, IL 60521
Phone: (312) 655-8781
TWX: 910-651-3193

28/30 Upper High Street
Epsom, Surrey KT174QJ
United Kingdom
Phone: 44-3727-42178
Telex: 851-925796
Deutschland GMBH
Prinzregentenstrasse 1201111
0-8000 Muenchen 80
Federal Republic of Germany
Phone: 011-49-89-470-7021
TWX: 841-521-4568

WESTERN DIGITAL
CORPORATION

2445 McCABE WAY
IRVINE, CALIFORNIA 92714

iv

(114) 863·0102, TWX 910·595-1139

Table of Contents
Functionallndex .........................................................................
Numerical Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System Product Quality/Reliability ...........................................................
Quality/Reliability to Leading Edge Technology .................................................
Announcing Burn-In Program AvailabilitylWarranties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hi-Rei "K" Testing Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Protocol Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Local Area Network Products ...............................................................
SDLC/HDLC/X.25 Products ................................................................
Asynchronous/Bisynchronous Products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Data Security Products ....................................................................
Video Products ..........................................................................
Support Products. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Package Diagrams. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Pin Functional Compatibility Guide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Storage Management Product Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Terms and Conditions .....................................................................

vii
ix
1
5
11
13
15
17
87
177
267
287
327
383
384
386
387
389

Bulletin: New products soon to be announced.
Advance Information: This product has not been produced in volume and is subject to functional and timing
revisions. Please contact Western Digital Corporation for current information.
Preliminary: This product is limited production and may be subject to change after device characterization has been
completed. Please contact Western Digital Corporation for current information.
Final: This product is in full production and intended for normal commercial applications. For military, extended
temperature, burn-in, or hi-rei applications, contact Western Digital Corporation for information regarding further
processing.
Application Note: This is specific application information related to the designated product(s).

v

vi

COMMUNICATION PRODUCTS

Functional Index

Part Number

Page

LOCAL AREA NETWORK PRODUCTS

WD2840 Local Network Token Access Controller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
WD2840 Application Note. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Local Network Access Tradeoffs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Token Passing Cashes In With Controller Chip. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Token Access Controller Minimizes Network Complexity. . . . . . . . . . . . . . . . . . . . . . . . .
WD4028 Net Source/PC-LAN Local Area Network Controller . . . . . . . . . . . . . . . . . . . . .

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

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

.
.
.
.
.
.

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

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

17
53
65
69
77
83

SDLC/HDLC/X.25 PRODUCTS

WD2511 X.25 Packet Network Interface (LAPB) . . .
WD2511 Application Note. . . . . . . . . . . . . . . . . . . .
WD1935 Synchronous Data Link Controller (SDLC)
WD1935 Application Note. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 117
......................................... 137
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 155

ASYNCHRONOUS/BISYNCHRONOUS PRODUCTS

WD2123 Dual Enhanced Universal Communications Element (DEUCE) .........................
WD8250 Asynchronous Communications Element. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
TR1863/1865 Universal Asynchronous Receiver/Transmitter (UART) ............................
TR1863/1865 Application Note ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
UC1671 Asynchronous/Synchronous Transmitter/Receiver (ASTRO) . . . . . . . . . . . . . . . . . . . . . . . . . . ..
WD1993 Arinc 429 Receiver/Transmitter and Multi-Character Receiver/Transmitter . . . . . . . . . . . . . . . ..

177
195
213
223
235
251

DATA SECURITY PRODUCTS

WD2001/WD2002 Data Encryption Device. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 267
WD2001/WD2002 Application Note ...................................................... 279
VIDEO PRODUCTS

WD8275 Programmable CRT Controller
WD8276 Small System CRT Controller

287
309

SUPPORT PRODUCTS

WD1943 Dual Baud Rate Clock ......................................................... 327
WD1510 LIFO/FIFO Buffer Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 335
WD9914 General Purpose Interface Bus Controller (GPIB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 339

vii

viii

Numerical Index
Part Number

Page

WD1510 ................................................................................ 335
UC1671 ................................................................................ 235
TR1863/1865 ............................................................................ 213
WD1935 ................................................................................ 137
WD1943 ................................................................................ 327
WD1993 ................................................................................ 251
WD2001IWD2002 ........................................................................ 267
WD2123 ................................................................................ 177
WD2511 ................................................................................ 87
WD2840 ................................................................................ 17
WD4028................................................................................ 83
WD8250 ................................................................................ 195
WD8275 ................................................................................ 287
WD8276 ................................................................................ 309
WD9914 ................................................................................ 339

ix

x

WESTERN DIGITAL
c

o

R

p

o

R

A

T

/

o

N

System Product Quality/Reliability
QUALITY PROGRAM DESCRIPTION
The Quality Organization shown on the attached
organization chart (Figure 2) reports directly to the
President of Western Digital. It assures compliance
to design control, quality and reliability specifications pursuant to corporate policy. Quality assurance
provisions are derived in part from MIL-Q-9858, as
applied to high grade commercial products.

CORPORATE QUALITY POLICY
It is the policy of Western Digital Corporation that
every employee be committed to quality excellence
in producing products/processes which conform to
acceptable requirements. The total quality program is
managed and monitored by the quality assurance
organization. Quality assurance is chartered to review marketing product requirements, qualify hardware and software designs, certify manufacturing
operations and monitor performance/control conformance to product specifications.
Primary responsibility for execution of the quality
program rests with functional organizations to design, produce, and market high quality and high reliability products specified to our customers.

DESIGNING FOR RELIABILITY
The premise upon which board and system manufacturing operations are based is that quality is planned
and designed-in, not screened-in or selected. A welltested, high-quality design is far more reliable than a
marginal design with any amount of burn-in or fixes.
To assure top quality design, Western Digital maintains one of the most experienced board/system
design staffs in the industry. A tightly controlled
design review team comprising members from Quality Assurance, Marketing, Manufacturing and several
experienced design engineers, provides review of
each new design several times during its development to ensure widest possible performance margins. The production release procedure assures a
checklist for:
~ Test Method/Program Qualifications
~ Characterization Report
~ Field Test (Beta Test) Report
~ Product Qualification Audit
~ Documentation Package Release for Document
Control
~ SoftwarelDiagnostics Qualification

MAINTAINING QUALITY/RELIABILITY IN
PRODUCTION
The Quality Control Testing Flow Chart shown on
Figure 1 defines the exact stages contained in the
production process. Internally manufactured LSI
components undergo 100% testing at maximum
specified operating temperatures as well as strict
quality controls defined to assure high quality and reliability. Components not designed and manufac·
tured by Western Digital are also 100% screened as
shown in photos during incoming inspection at 70·C.
The tests performed include selective active component burn-in performed at 125·C for 160 hours to
insure guaranteed levels of reliability. This 125·C accelerated testing eliminates defects that cannot effectively be accelerated by burning-in boards and
systems which have temperature limitations. Key
quality control procedures include:
10" Incoming Inspection Procedure
10" In-Process Travel Card Traceability
10" Workmanship Standards
10" Quality Corrective Action Notice/MRB Procedure
10" Quality Audit Procedure

PRODUCT FINAL TEST/CORRECTIVE ACTION
All boards are 100% in-circuit tested and 100%
functional tested for acceptable performance according to applicable test specifications on testers
qualified by QA. Products are tested at maximum
speCified temperature and voltage margins using
diagnostic software to ensure greater performance
margins. Failures are logged on a travel card
specifically designed to insure traceability to
manufacturing steps and to maintain failure records
for QA corrective action.
If the board is designed to perform in a host system,
further diagnostics are performed in an environment
configured to actual customer requirements.

PRODUCT ACCEPTANCE
Upon completing the final test, the board/system
undergoes QC final workmanship standards inspection and selective samples are audited to the functional product specification to guarantee quality at
specified operating margins to the customer.
~J\.~ ...

In-circuit test

2

Complete documentation available for you at our facility.
Receiving Inspection
• 100% Bare Board Testing
• 100% LSI Test (max. temp.)
• 100% IC Test at 70·C
• Power Supply Inspections
• Mechanical/Visual Inspections

Selective Static/Dynamic Burn·in
(Active components)

Mainframe Mechanical
Assembly

P.C. Board Assembly

Travel Card Traceability
Assembly Test (Bed of Nails)
• Shorts/Opens
• Orientation

Assembly Outgoing Inspection

Test Incoming/Travel Card
Traceability
Functional Test
• Voltage Margins
• Temperature Margins
• Diagnostic Software

Mainframe Inspection

Final Inspection
• Revision Control
System Configuration
Functional Test
• Temp. Margins
• Diagnostic Software
Functional Audit
Travel Card Review
Final Inspection

Ship System
Ship Board Product

o

LEGEND:

D

Mfg. Operation

Figure 1.

Mfg. Inspection Gate

QUALITY CONTROL TESTING FLOW CHART

3

~ QCGate

WESTERN DIGITAL CORPORATION
CHIEF EXECUTIVE

• Systems Quality
• New Product
Qualification
• System Test
Qualification
• Software
Qualification

• LSI Qualification
• Burn·ln/Stress
Requirements
• Reliability Monitor
Data
• Reliability Testing

•
•
•
•

~---JII,--------,I
"Systems Design
Control"

Document Control
Wafer Defects Control
Subsidiary/Offshore QC
Process Qualification

1 - . - 1_

"LSI Design Control"

Figure 2.

•
•
•
•
•
•
•
•
•

Incoming QC
Vendor Quality
LSI Burn·ln
LSI Package Monitors
Precap Visuals (883 optional)
100% Test Audit
Failure Analysis
Package Qualification
Calibration Control

_

_- - - - - '

"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.

4

Printed tn U S.A

WESTERN DIGITAL
c

o

R

P

o

R

A

T

/

o

N

Quality/Reliability To Leading Edge Technology
QUALITY PROGRAM DESCRIPTION

Purchased FAB and assembly operations are
individually qualified and are certified against
standard specifications during vendor qualifi·
cation and monitored against reliability
criteria.
Defect control within the process assures the
highest levels of built·in reliability.
• Quality audits and gates are located throughout
the manufacturing process in order to assure a
stable process and thus, a quality product to our
customers. Figure 1 illustrates the manufacturingl
screening/inspection flow diagram and identifies
the steps as they relate to the production of LSI
devices.
• Testing assures quality margins through 100%
testing by manufacturing and, in addition, all
products must pass a specified AQL sample test
performed by QA at maximum operating tem·
perature as follows:

The Quality Organization shown in Figure 2 assures
compliance to design control, quality and reliability
specifications, pursuant to corporate policy.
CORPORATE QUALITY POLICY

It is the policy of Western Digital Corporation that
every employee be committed to quality excellence
in producing products/processes which conform to
acceptable requirements. The total quality program is
managed and monitored by the quality assurance
organization. Quality assurance is chartered to
review marketing product requirements, qualify
hardware and software designs, certify manufac·
turing operations and monitor performance/control
conformance to product specifications.
Primary responsibility for execution for the quality
program rests with functional organizations to
design, produce and market high quality and high
reliability products specified to our customers.

Outgoing Quality Levels
SUBGROUPS

INSPECTION LEVEL

Subgroup 1 - Final 100% Electrical
Audit @ Max ·C
Subgroup 2 - Visual (Marking, Lead
Integrity, Package, Verify customer
shipper)
Subgroup 3 - Shipping Visual Audit

LSI QUALITY ASSURANCE PROGRAM
HIGHLIGHTS

• LSI manufacturing assurance provisions are
derived in part from MIL·M-38510 and MIL·STD883B as applied to high grade commercial com·
ponents.

0.5 AQL·

1.0 AQL
1.0 AQL

'The double sampling techniques used allow considerably
better AQL's in most all cases.

• All process raw materials used in the Mask/Wafer
fabrication and assembly operations are
monitored by Material Assurance.
• Material Assurance maintains a thorough control
of incoming material and has developed unique
"use/stress tests" (look ahead sample build ac·
ceptance) which critical material must pass before
acceptance.

• LSI devices are 100% tested on industry standard
test systems like that shown below. Quality
outgoing testing (auditing) is done on the Fairchild
Sentry Series 20 where possible to allow better
correlation with customers.

• The Product Assurance Department continuously
monitors the internal and external manufacturing
flow (shown in Figure 1) and issues process
control reports displaying detailed data and trends
for the associated areas.
Document control is an integral part of Product
Assurance. All specifications are issued and
controlled by this activity.
The Western Digital Malaysian assembly
operation uses specifications and quality
control provisions controlled by Document
Control. Indicators of Malaysia quality are
reviewed weekly.

5

Starting Material
Receiving Inspection

Lid Seal

Optional
Offshore
Assembly

Design and Mask
Fabrication

Final Assembly
Inspection

Outgoing
Inspection

100% Stab:lization Bake
Plastic 125·C, 24 hrs.
Ceramic 150·C, 24 hrs.
100% Temperature rycle
Plastic - 55·C te' + 125·C
10 cycles
Ceramic - 65·C to + '50·C
10 cyclef

Wafer In·Process Audits/
Defects Control
(See Table 1)

Gross Leak (.65 AQL)

Fine Leak Test
(.65% AQL)

Solder Dip Leads
Lead Inspection

Cut and Form Inspection
Base SeallnspeGtlon

Assembly
Incoming
Inspection

100% Electrical Test

Wire Bond Inspection
Final Test Audit - 0.5 AQL
Precap Inspection

,.

~

Reliability Monitors
(Table 3 & 4)

- i5Pi iona 1- -

- - - -;::
Static/Dynamic
:
Burn·ln
I

100% Electrical
Test

:
I

Burn·ln Brand

I

Shipping Audit

I
'- _ _ _ _ _ _ _ _ _ _ _ JI

Ship By Customer
Specified Carrier
LEGEND

o

Figure 1

Manufacturing operation

o
o

Quality Assurance Audit

'V

Quality Assurance Gate

Manufacturing Inspection Gate

LSI PRODUCTION FLOW

6

Reliability Means Lasting Value
• DESIGNING FOR RELIABILITY
The production release procedure for an LSI device is
designed to assure maximum reliability with a
Quality checklist for:

i!1' Test program qualifications
li:j'" Characterization report

Li1' Field test (Beta Test) report
C!?' Reliability Lifetest Qualifications
C!?' Infrared Thermal Analysis
[j?" 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 Integrity

METHOD

Non-destructive
bubble test
SEM Analysis

CONDITION

SAMPLE"

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-STO-883 Method
2021

Visual of Pinhole
defect density

8 wafers
each layer

Passivationllnsulation

'Inspection intervals are defined by the in-line process control data reviewed on a lot-by-Iot basis.

7

Final Silox
5 wafers
Intermediate
5 wafers

• PROGRAMS TO ASSURE OPTIMUM RELIABILITY
Improved levels of reliability are available under custom reliability programs using static and dynamic burn-in to
further improve reliability. These programs focus on MOS failure mechanisms as follows:

FAILURE MECHANISMS IN MOS
FAILURE
MECHANISM
Slow Trapping
Contamination
Surface Charge
Polarization
Electromigration
Microcracks
Contacts
Oxide Defects
Electron Injection

EFFECT ON
DEVICE

ESTIMATED
ACTIVATION ENERGY

Wearout
Wearoutl
Infant
Wearout
Wearout
Wearout
Random
Wearoutl
Infant
Infantl
Random
Wearout

-----

1.0eV
1.4 eV

Static Burn-In
Static Burn-In

0.5-1.0eV
1.0eV
1.0eV

Static Burn-In
Static Burn-In
Dynamic Burn-In
100% Temp. Cycling
Dynamic Burn-In

-

Dynamic Burn-In
at max. voltage
Low Temp. Voltage
Operating Life

0.3eV

-

Temperature Acceleration of Failure

10 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'

m

ex:

10'

::l

0

::s

Static Bum-In (125°C - 48 hours or 160 hours)

10'

w

ex:

Provided on a sample baSis for process
monitor/control of 0.5 eV 1.0 eV failure
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 test/125°C 160 hours)

SCREENING
METHOD

::l
..J

10'

~

U.

0
tW
~

f=

10'
10'
10'

8 hours to

10'

Accelerated functional dynamic operating life
effectively controls internal MOS 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).

10'
25

50

75

100

125 150 175200

250]

TEMPERATURE (0C)

'---------------------------

High.Rel "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).

8

LSI RELIABILITY STANDARDS
TABLE 2
TEST

STANDARD RELIABILITY LEVELS
CONDITION

METHOD

Infant
Mortality
(see note)
Long Term
Failure Rate

Static
Burn-In

125'C - 160 hrs.

Dynamic
Life Test

125'C - 1000 hrs.

FAILURE

<0.5%
I

!-

<.05%/1000 hrs.
@55'C
60% Confidence

'NOTE: Devices failing the infant mortality target remain on burn·in until acceptable failure rates are obtained.

TABLE 3
TEST

GROUP A DEVICE RELIABILITY MONITORS
METHOD

Subgroup 1
a. Internal Visual
b. Thermal Shock
c. Bond Strength
d. Die Shear Strength

CONDITIONS

15
1011
2011
2019

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

LTPD

Static 160 hr. Burn-In 125'C
plus 125'C Lifetest - 1000 hrs.
Final electrical @ 25°C (with data @
70'C)

15

5

GROUP B PACKAGE RELIABILITY MONITORS
CONDITIONS

METHOD

1011
1010

1014
-

-

Test Condition B or C
Test Condition B orC
Fluorocarbon detection 10 - 3
atm/cc/sec
Test Condition A
Electrical at max -C
85% RH/85'C for 1000 hours
PDA
10%
Final electrical @ 25°C

1014

-

Final electrical @ 25°C/max. C

2004

Test Condition B2
(Lead Fatigue)
Fluorocarbon detection 10 - 3
atm/cc/sec
Test Condition A

-

b. Seal - Gross Leak

-

c. Seal - Fine Leak
(ceramic)

1014

15

=

Test Condition B or C
Test Condition B
Fluorocarbon detection 10 - 3
atm/cc/sec
Test Condition A

1008
2002

LTPD

9

15

15

WESTERN DIGITAL CORPOIIATION
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

L-------II 1.. --1_ I ,---I_ _ _-----'
"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.

10

Printed in U,S.A.

WESTERN DIGITAL

c

o

R

p

o

R

A

T

I

o

N

Announcing Burn-In Program Availability/Warranties

I

~

Western Digital now supports customer burn-in
requirements for both static and dynamic burn-in
under the strict control of the QA-Reliability
organization.
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 supply 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 identified.
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 predictable, 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.

11

12

WESTERN DIGITAL

c

o

R

p

o

R

A

T

o

/

N

Hi- Rei "K" Testing Program
GENERAL DESCRIPTION

FEATURES
GENERAL CONFORMANCE TO MIL·STD·883B,
METHOD 5004.4, CLASS B (SEE COMPARISON ON
FOLLOWING PAGES)
• INCLUDES:
PRECAP VISUALS
SEAL INTEGRITY
POWER CONDITIONING
ENHANCEMENT OPTIONS

PACKAGE PROBED WAFERS

Western Digital's Hi·Rel "K" program is designed to
provide high reliability devices for extended tempera·
ture environments. Individual enhancements may be
specified to meet a customer's requirements .

INITIATE
LOT
TRAVELER

OC

AUDIT

FINE LEAK
SCRIBE/SAW
GROSS LEAK
BREAK/SORT
CUT/FORM LEADS
INSPECT
PRE BURN·IN
ELECTRICALS

CHIPBOND

BURN·IN
160 HRS @ 125'C

INSPECT

FINAL TEST
WIRE BOND
FINAL TEST
0.5% AOL

INSPECT

CLEAN/BAKE/SEAL

CERTIFICATE
OF
CONFORMANCE

TEMP CYCLE
10CYCLES
-65'/+150'C
STABAKE
24 HRS 150'C

BRAND

MOVETO
FINISHED
GOODS
PACK
SHIP VIA
CUSTOMER
SPECIFIED
CARRIER

HI·REL "K" PROGRAM FLOW DIAGRAM

13

COMPARISON OF MIL·STD·883
AND HI·REL "K" TEST PROGRAM
HI·REL "K" TEST

MIL·STD·883B, METHOD 5004.4, CLASS B
3.1.1 Internal Visual
Method 2010.3
Test condition B

All Hi-Rei UK" devices receive 100% inspections
prior to lid seal. These inspections together comprise criteria comparable to Mil-Std-883, method
2010.3, test condition B.

3.1.2 Stabilization Bake
Method 1008.1
Test condition C
24 hours at 150°C

Same

3.1.3 Temperature Cycling
Method 1010.2, Test condition C
- 65°C to 150°C for 10 cycles, with 10 minutes
dwell and 5 minutes maximum transfer time

Same

3.1.4 Constant Acceleration
Method 2001.2, Test condition E. 30,000 G stress
level

Not Done Unless Specified

3.1.5 Visual Inspection
Visual inspection for catastrophic failures after
screens

Same

3.1.6 Seal Method 1014.2
(a) Helium fine leak - Test condition A1. Bomb
condition 2 hours at 60 psig. Reject limit 5 x 10- 8
torr
(b) Flourocarbon gross leak - Test condition C

Same

Same

3.1.9 Interim (pre·burn·in) Electricals
Per applicable device specification

Preburn-in test at 25°C. Must meet requirements of
device data sheets.

3.1.10 Burn·in Test
Method 1015.2 160 hours @ 125°C

Same

3.1.13 Interim (Post burn·in) electricals
Per applicable device specification

Burn-in equipment isolate failures automatically to
assure no harmful interaction.

3.1.15 Final Elect~ical Test
(a) Static Tests
(1) 25°C
(2) Minimum and Maximum Operating
Temperatures
(b) Dynamic and Switching Tests at 25°C
(c) Functional Tests at 25°C

Same

3.1.17 Qualification or Quality Conformance
Inspection and Test Sample Selection

Not done unless defined using method 5005 as a
guide.

3.1.18 External Visual
Method 2009.2

Same

WESTERN DIGITAL RELIABILITY ENHANCEMENT
OPTIONS
Extended High Temperature Storage

100% Temperature Testing

+ 150°C for 24 hours standard, other time/temperature storage requirements available as required .

Level ....................... - 40° to + 85°C
. . . . . . . . . . . . . . . . . . . . .. - 55° to + 125°C
Thermal, Shock (Liquid to Liquid)
Level. ............... 0° to + 100°C, 15 cycles
. . . . . . . . . . . . . . . . . . . . . . - 55° to + 125°C
...................... - 65° to + 150°C

Dynamic Bum·ln
Per note previously supplied .

14

Printed

In

U.S,A

COMMUNICATION FAMILIES
UART - Universal Asynchronous Receiver-Transmitter
PSAT - Programmable Synchronous/Asynchronous Transmitter
PSAR - Programmable Synchronous/Asynchronous Receiver
USART - Universal Synchronous/Asynchronous Receiver-Transmitter
BOART - Bus Oriented Asynchronous Receiver-Transmitter
DLC
- Data Link Controller

PROTOCOL DEFINITIONS

• START and STOP Bits
• 5,6,7, a Bits/Character
• Plus option of Parity (Even or Odd)
Multiple Character Asynchronous
•
•
•
•

5,6,7, ora bits/character
Up to a characters/word
Start and Stop bits
Parity inside or outside of word

6

aJPlss

7

Stop Bit(s)

~

l

parlty....l

Line Marking

2 eight bit characters with start stop bits and parity

Programmed stop bits

Start bit

----~t~~~~I.T.~~cr.~~~r_----Marking line or
next transmission

1st a bit Character

2nd a bit Character

Previous Fil lor
Data Charac ters

• No START and STOP Bits
• 5,6,7,8 Bits/Character
• Plus option of Parity Bit
1
(Even or Odd)
Bisync Characte r(Byte)
Transmission

Data or Fill Character
2

- Start of Header
- Synchronization Character
- Start Text
- End olText
- Block Check Character

FillorNul1

3

4

5

6

,
0

SOH
SYN
STX
ETX
BCC

5

' - Data Bits

Marking line or . ,
end of previous
character
Synchronous
(Byte Oriented)'

r

r Start Bit
I ' r1 2 3

Marking Line ""\
Asynchronous
(Character Oriented)

S

0
H

S
Y
N

Data or
Fill Characters

Data or Fill Character
7

P

1

2

3

4

5

6

7

P

I.Xft'--_L-~+g-L-_

Header

.

BCC Field------I~

i 4 - - - - - - S D L C Frame------I~

Synchronous Data Link Control (SDLC)

Flag = 7E (Hex)

Packet Switching (X.25)
Data Link Control
(Bit Oriented)

~-----------l-Frame(Packet) _ _ _ _ _ _ _ _ _ _ _...~I

Flag

----X.25 LeveI2----~ X.25 Level 3

tol
......

15

1--'~:~~~X.25 Level 2

16

WESTERN DIGITAL
c

o

R

p

o

R

A

T

/

o

N

WD2840 Local Network Token Access Controller
FEATURES
DNC

• Broadcast Medium Independent (Coax, RF, CATV,
IR, etc.)
• 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
• TTL Compatible

VCC(+SV)
IA1

sa

WE

lAO

CS

IA2
IA3

RE
ClK

MR

VDD( + 12V)
AS
A4
A3
A2
A1S
A14
A13
A12
A11
A10
A9
AS
A7
A6

DAlO
DAl1
DAl2
DAl3
DAL4
DAlS
DAl6
DAL7
RD
RC
(GND)VSS

TC
TO

RTS
CTS

AO

DROO
DROI

A1

DACK

PIN DESIGNATION
DESCRIPTION

The WD2840 is a MOS/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.

multi-point communications applications. The token
protocol allows the sharing of one bus by up to 254
nodes. WD2840's will be designed into process control
equipment, micro-computers, mini-computers, personal computers, proprietary micro-processor based
applications, intelligent terminals, front-end 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.

APPLICATIONS

The WD2840 is a general purpose Local Network
Token Controller applicable to virtually all types of

17

1

I

1.1

PIN DEFINITIONS
PIN NUMBER
SYMBOL
1
DNC

PIN NAME
DO NOT CONNECT

FUNCTION
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

CHIPSElECT

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

5

RE

READ ENABLE

The content illhe selected register is placed
on DAl when CS and RE are low.

6
7

ClK
MR

CLOCK
MASTER RESET

Clock input used for internal timing.
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. Status Register
o is not defined at power-up (this register will be
set-up upon entry into the Network mode).

DAlO-7

DATA ACCESS LINES

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

RD
RC

RECEIVE DATA

Receive serial data input.

RECEIVE CLOCK

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

GROUND

8·15
16
17
18
19

VSS
TC

TRANSMIT CLOCK

Ground.
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.

DRQO

DMA REQUEST OUT

An active low output signal 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 responseJQ
DRQO or DRQI. DACK must not be low if CS
and RE are low or if CS and WE are low.

AO-A15*

ADDRESS LINES OUT

Sixteen address outputs from the WD2840 for
DMA operation.

VDD
INTR

POWER SUPPLY
INTERRUPT REQUEST

+ 12VDC power supply input.
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 readlwrite operations with registers
in the WD2840. If ADRV = 0, these may be tied
to AO-A3.

VCC

POWER SUPPLY

+ 5VDC power supply input.

23

26·41
42
43
44·47

48

-

--

18

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 typical 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.

~-

:

-- ------------ ---------------- -------------------1
DALO.7, IAO.3

~T

I

I
I

I

140---.1 RE~:~~ER
(16 HOST

' - - - - - L _ - r -_ _~---l

VISABLE)

DMA REGS
(2 CHAN)

I

I

I

'--------- ----- -- ----- -- Figure 1.1

- - - - -- -- -- - ----- - --:

BLOCK DIAGRAM

19

,
I

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 I/O 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

AO·15

TO

DROI

TC

WD2840

DROO

RTS

DACK

CTS

DALO·?

RD

cs

RC

WE

so

RE
IAO·3
INTR
MR

TYPICAL SYSTEM CONNECTION

20

MODEM

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: SR0-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 (fHR), and then presented to the
Transmitter Register(fR) 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
(1]

A

NAME
CRO
CR1
SRO
IRO
SR1
SR2
CTRO
NA
TA
TD
CBPH

B
C
D
E
F

CBPL
NAR
AHOLT
TXLT
MA

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

DESCRIPTION
Control Register 0
Control Register 1
Status Register 0
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

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 RHA. 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]
[2]

1.3 REGISTER DEFINITION
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-

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."

9

21

= Hexadecimal representation of IAO-IA3.
=CPU read only, write not possible.

SUMMARY -

CONTROL, STATUS, INTERRUPT REGISTERS

REGISTER

7

6

5

BIT #
4

3

2

1

0

CRO

TXDEN

TXEN

RXEN

ITOKON

ILOOP

COpy

NOINT

ISOL[i]

CRi[2]
CRi[4]

DIAGC
DIAGC

PIGT
0

INIT
0

ADRV
ADRV

GIRING
DMAT

0
LOOPT

TOFF
RAMT

NEWNA
NUDIAG

SRO

LASTF

SENDACK

L2

0

BSZ3

IRO[3]

ITERR

IROR

INS

ITRAN

IREC

ITOK

ITA

ITD/M

SRi

TAOUT

IRTS

RECIDL

1

1

1

1

1

SR2

NXnO

NXTRO

TR

ACKRQ

RETRY

TSENT

STATE

INRING

.. .

BSZ2

.. .

BSZi

... BSZO

NOTE: ZERO BITS (0) SHOWN ABOVE ARE RESERVED AND SHOULD NOT BE USED.
NOTES:
[1]

=Set to 1 on power-up or master reset.

[2]

=Non diagnostic mode only (CR17-DIAGC cleared).

[3]

=Any bit set causes host interrupt (INTR

[4]

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

goes true) when Master Interrupt Suppress (CR01) is clear. All
bits are cleared when register is read by the host.

CRO -

CONTROL REGISTER 0 DEFINITION

REGISTER

CR07

CR06
TXEN

CR05

CR04

CR03

CR02

CR01

CROO

RXEN

ITOKON

ILOOP

COPY

NOINT

ISOL

CRO

TXDEN

BIT

NAME

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 (INTH 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

ITOKON

Enable Token received interrupts. When clear no Token received interrupts are generated. When set the WD2840 generates an Itok interrupt when a token is received.

22

BIT

NAME

CR05

RXEN

DESCRIPTION

Receive Data Enable. When clear, the WD2840 still makes normal responseStO
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.
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.

CR06

TXEN

CRO?

TXDEN

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 for TXEN 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

TOFF
RAMT

NEWNA
NUDIAG

BIT

NAME

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.

CR11

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.

CR12

-

CR13

GIRING

(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.

DESCRIPTION (eR17

23

= 0, Network mode)

BIT

NAME

DESCRIPTION (CR17 = 0, Network 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

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:
At transition into Network State it defaults to MA + 1.
It may be set by the host using the NAR register and the NEWNA (CR1O)
control flag.
3. 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 success00.
All node address computations are ascending and circular within the valid node
address range of 1-254.
1.
2.

CR16

PIGT

CR17

DIAGC

CR1 -

NOTE: Since this network initialization activity comes about because of a timer
expiration, TOFF (CR11) must be clear.
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 TX-FCB, but not if transmission ends due to the reaching of the end
of the chain.
Enables diagnostic mode. In network mode this bit must 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.
Selects internal RAM test if in diagnostic mode.
Selects Loop Test if in diagnostic mode.

CR11

RAMT

CR12
CR13

LOOPT
DMAT

CR14

ADRV

CR15
CR16

-

CR17

DIAGC

Selects DMA Test if in diagnostic mode.
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.
(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).

24

SRO - STATUS REGISTER 0 DEFINITION
REGISTER

SR07

SR06

SROS

SR04

SR03

SR02

SR01

SROQ

SRO

LASTF

SENDACK

L2

0

BSZ3

BSZ2

BSZ1

BSZO

BIT

NAME

SROO

BSIZ

..

..
SR03

DESCRIPTION
BSIZO - BSIZ3
Buffer size, defines the buffer size in multiples of 64 bytes (the value ranges from 0 to
15H. Corresponding to a buffer size of 64 to 1024 bytes in 64 byte increments). This
value is used internally to define buffer boundaries to allow the chip to link buffers. A
maximum of 16 buffers may be used for a single frame.
Not used.

SR04

-

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. (SCAN 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 with this token. Five situations can cause this to
occur: 1) ISOL (CROO) becoming set, 2) TXDEN (CRO?) becomes clear, 3) current
frame flagged (via FCB) 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 FCXB), the token will be piggybacked on the current (last) data frame.
LASTF is not cleared until the next data frame transmission begins.

IRO -

INTERRUPT REGISTER DEFINITION

REGISTER

IRQ7

IR06

IROS

IR04

IR03

IR02

IR01

IROO

IRO

ITERR

IROR

INS

ITRAN

IREC

ITOK

ITA

ITD/M

The setting of any bit in this register by the WD2840 causes an interrupt request (INTR = low) if NOINT (CR01)
is clear. The reading of this register by the host clears all bits (and any interrupt request).

BIT

NAME

DESCRIPTION (1)

I ROO

ITD/M

Network dead or mode change (dual use). When in Network mode, timer TD 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 Diagnostic State to the Isolate State will be confirmed by this interrupt. The
choice between the lTD 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

ITOK

The token has been received.

25

BIT

NAME

DESCRIPTION (1)

IR03

IREC

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 WD2840 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 WD2840 NXTRO (SR26) is set. For
more details see the explanation for NXTRO.

IR04

ITRAN

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 WD2840 NXnO (SR27) is set. For more
details see the explanation for NXnO.

IR05

INS

IR06

IROR

New successor. The WD2840 has identified a new successor in the logical ring.
This happens when the prior successor either failed to respond to a token pass or
as instigated by a network scan frame.
Receiver over-run. The WD2840 ran out of buffers or access to the DMA channel
was delayed by the host so long as to cause loss of received data.

IR07

ITERR

Transmitter error. Three abnormal frame transmission cases can cause the ITERR
interrupt. The causes are "transmitter underrun," "premature end of chain," and
"exceeded 16 buffers." The frame transmission will repeat once per token until the
host removes the WD2840 from the network, or the cause of the error is fixed.

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

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

-

SR14
SR15

RECIDL

SR16

IRTS

SR17

TAOUT

....

DESCRIPTION
(Not used, reserved.)

Receiver Idle. Indicates the WD2840 has received at least 15 contiguous ones.
Internal Request To Send. Indica~s the transmitter is attempting (successful or not) to
send either data or flags. If the RTS pin is not tied to ground or WIRE-OR'ED with
another signal, then IRTS = RTS.
TimerTA expired.

26

SR2 - STATUS REGISTER 2 DEFINITION
REGISTER I SR27
SR2
I Nxno

SR26
NXTRO

I

I

SR25
TR

I
I

SR24
ACKRQ

I

I

SR23
RETRY

I
J

SR22
TSENT

I

I

SR21
STATE

I

SR20

I INRING

BIT

NAME

DESCRIPTION

SR20

INRING

SR21

STATE

SR22

TSENT

SR23

RETRY

SR24

ACKRQ

SR25

TR

SR26

NXTRO

SR27

NXnO

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.
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.
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 intemal 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.
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).
Intemal 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.
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 intemal register.
However when clear, it indicates that the transmit chain intemal 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.
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).

27

OTHER REGISTER DEFINITIONS
NAME

DESCRIPTION

CTRO

Running Limit Counter. Used by the WD2840 for Access Hold·Off Limit (AHOl1) checking and
Transmit Limit (TXl1) 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 INRING·
SR20 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 ad·
dresses 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

TO
CBP (H,l)
NAR

AHOlT

TXlT

MA

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 in·
crements 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 /-Is to 8.2 ms).
Network Dead Timer. Value of maximum time interval between received valid frames on the
network. 32X range of TA.
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.
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.
Access Hold·off Limit. This register is set at a value indicating the number of access cycles
(tokens received) that must be skipped before the 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.
Transmit Limit. 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.
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).

28

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.

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

1
0
1

1

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 = 1? ;rcNO=--_ TO NETWORK STATE
(CRDD)

INTR PIN 43 r-=---~
GOES LOW

NO

DIAGC = 1?
(CR17)
YES

I -_ _ _ _ _ _ _ _ _Y-'E:..::S-< DIAGC=1?

~
YES

(CR17)

NUDIAG= 1?>Nc:.:0"--_ _ _ _ _ _-.
(CR1D)

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.

29

POWER UP

ITM INTERRUPT

DIAGNOSTIC

Figure 1.3

NETWORK

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 transmitter and receiver
logic by using the Loop 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.

There are two Loop Tests available for diagnostic purposes - internal and external.

Use the following procedure to initiate the RAM test:
1. Enter diagnostic mode.
2. Set up registers A and B

(CR12)
LOOPT

(CR03)
1LOOP

0
0

0

1
1

0

1
1

DEFINITION
Not in Loop Test
Do not use in network mode
External loop
Internal loop

When using the external loop the Interface or modem
must have the necessary logic to tie TD to RD and TC
to RC.

3. Set RAMT.
4. Set NUDIAG (can be set with RAMT bit together).
5. Wait for NUDIAG to be cleared.

Use the following procedure to run the loop test.

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).

1, Set up a 256 byte transmit buffer with the data pattern to be transmitted.
2, Initialize a 256 byte receive buffer with all "ODs" or
"FFs."

1.4_2 SYSTEM DIAGNOSTICS

3, Load register A (MSB) and B (LSB) with the address
of the transmit buffer.
4. Load register C (MSB) and D (LSB) with the address
of the receive buffer.
5. Load register 0 for Internal or External Loop.
6, Load register 1 for diagnostic & loop. (85H)

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.

7. Refer to Diagnostic State Flow Chart.

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.
For proper operation of the internal loop-back test the
CTS and SO pins of the WD2840 should be either tied
to ground or tied to RTS pin of the WD2840.

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.
It is the host's responsibility to check if the contents
of registers C and register 7 and memory location N

30

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.4.3 NETWORK DIAGNOSTICS

Duplicate Station Detection
Duplicate stations (more than one station with the
same address) can result from the faulty program·
ming 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 initialization, the user should place the WD2840
in the network mode with TXEN off and ITOKON on.
This will cause the WD2840 to generate an ITOK inter·
rupt each time a token is passed to its address (MA).
The host must provide the timeout algorithm which
should be greater than the maximum time for the
network to pass the token around the ring twice. Checking twice eliminates the possibility that the Network is
in the scan mode and sending tokens to non-existing
stations.

1. Insufficient buffer space
2. Receiver not enabled (RXEN - CROS 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).

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 tlie 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 "eavesdrop" on
data frame traffic on the network.

2.1 HOST
The WD2840 uses a complex memory buffer architec·
ture allowing it to respond in real time to its network
obligations (e.g., to meet network data rate and processing delay requirements). These memory struc·
tures 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

31

r

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 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 NXnO (transmit), to differentiate the
two states. When set they indicate the WD2840 chain
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.
The host software monitors the progress of the NEXT
pOinter, and updates FIRST and LAST as it adds (and
removes) buffers to (from) the chains as required. The
WD2840 provides Interrupt Events (see IRO) and
NXTRO, NXnO 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.

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 following
structure:
CBP- +0

NXTR(H)

+1

NXTR (L)

+2

NXn(H)

+3

NXn(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)
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.
Either the Receive (NXTR) or Transmit (NXTl) 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.
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.

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.
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 110 (six
bytes per frame + 2 bytes per buffer).

Dual DMA
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 transmit 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;

32

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.

EVT1

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.

..
!

EVT2
EVT3
EVT4

EVT5

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.

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

EVT7

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.

EVT8

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.
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).

EVT9
EVT10

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:

4. The running frame counter has reached its limit
(TXLl).
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.

1. ISOL (CROO) is set indicating the host has
requested a transition to Isolate State.
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.

33

Examples: Find L given NO

The W02840 will read and evaluate the address of the
next frame at two specific points in time:

o

2. When the token is received and data frame
transmission is permitted.

BK = 64

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 a~d the
chain re·inspected on each occurrence of time 2
above.

BK = 128

As frame transmission commences, the W02840
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)

BK = 64

Simplified formula for LENGTH:
LENGTH = /I of data bytes + 2 link bytes per buffer
+ 6 overhead constants per frame.

BK = 128

Example #1

= 8 (0010H in LENGTH field)

=

8
9
64
67
128
131

120
121
246
247

128
131
256
259

1 bufr
2 bufrs
3 bufrs
1 bufr
2 bufrs
3 bufrs

L

#B's

8
9
64
67
128
131

1
1
1
2
2
3

1
56
57
118
119

L

#B's

NO

128
131
256
258*
259

1
2
2
3
3

120
121
246
246
247

NO

o

"NOTE:
Case corresponds to buffer end and frame end on
same byte ... extra buffer consumed.

implies one buffer is used for this frame (64 bytes)
two link + six overhead, no data.
Example #2
LENGTH

1
56
57
118
119

Find #B's, NO given L

The frame length provided in the LENGTH field must
be the sum of the overhead bytes and number of data
bytes (see Fig. 2.1).

LENGTH

L

NO

1. At the end of the prior frame, even if the prior
frame is the last to be transmitted for this token.

# of data bytes + 2 link bytes per buffer
+ 6 overhead constants per frame.

Programmed buffer size = 64 bytes per buffer. Two
buffers are used in this frame for a total of four link
bytes (2 per buffer), six overhead, and 57 data bytes.
The General Formula for LENGTH
WHERE
NO = # of data bytes (max 4095)
6 = Overhead Constant per frame (FSB, FCB,
LENGTH (H), LENGTH (L), OA, SA)

When the frame length is finally reached, the
W02840 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 W02840 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
W02840 has advanced its NEXT address to the next
frame but that its transmission has not been com·
pleted (in fact, perhaps not even started).

BK = B SIZE in bytes (64, 128, etc.) a constant
preprogrammed into the W02840 on 64
byte boundaries to a max of 1024 bytes.
GIVEN NO
No + 5
L = NO + 8 + 2* TRUNC BK _ 2
GIVEN L
L - 1
#B's = 1 + TRUNC

-----sK

NOTE:
The W02840 checks only the most significant byte of
the link field for zero link detection. This has the
following implications:
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.

NO = L - 6 - 2 (#B's)
NOTE:
The expression for NO fails for values of L = BK + 1.
This is okay since the 2840 doesn't generate such
values.

34

2. All buffers must have a starting address greater
than or equal to Hex '0100'.
TRANSMIT FRAME STATUS BYTE (WRITIEN BY WD2840)
BIT#
Name

I

7

I

DONE

I

6

I

J WIRING I

5
X

I

I

4
X

I

I

NAME

BIT

I

3

I

SELF

2
VAL2

--

1
VAL1

--

0
VALO

1,

DESCRIPTION

7

DONE

Set to guarantee a non·zero value for the posted FSB.

6

WIRING

Value of the corresponding bit in received ACK frame.

5·4
3

SELF

2·0

VAL

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
000 - 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.
o 0 1 - Transmission failed after retry.
o 1 0 - Transmission under·run.
o 1 1 - Premature end of chain.
1 0 0 - Transmission frame exceeded 16 buffers.

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 over·
flow 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)
BIT #
Name

I

I

7
WACK

I

6

I

5

I

I FCBLF I TRANSP I

4
X

I

I

3
X

I

I

2
X

1
X

0
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 non·
transparent data frame the TC byte must NOT appear in the buffer.

4·0

-

Reserved.

35

NXTT(H)

-- -

--

NXTT(L)
INTERNAL REGISTERS

LINK (H)

-----LINK (L)

..

LINK (H)

-----LlNK(L)

-

LINK (H)

.... ---.. -----LINK (L)

FSB

--_ ..

0

---- XX

END
OF
CHAIN

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
AND RE·QUEUED BY THE HOST

TO BE TRANSMITTED

Figure 2.1 TRANSMIT BUFFER CHAIN,

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.

2.1.3 Receive Memory Interface
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.
As the frame continues, it may completely fill its
buffer. If this happens the WD2840 reads and in·
spects 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:
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.

3. Frame ends. If the FCS is not correct an event
counter is incremented, the frame is dropped,
and the chain is reset. If correct however, the
frame length is placed in the LENGTH field and
the Frame Status Byte (FSB) is posted "done, no
error."
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 detai Is)

=

=

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.

36

RECEIVE FRAME STATUS BYTE (WRITTEN BY WD2840)

BIT

NAME

7

DONE

2

x

x

o

x

x

DESCRIPTION
Set to indicate the frame reception is complete.
Reserved.

-

6-0

3

RECEIVE FRAME CONTROL BYTE (WRITTEN BY HOST)
BITH

7

6

5

4

3

2

Name

X

X

X

X

X

X

BIT

NAME

7-0

0
X

X

DESCRIPTION

IRe"."ve.

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 transmission of the frame. (Note: CTS may be asserted
permanently if the transmission system does not
need to generate a preamble).

The SQ 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).

r'"
NXTR(H)

... - -

--

NXTR(L)
INTERNAL REGISTERS

LlNK(H)

-----LlNK(L)

LlNK(H)

• -----LlNK(L)

FSB

------ -----LlNK(H)

-----LlNK(L)

--- ---FeB
LENGTH(H)

------

LENGTH(L)
DA
SA
D
A
T
A
FILLED BUFFERS, TO BE EVALUATED BY THE HOST

Figure 2_2

AVAILABLE FORWD2840 USE

RECEIVE BUFFER CHAIN

37

0

----xx

END
OF
CHAIN

I
I
I

fC

RC

I
TD

DATAl
CLOCK
ENCODER

TRANSMISSION
f

1..-: .......

MEh~UM

DATAl
CLOCK
ENCODER

RD

SO

I

I

I
I
I
I
I

I

RTS

I

I

I
CTS

I
I

OPTIONAL
PREAMBLE
DELAY
TRANSMIT

Figure 2.3

I
I
I
I

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. (See Appendix A for Protocol flowcharts.)

Both functions are parameterized, allowing tuning
and optimization by the user to his unique ap·
plication. 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 transmis·
sion, function simultaneously though independently.
Thus they are described separately as subprotocols
for clarity.

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).

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 TXLl) is
exceeded.

38

----,
I

I
I

I

MEDIUM

I
I
I
I
1_ _ _ _

Figure 3.1

MA

=

Node (" My") Address

NA = Next (Successor) Address
.. = does not apply

TOKEN PASSING ON A LOGICAL RING

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.

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 intemal 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 intemal
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) on the network without re-arranging
everyone elses addresses, (See section 3,2,2 for an
example),

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.

In this way, the token is passed from one station to
the next in a logical 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

3.2.1 ACCESS INITIALIZATION/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

39

which does respond. The responding station
number is written into register NA so that this
scanning procedure need not be repeated on subsequent access cycles.
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 to each
node is only tried once.

3.2.3 ADDING STATIONS
There are three primary methods by which a station
can be added to a network. The first is a distributed
method, in which each station in the network can poll
for new statiohs in the gap between its address and the
next address (between MA and NA). Second is a centralized method, in which an individual station designated by the network architect can interrogate the
entire address space seeking a new station desiring
INRING. The third - central scan - is a simpler (from
the host point of view), centralized method in which a
station can send a global frame causing all the on-line
TACs to reset their next address register. This causes
each TAC to poll its address space at its next tokenpass attempt. Each method has advantages and
disadvantages.
Distributed Method
The distributed method does not rely on a specific station. Thus, there are no problems or efforts spent
selecting the administrator, nor is there any concern
about backup administrators. In the distributive
method, each station has the same responsibility to
allow new access members as other stations. This
method is the most host intensive and requires each
station to maintain a timer (that can be configuration
set as to its value) as to how often it should poll its gap
for new stations.
For example, assume the timer in each station is 5 sec.
and that station 4's timer has expired (Fig. 3.2.3.1). The
host attached to station 4 notes that the next address
register (NA in the TAC) is set to 11, which indicates that
a new station might be added to the network as station
number 5, 6, 7, 8, 9, or 10.
The host queues a frame into the TAC transmit chain,
polling station 5. This frame will be sent by 4 with an
acknowledgement requested from 5. If 5 is present it
responds; otherwise, the TAC aborts its attempt after
time TA. The TAC marks the result on the frame in the
host memory space and proceeds with other tasks.
After this exchange, the host, at its leisure, checks the
transmit status of the frame. The host sees that the
frame acknowledgement timed out, meaning that station 5 has not been added to the network, or that station
5 is on the network and whether the request INRING is
set in the network code field. In either case, the host
takes appropriate action. If the desired INRING bit is
set, station 4 changes its NA register to 5, allowing its
next token to be passed to 5. This action puts station 5
in the ring.
Depending all an application's sophistication, a control
message can be sent to station 5. That message says,
"Your successor is X." In this case, X = 11, so that 5 is
not forced to poll for its successor. In any case, 4
updates its next address register to 5 and does not
need to go through this distributive polling cycle again
because there is no gap between 5's address and the
next address; there is no possibility that a new station
can be inserted between addresses 4 and 5. If 5 didn't
respond to 4's poll, station 4 updates its poll counter so
that the next time that the poll timer times out, station 6
will be tried.

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 rem.oval of non-responding station(s)
from the access nng. An interrupt (INS) is generated
indicating a network exception caused a change to
NA.
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 ~ 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.
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
t054 ...

40

When the polling station determines that a station has
been added, it must place the new station in the access
ring. For example, station 4 is the centralized station
doing all the polling (Fig. 3.2.3.2), and it discovers that
station 27 has recently been added. Station 4 knows
this because station 27 now responds to a first-time
poll, and because its status bit is set, indicating that it
wants to be added to the ring. (Some stations may be
receive only, never desiring the right to initiate transmissions.) Station 4 sends a high-level message to the
software in station 19, telling it to change its next
address register to 27. This message can also prompt
station 19 to tell 27 its next address register should be
54. This gets confusing, but it is all done with high-level
software. These tasks are not real time and are quite
efficient from the network point of view.

Fig. 3.2.3.1 Distributed polling. Each host polls the
gap in its address space for the possible addition of new
stations. The host internal poll timer and poll counter set
the polling rate and range as desired.

Station 4, the administrator, need not create and maintain a table of active stations on the network because
the poll response returns three pieces of information.
As node 4 polls the stations on the network, it finds out
(a) that the polled station does not respond at all, as it
would if it polled station 12 in Fig. 3.2.3.2 (b) that the station is already part of the network an is already in the
ring or is receive only, as it would if station 4 happened
to poll station 11 or 19; and (c) whether the station is
attached to the network, is alive and wants to be in
the ring, as is the case with a poll to 27. These indications are conveyed by a combination of status bits sent
back by the acknowledge frame. This acknowledge
frame and status information are transferred at a TAC
device level, so a host is not concerned with whether its
station wants to be in the ring. The host simply sets up
the proper bits in the control registers; the bits are
relayed automatically by the TAC. Thus, with a simple
algorithm, an administrative station can poll the entire
network address range and know the network's exact
membership and status.

If node 6 responds, its desired INRING bit is tested as
above. If 6 does not respond, the host will queue a poll
to station 7 the next time its poll timer expires. This continues until the host completes 10, when the cycle goes
back to 5 and repeats. In this example, with a gap of 6
stations (between 4 and 11), and with a 5-sec. clock, a
new node can be added within 30 sec.
In the centralized station-addition method, a single station can poll the entire address space, seeking a new
station that desires INRING. One reason for centralizing this function might be the more careful control that
can be placed in a network. There can also be optimizations. For example, the central polling station can keep
track of the stations that already exist and, therefore,
bypass some address ranges. A polling station may
know the network will never have more than, say, 75
stations, In the example of Fig. 3.2.3.2, when station 4
starts polling, it polls only to address 75 before resetting to zero. This works like the distributed method
except that a single station does all the work.

Central Scan
Central scan is the simplest method of adding stations
to a network. It involves sending a global frame to all

21nring desired

'-----<

>--+-----'

3 Set NA to 27

Fig. 3.2.3.2 Central polling. A single station - in this
case, station 4 - dubbed "the administrator, " can be
charged with all polling tasks. This simplifies the software in the other stations and centralizes network
control.

FIG. 3.2.3.3 Central scan request. A special command can be sent by any station causing all attached
TACs to set their NA register to the address of the next
possible node. This causes each TAC to poll without the
help of the host.

41

=e

c
N

CO

o-'="

stations on the network, which forces each to update its
own next address register to its station address plus
one (NA = MA + 1). Assume station 4 is the centralized station and sends the scan command frame (Fig.
3.2.3.3). Station 11, upon receiving it, automatically
sets its next address register to 12 (the TAC does this;
the host is not involved but is notified of the situation).
Also, station 19 sets its next address register to 20, and
station 54 sets its NA register to 55.

The trade-off of all these methods is the software complexity distribution. If a TAC user assumes more
responsibility, providing more intelligence distributed
in the software, the system can be more sophisticated
in handling new stations. If a user wants the TAC to handle this task itself, saving host software development,
he pays only slightly in inefficiency. TAC gives the user
an option.
3.2.4 INTERACTION OF THE SUB-PROTOCOLS

The result of this is a round of polling at the TAC level.
Station 11, on completing its use of the token, tries to
send it to 12. The token to station 12 times out because
12 is not present. Station 11 reclaims the token trying to
send it to 13 and so on, causing 11 to poll for station
addition. The drawback of this is the huge time disruption incurred by the simultaneous polling.
It is not required that station 4 send this scan control
frame to all stations at the same time. If it is known that
station 11 exists in the network and that a station may
be trying to add into the network after station 11 in the
address space, acommand can be sentto 11 telling itto
set its next address register to 11 + 1. Now 11 will go
through scanning station 12, 13, 14 ... again without
intervention from station ii's host software. This
directed scanning has the effect of smoothing the polling disturbance over a greater time.

After a station is given the token, it will send an information 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 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.
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,

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).
TC Value

o
1·254
255

DA

Meaning
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.

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.

SA

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.

I
FCS

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 O'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:

AC

42

ACCESS CONTROL FIELD
BIT#

7

6

5

4

3

2

Name

SCANF

WIRING

0

0

0

NVAL2 - NVAL1 -

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

Wants in ring (Response). This bit when set informs the node requesting the ACK
frame that this node is not in the logical ring, but is requesting entry. 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,

NVAL

-

1

0
NVALO

An encoded NAK/ACK value (Response). The receiving node will set one of the
following codes depending upon the state of the last received frame:

o0
o0
o1
o1

01011 0 0-

No error
Insufficient buffers for frame
Receiver not enabled at frame start
Receiver overrun
Frame exceeded 16 receive buffers

Normal Frame Format:
F - TC - DA - SA - I - FCS - F
= Flag, binary pattern 01111110
F
TC = Token Control (8 bit)
DA = Destination Address (8 bit)
SA = Source Address (8 bit)
I
= Information Field (0 to 4095 bytes or 16
buffers, whichever is less).
FCS = Frame Check Sequence (16 bit)

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.
The user is prevented from sending a combination
frame and requesting an acknowledgement at the
same time to prevent possible network state conflict
under time-out conditions.

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

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.
Additional address fields and control pOints are
defined as required to support the protocol.

F-TC-FCS-F
F
= Flag, binary pattern 01111110
TC = Token Control (8 bit)
FCS = Frame Check Sequence (16 bit)

43

TRANSPARENT FRAME

3.4 SENDING A TRANSPARENT OR
ACCESS FRAME

Link (H)
Link (L)
FSB
20H FCB
XX Length (H)
>08H Length (L)
TC

Two types of frames are transmitted under the transparent mode under user control. A scan access frame
or a transparent frame. The format of the frames are
described under 3.3 Frame Format with the transparent format the same as Normal Frame Format.

ACCESS FRAME COMMANDS

DA
SA
DATA

There is only one Access Frame type permitted under
user control - Scan Frame. The node that is
addressed must redefine NA = MA + 1 for use on its
next token pass. The format for sending this frame is:

LINK (H)
LINK (L)

00 LENGTH (H)
08 LENGTH (L)
DA
80h

The Transparent Data Frame allows a user to control
the token pass, or TC field of a frame by using the first
by1e after length rather than the FCB. The frame transmitted will look like the User Info part of the buffer without the WD2840 firmware generating anything else but
the flags and FCS.

Pointer to next frame.

00 (FSB)
20h (FCB)

pass token, broadcast,
ackreq.

Transparent frame, no
acknowledge allowed.
Access Control frame
size (H, L).

4.0 ELECTRICAL SPECIFICATIONS
ABSOLUTE MAXIMUM RATINGS:

Destination Address or
255 broadcast.
Set Scan Mode.

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)

The FC~ can be set for last frame, the acknowledge bit
has no effect and no acknowledgements will be given
to access frames nor will they be expected by the transmitting WD2840.

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.

The node receiving the access frame will only recognize a scan access frame as a command. Event count
#0 will increment and the receiving node will set its NA
to MA + 1. Any other access code will increment Event
Counter #7.

OPERATING CHARACTERISTICS (DC):
Operating Temperature Range ...... O°C to
SYMBOL
IDD
ICC
VDD
VCC
VIH
VIL
VOH
VOL
10ZH
10ZL
IIH
IlL

PARAMETER
VDD Supply Current
VCC Supply Current
High Voltage Supply
Low Voltage Supply
Input High Voltage
I nput Low Voltage
Output High Voltage
Output Low Voltage
Three·State Leakage
Three-State Leakage
Input Current
Input Current

+ 70°C
MIN.

1104
4.75

TYP.

MAX.

UNIT

18
160
12
5

30
220
12.6
5.25

mA
rnA
V
V
V
V
V
V
j.lA

204
0.8
2.8

004
50
50
10
10

44

!iA
j.lA
j.lA

CONDITIONS

10
10
VIN
VIN
VIN
VIN

=
=
=
=
=
=

-0.1rnA
1.6rnA
VCC
0.4V
VCC
OAV

5.0 TIMING CHARACTERISTICS (AC):
SYMBOL
ClK
RC
TC
MR
TAR
TRO
THO
THA
TAW
TWW
TOW

TWRR
TROR
TRR
TOAK
TAHW
TOHW

TOA1

TOAO

TOO

TOAH
TOMW
TTDV
TSRD
THRD

PARAMETER
Clock Frequency
Receive Clock Range
Transmit Clock Range
Master Reset Pulse Width
Input Address Valid to FiE
Read Strobe (or OACK
Read) to Data Valid
Data Hold Time From
Read to Strobe
Address Hold Time
From Read Strobe
Input Address Valid _
to Trailing Edge of WE
Minimum WE Pulse Width
Data Valid to Trailing
Edge of WE or Trailing
Edge of OACK for OMA
Write
CS High Between
Writes
CS High Between RE
RE Pulse Width
OACK Pulse Width
Address Hold Time
After WE
Data Hold Time After WE
or After OACK for OMA
Write
Time From ORQO (or
'[)'ROT) to Output
Address Valid if
AORV = 1
Time From DACK to
Output Address Valid if
AORV = 0
Time From Leading Edge
of OACK to Trailing
Edge of D1m(5
(orORQI)
Output Address Hold
Time From OACK
Data Hold Time From
OACK For OMA Read
TO Valid
RDSetup
RDHold

MIN.

TYP.

MAX.

UNIT

CONDITIONS

0.5
0
0
10
0
2

2.05

Note 1, 1
Note 4, 7
Note 4, 7

375

MHz
MHz
MHz
mS
nS
nS

20

100

nS

0

nS

100

nS

200
100

nS
nS

300

nS

300
375
375
80

nS
nS

Note5,2

Note 2, 3

nS

100

80

nS

375

nS

NoteS

375

nS

Note 5

20

100

nS

20

100

nS

Note 2

nS
nS
nS

100
0
320

NOTES:
1. Clock must have SO% duty cycle.
2. There must not be a CPU read or write (CS-FiE or CS-VVE) within SOO nanoseconds after the trailing (rising) edge of PACK.
3. There must not be the leading (falling) edge of 'i5Ii'CK allowed within SOO nanoseconds after the completion of a CPU write (CS-WE).
4. See "Ordering Information" for maximum serial rates.
S. C(load) = 100pf
6. Measured by discharging a 100pf capacitor to each pin through a 1K ohm resistor.
7. TC/RC must be <43% of ClK when transmitting multiple buffers.

45

X

IAO-IA3

_ _- J

1 ' -_ _

-W-E--~~t

OM~M~

~

X

_ _- - J

T==TOW==?~f---TA-H-W

I~

I-

---------~(

--1

TOO

/
I
I
j.
.j
_TOA1

(AO-A15SAMEAS OMAOUT)

<

= 0)

)

OR6I~

I

j.;:TOAO

':~~ ~:T ~~~~~~~~.--~-~~~ ~~ ~-;:'l-

AO-A15
(AORV
1)

=

OACK

r--TOAK~ TOAH

/
-I

'\
1

OACK
OALO-OAL7

r-

~

/'

AO-A15
(AORV

TOHW

CPU WRITE (CS IS LOW)

CPU READ (CS IS LOW)

1

>--

OATA VAllO

I

ORQO~

'---

TAW--_I

OIl

<

TOMW

1-

ITOO--I

/
r-TOAK--l

V

"J

I ..TOW..

OALO-OAL7

OATA VAllO ')

<

I~H~!

OATA VALID

>--

LTROj

DMAIN

DMAOUT
6.0

ORDERING INFORMATION
DEVICE NUMBER
WD2840-01
WD2840-05
WD2840-11

MAXIMUM RATE
100 Kbps
500 Kbps
1_0 Mbps

Package Diagram
100

t r..----

MAX

-

2.430
MAX

.015

---------I MIN

TO
.610
MAX

l.:::=.i

=. n!fl1rrnmmmnr f-t- ~
jl' r-r-~
-1'1'_...

0.35 ~
055

014

_I

~

.100
TYP

---.
.120
MIN

RO

021

TD-RD TIMING

46

Printed In U.S.A.

L_

WD2840

NO

"NITWORl('
RETUR~

..lAVE VALID

10

ISOLA-re:,

~~rJiNG
INTERRUPT

I
•

NO

~O I AGe -11"

~R~
YES

ENTE/{
DJA6IJOSllC.
SlJITE

I''W?CH 3,' 83

WHILE TX DMA 15 RUNNINC"
GETlJ.lE CURRENT BUFFER':>
LINK FlELD USING l14E RCDMA.

I..J6LY E:I?f1CR; TIIC~AIN
:&o"~

,
,

ImffiRllY IN QUESrJON,

FDl?LE EXPLILIT lbl<£N
PA£S A~D BUI?ST END.
DO NOTAIl'I!W(ECIIAIN
BEYOND :rUST POSlID
~ I FRAME.

I

NO

~TF=

I

CIO

V

""1"WWSMITTER FlOW

2840 REVIS/O/.} 4.0

WD2840

ROMID.'S

MARCH 3,'&3

---

---

---'--

WD2840

~

NO TXEN= I

?

fu

~~~JMJt~~
PlRMITIED
NO

NO_

SCT"U"IF

y(::.

HAVE lWO
D'iTA BYTE

F!1AME

HAV( DAllI

OM FRAMEI ".' "'

SHOUlD WE mop OUI
or: NETWORK MODE r

===-'===,{;IT
ADDRESS
0, NEXT DATA
jU'IM.JI ~~ CH, L I

,-

o:r

I FRAME DR "TOKEN

[a~~ ="~JJiROL
(TC 1 BYTE

~

Af?E D'iTA lRANSMISSIONS
STILL P£f?MITT£D

r

FRAME,PASS

lTOKUlIF"NONE

IRANSMI11ER FWW
l640 R£V/S/DN4,Q ROM/D NO

"FRM4USl"

(IF NOT DOAlE)

r---..:.N:::O'-<4~~E"

?

AL.C.E:FT
lOKE:N

'r£S

NO

NO WAIT f:DR
FRAME END
Off 2ND BYTE

IDLE 1

RE1l'IY= 1

NO

p'/

oL!)

5:A\J MODE
FRAME ReED
EVEAJT CDUNlER

BUFFER STRUCTURE
SYTS

2NO BYTE.

?
YES

OR AC

~.~~N:.:.O _ __

FRAM~ E~D') YES
NO

~E£P

?
YES

.

('A:~RQ= 1

~ LIM

O~'

2 fSB

20A

3 FCB
4 ,
~ '\1"

IlO

aYT£

I

".

TA
YES

6 DA
7 SA

6.\ 0ArA

Uu

F/?AME END
AnD? srr.OOD

BYIT!

FRAME END' YES
'3RD

BYT('

NETWCRK F1?AME

f/

NO

YES

NO

ACCESS CNTL: F-OA-AC-R:S-F

L3,." BYTE
~ WArr
FOR
f1?AM£
END OR

?

5TRUCTlJRE:

MlA: F-TC-DA-SA-I-FC5-F

NO

?

TOKEN: J'""-TC-FLS-F

R£L.EIVER FLOW

3RD BYTE

't£S

KEFY 5A

BYTE:

2'640

WD2840

R£YI51C»J<1,Q 1'10MID=5

MARCH 3.'83

__ 1-

WD2840
CINCREMEivTEVENTCO'
Ji.ifEif)
I
_ •.

:1E5Tn;KEN

'ITST NXTReJ
'---r--

'l'[g

IGMlRE IF ALREADY HAVE
NEXT mElV[ ElJFTERS
ADDRESS.

,

,,'"

.0

C)-

iii(/)1:
Q) .-

[XP[cnfJG

01

~ ~.~

~D

VACI0

~~~
.~

GOOD

oJo

r::

g e.

~~~
~~~

g >-.21
of
~~
> .<:

DATA FRAME
RC. £1?f?DK

EveNT
[OONITR

~

""
"
~:c~

Ii';;:
NDcrn

= 2S~

ND

a.
CJ)
CJ)

(/)

WD2840

0

a1o~
.~ 2 '0

gOe
:;=
(I)

Q)

n>--

~ c '"
0 " C!.

~~o

()

C)-

~~ l.g

i5 ~ ~

g

EtUtU~
.... "- 0

Q)

i-:~E

;;: 0 " i'

E ~.~

§

~~2::;:'

~~S~
c ..... 0

(0

.a~o~

g g.2Cii.2~
tIS

~

E
&~ ~
0'-0-0)
-oEQ.
.:=: ()._ (I)

WE$TERN DIGITAL
o

c

R

P

o

R

A

T

/

o

N

WD2840 Application Note
INTERFACING THE WD2840 TO A VERSABUS
SYSTEM USING A DUAL PORT MEMORY
This application note describes one possible method
of interfacing the WD2840 Token Access Controller
with a general purpose microprocessor based system. This is intended to be an example design only,
no effort has been made to minimize the logic required to perform these functions as would be done
in a production design. Rather, the design has been
kept "clean" to promote readability.
This implementation is designed with a dual-port
memory concept allowing its use in systems that
either do not support DMA at all, as well as systems
that are unable to guarantee reasonable DMA response to a request (Figure 1). Examples of these
systems are low end personal computers that allow
their disk controllers to "hog" the DMA channel for
an entire sector transfer. Very high end systems are
also candidates for the dual-port memory technique.
Here, the system bus may be shared by multiple
hosts and be of such extreme bandwidth that the
internal WD2840 DMA controller may be inefficient.
In most applications, the WD2840, can simply selfDMA its data directly to/from the host system's working memory. In the applications described above, the
WD2840 must DMA its messages to/from the network into a local RAM allowing the host to access it
at its leisure.

REFERENCES
• WD2840 Token Access Controller Specification,
Western Digital Corporation, 1983.
I\)
• "Token Passing Cashes in with Controller Chip" ~
Electronic Design, October 14,1982.
C)
• Versabus Technical Reference Manual Motorola,
• RS-422 Technical Specification
This design is described in six sections:
• Host dependent logic, here designed for the
Motorola Versabus system, including all required
bus interface drivers and timing.
• Local two-port buffer memory which is shared by
the host and the WD2840.
• Arbitration logic to fairly share the buffer memory,
especially when both the host and WD2840 demand access at the same time.
• WD2840 Token Access Controller and associated
timing
• Media interface consisting of a manchester
encoder/decoder and liner drivers

~

• Generalized initialization flowchart

IV"

~
H

0
S~

~~

HOST
INT
&
CONTROL

TAC I HOST ARBIT
TIMING
2840
AND
!CONTROL

t

DRIVERSI
RECEIVERS

8k

U
S

~

ADDR
DECODE

li
,...

I----

x8

RAM

~

DATA 8
ADDRES§,16

IT Tf
J l

MAN·
CHESTER
ENCODE
DECODE

11

BASE ADDRESS: FF4000
INTERRUPT LEVEL: 6
INTERRUPT VECTOR: #255

Figure 1.

Versabus Application of WD2840 Using Dual Port Memory

53

~

MEDIA
INTERFACE

~

Ot8~OM

DATA DRIVER ENABLES
NEN EN
o 0 RECFM. HOST
0 1 ILLEGAL
1 o OFF
1 1 DRIVE HOST
Jl

r::
5
6
7
8

'"f1

9
10
11
12

...

.j::.

I

::t:

0

2l.

::l

...i»CD
0
CD

4
5

D2

10
9

'1

6 11
3

D3
D4
D5

13 8

4

242

00

5

All

D7

6

NEN
EN

CD

'"

'kt "

DO
lYi

11
10
9
8

DO
Dl
D2
D3

3LS3~
!Z...2 Al
DTACK

13
14
15
16
17
18
19
20

DB

3'242~1

D9

4
Al0
9
5
6 1
13 8

iJiij

Dll
D12

3
4
5
6

513
D14
)15

242
A9

9
8

S"

~

Dl0
Dl1
D12

26
34
95
74

~

DSO
DSl
RESET
WRITE
ACKIN
SYSRESET
ACKOUT
HWRITE

2_
240
4
A8
6
8
[>0
11
13
15
17

16
14
12
9
7
5
3

;P19
DATA/CONTROL

O~

1
21 C4
RESET
HWRITE

il121, 122

19

2r----- 18

Jl

f#A9
4[>ot-1§.
-t,o
6
~
!-=

Al0
All
AU
A13
A14
A15
A16

~
DSA3
12 DOlO

8
11
13
15
17

TACS

r-"
ADDRESS MODIFIER

~~

A6

9

240

7

~

83
84
85
63
59
94
86
60

~

Ii'" f-ffi"
f-t ~
~ r=

1y"y;9

83

"':;";'~lrl

18

)1;09

44
45
46
47
48
49
50
51

.~'D'Q~

FC 9

-12

92

,"00

~~D

I

~

1
IR06

ADDR SET UP DLY
+5

+ 12 125-128

~

17

1,2,129,130,131,132

+5

29

N/C

D13
D14
D15

I

~

~
240 7
AS

15

18 4.--.,

~6
1119
5 Al

LJ:rW.
25

43

C9

1::v-r 13

A07
A08

42

1....-

A7

11
13

AD6

41
TACS

6
8

A05

40

J2
GND 13, 4, 23, 24, 27, 28, 31, 32
61,62,119,120,135-140

AD

4[>o~
~

l@

A04

39

D4
D5
D6
D7

2"'--- 18

AOl
A02

36
37
38

TACINTR 2

cO
c

(]I

/'

AMO

AMl 4
AM2 6
AM3 8
AM411
AM5 13
AM6 15
AM7 17

96

LS32

ACKIN
RESET
HWRITE

r--

A17
A18
A19
A20
A21
A22
A23

52
53
54
55
56
57
58

~~N.C.

l-q9

~

DSA3 4....--..
AMMEMAD

18
2
A5
4 LS240 16
14
6
8
12
[>0
11
9
13
7
15
5
1Z
3

5

84'\. 6
LS08

A14

15 D7 5
A13

:~

DEVSEL

12

tl§.....l

>0

'1t-i

14

A15

r---;;v

6 AMIACK

= X7 7 AMMEMAD

3

rs
~

A2

N/C
N/C
N/C
S472 N/C
N/C
~
N/C

H

It"fs
19
':"

':'

10

~B2

1
2

51----/
LS30
6
11

A3

1

""\..

ACKOUT

3DSA

2'240 jlL..l

LSll

8

...

15

interrupt was indeed generated by this module
(IRaQ).

HOST INTERFACE
The host interface (Figure 2) utilizes common threestate bus drivers buffering the Versabus from the
internal data bus. They are enabled low-Z onto the
host bus whenever the host "reads" from the local
memory (or WD2840 registers) and are enabled to
drive the intemal bus whenever the host writes to the
intemal memory (or registers). All other times these
are hi-Z allowing other modules on the Versabus side
to use that bus, as well as allowing the WD2840 to
use the intemal bus. Only an eight bit internal data
bus is used mapping all host memory accesses into
the lower byte. (8us drivers A 10 and A 11 are not used)
Sixteen address bits are buffered and driven onto the
intemal address bus when the host has access to the
RAMs (otherwise the WD2840 drives the intemal address bus). The additional address lines of the Versabus are "anded" with the 1/0 Data Strobe signals DSO
and DS1 and address modifier bits creating a device
select signal (DEVSEl) when all are active simultaneously indicating the host actually wants to access
this module.
The Host Interrupt and Driver control logic (Figure 3)
supplies the host interrupt vector (OFFH) when
acknowledged (C10). Acknowledgement occurs
when the Versabus ACKIN is received in conjunction
with the proper priority level (set at 4 in this design),
the proper address modifier (AM lACK), a short deskew delay (DSA3), and a Signal indicating an

The logic on this sheet also controls the direction of
the data buffers previously described (with signals
EN and NEN), presuming the host has active control
of the local bus (HOST = 1). The host requests control of the bus for access to the on-board RAM and
during interrupt acknowledgement.
CLOCKI ARBITRATION
This logic (Figure 4) generates the synchronous
timing used in the rest of the sections. A 16MHz
signal derived from a crystal oscillator (part of the
manchester logic, described late0 is buffered (by C9
and then called FC). This high speed clock is also
divided down for the WD2840 system clock ClK at 2
M Hz (other slower rates are not used in this design).
This high speed clock clocks a simple latch (87) until
either the host or the WD2840 request local bus
access. If the host desires access to this module,
HOST is made true, the on-board WD2840 DMA request generated TACDRQ. When either (or both) of
these signals occur, IDLE goes false (85 pin4)
freezing the state of latch 87.
IDLE going false starts the timing chain (81, C1) that
generates general timing pulses used later.
When the local memory sequence is complete, at
time T10 for the TAC (88 pin 6) or at time T7 for the
3 ACKOUT

r-------------~ C5

A1
ACKIN
IROO
DSA3
AM lACK

3
4
5
6.
11
12

+5

5 HOST
LS240
HOST

1 012
REG
3
8
_ 4"")..::...-------------"L""LS32
.......______+---.;.1""0L C
HWRITE

9

LS32
2

240

-f>

18
16

DO
01

HOST
HWRITE
(READ)

10

C5
LS08

8

EN
(DATA TO HOST)

8

\7AOD7\CK

4

TACS

5

NEN

(RCV FROM HOST)
LSOO
C4
I NT VECTOR (= FF)
LS32

Figure 3.

Host Interrupt and Driver Control

55

HRAiViON

r

!

host (82 pin 6) a special end of cycle delay is initiated
(via shift register E7). This delay ensures that at least
500ns is maintained between WD2840 DMAs and
possible host 1/0 accesses. At the end of this delay
flip-flop 86 generates a one clock "DONE" pulse re:
setting the arbitration logic.

MANCHESTER ENCODER I DECODER
The manchester encoderldecoder used here is a
Harris HD-6409 (Figure 7). This device is ideal for use
with the WD2840 in that its "invalid manchester
output," that detects missing clocks, etc., can be
directly connected to the WD2840's SO input. A 16
Mhz crystal controls the internal digital phase locked
loop used for clock recovery and generated the 16
Mhz master clock (FC) used for general timing in this
design.
The "modem" consists of a simple RS-422 balanced
driver and receiver. More elaborate media interfaces are possible, including FSK and broadband,
depending on speed I distance I number of taps I cost
requirements.

MEMORY ARRAY

The memory (Figure 5) uses simple static memories
configured as 8K by 8 bits. The RAM data lines are
buffered onto the local data bus due to loading
considerations. The RAM array is enabled during all
1/0 operations except those to the first sixteen
locations, which are used for accessing the sixteen
internal WD2840 registers (REG).
WD2840 SUPPORT

INITIALIZATION

The WD2840 interface logic is given in Figure 6. The
system clock (ClK) is derived from the timing
generator (Figure 4). (This clock may be asynchronous with the transmit and receive data clocks if
desired.) Address latches are used in this design to
provide additional signal drive and to improve
memory access timing (the WD2840 does have internal address latches that are useful in less stringent
applications).
Host Write (HWRITE) is used to control the direction
of 1/0 operations with the WD2840. When true, the
WD2840 expects its internal registers to be written
into. This occurs when both WE (pin 3) and CS (pin 4)
are both low. Gate C7 1,2,3 ensures that the WE'
signal goes false prior to the data changing (ensures
hold time) ..Chip select logic (D10, 1,2,13,12) enables
reads or wntes only when the host has access to the
internal bus, the internal address bus holds a value in
the range of 0-15 (REG true), and a short set-up timer
has expired (11).
Gate F10 (11,12,13) "ands" the WD2840s DMA input
and output requests and presents them to the arbitration logic described earlier (via TACDRO). The sense
of the WD2840 DMA request (input or output) is
latched (with E10). The DMA output signal is delayed
for RAM setup (12) and turned off before the data is
removed to meet RAM hold timing (17) and presented
to the RAM control logic to generate the write pulse.

Figure 10 "flow chart" gives a generalized method of
initializing a WD2840 based communications subsystem. First the WD2840 internal diagnostic are
preferred, followed by loading of station parameters.
Next the network is tested for activity and potential
duplicate addresses. Finally the WD2840 TXEN is set
allowing normal network generation. The Host now
simply monitors TX and RX chains to sent/receive
network data.
SUMMARY

This application note details a simple WD2840 subsystem designed around the VERSAbus form factor.
The on-board RAM makes removes any DMAlhost
bus access questions from the system design. A very
simple line driver allows a number of these modules
to communicate at speeds of 1 Mbps.
Note that this application note is intended for illustration only; simpler and more elaborate interfaces are
possible.

56

A 3 caM
4 C4M
5 C2M
6
C1M
0 11 C500K
A1
B1 10 C250K
C125K
C1 9

~tf~

FROM
MANCHESTER

12

clr1
13 C
1

Fe

ryo9~21

NC
NC
NC

TACORO
HOST

NC
NC

FC

1 __

B7
175 0
5 0
0
0
0
9 0
0

4 0

2 TACS
3 TACS
7 H STS

LS08
7 IDLE

_0'\

11 HOSTGNT

FC

."

lEi
c

iiJ

LS240.

~

CLOCK

0

U1

'""

I

0'
()

273

:0\"

I»

E7

HOST

::l

C.

g;>

IDLE 3

DO 273 00
4 01 B1 01

T1

T1

T2
T3

~

T2

702

02

:I

T3

8 03

Q3

o·

Q4

05
06
07

TAC/HOST ARBITRATION

T4

9 T12

T5

12 T13

T6

15 T14

T7

16 T15

~
LS240

T8

19 T16

~

R
OON"E

RESET

~Du16

07

~

I'

2 R1
5 R2
6 R3
9 R4
12 R5
15R6
16 R7
19 R8

DONE

'f6

17

+5V

'f6

1119

STATE GENERATOR

0t79C:OM

Ot8~OM

AO

3

DRQIL
HWRITE 13
T4

12

TACW

LS32

,':,0

~
..L
~5

C

iii

4118
D1

4118
F1

r-r-4118

4
3
2
1

A7

RAMWE 21
RAMOE 20
RCSO
18

II

D2

RCS4 18 1

CS

4118
D5

?'
01

())

RCS2

I s:
(1)

REG
T1
HOSTGNT 13

3
0

-<

18

62

A8

23

A9

22

RCS3

...~

4118
F2

4118
D4
WE
OE

Vee
12-+ 24
ReS1 +5
18

~
F11 LS240

'"M

/Zl'

-

--

RDTO
RDT1
RDT2
RDT3
RDT4
RDT5
RDT6
RDT?

9
10
11
13
14
15
16
17

RCS5

1

1

181

RCS6

1

1 4118
F4

1

1

1

18

19 N/C

18

RAMCE

II>

RCS7

'<

A10
A11
A12
+5

1~15

2 6 C8
3Jc

I

v

I

138

14
13
12
11
10

9

-

7

RCSO
RCS1
RCS2
RCS3
RCS4
RCS5
RCS6
RCS7

DO
D1
D2
D3
D4
D5
D6
D7

2 r - - 18
16
4
244
C12
14
6
12
8
11
9
7
13
15
5
17
3

-I>-

U - ~,
RAMOE

17

LS240

3

D7

RDTO
RDT1
RDT2
RDT3
RDT4
RDT5
RDT6
RDT?

RDTO
RnT1
RDT2
RDT3
RDT4
RDT5
RDT6
RDT?

2 . - - - - 18
244
16
4
C11
14
6
12
8
11
13
15
17

-RAMOE

-t>-

9
7
5
3

DO
D1
D2
D3
D4
D5
D6
D7

18

1 4118
F5

TACGNT
T2

D7

1

21B4~
27
26
1 38
2
339
440

3......--4 DO 00
7
B12
8
373
13

2
5
6
9
12

AO
A1
A2

A4

A3

A5

A4

A6

2 " C2
1311

5 41
6 28
7 29

14

15
16
19
1
2
5
6
9
12
15
16
19

A5
A6
A7

A7
A8
A9

41\ C2
5fL

A10

9

AO
C1M

(1MHZ)

6 CLK
D9

AO

46
47
45
44

A1
A2
A3

"TI

"rc

CO

~

.~ 'fC
17
Re

CTS
SO

~

HWRITE

c

C
'C
'C

o

1

C7

f6

::.

5

I21 LS~

HWRITE

12
13
14
15

2840

21
RiS
22
CTS
2
SO

=E
o

8
9
10
11

20
16 TD
RD

RD
TC
RC
RTS

,<

4.7K~

iii
!»

01

TD

+5V

lAO
IA1
IA2
IA3

T1

HOSTGNT

RE (OUT OF 2840)
WE (TO 2840)

CS

3

~
3
DROO

LSOO

Tii

4~ 6

TACGNT

51 C7

25

J'~

--

17
18
11 G
OC
3......--4
B11
7
373
8
13 _

30
31
32
33
34
35
36
37

14
17
18
11 G

A8
A9
A10
A11
A12
A13
A14
A15

LS27

1

12

3

9 LS10

:...--

6

8

D10

A11

101r~

A12

111-

REG

I

~
C9

LS240

REG/RAM DECODE

OC

-.z:::...1..

1~LS10

REG

TACS

DROI

DACK

8
9
10
11
12
13
14
15

DO
D1
D2
D3
D4
D5
D6
D7

~
~

,......"..,."
4

D
5 D

E10

I~

0
0

3 DROOL
7 DROlL

"'i'7 4 LS10
~
---s1 D10"\ 6

TACW

"1

175

DACK
1

RESET
+5V

J G7 ""'J6PEiREsET
4

rt~121.L
=16

LS08

.~

7

MR
INTO

N/C....!. DO NOT CONNECT

.+5

43

TACiNrR

+5
13

~11
I

TACDRO

c:::.nn

+12

Ot8~aM

~
~

RS422
DRIVER
15 CTS
RTS---~
BZO

7 NVM
so_--.....!..I

m

o

~

18

OJ

.....

OJ

4§i5

TD_--..::.!
TC

z

(JJ

s::

1 1K

ENCODER
DECODER UDI

RD_---I SDO
RC

»

HD6409
16 ECIK MANCHESTER
RD 3

iii
(JJ

1K

(5

DCIK

z

s::
m

RS422
RECEIVER

CO 11

16 MHZ OUT

Fe

o

C

s::

~T

R1
1. C1, C2 = 32 pi
2. R1 = 15 Mr, 1/4W
3. Xi = 16 MHZ, AT CUT PARALLEL RESONANCE
FUNDAMENTAL MODE
4. RT = DEPENDENT ON FREO & LENGTH APPROX. 90·2400

Figure 7.

Manchester Encoder/Driver

60

HOST TIMING.

I-- 62.5 ns.

--l

I

FC

1-

~ 'i--.-.--;-,--i--;--;--;--:--.!.-.--------~

AS-rl l
DSA

I

..J1

DSA3 -,-_ _ _ _ _

DEVSEL _ _ _ _ _~_.;.JIrl-----;---.-.:~---:------HOSTS _ _ _ _ _ _ __

I
I

T1 _ _~~-~-~--..J

T2 ____

~

___

~~_~~

T3 _ _~.....;.-.:..--.:....--.-.:-~.-:.......J

T4 ____

~

___

~

___

.....;._~

T5 ----r-~-_._~~__:_~~-~~-J
T6

--~~-7_-~-~_7-~-~~

I I

I

T7 _ _;-~--~~-~.....;.-~~~-~~
REG ____~_.-.__.--~I~~'--.....;.r-T~-~I----~I-----I~
TACCS ____~--..:.-~.-:..----'~..:..,I
WE (TAC)

---i

I

I

I'

HWRITE
RAMOE

~ ---------~-~
RAMWE

I

DTACK

ABi'RsT

I

-----------I~----------------~L...f
WRITE WIDTH ~
770ns
r--

Figure 8.

Host Timing

61



u:>

ff?
~

CHECK FOR
DUPLICATE MA

'a

TOKENS WILL
BE PASSED BY
SCAN METHOD
NO
IMPLIMENTED ON
, NETWORK
,SCAN TIME)

E
;
:::J

2
~

r------L----~i ITOKINTERRUPTS

OFF TO REDUCE
PROCESSOR
OVERHEAD

::E

~

OK TO ENTER
ACTIVE
NETWORK

I

MAY HAVE
BROUGHT
ISOLATE
FROM NETWORK DOWN
CRO - 01
NETWORK

DUPLICATE
ADDRESS
TAKE RECOVERY
ACTION

IF ALLOWED
TO INIT
SET-UP WHEN
ALLOWED TO
TX & RX FRAMES
(INIT ON)

WD2840 WILL AUTOMATICALLY
FOLLOW TX & RX CHAINS
AS THEY ARE ENABLED,
MONITOR INTERRUPTS,
(EVENT COUNTERS)

0t78i:CM
-

I --

64

LOCAL NETWORK
ACCESS TRADEOFFS

Cost/complexity tradeoffs are examined in CSMA/CD and
token passing techniques for accessing local area networks

by Mark Stieglitz

l

ocal networks are characterized by problems that
are very similar to those encountered in conventional data communications networks.' 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.

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 for planning and developing
the company's LSI and system level local network
products. Active in IEEE standards activities, he is
currently chairman of the IEEE-802 Token Access
Working Group.
OCTOBER 1981

"Reprinted with permission from com~uter
Design - October, 1981 iss~e ..CoPYright
"
1981 Computer Design Publishing Company.

65

can be more readily answered by comparing LAN
and X.25 protocol functions
using the International
Standards Organization
Open Systems Interconnection (ISOIOSI) 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 I). 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

APPLICATION
PRESENTATION
SESSION

TRANSPORT
NETWORK

,,' "'.

'/"'"
,

I

l

LINK
PHYSICAL

I

J

LINK
ACC£SS
PHYSICAL
LAN

X25

Fig 1 ISO/OSI reference model applicability. The model
directly applies to locid networks with addition of access layer

concept, where they share a network with diverse user
groups. This problem is readily overcome by encrypting
the appropriate data on the network. This alternative
was at one time unfeasible because of high costs. Now
several solutions are made possible by extensive LSI implementation of the National Bureau of Standards data
encryption standard, which resolves this obvious problem in bus topology.

STAR TOPOLOGY

"Y

~~

o

ADVANTAGES. SIMPLE PROTOCOL; LOW
INCREMENTAl COST: NET INFORMATION
RATE MAY BE HIGHER THAN TRANSMISSION
BANDWIDTH; EASY NETWORK MONITORING
AND CONTROL
DISADVANTAGES HIGH INITIAL COST
RELIABILITY. DIFFICULT TO RECONFIGURE
(ASSUMING CABLE OR FIBER)

RING TOPOLOGY

ADVANTAGES SIMPLE PROTOCOL. WELL
UNDERSTOOD; IDEAL FOR FIBER. NET
Ir~FORMATION RATE MAY BE HIGHER THAN
TRANSMISSIDN BANDWIDTH
DISADVANTAGES REQUIRES ACTIVE TAPS
RELIABILITY MEDIA DEPENDENT - NOT
SUITABLE FOR RADIO FREQUENCY DR
INFRARED

BUS TOPOLOGY
ADVANTAGES EASILY RECONFIGURED.
MEDIA INDEPENDENT. DISTRIBUI ED CONTROL
IMPROVES RElIABILITY; COMPLEX PROTOCOL
DISADVANTAGES REQUIRES" COMPLEX' ACCESS
CONTROL DIFFICULT TO MONITOR NETWORK
NOT SUITABLE FOR FIBER WITHOUT ACTIVE
TAPS

Fig 2 Typical local network topologies. Each has
fundamental strengths and weaknesses. Bus topology's
efficiency, maintainability, and cost are heavily dependent
on access method used

66

Access methods
Currently the most controversial open question in the
local network area is the choice of access methods in
LAN buses. An access method is that part of a protocol
that coordinates bandwidth use among all network
subscribers. It ensures that only one station transmits at
a given time, or, if more than one, that proper recovery
action is taken to provide correct data transmission.
Two common methods for allowing multiple transmission sources on a broadcast medium are frequency division and time division multiplexing (FOM and TOM).
Both are fixed assignment schemes and require some
centralized network intelligence to assign channels
(FOM) or time slots (TOM). There are cost and reliability
drawbacks to this centralized scheme. Also, it is difficult to effectively use the communications bandwidth
where there are many sporadIC data sources, such as
word processing terminals. The solution to this lies in a
demand access scheme, two of which are currently being
promoted.
Carrier Sense Multiple Access (CSMA). In this method
a station wishing to transmit listens first for channel
clear, and transmits if such is the case. When two stations hear that the channel is clear and transmit simultaneously, a collision occurs. This must be detected and
recovered by the CSMA protocol. The simplest 'type of
collision detection requires a higher, usually link level,
intelligence to note that a frame has been lost on the network. All frames would be buffered until acknowledged
and retransmitted if no timely ACK is received.
Carrier sense multiple access with collision detection
(CSMA/CO) is a CSMA implementation that can detect
transmission collisions while the data are being
transmitted. This enhancement greatly minimizes bandwidth wastage during collisions, but imposes a
minimum size restriction on every frame to ensure that
collisions are detected (Fig 3). A more serious drawback
in collision detection is in its actual implementation. It
must detect two simultaneous transmissions (a station's
receiver must "listen" for others while its own transmitter is "talking"). Transceiver design is critical.
Special cable and cable taps are often needed to
minimize noise and impedance problems. Special installation and grounding practices that have been
developed may necessitate additional training of cable
installers and modifications to building codes. All these
constraints have recurring cost implications. So, while
many solutions have been implemented, some are
costly, and each is media/speed dependent. Several different systems using CSMA/CO are commercially
available. The most notable is Ethernet, a joint offering
of DEC, Intel, and Xerox.'"
The CSMA scheme is comparatively simple and has
enjoyed much academic research, but it has some shortcomings. In the pursuit of simplicity, visibility of network errors and the potential for future upgrade have
been sacrificed. Since CSMA allows and expects collisions on the transmission medium, it is difficult for
diagnostic equipment to distinguish expected errors
from those that are induced by noise or faults. Determinism, or the ability to guarantee the successful (no

collision) access of a station within a
fixed tirne interval, cannot be accornrnodated in a CSMA environrnent.
Office autornation, which is not
real tirne and therefore CSMA corn,
patible, is a rnajor local network
i".~--------- 2: FRAME SIZE ( M 1 N l - - - - - - - - - -.....:
rnarket. Process control, the other
rnajor application category, requires
absolute delay lirnits and reliability
guarantees. Both rnarkets can be ad- Fig 3 CSMAlCD frame. Filler is needed to ensure sufficient frame lengtb for
dressed with the sarne "standard" collision dete~tion. Minimum fra~e lengtb is function of propagation delay
protocol and access rnethod only if :tb::r.:o.::ug!!:b::...::m::a::X1=m=u::m::.:le=n::!g~tb::....::o:.f.::m:.:e.::d:.:lu=m=--_ _ _ _ _ _ _ _ _ _ _ _ _ __
the needs of both are rnet. The token access rnethod is a cost. This adrninistrative rnethod is also generally rnore
way to accornplish this.
expeditious than distributed schernes, since the latter reToken passing. A token is an exclusive right, held by quire delays in their distributed algorithrns and require
exactly one station at any given instant, to initiate trans- all stations to rediscover their part of the network conactions on the rnediurn. Distributed network intelligence figuration each tirne.
In the distributed scherne, reliability and ease of conpasses this access right around the network in a logical
ring, resulting in an ordered and controlled access figuration are achieved; the network configures itself
rnethod. In the token passing scherne, sornetirnes re- each tirne it is initialized. The best of both worlds, speed
ferred to as "baton passing," each station sends a and reliability, are achieved in the hybrid systern. Here
rnessage to its access successor when it has finished its the distributed algorithrns are retained as backup in case
of an adrninistrative failure.
transactions (Fig 4).
The token protocol rnakes no assumptions about, or
Control rnessages are sent in the sarne forrnat as is inforrnation, in frarnes. At first glance the token access "irnproper" use of, the transrnission rnediurn or
scherne's frarnes look rnuch like those of CSMA systerns transrnission rate. Any collisions are treated sirnply as
as shown in Fig 3. The sirnilarities are purposely at the manifestations of noise and are consistently handled as
physical and link layers (Fig 5). The sirnilarity ends with exceptions. No expected collisions mean no confusion
the access field; the required filler in CSMAlCD systerns is as to cause, resulting in irnproved maintainability and
replaced in the token passing frarne with a token control serviceability. The use of strictly "inband" signaling
allows true rnedia independence. Radio frequency, infield, usually of one octet.
The required control inforrnation could have been frared, CATV, baseband coaxial, fiber, and other broadcoded into the link level control field, but instead is cast rnedia are usable with no change in the access
placed directly ahead of the link field. There are three algorithrn or any sacrifice of efficiency. This flexibility
reasons for this. First, it provides adherence to the will be useful as data rates and distances grow and as
ISO/OSI rnodel's sense of encapsulation. This says that a
new transrnission technologies are developed.
given layer rnust not rnodify or require the use of any
Inband signaling also rneans that existing cornponents
data in a higher layer for its own proper operation. and technology can be used. This gives network
Observing this requirernent saves software developrnent
and redeveloprnent as users switch between X.25 and
LANS. Second, the ability to send "piggyback" tokens
requires separate access and link control fields; link inforrnation can go to one station while control is (op,,--------------------------------,:
tionally) passed to another. This is an efficiency
,,
enhancernent that allows a reduction in the bandwidth
used for network rnanagernent. Third, special forrnat
access frarnes can be sent. Since the access control field
rnay be thought of as defining the rest of the frarne (for
exarnple, an opcode), very short access frarnes can be
transferred and evaluated without rnodifying link control programs.
,
While both access rnethods are conceptually sirnple,
"'-- - ------- --------"
there are several irnplernentation challenges in the token
scherne. These include network initialization, building
and rnaintaining the logical ring (online addition/rernoval of stations), and the resolution of fault
recovery conditions. Centralized and fully distributed Fig 4 Model of logical ring. Eacb station bas sufficient
intelligence to receive and validate tokens from its
are two categories of solutions for these tasks.
predecessor (P) and send tokens to its successor (5). Pbysical
The centralized scherne uses an adrninistrative station ordering of stations is not relevant. Dashed lines indicate
to watch for and resolve unusual network conditions. control Dow
Rernoving this chore frorn the bulk of the stations
sirnplifies their processing requirernents and thus their

67

implementors the option to
capitalize on established production
efficiencies and low costs such as are
represented by CATV components.
From the use of existing broadcast
LINK
LAYER
technologies follows the applicability of existing regulations and
trained cable installers.
Fig 5 Token frame. Separate access control field allows option of passing
Token protocol's insensitivity to control
to one station while sending link level information to another
transmission speed is another important factor. It is unreasonable to assume that all net- quirements. Choice of an initialization algorithm, for
work users need the same arbitrary data rate, such as example, depends heavily on the address range allowed
10M bits/so Users with lesser requirements should be in the network: a 48-bit address range uses a different
able to scale systems to their needs and budgets. Some station sort scheme than does an 8-bit range. Work on
the distillation of these tradeoffs is underway by stanCSMA implementations have minimum frame size
restrictions that are directly based on the data rate and dards committees and commercial organizations.
the physical length of the medium, to say nothing of the
Standardization is key to volume manufacture of
cost of multi-megabit hardware. There is no reason that token controllers and to the interconnectivity of
a few cathode ray tube terminals cannot be linked multivendor equipment. Standardization also advances
together with inexpensive twisted pair cable, using the the development of network diagnostic equipment and
same token protocol and controllers as those used in ap- tools.
plications with higher speed requirements.
tions with higher speed requirements.
Summary and conclusions
Depending on the application, networks must either A new science requires fresh consideration of engibe fair (where all stations have equal access to the neering challenges. The needs of users and the progress
medium), or include some priority mechanism. The of implementation technology, especially LSI, can be
token access method supports both conditions by being projected. There is no reason to accept any scheme
generically fair, but also allows tuning of network and simply because it exists, as proposed in References 5 and
station parameters if desired. Features such as sending 6. Professional skill and judgment must be used in selec"n" frames while holding the token are easily sup- ting all elements of any system, especially one as new
ported. This allows prioritization of stations where and with such potential impact as the local area
some may be allowed to transmit more than others network.
The general token access scheme enjoys current combefore giving up the token. The network may be set to
guarantee access to all nodes within strict time boun- mercial use, generality, and expandability that make it a
truly useful standard. Investment costs in up-front comdaries, as required in control applications.
If tokens solve all LAN problems, why is there any plexity will be continually reduced with further LSI
controversy? The answer to this lies in the real and developments and as network uses proliferate.
perceived complexities of the token access scheme.

References
Is token complexity worth it?

1.

Complexity considerations must be evaluated on two
fronts: technical (Can it be implemented reliably?) and
economic (Is any additional incurred cost justified?).
Intensive efforts by individual companies and standards
groups have yielded some commercial offerings and
several technical proposals. The token access method
has been reviewed and evaluated by academicians, network implementors, and users. With the systems,
models, and documents available today, it can safely be
said that the token scheme is implementable.
The LSI developer is challenged to deliver this complex protocol at low cost. With such an LSI controller, a
day can be envisioned when users need be as little concerned about low level network protocols as they are
today with bit locations and formats on floppy discs.
Efforts in protocol design are nonrecurring, but the
benefit of a sophisticated, forward-looking design
course will manifest itself more and more as network requirements grow.

2.
3.
4.
5.
6.

J. M. McQuillan, "Local Network Architectures,"
Computer Design, May 1979, pp 18-26
H. Zimmerman, "OSI Reference Model-The ISO Model
of Architecture for Open Systems Interconnection," IEEE
Transactions on Communications, Apr 1980, pp 425-431
J. M. Kryskow and C. K. Miller, "Local Area Networks
Overview-Part 2: Standards Activities," Computer
Design, Mar 1981, pp 12-20
The Ethernet, A Local Area Network-Data Link Layer
and Physical Layer Specifications, Version 1.0, Sept 30,
1980, Digital Equipment Corp, Intel Corp, Xerox Corp
P. Franson, "It's time to get on the Ethernet bus,"
Electronic Business, Oct 1980, p 6
L. J. Curran, "Seconding an Ethernet motion," MiniMicro Systems, Nov 1980, p 73

Please rate the value of this article to you by circling
the appropriate number in the "Editorial Score Box"
on the Inquiry Card.
High 713

Algorithm details and standardization
In the general token scheme just described, detailed
algorithms vary depending on the system and design re-

68

Average 714

Low 715

LOCAL NETWORKS
Token passing
casnes in
with controller chip
1
I

Token-passing protocols
can upgrade a datacommunication system,
especially if a dedicated
controller relieves the host
from token-processing tasks.

~&

Mark Stieglitz, Network Products Manager
Western Digital Corp., Communications
Division
2445 McCabe Way, Irvine, Calif. 92714

Designers can now implement a
distributed-access token-passing
systems without worrying about
the complex details involved in the
communications protocol. Those
are taken care of by one LSI chip,
called the token-access controller.
Token passing is one method of
sharing a communications path. It
enjoys the benefits of distributedaccess systems while eliminating
the drawbacks of schemes employing carrier-sense m ul tiple access
with collision detection (CSMAI
CD). Until recently, however, token-passing techniques had little
currency because of their need for
complex controllers. This need relegated tokens primarily to proprietary uses. (For a complete review of local
networks, including token-passing techniques, see
"Broad Standards, Many Implementations Are on
the Way," ELECTRONIC DESIGN, Sept. 30, p. 87.)
The introduction of Ethernet in 1980 marked the
beginning of commercial local networks using
distributed-access techniques. A distributed system
does not rely on a single device for polling. Early
versions of Ethernet were designed to use simple
controllers because most of the development work

began in the 1970s, before the LSI era. Although
CSMA/CD offered a simplified access protocol, users
incurred cost, performance, and flexibility penalties.
Progress in LSI technology has now given designers
the benefits of complexity-increased efficiency and
enhanced flexibility-but without high cost.
The availability of the WD2840 token-passing
controller chip brings token-access communications
capability to a range of critical-process applications
that were previously unsuited to the token method.

Copyright 1982 Hayden Publishing Co., Inc.

Reprinted from ELECTRONIC DESIGN - Oct. 14, 1982

69

Local Networks: Token-passing controller
CPU bus

What's more, the controller sufficiently reduces
system communication costs, encouraging its use
with very inexpensive end products.
The controller is designed to connect distributed
intelligent devices over a shared broadcast medium
-usually coaxial cable, free-air radio, or twistedpair party line. Shared by all stations through the
use of a token-passing protocol, the broadcast
medium enables each attached device to hear everything on the network. A station is a microprocessorbased device that incorporates the controller. Complementing the token protocol's efficiency is a highlevel, software-friendly DMA (direct memory access)
interface contained within the controller. In conjunction with conventional hardware and serial communications interfaces, the DMA interface and token
protocol make the WD2840 simple to use.
The primary purpose of a token-access controller
is to free the designer from data communications
concerns. Once the chip is initialized, for example,
the host microprocessor need never bother with the
protocol; it merely processes frames addressed to it
-the controller filters out all others-and generates
messages to send later. In fact, it is the controller
that sends messages when a token is received. This
decoupling of the functions between the network and
any user processing simplifies programming and
system timing considerations.
Tasks that affect network performance-such as
processing tokens and generating acknowledgments
-are performed inside the controller. Thus designers can use any type of host processor in a station
(Fig. 1). The circuit interfaces with systems in which
a processor is busy with a specific application.
Illustrating that point is the microprocessor found
in a CRT terminal. Its duties are to scan the keyboard
and perform a limited amount of editing. That leaves
enough processing power remaining to drive the
controller, which handles data flow only for one
specific terminal. If the processor falls behind
momentarily, just one terminal is affected; all others
in the network continue to operate at full speed. Thus
a network of controller chips is not slowed by its
weakest link.

Medium

Modem

1--'5:.:;":::-QI'---1 WD2840
DRQO

DACK
Clear to send
DALo-DALs

WREN

elK

1. Two interfaces connect the WD2840 token-access
controller chip to a local-area network. The network side
(medium) is electrically conventional, whereas the host side
(CPU) combines both a control and status register and a
direct-memory-access interface.

No

.---'-''<

Frame
received?

Token passing in a system environment

When a token-access controller receives a data
frame addressed either to itself or to all broadcast
stations-there are 254 stations in a system-it
transfers the frame to the host's memory via a DMA
operation. If the frame is invalid, the close coupling
of protocol handling and DMA operations allows the
chip to manage its own housekeeping. For example,
if errors are detected through a CRC (cyclic redundancy code) or signal-quality check, the memory
space is automatically reclaimed.

2. After initialization, the loken-access controller idles in its
"watching" loop (bold lines), waiting for a data frame or token
addressed to it. The upper portion of the flow chart shows
the steps in the initialization procedure.

70

On the successful reception of a data frame, the
controller sets an interrupt and checks to determine
whether an acknowledgment was requested by the
sending station. If so, it sends the acknowledgment,
adding the receiver status, as well. A typical message
might be "Received successfully" or "Encountered
DMA problem on this end. Please retry." While the
controller evaluates each frame as it looks for its own

data message, it simultaneously checks for tokens
passed to it. This combined token-and-data framein which each part can be directed to a different
station-is referred to as piggybacking, a feature
that increases system efficiency, since most of the
overhead associated with conventional token-passing
is eliminated (Fig. 2).
Receipt of a token allows the WD2840 to transmit

A three-controller architecture
A single NMOS LSI chip, the
WD2840 token-access controller,
comprises three major elements: a
fast serial communications subsystem, a two-channel DMA controller, and a microprocessor with
internal ROM and RAM.
The device's three preprogrammed microcontrollers handle
media access and host memorymanagement functions. This type
of architecture facilitates internal
parallel processing: for example,
prefetching a new buffer address
while transmitting or receiving
data. Although the token-passing
protocol is essentially a halfduplex scheme, separate receiving
and transmitting subsystems permit loop back testing.
The primary m icrocon troller
has the capabilities and ins truction set of a conventional 8-bit
microprocessor, including subrou-

,-------I
I

----

-

error-recovery operations.
The serial-to-parallel and parallel-to-serial converter block ineludes standard IS-bit cyclic redundancy code (CRC) checking
and generation, along with the
framing logic specified by the
HDLC (High-level Data Link Control) protocol. Also, the receiver
contains an input FIFO buffer to
speed internal processing and relieve DMA latency constraints.
Hardware in terfacing is designed for flexibility. The DMA
interface, for example, uses the
familiar DMA request signals as
outputs-one for input requested,
one for output. Together with a
grant signal that both notifies the
token-access controller that the
bus is available and optionally
enables the address drivers, it
permits synchronization with
slower external memories.
-

DALo-OAL7. IAo-IA3

I

I
I

I

ROM

I

I
I

CS

I

INTA

I

MA

uT

~ Accumulatol ~
Microcontroller

I

I

-,
I
I
I

AOM

I
TO

I
I

ATS

I

CTS

I

TC

I

~

Parallel-taserial converter,
CRC, flag~
generation
control

Register
file
(16 hostvisible)

I
I

Tlmer2

Control

I ClK

i

tines, bit manipUlation, conditional branching, and arithmetic
operations. This part, whose chief
task is to implement the token
algorithms and maintain the host
memory chain, has its firmware
located in the internal I-kbyte
ROM. Repetitive and simple
operations such as DMA fetching
and storing are controlled by the
receiving and transmitting microcontrollers.
Two internal timers keep the
network independent of the host
microprocessor's timing. The first
timer is set for a relatively short
duration to limit the time it must
wait for the required response
from a transmission. The second
timer has a longer and less critical
duration that restricts the period
that a network can normally be
"idle." Limits on idle time are
useful for initialization and some

uA

1

I
I

ADM

I

I

Ao A'5

I ORal
I DRaa

DMA

l-

B-

I DACK

I
I
IL

DMA registers
(2 channels)

Serial-ta-parallel
converter,
CRC,
flag-detection
control

RC
RD
SO

__________________________________

71

I
I
I
i
I

I

~

I

r

Local Networks: Token-passing controller
messages that its host has queued. Before transmitting, however, the device checks its internal holdoff register, AHOLT, to determine whether it should
defer use of the token on the current cycle. With this
optional deference capability, the system designer
can bias the intrinsically fair token protocol in favor
of selected stations. Those that have more access
opportunities have effectively higher priorities.
Key to a token system is the visibility that each
station has to network loading conditions. The less

often a token is received in a given time, the greater
the load on the network. This indication of load data
is available to the host as an optional interrupt/token
received, and the host can scale down its data over
time. Since the host knows the importance of data
it sends, it can defer (or set higher delay values in
the priority registers) data transmissions of lesser
importance to a later time.
If transmission proceeds, messages are sent
automatically to their appropriate destination addresses, with acknowledgment requests optionally
encoded into each frame's header. Such transmissions continue for each frame queued until either a
preprogrammed limit or the end of a transmission
chain is reached (preprogramming is an optional
priority feature). When transmission is complete, the
controller passes the token to the next station. After
frames having an acknowledge option are
transmitted, the transmitting controller awaits a
response from the intended receiver. Responses can
be positive (indicating that the frame was received
correctly), negative, or nonexistent. In the last situation, the receiving station either received the frame
incorrectly or was out of service. The waiting period
is controlled by an interval timer. If a time out occurs
from a no-response condition, the WD2840 automatically retries the transmission.
Automatic retransmissions overcome most network noise glitches quickly and automatically. In
this case, the host makes no decisions. If the retry
is unsuccessful, the frame is tagged and an interrupt
is generated that allows the host to decide the
disposition of the frame. To avoid holding up the
network, the tagged frame is passed over in the
transmission chain and the next frame's transmission is attempted.

Control block __
User
memory

First
transmission
First
reception
Buffer size
Event
counters

LJ
;nk

Transmitting

chain

r

..

,

lj

,

Buffer contents have been transmitted,
may be reused by the host
;nk

...

Receiving
cham

,
Filled buffers,
ready for host use

1J

I

Initialized buffers. ready
forcontroUer use

3. The chaining technique allows either the host processor
or the controller chip to vary the number of buffers in a
system. In chaining, buffers are linked so that data frames
may span multiple buffers, making memory operations more
efficient and simplifies the host's memory allocation tasks.

A universal device

The WD2840 interfaces with any conventional,
general-purpose microprocessor or minicomputer
bus. Equally as important as that capability are the
chip's contributions to host-speed independence (decoupling) and system efficiency. To achieve these
goals, the device combines I/O register programming, interrupts, and dual DMA interfaces for data,
exception reporting, and extended control (see "A
Three-Controller Architecture").
The memory interface is a self-contained subsystem that consists of two sets of 16-bit registers, byte
counters, and DMA control logic. Backing this up is
internal intelligence that interprets and manipulates
the high-level buffer control structures.
Fetching and storing user data destined for or
received from the network are the most important
functions of the DMA system. However, these are
not simple tasks because of the speed decoupling

4. In a logical ring, atoken can pass from station 4(MA-4)
to 11, to 19, to 54, and back to 4. The physical orderofthe
ring is irrelevant, since token passing is based only on station
addresses.

72

needed between the n~al-time controller and the nonreal-time host processes. The WD2840 solves the
problem using an open-ended FIFO (first-in, firstout) method of buffer chaining (Fig. 3). In chaining,
either the controller or host adds or removes buffers
as they consume or generate data, but neither need
be concerned about the state of the other.
Though residents of the host's buffer memory,
chains are visible to the token-access chip. They are
constructed by the host from linked buffers prior to
the controller's initialization. Linking the buffers
maximizes use of the memory by permitting frames
to span multiple buffers, an advantage when most
frames are short but long frames must occasionally
be accommodated. When receiving a frame, the chip
fills the receiving buffer pointed to by an internal
register until the frame is complete. If the buffer
is filled and the frame is not complete, the device
automatically reads the link field of the filled buffer
to find the next one available and continues receiving. Of particular importance when interfacing with
an existing operating system, this automatic link

handling of variable-sized buffers simplifies the
host's task of allocating memory.
The transmitting and receiving chains' linked
buffers are maintained cooperatively through the
use of control fields located in the first buffer of each
frame. This header information includes frame
status, destination address, and actual frame length
in bytes. The length, which determines how many
buffers the associated frame spans, is written by the
host in the transmitting chain. Each device has its
own status bytes and can only read the status of the
other device, thus preventing deadlocks.
The control field written by the host is called the
frame-control byte and determines what options to
put into a frame. An example of a per-frame option
is the wait-for-acknowledgment command bit. This
bit is tested while the frame is transmitted; if set,
it causes the controller to await a response after a
frame transmission is complete. The control byte
written by the controller is called the frame-status
byte. It indicates receiving or transmitting status,
including the received "negative acknowledgment,"

_

N~ork~tro~

5. A high-performance word-processing application needs a two-ported memory interface between
the token-access controller and the local network. This minimizes memory access latency time when
the disk controller "hogs" the DMA bus for several consecutive cycles.

73

Local Networks: Token-passing controller
if any has been received.
Also contained in the logical memory interface is
a series of 8-bit event counters. Located in the host's
visible memory in the last section of the WD2840's
control block (Fig. 3), they tabulate all noncritical
but important network conditions. One such condition is the detection of a transmission error; by the
time the host learns of the error, the controller has
retransmitted. However, the chip increments the
appropriate counter, since the event is valuable to
the host for diagnostic purposes.
There are 16 control registers visible to the host
(see table). The register file stores initial timer values
and such fixed station parameters as station addresses and transmission limits. Included is a pointer
to the initial DMA control block, which is used both
when initializing the controller and when network
exceptions are encountered. The register file also
contains locations not visible to the host that are used
by the internal controller for scratchpad functions,
including the 16-bit pointers to the active receiving
and transmitting buffers.
The controller's network (serial) interface accom-

Transmit clock

~".-,

data and clock
Transmit data

~~~~~~r-

I
I
I
I
I
I

--t;-sr
I

:

:

Request to send

Clear to send

Preamble
delay
(optional)

modates standard modems and clock encoders. The
device accepts non-return· to-zero (NRZ) data and
permits the transmitting and receiving clocks to be
stopped immediately upon completion of a frame if
desired. Ordinarily this type of operation is not
allowed, as most conventional devices use the clocks
to clear the internal shift registers and perform other
functions. A pair of request-to-send and clear-tosend signals is available for externally generating
preambles for any type of medium.
Locating errors

Furnishing the network interface with novel
features, the signal-quality input warns the controller that the frame in progress contains an error
due to a media, modem, or clock-recovery fault. An
example of such a error is the detection of a missed
clock transition by a Manchester decoder (see
"Manchester II Transfers Data with Integrity,
Speed," ELECTRONIC DESIGN, March 19, 1981, p. 233).
Coupled with appropriate external logic (optional),
this input enhances data integrity beyond that offered by the frame-check sequence included with
each transmission.
A common problem in token systems involves the
actions necessary if a station is removed or fails; that
is, what if Lhp logical ring is broken? Prompt correction of such a condition affects the entire network
and is therefore handled autonomously by the controller chip (Fig. 4).
The primary responsibility for assuring that a
token arrives at its intended destination rests \\I ith
the controller chip that sent it. Similarly, if the token
does not arrive, the sending device also must retrieve
it. To accomplish this, the sending controller sets its
short internal timer to indicate the longest time that
it must wait for a receiving station to use the token.
If the token pass is unsuccessful-time expires on
the internal timer without a successful pass-the
chip begins error-recovery procedures.
Since the chief cause of these dropped tokens is
a station improperly leaving the network, the
WD2840 initiates a station scan. First it polls the
address space for an active station to which it can
pass the token. When one is found, the chip then
updates its successor register so that the poll need
not be repeated on the next cycle. After the logical
ring is restored, the host is informed by means of
a new-successor interrupt.
The WD2840 incorporates several types of
diagnostics that are necessary in conventional intelligent subsystems and LSI systems. Network-level
tests provide confidence and maintainability for the
distributed token-access system and its associated
medium and modems. System tests validate local
interfaces, such as external RAM and the interrupt

Receive clock
/

~.- -'".~,/

data and clock

~~~~~:~ - sa

"/

I

I Coaxial
I cable

~

I
I
I
I
I
I
I

I

Transmit : Receive

6. One of the simplest network Interfaces Is the Manchester
encoder·decoder, which operates through an RS·442 bus
transceiver. A nonvalld Manchester output signal connects
to the controller's signal·quallty pin.

74

Initialize

No,

token~access

subsystem, and internal tests validate the chip itself,
including the internal controllers and register file.
All three diagnostics are used cooperatively.
As a new station powers up-or attaches itself to
the network for any reason-it tests itself before
transmitting on the network, thus ensuring that any
faults do not disrupt the operating network. Selftesting is initiated by the host, whirh interprets the
results. The host must be involved IweUllse an LSI
device cannot always find and report its own failure.
Network testing occurs continuously. For example, a token-access controller watches for frames
transmitted on the network by another station having the chip's own address as its destination. Source
stations having the same address are prohibited from
a token network. If that occurs, there is usually a
hardware failure in the station or a misconfiguration
(setting DIP switches incorrectly).

controller

Pass?

Local networks in word processing

A common application of a distributed network is
multiple-user word processing. A typical system
consists of a combined file server and print station
connected to several remote CRT terminals. Each
node contains its own processor and controller, and
all communicate via the network. The CRTs are
essentially "dumb" terminals having hardware
modifications and internal firmware extensions that
permit network use. The most critical station is the
file server.
CRT terminals can be added or removed from the
network while it operates. Either the control chip
in each station or the host software configures the
network. The choice depends on the speed with which
new stations must be admitted and the tolerance of
the network to access delays. This application
tolerates delays of about 100 ms, so a simple tokenaccess-control polling method is used.
The file server has a two-ported memory interface
that minimizes memory access latency resulting
from the disk interface's so-called hogging mode.
Controllers that retain the DMA bus for several
consecutive cycles are in the hogging mode. The twoported memory is physically located on the network
interface module and appears logically in the host
processor's address space (Fig. 5).
The host interface matches the timing of the
normal microcomputer bus to that of the controller
and its local memory. This includes the memorymapping logic of the host's operating system.
Arbitration logic controls access to the local RAM
and ensures that simultaneous memory requests by
the host and controller do not end in improper
memory operations or timing deadlocks. The logic
is designed for FIFO-type command priority, with
ties awarded to the controller.

None?

7. I nitiallzing the token-access controller Is necessary before
a host processor can access a local network. The procedure
includes buffer allocation, building a linked receiving chain,
and performing diagnostic testing.

75

Local Networks: Taken-passing controller
The media interface here is implemented in its
simplest form: a Manchester encoder-decoder chip
and an RS-449 (three-state) bus transceiver (Fig. 6).
That device handles its own preamble generation and
detection at the start of each frame, so that the clearto-send pin of the controller is tied directly to its
request-to-send pin. Even more, the Manchester part
provides a nonvalid Manchester output that is tied
to the controller's signal-quality input.
Simple modems of this type are suitable for
operation over moderate distances-about 1 km at
a I-Mbitls transmission rate using twisted-pair
cable. Other commercially available modems use
more elaborate techniques to increase message reliability and distance or for other types of media.
The software interface with the host's file manager
has three phases: initialization, file transmission,
and command reception. The controller's initialization and network maintenance routines are included
in the operating system. The software receives incoming frames from the WD2840, checks for proper
frame sequencing, and builds messages that are
compatible with normal operating-system file requests.
Before the operating system can access the

network, the controller must be initialized. That
process consists of allocating buffers, building an
initial linked receive chain, and performing selfdiagnostics. The flow chart shown in Fig. 7 gives the
sequence of events. After diagnostics are complete,
the host's initialization routine clears the event
counters and writes the address of the chip's control
block into the latter's internal registers. It then
stores the proper values in the controller's registers
(station addresses, priority values, timer settings)
and puts the chip into the network mode.
A driver removes the incoming frames from the
receiving chain and then ties them into the operating
system in response to a controller interrupt. These
messages are then separated into network management and information request groups. Network
management frames serve primarily for the orderly
addition and removal of stations. The file server
periodically polls the network address space to allow
new members in, but all stations process stationremoval requests as they occur. There are many ways
to maintain a network, each having a tradeoff
between simplicity and timeliness. For this application, new stations need not be added very rapidly,
allowing for greater simplicity.
Information requests always include a sequence
number added by the controller's driver. These
numbers are used in conjunction with the chip's
automatic acknowledgment and thus ensure data
integrity: the controller makes certain that no requests are lost, and the driver filters possible
duplicates. The resultant messages are then removed
from the controller's receiving chain and reformatted
(including blocking if needed) before being passed to
the filer. As a background task, the receiver driver
initializes and attaches any free buffers returned by
the file manager to the head of the chain for future
use. Moreover, the operating system can add new
buffers to the pool as the load increases.
Transmission is initiated after the filer obtains
previously requested data. The information is passed
to the network data, which then formats it into
controller-compatible buffers, adds the correct sequence number and destination address, and finally
attaches it to the transmitting chain. As its background task, the transmitting driver periodically
checks the chain for buffers that can be returned
to the transmission pool. This is an option that can
be performed whenever a frame-transmission interrupt occurs. 0

A summary of register files
Register

Name

a
1
2

4
5
6
7
8
9
A

CRO
CR1
SRO
IRa
SR1
SR2
CTRO
NA
TA
TO
CPBH

B

CPBL

C
D

NAR
AHOLT
TXLT
MA

3

E
F

Function

Control register a
Control register 1
Status register a
Interrupt register
Status register 1
Status register 2
Temp counter
Next address
Acknowledge timer
Network dead timer
Control block pointer
(most significant byte)
Control block pointer
(least significant byte)
Next address, request
Access hold-off limit
Transmit limit
My address

76

LOCAL-UIA IIIITWOIIKS

Token-access cOldroller
.Iwork
complexity
MARK STIEGLITZ, Western Digital Corp.

Users can benefit from the increased speed
this transmission method provides
temporary but exclusive right to transmit on the
medium, a right the station must then relinquish to the
next designated station. This method has been historically used on sequential media on which access
sequence is implied by the physical interconnection, but
tokens can also be used on broadcast media such as
baseband coaxial or CATV systems by assigning unique
addresses to each station or node (MA: "my address")
and passing transmission rights between them (Fig. 1).
The simplicity and non-reliance on quirks of a
medium make token methods superior for use on a wide
array of applications. Relatively simple (from the
data-movement viewpoint) applications such as file
transfer to the complex time-critical applications of
factory automation are supported with the same access

In a data-communicatioris network, contention
among stations trying to get through to the central
computer is inevitable. One of the more effective
procedures to eliminate this contention is a form of
distributed polling known as token passing. Despite its
effectiveness, however, token passing has not been
very popular with system integrators. Most network
architects have been intimidated by the complexity of
the algorithms required to set up the station linkages
and to recover from network exception conditions, and
have settled for less complex control methods. A new
LSI token-access controller (TAC) residing in each
station of the network minimizes this complexity for
network designers.
A token is a message granting a polled station the

,...----------------------------------,.
I

I ·

I.

.

I
I

.

I

I

I

_1

I
I

I

fig. 1. AccHa control flow. When a station (MA: "my address") has
transmitted lis data, It sends the transmission rlghts-the lOken-to
the station identified in the next address (NA) reglstar. Station
numbers are in ascending order but need not be sequential for
network efficiency.

Fig. 2. Station dropout. Station 4 attampts to pass the token to 11,
which haS dropped out of the network. Station 4 then ''tImes out" and
scans for another station to which it can pass the token, finding 19.

MINI-MICRO SYSTEMS/March 1982
"Copyright 1982 by cahners Publishing
Company, Division of Reed Holdings Inc. Reprinted with permission
from Mlni·MlcroSystems, March 1982."

77

station of a previous message. These timers are user
settable and depend greatly on a network-transmission
rate, and to a lesser extent, on an application. The
timers work together and are the key to solving the
initialization and failed-node challenges.
Two manifestations of a failed node can occur. One
happens when a token holder tries to pass the token to
the next station in the ring. If the next station does not
respond to the token, the token-passing station soon
knows because it knows how long it should take for a
node to pass the token or to send a data message (time
protocol. Also, data rates optimized for the application, TA). In this case, the node that tries to pass the token
not mandated by the network implementation, are has primary responsibility to recover. It does so by
entering a scan mode from an access level, and polling
possible with the same LSI network controllers.
the network for another successor.
TAC's tasks
Assume that station 11 (Fig. 2) is removed from the
TAC must handle three main exception conditions: network and station 4 is attempting to pass the token to
network initialization and recovery from failed nodes, it. Station 4 will time out because 11 does not respond
addition of stations to the access ring while the network to the token within time TA and will attempt recovery
is in use and recovery from an error situation in which by passing the token to station 12. Station 12 will not
two or more tokens have been generated on the respond because it also is not present, which will cause
network.

TAG must handle three main exception
conditions: network initialization and
recovery from failed nodes, addition of
stations to the access ring while the
network is in use and recovery from an
error situation in which ·two or more
tokens have been generated on
the network.

I

I
1_____ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

.JI

Fig. 3. Station patched out. Station 11 is logically removed from the
network when station 4 changes its next address (NA) register to 19.
Thus, station 11 no longer consumes network time.

Initialization and recovery

Initialization is setting up the network's token
linkages and determining the correct values for registers in all TACS wanting to be part of the access ring
(desiring INRING status). Failed-node recovery refers to
the network restart when a token is lost or damaged.
Token loss results from exception or expected
conditions. Error cases may be a product of noise hits
on the transmission medium corrupting the token
message, or simply a controller failure. A token loss
usually occurs with the intentional removal of a station
from the access ring. The ratio of noise hits to
controller failures depends on a network's application
and administration, but both are recovered identically.
Recovery requires the detecting station to set its
linkage register to the address of an active station.
Initialization is a form of failed-node recovery in that
all of the access linkage registers of the network must
be updated. Before initialization it is not known which
node follows which. Two timers assist in these cases: a
fairly long-time value called TD, which times out
network inactivity and a shorter timer called TA, which
is the maximum turnaround time required for a
response (token or data) to be sent by the receiving

Fig. 4. With no token, there Is no transmission. All stations detect
this and start internal timers. When one expires and has the proper
control bit enabled, it restarts the network. TO is the stetion-inactivity
timer. INIT is a switch that, when false (F), tells TAG not to attempt
recovery regardless of TO. When INiT is true (T), TAG attempts to
initialize the network after there has been no activity for duration of
TD.

station 4 to try 13. This "polling" continues by station 4
until it finally gets to 19. Station 19 will respond,
causing station 4 to update its next address register
(NA) to 19, bypassing station 11. The next time station 4
gets the token, it immediately passes it to 19 (after
sending any messages).
At this stage, station 11 is logically removed from the
network, or "patched out" (Fig. 3). If station 11 wants
to get back into the network later, the standard
station-adding procedures must be followed.
This station-by-station access polling consumes network time (each poll takes TA time), and may appear to
be an inefficient use of network bandwidth. But this is a
rare error-recovery case. Further, it is handled completely and autonomously by the TAC, which at least
bounds the delay. The host J.Lp is not burdened with this
critical task and, as a result, does not slow the recovery
procedure.
The second failed-node manifestation occurs when a
station holding the token itself fails before it has a
chance to pass the token to another. If station 4 has the
token (Fig. 4) and dies before passing it, no activity
76

MINI-MICRO SYSTEMS/March 1982

couple of them are not on-line at a time, one will come
up and reinitialize the network.
Additional stations can be added to an operating
token network at any time. If a supervisory communication path can be assumed, a candidate station requests
of the administrator that it be admitted to the access
ring. This approach is not unlike the method pay-TV
companies use to enable new subscribers' decoder
boxes. When installed, a service representative of the
cable-TV company telephones (the supervisory commuoccurs on the network and no station has the short nications method) the central site, which then sends the
timer (TA) running. All stations, however, have the properly addressed enabling signal over the network.
timer TD, or network dead timer, running. The station While this method is efficient from the network
whose TD timer expires first takes recovery responsibil- viewpoint (the infrequent control messages are handled
"out of band"), such duplicate communications schemes
ity.
To simplify network administration, not all stations do not usually exist.
A more acceptable solution is to allow the control
must be able to reinitialize the network. The first
station whose network timer TD times out tests the communications to share the data bandwidth. To avoid
control bit "INIT," saying, in effect, "when timer TD data collisions and retain the prized asset of a token
expires, should I claim the token?" If INIT is false, the system~eterminism-new stations are added on a
station waits, as does every other station, for a station's controlled-polling basis. To accomplish this, the TAC
requires the host to initiate the test for a new station.
TD to expire that has IN IT true.
One station on the network's timer TD that has the Although, in this case, host interaction is required to
ability to initialize will eventually expire. That station expand the network, that interaction doesn't set back
will claim the token and send its messages, ot send the the goal of autonomous TAC network control in that
token to its successor station as directed by its NA adding stations is not a real-time requirement. The
register. Thus, if station 19 happens to have the shorter time to add a new station is not critical to the
timer TD and has its initialize enable bit set (Fig. 3), performance of the rest of the network.
station 19 assumes the token, sends whatever messages
There are three primary methods by which a station
can be added to a network. The first is a distributed
it had queued and sends the token to station 54.
On receiving the token, station 54 (Fig. 4) sends its method, in which each station in the network can poll
messages and tries to pass the token to station 4. If for new stations in the gap between its address and the
station 4 has recovered from its problem (its failure next address (between MA and NA). Second is a
caused this recovery condition), it receives the token centralized method, in which an individual station
designated by the network architect can interrogate
and transmits with it.
If station 4 still does not transmit, station 54 has the entire address space seeking a new station desiring
primary recovery responsibility (54 has started its INRING. The third-central seam-is a simpler (from
timer TA) and will enter the scan method. The scan the host point of view), centralized method in which a
starts at station 5 and searches until it finds the next station can send a global frame causing all the on-line
available on-line station (11 in this example).
TACs to reset their next address register. This causes
The power-up initialization case behaves in the same each TAC to poll its address space at its next token-pass
manner. As stations come up, they wait for a message attempt. Each method has advantages and disadvanor for their timer TD to expire.
tages.
Host software is responsible for setting up the next
The distributed method does not rely on a specific
address register before enabling the transmitter in the station. Thus, there are no problems or efforts spent
TAC. This is set to the station address plus one (which selecting the administrator, nor is there any concern
will in effect cause a polling by that station) or, if it has about backup administrators. In the distributive methsome prior knowledge of what the network configura- od, each station has the same responsibility to allow
tion looks like, it sets NAto reflect the correct address new access members as other stations. This method is
of the successor. Host software is also responsible for the most host intensive and requires each station to
setting the time-out values in the recovery timers (TA maintain a timer (that can be configuration set as to its
and TD). The value for TA should be consistent among value) as to how often it should poll its gap for new
all stations of a network, but TD is not critical, and thus stations.
may vary greatly because it is used only in exception
For example, assume the timer in each station is 5
situations.
sec. and that station 4's timer has expired (Fig. 5). The
For example, there can be half a dozen stations on the host attached to station 4 notes that the next address
network that are intended to recover from catastrophic register (NA in the TAC) is set to 11, which indicates
conditions such as loss of token. These stations can all that a new station might be added to the network as
have substantially different time values TD so that if a station number 5, 6, 7, 8, 9 or 10.

Additional stations can be added to an
operating token network at any time.
The distributed method does not rely
on a specific station. Thus, there are no
problems or efforts spent selecting
the administrator.

79

MINI-MICRO SYSTEMS/March 1982

I

r

A token is a message granting a
polled station the temporary but
exclusive right to transmit on the
medium, a right the station must
then relinquish to the next
designated station.

The host queues a frame into the TAC transmit chain,
polling station 5. This frame will be sent by 4 with an
acknowledgement requested from 5. If 5 is present it
responds; otherwise, the TAC aborts its attempt after
time TA. The TAC marks the result on the frame in the
host memory space and proceeds with other tasks.
After this exchange, the host, at its leisure, checks

IMPLEMENTING TAC
The TAC is a single-chi" NMOS LSI
device that performs all real-time
communication tasks in a ILP-based
system. The assumed existence of a
ILP allows some less critical, nonnetwork performance-affecting tasks
to be performed outside the TAC, such
as flow control and adding new
stations.
Removing these functions from the
device results in:
• Less processing power, which, in
turn, makes the chip smaller and less
expensive;
• No processing burdens, enabling
the TAC to respond faster to network
conditions, thus improving efficiency;
• Saved firmware space and
processing power, which can be used
for internal diagnostics and a more
sophisticated host interface-a
chained frame buffer scheme, which
is a trade-off in favor of system
efficiency.
To meet the network requirements
and to include the other features
expected in LSI, such as internal
validation, a three-processor design
was used consisting of a primary
microcontroller, a receiver and a
transmitter.
The primary microcontroller performs all token-algorithm support
such as network initialization and
error recovery, manages host inter-

rupts and coordinates internal and
system diagnostics. It also evaluates
the host commands and arms and
Local network Interface

Each node (or .tatlon) Include. a
modem, a network controller (TAC: token
access controller) and appropriate hardware as required by the application
("'host"').

supervises the receiver and transmitter microcontrollers.
The receiver does minor frame
(group of bytes) filtering and frame
validation and, independently of and
simultaneously with the primary
controller, performs OMA operations
storing incoming data. The transmitter
sends data via its OMA interface when
allowed by the main controller, that is,
when a token is received.
The register file is used by the host
to set memory pOinters, network
address registers, long-term parame-

ters such as frame transmit limits
(allowing users to select exhaustive or
non-exhaustive transmission) and the
conventional command, status and
interrupt indications. The TAC'S primary interface to the host is its OMA
system. Data to and from the network
and options selectable on a frame-byframe basis are read in this manner.
The half-duplex network interface
has standard RTSlcTS handshakes.
Another feature of the receiver is a
signal-quality input that allows errors
that are easily detected by the modem
(such as a missing clock detected in a
Manchester decoder or low carrier in
a broadband system) to be signaled to
the TAC. The use of these low-level
checks further enhances the basic
frame integrity beyond that of the CRC.
Messages are sent between stations on the network in frames. The
frame structures are similar to the
industry standard HOLC; delimiters are
unique flag patterns with zero
insertion used for dal~ transparency.
In addition to adding the required
control fields to support the token
protocol, the TAC recognizes three
basic frame types: a short token pass
frame, a short frame conveying only
acknowledgement and control information and variable-length frames
holding user inforl]1~tion and optional
network control information.

Data access lines 0-8
Internal address 0-3

Register

1+_-+1
_
Chip select (CS)
Interrupt request (INTR)
Master reset (MR)
Clock (CLK)

file

~!~~:)t

L........J---,...---r-...J
......r - - - ,

Address (A) 0-15
DMA request Input (DROI)
DMA reque$! output (DROO)
OMA acknowledge (DACK)

Transmit clock (TC)
Transmit data (TO)
Request to send (ATS)
Clear to sand (CTS)

Receive clock (RC)
Receive data (RD)
Carrier detect (CD)

DMA
REGS

TAC includes three processors implemented in a single LSI device that interfaces with the host through a register file and a DMA
subsystem.

80
MINI·MICRO SYSTEMS/March 1982

the example of Fig. 6, when station 4 starts polling, it
polls only to address 75 before resetting to zero. This
works like the distributed method except that a single
station does all the work.
When the polling station determines that a station
has been added, it must place the new station in the
access ring. For example, station 4 is the centralized
station doing all the polling (Fig. 6), and it discovers
that station 27 has recently been added. Station 4
knows this because station 27 now responds to a
first-time poll, and because its status bit is set,
indicating that it wants to be added to the ring. (Some
stations may be receive only, never desiring the right
to initiate transmissions.) Station 4 sends a high-level
message to the software in station 19, telling it to
change its next address register to 27. This message

In the centralized station addition
method, a single station can poll the
entire address space, seeking a new
station that desires INRING.
the transmit status of the frame. The host sees that the
frame acknowledgement timed out, meaning that
station 5 has not been added to the network, or that
station 5 is on the network and whether the request
INRING is set in the network code field. In either case,
the host takes appropriate action. If the desired IN RING
bit is set, station 4 changes its NA register to 5, allowing
its next token to be passed to 5. This action puts station
5 in the ring.
Depending on an application's sophistication, a control message can be sent to station 5. That message
says, "Your successor is X." In this case, X = 11, so that
5 is not forced to poll for its successor. In any case, 4
updates its next address register to 5 and does not need
to go through this distributive polling cycle again

'-----<.

3 Set NA to 27

Fig. 5. Distributed pOlling. Each host polls the gap in its address
space for the possible addition of new stations. The host internal poll
timer and pOll counter set the polling rate and range as desired.

Fig. 6. Central polling. A single station--jn this case, station
4-dubbed "the administrator, " can be charged with all polling tasks.
This simplifies the software in the other stations and centralizes
network control.

because there is no gap between 5's address and the
next address; there is no possibility that a new station
can be inserted between addresses and 5. If 5 didn't
respond to 4'S poll, station 4 updates its poll counter so
that the next time that the poll timer times out, station
6 will be tried.
If node 6 responds, its desired INRING bit is tested as
above. If 6 does not respond, the host will queue a poll
to station 7 the next time its poll timer expires. This
continues until the host completes 10, when the cycle
goes back to 5 and repeats. In this example, with a gap
of 6 stations (between 4 and 11), and with a 5-sec. clock,
a new node can be added within 30 sec.
In the centralized station-addition method, a single
station can poll the entire address space, seeking a new
station that desires INRING. One reason for centralizing
this function might be the more careful control that can
be placed in a network. There can also be optimizations.
For example, the central polling station can keep track
of the stations that already exist and, therefore, bypass
some address ranges. A polling station may know the
network will never have more than, say, 75 stations. In

can also prompt station 19 to tell 27 its next address
register should be 54. This gets confusing, but it is all
done with high-level software. These tasks are not real
time and are quite efficient from the network point of
view.
Station 4, the administrator, need not create and
maintain a table of active stations on the network
because the poll response returns three pieces of
information. As node 4 polls the stations on the
network, it finds out (a) that the polled station does not
respond at all, as it would if it polled station 12 in Fig. 6;
(b) that the station is already part of the network and is
already in the ring or is receive only, as it would if
station 4 happened to poll station 11 or 19; and (c)
whether the station is attached to the network, is alive
and wants to be in the ring, as is the case with a poll to
27. These indications are conveyed by a combination of
status bits sent back by the acknowledge frame. This
acknowledge frame and status information are transferred at a TAC device level, so a host is not concerned
with whether its station wants to be in the ring. The
host simply sets up the proper bits in the control
81

MINI·MICRO SYSTEMS/March 1982

To simplify network administration, not
all stations must be able to reinitialize
the network.
registers; the bits are relayed automatically by the TAC.
Thus, with a simple algorithm, an administrative
station can poll the entire network address range and
know the network's exact membership and status.
Central scan

Central scan is the simplest method of adding
stations to a network. It involves sending a global
frame to all stations on the network, which forces each
to update its own next address register to its station
address plus one (NA = MA + 1). Assume station 4 is the
centralized station and sends the scan command frame
(Fig. 7). Station 11, upon receiving it, automatically
sets its next address register to 12 (the TAC does this;
the host is not involved but is notified of the situation).
Also, station 19 sets its next address register to 20, and
station 54 sets its NA register to 55.
The result of this is a round of polling at the TAC
level. Station 11, on completing its use of the token,
tries to send it to 12. The token to stati«;1ll 12 times out
because 12 is not present. Station 11 reclaims the token
trying to send it to 13 and so on, causing 11 to poll for
station addition. The drawback of this is the huge time
disruption incurred by the simultaneous polling.
It is not required that station 4 send this scan control
frame to all stations at the same time. If it is known
that station 11 exists in the network and that a station
may be trying to add into the network after station 11
in the address space, a command can be sent to 11
telling it to set its next address register to 11 + 1. Now
11 will go through scanning station 12, 13, 14 ... again
without intervention from
station l1'S host
software. This directed scanning has the effect of
smoothing the polling disturbance over a greater time.
The trade-off of all these methods is the software
complexity distribution. If a TAC user assumes more
responsibility, providing more intelligence distributed
in the software, the system can be more sophisticated
in handling new stations. If a user wants the TAC to
handle this task itself, saving host software development, he pays only slightly in inefficiency. TAC gives
the user an option.

Fig. 7. Central scan request. A special command can be sent by any
station causing all attached TACs to set their NA register to the
address of the next possible node. This causes each TAC to poll
without the help of the host.

Recovery from multiple tokens
Multiple tokens are not allowed on a token bus
because their presence causes a breakdown of the
orderly nature of the protocol. Their presence can only
be the result of a combination of exception and
hardware failure conditions but, once present, must be
handled immediately.
The primary defense against multiple tokens is
prevention. The control algorithms and the frame
formats have been designed to minimize multiple
tokens. For example, the TAC can refuse to allow a

piggyback token (a single frame containing both the
token and a user-information field) with the dataacknowledge option. If this were allowed, conditions
could result in which the data was negative acknowledged by its receiver and retransmitted, but the token
arrived successfully at its destination-in this case,
twice--creating two tokens.
Duplicate tokens, or at least network confusion, can
result from more than one station having the same
network address. Unless the stations are receive only,
their simultaneous responses to data frames and tokens
will probably result in their response not being
accepted. While conceptually simple to prevent, address duplication can be the result of hardware failure
(a bad DIP switch), operator error or configuration
error (if a device is moved from one network to
another).
Because the access controller must monitor the
network for messages addressed to itself anyway, it is
simple to check for messages sent by a station with its
address (most frames contain both a source and a
destination address). Part of a host's attachment
algorithm would normally check this counter in the TAC
before allowing it to transmit anything, thereby
catching most of these duplicate station faults before
they have a chance to affect the network.
A token access controller can also detect duplicate
tokens by knowing that, when it has the token, no other
station can transmit. This ability is supported in the
TAC by incorporating separate receive, transmit and
control sub-controllers. This allows the receiver to
monitor the medium while the primary controller is, for
example, searching the host's memory for a frame to be
sent. If another token exists or is suspected, the TAC
drops its token, allowing the other to circulate. If there
is no other token, the network is left in a no token state
and is easily restarted with the aid of recovery timer
TD.

•

Mark Stieglitz is manager, local networks, Western Digital
Corp., Newport Beach, Calif., and chairman of the IEEE
committee working to set a token-passing protocol standard.

82

M!N!-M!CAO SYSTEMS/Msrch 1982

WESTERN DIGITAL
c

o

R

p

o

R

A

T

I

o

N

WD4028 NetSource/PC-LANTM Local Area Network Controller
FEATURES

ARCHITECTURE

• IBM POM COMPATIBLE

The following is a brief description of the hardware
functions included on the PN-IBM interface card:

• TOKEN PASSING PROTOCOL FOR
PREDICTABLE PERFORMANCE
• RING TOPOLOGY
• AVAILABLE WITH MS-DOSTM COMPATIBLE
SOFTWARE

Network Control Processor - The WD2840 is the
heart of the PC-LAN Interface board. This device consists of three individual processors plus the micro-code
containing the token passing algorithm (see WD2840
data sheet).

• RELIABLE OPERATION OVER 10,000 FEET AT 1.0
MBITS/SEC (1000' MAX BETWEEN ADJACENT
STATIONS)

Data Buffer - This part of the circuitry includes the
64Kx9 RAM and the associated control logic for storing
both the incoming and outgoing data packets.

• UP TO 254 NODES PER NETWORK

Peripheral Logic - The three main peripheral devices
shown here are the PPI parallel interface, the Programmable Timer, and the optional Data Encryption device.
The PPI reads the user programmed node address
straps on the board and provides additional control outputs used by the Cable Interface. The timer is available
for use by higher level software interface routines for
such functions as a security. Finally, a population
option is available on the board for the addition of a
high speed data encryption device (WD2001) for use
with networks requiring data security.

• LOW COST TWISTED PAIR CABLE
• INCLUDES 64 KBYTE PACKET BUFFER
• NBS ENCRYPTION AVAILABLE ON-BOARD
• EASILY INSTALLED
DESCRIPTION

The WD4028 PC-LAN is the Western Digital interface
board for the IBM-PCTM Personal Computer. It is the first
of a family of Local Area Network board level products
from Western Digital. The NetSource/PC-LAN board
provides a fast, reliable, yet inexpensive means for
interconnecting a variety of different microcomputer
systems. The basic design of the network combines a
unique cable interface method with a new Western Digital LSI network control processor, the WD2840 Token
Access Controller.

Cable Interface - Since this portion of the circuit
determines the reliability of the network, the cable
interface for the PC-LAN was designed very carefully.
In particular, circuitry is included to permit uninterrupted operation even in the presence of high ambient
electromagnetic noise (typical of industrial environments). Circuitry is also included to automatically
bypass any network node from which power is
removed. For encoding the data on the network, a Manchester type Modem is used. This restricts the information content of the signal to a single octave of
bandwidth. This increases the signal-to-noise ratio,
minimizing distortion due to non-linearities within the
cable, and permitting complete DC isolation between
nodes.

The network processor (WD2840) used in all PC-LAN
boards is designed by Western Digital Corporation to
handle the major communications tasks as they relate
to the local ring network token passing protocol. These
tasks include network initialization, addressing, data
transmission, acknowledgments, and diagnostics. In
addition, global addressing and dynamically alterable
station priority is supported.

MS-DOS is a trademark of Microsoft Inc.
IBM-PC is a trademark of International Business
Machines Inc.

Communication with the Host is accomplished through
a dual port memory included on the PC-LAN board.
This 64 Kbyte memory is used as a FIFO for all data
sent and received via the ring network, with the
WD2840 Control Processor managing the data
pointers.

83

.--------------------------~"~~----------------.

2MHz

18MHz

W

NETWORK

D
ARBITER

2
8
4

o

B
DATA
BUFFER
64Kx9
DRAM

2MHz
1 MHz

U
S
I
N
T
E

HOST COMPUTER

R
F

CONTROL
SIGNALS

A
C

E

1 MHz

FIGURE 1.

WD4028 PC·LAN SIMPLIFIED BLOCK DIAGRAM
WD2840 NETWORK BOARD CONTROL
PROCESSOR

BUS INTERFACE

The Bus Interface consists of Address Buffers, Data
Buffers, and Control Buffers. These buffers isolate the
PC-LAN from the Host bus and prevent the bus from
overloading.

The WD2840 Token-Access Controller is comprised of
three major elements: a fast serial communications
subsystem, a two-channel DMA controller, and a microprocessor with an internal ROM and RAM.
The device's three pre-programmed microcontrollers
handle network access and Host memory-management functions. This type of architecture facilitates
internal parallel processing, for example, prefetching a
new Buffer Address while transmitting or receiving
data. Although the token-passing protocol is a halfduplex scheme, separate receiving and transmitting
subsystems permit loopback testing.
The primary microcontroller has the capabilities and
instruction set of a conventional 8-bit microprocessor,
including subroutines, bit manipulation, conditional
branching, and arithmetic operations. The primary
microcontroller, whose chief task is to run the token
algorithms and maintain the Host memory chain, has
its firmware located in the internal1-kbyte ROM. Repetitive and simple operations (i.e. DMA fetching and storing), are controlled by the receiving and transmitting
microcontrollers.
The control ports of the WD2840 are addressed at
280H-28FH.

ARBITER

The PC-LAN uses custom logic devices to create a
dual-port memory, allowing access to the Data Buffer
by both the Host and the Network. Because of the realtime nature of the Network, the WD2840 has priority
over the Host for access to the buffer. If the Host
requests access while the WD2840 is accessing the
memory, the Host is given WAIT states until the
WD2840 releases the buffer. The WD2840 interleaves
its accesses in such a manner that the Host is never
denied access for more than about 1 microsecond at a
time. WAIT states are generated only when the Host is
accessing the PC-LAN Buffer Memory or Control Ports.

DATA BUFFER
The Data Buffer consists of nine 64Kx1 dynamic
RAMs. A standard delay line timing control circuit is
used to assure maximum reliability.

MODEM

The Data Buffer appears to the Host as a contiguous
64K byte block of read/write random access memory
that is addressable in the 90000H-9FFFFH range.

A CMOS HD6409 Manchester Modem device is used
to encode data on the cable. The use of Manchester
code restricts the information content of the signal to a
single octave of bandwidth (f to 2f); thereby increasing
the signal-to-noise ratio, minimizing distortion

84

Port C - Status inputs: interrupts and cable interface.

(because of the nonlinear frequency response of the
cable), minimizing group delay distortion, and permitting complete DC isolation between the nodes (if
desired).

The PPI is addressed as ports 290H-293H.
PROGRAMMABLE INTERVAL TIMER (PIT)

Two channels of the PIT Programmable Interval Timer
device are available for use by high level software interface routines for functions such as a Watchdog Timer.
These two channels are cascaded to provide for a 32bit time interval generation or measurement. The timer
is clocked at 1 MHz.

LINE DRIVERS AND RECEIVERS

The PC-LAN uses a unique line driver/receiver
arrangement to permit uninterrupted operation in the
presence of high ambient electromagnetic noise (typical of industrial environments).
A differential current mode line driver switches a constant low current (approximately 10 mA) between a pair
of conductors and uses the shield for return. The resultant current in the shield is constant and does not radiate. Although the current in the pair is constant, the
locus of the current moves slightly as the current is
switched from conductor to conductor; however, the
change in the locus is small, causing minimal radiation
which is trapped by the shield. The overall result is a
cable that radiates far less than traditional coax or
twisted pair. Radiation is so low that two pairs of conductors operate within the same shield with no crosscoupling.

The pit is addressed as ports 294H-297H.
ENCRYPTION

The optional WD2001 Data Encryption device can be
used to provide high speed data security services. The
WD2001 is addressed as ports 298H-299H.
CLOCK GENERATION

The modem device is also used as the master oscillator
for the PC-LAN. The Modem device uses a 16 MHz
crystal, and provides a high frequency clock for the
Modem and the Arbiter. A portion of the custom logic
circuit is used to divide the 16 MHz to 2 MHz for the
WD2840 (Network Controller) and WD2001 (Encryptor), and to 1 MHz for the PIT.

A differential line receiver is used to detect the received
signal. This receiver provides 3 to 5 volts of common
mode noise rejection and detects differential signals of
30 to 40 millivolts.
CABLE CONNECTION

RING TOPOLOGY

The transmission line is terminated at the receiver with
its characteristic impedance (100 ohms) to minimize
reflection noise.

The unique topology chosen for the PC-LAN combines
the best features ofthe commonly used Ring (IBM) and
Bus (Ethernet) topologies. The result is a system with
the low cost and high reliability of the Ring, but with the
flexible topology of the Bus.

D-type 9-pin connectors are used to interconnect the
PC-LAN nodes. Live pins connect to the cable (two pair
plus one to the shield) to improve ground conductivity
and minimize common mode noise problems. Two of
the remaining pins are used to detect unplugged
cables.

PhYSically, the network nodes are interconnected using
pre-assembled lengths of cable having a 9-pin male
connector at one end, and a 9-pin female connector at
the other. Each node also has two 9-pin connectors;
one male and one female. The user installs the system
by simply interconnecting the nodes together in a daisy
chain fashion as shown in Figure 2.

Having one male and one female connector at each
node prevents improper cable installation and allows
cables to connect to cables as well as to nodes for use
as extensions.

Electrically, the network resembles a Ring configuration with each node regenerating the signal. This eliminates cumulative noise and signal attenuation
problems which can severely limit the size and reliability of bus oriented networks.

BYPASS

High reliability relays are included to automatically
bypass any network node which has power removed.
These relays can also be de-energized under program
control should self-diagnostics determine that the node
has developed a fault.

The network cable itself consists of two twisted pairs
with an overall shield. This permits the separation of
the Send and Receive signals, so that data flows in only
one direction in each signal pair.

PARALLEL PORT INTERFACE (PPI)

Each network node located at the physical end of the
cable (or Cable Branch) has a termination plug connected to the unused 9-pin connector(s). These plugs
are wired such that the two cable pairs are tied
together, thus completing the ring.

The Parallel Port Interface device provides three 8-bit
ports that are used as follows:
Controls outputs to the cable interface and
interrupt circuits.

Port A Port B -

Node address input (8 bit binary value).

85

NETWORK
SERVER

FIGURE 2.

PC-LAN SYSTEM RING CONFIGURATION
Computer Interface:
Power:
+5VDC(±5%)
+ 12VDC (± 5%)
-5VDC(±5%)
Bus compatibility: IBM PC, Compaq, etc.

SPECIFICATIONS
Physical:
width: 4.25" (10.8 cm.)
Length: 13.32" (33.8 cm.)
Thickness: .60" (1.5 cm.)
Weight: 11 oz. (312 g.)

Environmental:
Operating Temperature 0 to + 55°C
Relative Humidity to 90% (without condensation)

Network Cable Type:
Belden 9855/UL 2582 (standard)
Belden 89855 (Plenum)

Network Specifications:
Data Rate: 1.0 Mbitlsec
Packet size: 1 to 4095 bytes
Access Protocol: Token Passing
Maximum number of nodes: 254
Buffer size: 65536 bytes + parity
Buffer access: dual port RAM
Maximum length: greater than 10,000 ft.
Maximum dis!. between nodes/repeaters: 500 ft.
Frame format: similar to HDLC
Error detection: CRC16-CCITT (16 bit CRC)

Cable Connectors:
9-pin male D-type
9-pin female D-type
Cable Interface:
Impedance: 100 ohm balanced
Min. signal level: 25 mv differential
EMI susceptibility:
2 volts/meter from 10 kHz through 30 MHz
5 volts/meter from 30 MHz through 1 GHz
RFI emission:
Complies with Part 15, Subpart J of FCC 47 CFR

Address Space Required:
Memory: 65536 bytes contiguous; selectable on any
64Kbyte boundary
Ports: 280h through 29Fh inclusive
Interrupts: optional; one required if used
DMA: Provided by 2840; IBM channels not used

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

Prtnted In

u.s A

WESTERN DIGITAL
c

o

R

p

o

R

A

T

/

o

N

WD2511 X.25 Packet Network Interface (LAPB)
FEATURES

NO
CONNECTION
REPLY
WE
CS
RE
ClK
MR
DAlO
DAll
DAl2
DAl3
DAl4
DAl5
DAl6
DAl7
RD

• Packet switching controller, complies with CCITT
Recommendation X.25, level 2, LAPB.
• 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. Sendl
receive data accessed by indirect addressing
method. Sixteen output address lines.
• Zero bit insertion and deletion.

RC

• Automatic appending and testing of FCS field.

(GND)VSS

• Computer bus interface structure: 8 bit bi-directional
data bus. CS, WE, RE and four input address lines.

4
5
6
7

8
9
10
11
12
13
14
15
16
17
18

TC
TO
RTS
CTS
DROO
DROI

• DC to 1.1 MBPS data rate.
• TTL compatible.
• 48 pin dual in-line packages.

21
23
24

VCC(+5V)
IAl
lAO
IA2
IA3
INTR
VDD( +12V)
A5

A4
A3
A2
A15
A14
A13
A12
All
Al0
A9
A8
A7
A6
AO
A1
DACK

PIN DESIGNATION

DESCRIPTION

APPLICATIONS

The WD2511 is a MOSILSI device which handles bitoriented, full-duplex serial data communications with
DMA, which conforms to CCID X.25's LAPB with programmable enhancements.

X.25 PACKET SWITCHING CONTROLLER
PART OF DTE OR DCE
PRIVATE PACKET NETWORKS
LINK LEVEL CONTROLLER
STORE AND FORWARD SYSTEM
HIGH REL POINT TO POINT COMMUNICATIONS
BIT ORIENTED PROTOCALS WITH BUILT IN DMA

The device is fabricated in N-Channel silicon gate MOS
technology and is TTL compatible on all inputs and
outputs.

87

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

SYMBOL

1

FUNCTION

PIN NAME
No Connection

Leave pin open.

Reply

An active low output indicates the WD2511 has
either a CS-RE or a CS-WE input condition.

2

REPLY

3

WE

Write Enable

The data on the DAl are written into the
selected register when CS and WE are low.

4

CS

Chip Select

Active low chip select for CPU control of 110
registers.

5

RE

Read Enable

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

6

ClK

Clock

Clock input used for internal timing. Must be
square wave and should be greater than 500
KHz.

7

MR

Master Reset

Active low initializes the chip. All registers reset
to zero, except control bits MDISC and LINK
which are set to 1. DACK must be stable high
before MR goes high.

8-15

DAlO-DAl7

Data Access Lines

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

16

RD

Receive Data

Receive serial data input.

17

RC

Receive Clock

This is a 1x clock input. RD is sampled on the
rising edge of RC.

18

VSS

Ground

Ground.

19

TC

Transmit Clock

A 1x clock input. TD changes on the falling
edgeofTC.

20

TD

Transmit Data

Transmit serial data output.

21

RTS

Request-To-Send

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

22

CTS

Clear-To-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

DRQO

DMA Request Out

An active low output signal which initiates CPU
bus request so the WD2511 can output data
onto the bus.

24

DRQI

DMA Request In

An active low output signal which intitiates
CPU bus request so that data may be input to
theWD2511.

25

DACK

DMA Acknowledge

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.

27,26,
38-41,
28-37

AO-A15

Address Lines Out

Sixteen address outputs from the WD2511 for
DMA operation. If the control bit ADRV is 1; the
outputs are TIL 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.

88

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

SYMBOL

43

INTR

Interrupt Request

An active low interrupt service request output
Returns to high when Status Register #1 is
read,

46,47,
45,44

IAO-IA3

Address Lines In

Four address inputs for CPU controlled read/
write operation of the 110 registers in the
WD2511, If ADRV = 0, these may be tied to AOA3, (ADRV is in Control Register = 1,)

48

VCC

Power Supply

+ 5VDC power supply input

FUNCTION

PIN NAME

ORGANIZATION

receive, and one for overall control.

Note: See appendix 0 for a glossary of terms used
throughout this document

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 CRC register, and the result
becomes the transmitted Frame Check Sequence
(FCS),

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 I/O registers addressed
by IAO-IA3,

Parallel receive data enters the Receiver Holding Register (RHR) from the 24-bit serial Receiver Register
(RR), The 24-bit length of RR permits stripping of the
FCS prior to transfer in to the RHA. The receiver CRC
register is used to test the validity of the received FCS,
A 3-stack 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 WD2511 is by means of three
internal microcontrollers; one for transmit, one for

8 BIT OAL

MICRO
C

110

0

r-----I~IREGISTERS

IAO,IA3

N
T
R

REPLY

0

16 x8

INTERNAL
REGISTERS""'"
16X8

L
L
E
R

OMA
A

0
0
R
E
S
S
E
S

OMA
CONTROL
LOGIC

OACK

AO,A15

+12V~

+5V_
MR _

TRANSMITTER
MICRO,CONTROLLER

CLK_
GNO_

RO

TO

Figure 1

WD2511 BLOCK DIAGRAM -

89

DETAILED

:e
c
N
U1

.....
.....

FRAME FORMAT

After the frame is received, if there were no errors then
the remainder in the CRC register (internal in the
W02511) will be:
1111000010111000 FOB8
The WD2511 generates and tests the Flag, FCS, AField, C-Field, and performs zero bit insertion and
deletion.

The WD2511 performs "bit-oriented" data communications control. According to the general format for bit-oriented procedures (HDLC, SOLC, 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 a 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).

According to the X.25 protocol, there are three types of
frames: supervisory (S-frame), un-numbered (Uframe), 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 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
-All I's

The WD2511 will transmit contiguous flags for
interframe time fill (full duplex mode).

..

I·FRAME (PACKET)

I"

I·FIELD (PACKET DATA)

14
FLAG

~

ADDRESS CONTROL

K""""

PACKET
CONTROL
INFORMATION

K."cm"

"I

USER DATA

~,"~~:~'~X'25

APPENDED--~_----

DMAACCESSED

FLAG

FCS

..

LEVEL2j

APPENDED

BY

BY

WD2511

WD2511

X.25 MODE

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

90

MODEM
CONTROLS

CPU INTERFACE

=e
c

I..

N

....

CII

....

00

~I

OJ

=i
0
»
r

illl ~I

5>
@I 95>

'"

£7

~I ~I '"
C)

r

~I §I ~I

~CTC

TO
WD2511

MEMORY

CTS
LEVEL 1
RTS

AO-A15

16

INTERFACE

r-

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 110
registers.

REGISTER DEFINITION
REG
#

0
1
2

3
4
5
6

7
8
9

IA3

IA2

IA1

lAO

0
0
0
0
0
0
0
0

0
0
0
0

0
0

0

1
1

0

1
1

0
0

0

1
1

1
1

0

1
1

0
0
0
0

0
0

0

1
1

0

1
1

0
0

0

1
1

1
1

0

A
B
C
D

1
1
1
1

E
F

1
1

1
1
1
1
1
1
1
1

REGISTER
CRO
CR1
"SRO
"SR1
"SR2
"ERO

REGISTER
GROUPING
OVERALL CONTROL
AND
MONITOR

"CHAIN MONITOR
"RECEIVED C-FIELD
T1
N2fT1

RECEIVER
MONITOR
TIMER

TLOOKHI
TLOOKLO
CHAIN/BUFFER SIZE
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.

91

DMASET-UP

"Pt FIELD

i

r

CONTROL, STATUS, ERROR REGISTERS

=:c
N
U1

....a.
....a.

BIT#
REGISTER

7

6

5

4

3

2

1

0

LOOP
TEST

RAMT

RECR

MDISC

CRO

ADISC

0

H/F

ACTIVE/
PASSIVE

CR1

TXMT

TRCV

XI

ADRV

0

0

0

SEND

SRO

NA2
1PKR

NA1
1XBA

NAO

RNRR

NB2

NB1

NBO

RNRX

1ERROR

0

NE2

NE1

NEO

0

0

0

0

0

LINK

ER04

ER03

ER02

ER01

EROO

SR1
SR2

T10UT

IRTS

REC
IDLE

ERO

ERO?

ER06

ER05

1 Causes Interrupt (INTR Goes Low).

CONTROL REGISTER 0
REGISTER

CRO

CR07

ADISC

CR06

0

CR05

CR04

CR03

CR02

CR01

CROO

H/F

ACTIVE/
PASSIVE

LOOP
TEST

RAMT

RECR

MDISC

BIT

DESCRIPTION

CROO

MDISC (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, MDISC will be set. The WD2511 will neither transmit nor accept received data
until MDISC = O.

CR01

RECR (Receiver Ready) indicates the CPU's is receiver buffer is Ready (CR01
RECR = 1, the WD2511 may begin receiving I-frames. (See SROO)

= 1). If

CR02

RAMT - Internal Register Test when set. (See Self Tests)

CR03

The LOOP TEST bit will connect the transmit data output to the receive data input. The
receiver input pins RD and RC are then logically disconnected from the internal circuitry.
The "E" and "F" data registers of the A-field must be equal.

CR04

The Active/Passive bit when set, in conjunction with MDISC = 0, will cause the WD2511
to initiate link set-up. When this bit is reset, the WD2511 will wait for a link setup from the
remote station.

CR05

H/F selects full duplex if CR05 == 0, and half duplex if CR05

CR06

Unused control bits should remain at O.

CRO?

ADISC (disconnect) 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. If CRO? = 1, the WD2511 will send only the SABM.

92

= 1. (See Appendix A).

CONTROL REGISTER 1
REGISTER
CR1

I
I

CR17
TXMT

BIT
CR10

I

I

CR16

I

I

CR15
XI

I
I

CR14

I
I

CR13

I
I

CR12

I
I

CR11

I
I

CR10

SEND
0
0
0
DESCRIPTION
The SEND bit 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 segment for
transmission. If BRDY = 0, the WD2511 will clear SEND and no action 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 ofthe segment just transmitted, and
reads BRDY ofthe 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 a BRDY bit is set.
TRCV

ADRV

CR11-13

Unused bits, write in O's.

CR14

The ADRV (ADDRESS VALID) bit 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 is low. If ADRV
= 1, the outputs are always low impedance (TTL), and are forced high-level (logical 1)
when DROO, DROI and DACK are all high.

CR15

Xi - J..Transparent I-field) Used when TXMT = 1
2:9 = O.Frame ~ 3 bytes excluding FCS and Flag.
XI = 1.Frame < 3 bytes excluding FCS and Flag.

CR16

TRCV - Transparent Receive. Receive all frames including unknown frames. See
Appendix A.

CR17

TXMT - Transparent transmit. See Appendix A.

STATUS REGISTER 0
REGISTER
SRO

I
I

SR07
NA2

I
I

SR06
NA1

I
I

SR05
NAO

I
I

SR04
RNRR

BIT
SROO

I
I

SR03

NB2
DESCRIPTION

I
I

SR02
NB1

I
I

SR01
NBO

I
I

SROO
RNRX

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, SABM, or UA is received:

SR07-SR05

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

93

r

STATUS REGISTER 1

:ec

REGISTER I

SR17

I

SR16

I

1PKR

I

1XBA

SR1

I\,)

BIT

CJ'1

.....
.....

SR15

I

SR14

I

I 1ERROR I

°

°
°

SR10

I

SR13

I

NE2
DESCRIPTION

I

SR12

I

SR11

I

SR10

I

NE1

I

NEO

I

°

(not used)
NE2-NEO, Next Expected packet number and next RlOOK segment number,

SR13-SR11
SR14

(not used)
The ERROR bit indicates: 1) An error has occurred which is not recoverable by the
WD2511 or 2) A significant event has occured,

SR151

For the specific reason for the ERROR bit being set, see error register (ERO) on next
page,
SR161

The XBA (transmitted block acknowledgement) bit set, indicates that a previously transmitted Block, or Blocks, have been acknowledged by the remote device, Upon acknowledgement, the AGK'ED bit is set to "1" for each segment in TlOOK which was
acknowledged,

SR171

The PKR bit stands for Packet Received, PKR = 1 indicates a packet has been received
error-free and in correct sequence according to the received N (S) count. The I-field data
has been placed in the host'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 SR1 is read, all three bits are
resetto 0, and INTR returns to high,

STATUS REGISTER 2
REGISTER

SR2

SR27

T10UT

SR26

SR25

IRTS

REG
IDLE

BIT

SR24

SR23

SR22

SR21

°

0

0

0

SR20

-liNK

DESCRIPTION

SR20

If the link is established, liNK = 0, If the link is logically disconnected, liNK = 1,

ST24-21

Unused Bits - 0,

SR25

REG IDLE (Receiver Idle) indicates that the WD2511 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 flags,

SR27

T1 OUT bit means that timer T1 has timed-out. This bit returns to 0 when T1 is re-started,
When T1 OUT = 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,

94

ERROR REGISTER (ERO)
HEX
VALUE

ERROR/EVENT

02

Receiver overrun. The Receiver Register (RR) had a character to load into the FIFO but the
FIFO was full. See note 2.

04

Transmitter underrun. The Transmitter (TR) needed a character from the Transmitter Holding Register (THR) but the THR was not ready. The frame being transmitted is aborted. See
note 2.

10

RLOOK not ready. REC ROY bit of next segment is 0 but RECR
occur if RECR = O.

21

Link is up. Was down.

22

DISC sent. REC IDLE for time T1 xN2.

24

DISC sent. SABM sent N2 times without receiving UA.

30

Received DISC or OM while link was up.

41

Going to next chain segment.

42

Next chain segment of the Receiver was not ready.

= 1. This interrupt will not

80

Link reset (SABM) received.

88

S-command sent N2 times without acknowledgement.

CO

Frame Reject (FRMR) received. See note 1.

C1

Frame Reject (FRMR) transmitted. See note 3. The received C-field (returned in the first
I-field byte of the FRMR frame) was invalid.

C3

Frame Reject (FRMR) transmitted. See note 3. The received and rejected frame contained
an I-field which is not permitted with this frame type.

C4

Frame Reject (FRMR) transmitted. See note 3. Received I-field exceeded the total amount
of I-field data bytes established in Register C.

C8

Frame Reject (FRMR) transmitted. See note 3. The received frame contained an invalid
N(R).
Y set to 1 indicates the received I-field exceeded the
maximum I-field data byte count established (CHAIN/
BUFFER SIZE). Y is mutually exclusive with W.

NOTES:
1. Whenever a Frame Reject (FRMR) is received, the
I-field will have been placed in the appropriate memory location by the DMA. A link reset (SABM) will be
transmitted. The NB is not advanced.

Z set to 1 indicates the received control field contained
an invalid N(R). Z is mutually exclusive with W.

2. Receiver overrun and Transmitter underrun are indication that the Te/RC clocks are either too fast for
the WD2511, or the DACK response is too slow, or
both.

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.
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. Also,
the WD2511 will not transmit packets while in the
frame reject condition.

3. As a result of FRMR transmitted, a SABM is
received, causing link reset. In this case, only the
Frame Reject interrupt is indicated.

w, X, V, Z OF FRMR
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
station reporting the reject condition. The third byte
contains W-X-Y-Z-O-O-O-O where W is the LSB.

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.

W set to 1 indicates that the control field received and
returned in the first I-field byte was invalid.

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 look-up
tables are divided into a transmit and a receive area
(TLOOK and RLOOK) and are located in memory external to the WD2511.

MEMORY ACCESS METHOD

X set to 1 indicates the rejected frame contained an
I-field which is not permitted with this command.
W is also set to 1 in this case.

95

=e
cI\)

c.n
.....

.....

the flag, address, and control fields. Next, the information field data will be transmitted using DMA from the
"SEND #0 PACKET" memory buffer. 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.

TLOOK
RLOOK
These tables contain address and control information
for individual Transmit/Receiver packets.
To provide the WD2511 access to TLOOK and RLOOK
load only the starting address of TLOOK into the
WD2511 registers A and S.

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.)

REGA
REGS
AO-A 15 16 bit TLOOK starting address

RECEIVE

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.

When received, 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 mode. If 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.

TRANSMIT

To 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

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

TSADR#O
TLOOK

TCNT
#0

SEGMENT 0
SEGMENT 1
SEGMENT 2

TSADRN1

SEGMENT3

SEND
PACKET
#1
(FIRST PART)

SEGMENT4
SEGMENTS

XFRADR

RECEIVE
PACKET NO
(FIRST BLOCK)

SEGMENT 3
SEGMENT 4
SEGMENTS

FOR THIS EXAMPLE,
TCNTN11S
GREATER THAN
BUFFER SIZE. THUS.
SECOND PART
OFN11S
CHAINED.
RECEIVE
PACKET NO
(SECOND BLOCK)
XFR ADR

SEGMENT 6
SEGMENT7
ERROR
COUNTERS

SEND
PACKET#1
(SECOND PART)

LIM

~
XFR ADR

Figure 3. MEMORY ACCESS SCHEME

96

r - -

I
MEMORV __ I
I

- - -

CHA - - - - - - - - - - - - - LOOK-UP
TABLE

C~B

-

°

TLOOK

I

-

-

-,

TLOOK

2

I

3

I

I

4

I

:

I

7

:

-

LOOK-UP
TABLE

RLOOK

0:1

I

4

i

;

L __ /
WD2511

CHA

SE"AL
RECEIVE
CHANNEL A

/

/---_~

TSAD~

/ RSADR #3

I/V(CiHA
RCNT #3
CH A

:

'- ..~1-----6-t

BB~~~R

CTH
B

7

1 - - - - -0-1
2
3

RECEIVED
THRU
TCNT #6
CH A
CH B

lt~~l

RLOOK

1

:

~-- ~

______________

After the Data Buffer is received by CH A, the length (RCNT) is
in RLOOK segment #3. The CPU interrogates the packet header
(at tKe 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.

WD2511

CH B

+

SERIAL
TRANSMIT
CHANNEL B

Figure 4. STORE-AND-FORWARD EXAMPLE

TLOOK AND RLOOK
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 sets
BRDY = 1. (BRDY is used in conjunction with the
SEND bit.) At the completion of the transmission, the
WD2511 will set BRDY = 0 and then read the BRDY of
the next segment.
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 Iframe or S-frame. Upon acknowledgement, the
WD2511 will set ACK'ED = 1, and generate a blockacknowledged 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.

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 La. 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 RCNT)
are 12-bit binary numbers for the number of characters
in the I-field.
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 RCNT 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.

97

BIT #

:ec
N
U'I

.....
.....

BYTE#IN
SEGMENT

7

6

5

4

3

2

1

0

1

ACK'ED

NU

NU

NU

NU

NU

NU

BRDY

2

TSADR HI

3

TSADRLO

4

TCNTHI

SPARE

5
6

SPARE FOR USER DEFINITION

7

SPARE

8

SPARE

TCNTLO

NU = Not Used
FIGURE 5.

TLOOK SEGMENT

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

BRDY

0

1

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

0

0

"Transmitted and Awaiting Acknowledge (WD2511 cleared BRDY)

1

0

Received Acknowledge (WD2511 set ACK'ED)

1

1

This state not allowed

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

BIT#
BYTE # IN
SEGMENT

1

7
FRCML"

6
NU

5
NU

NU

RES2

2

RSADR HI

3

RSADRLO

4

2

3

4

RES1

NOT USED

1

0

RESO

REC
ROY

RCNTHI

5

RCNTLO

6

SPARE FOR USER DEFINITION

7

SPARE

8

SPARE

NU = Not Used (NOTE: The "not used" bits may be either 1 or 0).
"FRCML = Frame Complete
FIGURE 6.

RLOOK SEGMENT

98

CPU SETS
BRDY

~ '-----~

CPU
CLEARS
ACK'ED

RECEIVED
ACKNOWLEDGE
1-0

==

C

I\)

c.n
....

CPU CLEARS ACK'ED
AND SETS BRDY

....

DATA HAS BEEN
SENT WAITING
FOR ACKNOWLEDGE

WD2511 SETS
ACK'ED

a-a

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 ambiguityto the WD2511,
However, if it is a difficulty to the CPU, the CPU could at
start-up, set all ACK'ED bits, Since this would only be a

start-up procedure, this would not violate the "deadly
embrace" rule,
In the "WAITING FOR ACKNOWLEDGE" state, one or
more re-transmissions could occur,

RLOOK STATES
FRCML

RECRDY

0

1

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

STATE

1

0

0

0

Not Ready (CPU cleared FRCML)

1

1

This state not allowed

NOT
READY

CPU SETS
RECRDY------.

a-a

,-=----,

CPU
CLEARS
FRCML

READY TO
RECEIVE
0-1

CPU CLEARS
FRCML,AND
SETS
REC ROY

WD2511 CLEARS REC ROY
AND SETS FRCML
PACKET HAS
BEEN RECEIVED
1,0

RLOOK SEGMENT STATE FLOW

REGISTER
C

BUFFER SIZE

CHAIN
Bit
7

I

Bit

6

I

Bit
5

I

Bit
4

CHAINING/BUFFER SIZE

Bit

3

I

Bit
2

I

Bit
1

1

Bit
0

segments allowed in addition to the first segment. (If
this feature is not used, make CHAIN all O's.)

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,

The lower 4 bits of Register C define the buffer size,
which is the size of the buffer in multiples of 64 bytes
including the transfer address (XFR ADR), If buffer size
is 0000, the size is 64, For 0001, the size is 128, and so
on,

Register C is used to program the chaining feature, The
upper 4 bits define CHAIN which is the number of chain

99

The maximum amount of I-field data bytes that can be
contained in this buffer is the buffer size minus 2 bytes
(XFR ADR) for all transmitter and receiver chaining
blocks, except for the last receiver chaining block. For
this block, the maximum amount of I-field data bytes is
the buffer size minus 3.

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 only set by the CPU and only cleared by the WD2511.

For example, suppose that the buffer size defines a
segment size of 128 and that CHAIN defines 8 additional segments in addition to the first. (Register C
would be hex 81 in this example.) When 126 bytes of
I-field data have been received, the WD2511 will read
the next two buffer 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, (in this example).

SEND BIT CONTENTION

The WD2511 may be clearing the Send bit when the
host is setting it. To insure that the bit is set the host
should read the status of the Send bit after it is set. If
the Send bit is cleared the host should set it again.
TLOOK AND RLOOK POINTERS

For 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 with all Os, there will be an
Error Interrupt code 42. Otherwise, there will be an
Interrupt code 41 which is a status indication that the
WD2511 is going to the next segment. I/O Register 6
upper 4 bits gives a status of which chain segment is
currently being used.

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 to be acknowledged. If all
transmitted blocks have been acknowledged, then NA
= NB.

The transmitter chaining works like the receiver with
the following exceptions:
1. XFR ADR
ready.

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

= all O's will not indicate next segment not

NA = Next to be Acknowledged

2. There is no interrupt when going from one segment
to another.
3. There is no status of the current segment being
used.

NB = Next Block to be Transmitted
NE = Next Expected to be Received

4. Last chaining block is allowed to contain one more
I-field data byte.

VARIABLE BIT LENGTH
AND RESIDUAL BITS

Total amount of I-field data bytes in receiver = (64 x (1
+ BUFFER SIZE) - 2) x (1 + CHAIN) - 1.

The WD2511 will only send 8 bits per character and all
transmitted frames will have an integral number of
bytes.

The total amount of I-field data bytes in transmitter =
(64 x (1 + BUFFER SIZE) - 2) x (1 + CHAIN).

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

Also, note that the transmitter and receiver counts are
modified by 2 for each time a chain boundary is
crossed. For example, if BUFFER SIZE = 0001 (segment size = 128 bytes 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. Note that the largest block of data that
can be sent without chaining is 1021 bytes.

RES2 RESl

0
0
0
0
1

"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 I/O registers. The Error Counters do not
apply to this rule.

1

1
1

100

0
0
1
1
0
0
1
1

RES 0

Received Residual Bits

0
1
0
1
0
1
0
1

0
7
6

5
4
3
2
1

OTHER 1/0 REGISTERS
RECEIVED C-FIELD

ERROR COUNTERS

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

TIMER

TYPE OF ERROR

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

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

2

81T#

Received Short Frames (less than
32-bits)

3

REGISTER

"Number of times T1 ran-out
(completed)

4

T1

8

Not used

6

71&151413121110

9

LSB

N2
MSB

'REJ Frames Received

5

MSB
LSB

REJ Frames Transmitted

=
=

LSBjMSB

Most Significant Bit
Least Significant Bit

T1 provides the value of a delay in waiting for a
response andlor acknowledgement. The delay is the
binary count multiplied by time CT where:

'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.

16384
CT = CLK sec

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 (iJj\j'i{ = 0).

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.
Once the CPU establishes T1 and N2, there is no need
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.
t~rite

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

1.

2.
3.

I

r
I

ERROR
COUNTER

1

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, the frame contained 32 or
more bits, and the WD2511 is not waiting for a SABM or
DISC in response to a transmitted FRMR.

'I-frame sent and T1 not already
in progress due to previous Iframe.

'SABM or DISC sent. (N2
restarted at first occurrence)

4.

Receiver Idle (REC IDLE = 1)

5.

S - command sent

RE-STARTT1

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

STOPT1

Acknowledgement received
for alii-frames.

'RNR received while link up.

-

UA or DM Received

'Frame sent, while REC IDLE
= 1

Detected REC IDLE = 0

-

'N2 is restarted.

"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.

101

=e

cI\)
U1
.....
.....

that each can transmit and receive commands and
responses. Whether a particular frame is to be taken
as a command or a Response is determined by the contents of the address field. Commands from the DCE and
the associated responses from the DTE use address
A (hex 03) .

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

Commands from the DTE and the associated
responses from the DCE use address B (hex 01).

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

The individual commands and responses are shown in
Figure 7.

V. LAPB PROCEDURE

USE OF POLL BIT

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

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, the command will be
retransmitted with P = 1.lf 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 S-frame (originally an I-frame), the
WD2511 will reset the link by transmitting a SABM. If
the command was a SABM, the WD2511 will send a
DISC. If a DISC, the WD2511 will continue to send a
DISC indefinitely.

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 (the network
side of the DTE-DCE connection).
The DTE and DCE are each "combined" stations in

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

COMMAND

RESPONSE

BIT#
7

6

5

4

3

P

N(S)

2

1

0

INFORMATION
(I)

I-FRAME
(PACKET)

UNNUMBERED
(U)

SABM

0

0

1

P

1

1

1

1

DISC

0

1

0

P

0

0

1

1

SUPERVISORY
(S)

N(R)

0

UA

0

1

1

F

0

0

1

1

FRMR

1

0

0

F

0

1

1

1

DM

0

0

0

RR

RR

RNR

RNR

*REJ

REJ

F

1

1

1

1

P/F

0

0

0

1

N(R)

P/F

0

1

0

1

N(R)

P/F

1

0

0

1

N(R)

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

102

TRANSMISSION OF ABORT

WD2511 ELECTRICAL SPECIFICATIONS:

An ABORT (seven contiguous 1's) is transmitted to terminate a frame in such a manner that the receiving station will ignore the frame. There are two conditions
which will cause the WD2511 to transmit an ABORT:

Voltages referenced to VSS

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

1. Transmitter Under-Run
2. While transmitting a packet, a REJ is received.

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.

lOOP-BACK TEST
The loop-back may be internal (CR03 = 1) or external
(CR03 = 0). Of course, if external, RD and TD must be
tied together either directly or remotely.
If CR03 = 1, TD is internally tied to RD, and the RD signal (pin 16) is internally disconn~ed. Also, TC is internally tied to RC and the pin at RC (pin 17) is internally
disconnected. CTS must be connected externally to
GND or RTS.

Operating DC Characteristics: VSS
SYMBOL

= OV, VCC = + 5.0V ± 0.25, VSS = + 12.0V ± 0.6V TA = 0° to

PARAMETER

IDD

VDD Supply Current

MIN

TYP

MAX

UNIT

20

70

mA

ICC

VCC Supply Current

200

280

mA

VDD

High Voltage Supply

11.4

12

12.6

V

VCC

Low Voltage Supply

4.75

5

5.25

V

VIH

Input High Voltage

VIL

Input Low Voltage

2.4

+ 70°C

CONDITIONS

V
0.8

V

VOH

Output High Voltage

VOL

Output Low Voltage

0.4

V

ILH

Input Source Current

10

iJA

= -0.1mA
= 1.6mA
Vin = VCC

III

Input Sink Current

10

iJA

Vin

=:

10ZH

Output Leakage (High
Impedance)

50

iJA

Vin

= VCC

10Zl

Output Leakage (High
Impedance)

50

iJA

Vin

=

2.8

103

V

10
10

+O.4V

+O.4V

AC Timing Characteristics (AC):

SYMBOL
ClK

PARAMETER
Clock Frequency

MIN
0.5

TYP

MAX

UNIT

2.05

MHz

CONDITIONS
Note 1

RC

Receive Clock Range

0

MHz

Note 4

TC

Transmit Clock Range

0

MHz

Note 4

mS

MR

Master Reset Pulse Width

10

TAR

Input Address Valid to RE

0

TRD

Read Strobe (or DACK
Read) to Data Valid

2

375

nS

THD

Data Hold Time from Read
to Strobe

20

100

nS

THA

Address Hold Time from
Read Strobe

0

nS

TAW

Input Address Valid to
Trailing Edge of WE

100

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

TWRR

CS High between Writes

300

nS

TRDR

CS High between RE

300

nS

RE Pulse Width

375

nS

TRR

nS
Note 5, 2

Note 2, 3

TDAK

DACK Pulse Width

375

TAHW

Address Hold Time after
WE

80

TDHW

Data Hold Time after WE or
after DACK for DMA Write

100

TDA1

Time from DRaa (or DROI)
to Output Address Valid if
ADRV = 1

80

nS

Note 3

TDAO

Time from DACK to Output
Address Valid if ADRV = 0

375

nS

Note 5

TDD

Time from leading Edge of
DACK to Trailing Edge of
DRaa (or DROI)

375

nS

Note 5

TDAH

Output Address Hold Time
from DACK

20

100

nS

TDMW

Data Hold Time from DACK
for DMAOut

20

100

nS

nS

TTDV

TDVaiid

100

nS

TSRD

RD Setup

0

nS

THRD

RDHold

320

nS

Note 2

NOTES:
1. Clock must have 50% duty cycle.
2. Th~ust not be a CPU read or write (CS-RE or CS-WE) within 500 nanoseconds after the trailing (rising) edge
of DACK.
3. There must notkthe leading (falling) edge of DACK allowed within 500 nanoseconds after the completion of a
CPU write (CS-WE).
4. See "Ordering Information"·for maximum serial rates.
5. C(load) = 100pf
6. Measured by discharging a 100pf capacitor to each pin through a 1K ohm resistor.

104

>.--

DALO-DAL7
, D A T A VALID

I
CPU READ (CS IS LOW)

DRQO,

AO-A15
(ADRV

TDD

I--- .j
TDA1

(AO-A15 SAME AS DMA OUT)

<

)

DRQj~

I

j.;=TDAO

r---

~

DALO-DAL7

TDAK

1

I-

1;:=

':,~~ ~_-_l~ ~ ~ ~ ~ ~~~ ~---~-~~ ~ ~ ~ ~)l-

DACK

TDHW

CPU WRITE (CS IS LOW)

;/

I

I

~~

AO-A15
(ADRV ~ 1)

1

-I

4

T DAH

(

DATA VALID )

;(
--..1

TDMW

DACK

I-

i

TDD

r-

"J

---1

/

TDAK

-1V

I..

TDW__

DALO-DAL7

<

I

LTRD....

DMAIN

DMAOUT

ORDERING INFORMATION
Order Number

Maximum Data Rate

WD2511AN-01
WD2511AN-05
WD2511AN-11

100 Kbps
500 Kbps
1.1 Mbps"

I:DH~!

DATA VALID

TD

"Higher speeds available on special order.

RD

TD-RD TIMING

105

>---

i

f..

APPENDIX A

:ec
N
U"I

.....
.....

Atthe end ofthe transparenttransmission, there will be
an interrupt with XBA = 1. The SEND bit will be
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.)

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.

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, NB
and YeS) 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
YeS) are cleared to 0 at the time the link comes UP.

For example, the Bell System standard, BX.25, calls for
the use of XID (exchange identification) in LAPB connections of DTE-to-DTE and in Dial access. (Of course,
DTE-to-DTE and Dial access are 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.

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, set XI = O. If the
frame contains two bytes not counting FCS, set XI = 1.
When Xi = 1, only two frame bytes will be transmitted
regardless of TCNT. DO NOT attempt to transmit a
frame with TXMT = 1 and XI = 0 ifTCNT is 2,1, or O.

Therefore, we have added two selectable modes to the
WD2511: transparent transmit and transparent receive.
Basically, these two modes allow the user the option to
pass certain non-LAPB frames thru the chip without
controlling these frames according to the LAPB
protocol.

1.2 TRANSPARENT RECEIVE
For the purposes of this discussion, it is necessary to
define an "unknown frame:' That is, a frame which is
"unknown" to the WD2511.

FEATURES OF THE TRANSPARENT MODES

• May transmit any A and C field under transparent
control.

Unknown Frame: A U-frame (unnumbered) frame
which is not part of the LAPB repertoire. The U-frame
repertoire in LAPB is SABM, DISC, OM, 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.
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 OM 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.

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 transmitthe 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 normal 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 (I-field plus two
bytes).

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 FRMR will
be sent with W = 1 and X = 1. The received packet
response is treated the same whether TRCV is 0 or 1.
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, that the FCS is correct, and that the
framecontains32bitsormore.lfTRCV = 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:'

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.

When TRCV = 1, the WD2511 will be enabled to
receive all frames. If the frame is "known" by the
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.

106

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).

When an unknown frame is received while TRCV = 1,
there will be an interrupt with ERROR = 1 and the Error
Register (ERO) will contain one of the following hexidecimal values:
ERO

FRAME RECEIVED

60
61
62
63

UFI Response
UFICommand
UF Response
UFCommand

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, whether TRCV 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 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
RCNTwili 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

TABLE 1.

The following tables show what action the WD2511 will
take when various frames are received.

PACKET RECEIVED (command, not response)
RLOOKREADY

TRCV

DOWN

NO

DOWN

YES

oor 1
oor 1

UP

NO

Oor1

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.

LINK

RLOOKREADY

TRCV

DOWN

NO

Oor1

DISREGARD

DOWN

YES

0

DISREGARD

DOWN

YES

1

Error interrupt 60 or 61. NE incremented.

UP

NO

0

FRMRsent. W

UP

NO

1

DISREGARD

UP

YES

0

FRMR sent. W

UP

YES

1

Error interrupt 60 or 61. NE incremented.

LINK

TABLE II.

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

UFI RECEIVED

IfTRCV = 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.

107

ACTION BY WD2511

= 1X = 1
= 1X = 1

APPENDIXB

C
==

N

en
......
......

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 the
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 (when CTS is active).
D.

Remove RTS (RTS goes high 2'/2 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.
Interframe fill will be all 1's (IDLE).

If T1 is internally activated it is started when RTS goes
low.
After RTS~s 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.

108
1>
I

APPENDIX C

STATE DESCRIPTIONS

LINK DOWN

r!

SEND IDLE.
RECEIVER
IGNORED.

CLEAR
SEND
BIT

SEND
TRANSPARENT
FRAME

N

TRANSPARENT
RECEIVE

109

CONDITION FOR RESET OR DISCONNECT
LINK IS UP

=E
cN
U1
.....
.....

LINK GOES UP
FROM STATE TABLE I

INTERRUPT
ERO-22

o

INTERRUPT
ERo-ao
LINK
RESETIING
SABM

y

CLEAR
NE, ETC
SENDUA

N
INTERRUPT
ERo-aa

y

INTERRUPT
ERO-30

CLEAR
NE,ETC
INTERRUPT
ERO = CO

y

Y

INTERRUPT
ERO -30

N

SENDUA

SOFTWARE
DISCONNECT

SEND DISC

SET LINK

110

=1

SENDFRMR

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

o==

ACTION BY WD2511

U'1

I\)

COLUMN 1:
DISC sent. Waiting for UA or DM.

COLUMN 2:
SABM sent. Waiting for UA.

T1 runs out

Re-send DISC. P = 1.

Re-send SABM. P = 1.

T1 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, NB, NE, V(R), V(S). Go to
link up flow.

Received DISC

Send OM.

Send OM.

Received SABM

Disregards

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

Received OM

Send SABM. Go to column 2.

Send DISC. Go to column 1.

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

Disregard.

Disregard.

STIMULUS:

STATE TABLE II
LINK GOING DOWN (WAS UP)

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

User sets MDISC, Chip sends DISC.
ACTION BY WD2511

FRAME

A-FIELD =

STIMULUS

DISC sent. Waiting
for UA.

Transmitted Command

Register E

T1 runs out

Re-send DISC. P = 1.

Received Command

Register F

Go to Link Down Flow

Transmitted Response

Register F

Received SABM

Disregard

Received Response

Register E

Received DISC

Send OM. Go to Link
Down Flow

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

Disregard.

Received UA or OM

For non-transparent transmitted frames, only commands or responses are transmitted. A transparent
transmitted frame (TXMT = 1) may have any A-field the
user chooses.
All received frames must be either commands or
responses or the frame is disregarded ("thrown
away"), even if transparent receive is enabled (TRCV
= 1).

USE OF FLAGS BY THE WD2511
Once MDISC has been reset the WD2511 will send
interframe flags (hex 7E) if full duplex is selected (CR05
= 0) (point ST of the Link Down Flow point has been
entered). If half duplex is selected, (CR05 = 1),
interframe fill will be all 1's (IDLE).
The WD2511 does not require the interframe time fill
flags. Either idle or flags will be accepted. However, if
the receiver detects idle for time T1 X N2, the WD2511
will send a DISC.
When sending continuous flags, the WD2511 will send:
011111100111111001111110011 . . .
The WD2511 will accept either the above sequence as
continuous flags, or the "shared zero" pattern:
011111101111110111111011111 . . .

111

........

STATE TABLE III
SENDING I-FRAMES (PACKETS) AND S-COMMANDS
NOTES:
In all subsequent pages, the link is considered Up (LINK
Table II!.

= 0) unless otherwise stateq. X = don't care. TXMT = 0 for

SEND

BRDY

NAANDNB

RNRR

T1 EXPIRES

RCVDREJ

1

0

X

No

No

Clear SEND (CR1O)

1

1

X

0
0

No

No

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

ACTION BY WD2511

X

X

X

1

Yes

No

Send S-command, P = 1.

X

X

not

X

Yes

No

Send S-command, P

X

X

=
not =

X

No

Yes

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

= 1.

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

The WD2511 will not transmit a null packet. TCNT must
not be allowed to be all O's.

2. When an acknowledgement of one or more previously transmitted packets is received, NA is set
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:

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.

a. There are already seven outstanding (unacknowledged) packets (NB + 1 = NA).
b.

c.

3. If a link resetting SABM needs to be transmitted, the
SABM is sent. When the UA is received for the
SABM, the REJ condition is cleared.

The remote station has indicated a busy conqition by sending an RNA frame (ANAR). T1 is
started and an S-command will be transmitted
with P = 1 when T1 expires.

4. If the receiver is not ready (RNRX = 1), the REJ is
not sent.

T1 expired and there are one or more outstanding packets. An S-command Will be transmitted
withP = 1.

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 re-entered.
The AEJ condition is cleared if a packet is with correct N(S) if a SABM is received, or if a SABM is transmitted and a UA received.

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

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

RECEIVING AND TRANSMITTING A NULL PACKET

Suppose a AEJ has been received error-free with no
I-field, then:

=

=

RECEIVING A REJ (RESPONSE OR COMMAND)

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 all O's.

1. If the N(R) is not valid, an interrupt is generated with
ERO = ca, and a FAMA is transmitted.

112

,

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.

DEFINITION OF VALID RECEIVED N(R)

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.

Definition
A valid received N(R) is greater than or equal to NA,
and less than or equal to NB.
1. The "greater than" and "less than" relationships
must be understood in a circular sense. 0 could be
greater than 7 depending on the values of NA and
NB.

Reference
CCITT Recommendation X.25 paragraphs 2.4.10 and
2.3.4.10.

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
anRR.

2. If NA = NB, there is only one possible valid received
N(R), N(R) = NA.
3. If NB + 1 = NA, there are seven outstanding packets and any received N(R) will be valid: N(R) = NB
ACK's all of the outstanding frames, N(R) = NA
ACK's none of them, and an N(R) in between ACK's
some of the packets.

5. If in 2, 3, or 4 above, the received REJ is a command,
the WD2511 will transmit a RR or RNR response at
the next respond opportunity.

4. Basically, a received N(R) which is not valid is one
which acknowledges a packet, or packets, never
transmitted.
STATE TABLE IV
LOCAL STATION BUSY (SENT RNR: RNRX

= 1)

LINK

RECR

RECRDY

1
1-+0

X

X

ACTION

1

1

RLOOK ready. No RNR frame sent.

1-+0

1

0

1-+0

0

X

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

0
0

1
1-+0

1

Receiver ready to accept packets.

0

1

0

RNR response sent. RNRX set. RLNR Interrupt.

0

0-+1

1

0

°

0

If RNRX was set, then RNRX will be cleared
after the next received packet or S-command. After that, an RR or REJ response is
sent.
RNR response sent. RNRX set. There is no
RLNR interrupt.

No S-frame transmitted when link down.

Receiver ready to accept packets.

1

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.

4. Whenever RNRX = 1, the I-field of a received frame
is not brought into memory. For received packets,
the N(S) and N(R) are checked as usual. Ifthe N(S) is
out-of-sequence, the REJ will not be transmitted.

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 receiver-not-ready still
exists, an RNR is sent and RNRX is set. However, if
the receiver instead is 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 is not too
long. The N(R) mayor may not be correct but is
checked separately. If N(R) is not valid, a FRMR is
transmitted.

The same also applies when a link resetting SABM
is received.

113

:e

cI\)
U1

.....
.....
iI

:ec
........

I\)
(II

STATE TABLE V
REMOTE STATION BUSY (RECEIVED RNR: RNRR = 1)
SEND

NAANDNB

RECVD
ACK?

RECVD
RNR

RECVDRR,
REJORUA

T1 EXPIRES

ACTION

No

No

Set RNRR. Restart T1 and
N2. Update NA.

X

not

=

Yes

Yes

0

Equal

No

Yes

No

No

Set RNRR. Start T1.

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
1. If SEND = 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.

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

SENDING S-FRAME COMMANDS

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

When an S-frame command is to be transmitted, an RR
command is transmitted if RNRX = 0 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.

FRAME RECEIVED

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 (RNRR = 1) or ifT1 has expired due to
waiting for an acknowledgement to previouusly transmitted packets.
CONDITIONS FOR SENDING SABM (LINK RESET)
1. FRMR received.
2. Have sent an S-command N2 times with P = 1 (at
T1 intervals) without receiving an S-response with
F = 1.

ACTION BY WD2511

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

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

Retransmit FRMR

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 bee 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.

4. A link resetting SABM is transmitted and an error

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-fields. The
FRMR condition is cleared when either a SABM or
DISC is received.

interrupt, ERO = CO is generated.
5. After the UA is received for the SABM, the NA, NB,
NE, V(R), and V(S) are cleared to O.

114

FRCML = O. Furthermore, if RLOOKO has RECRDY =
1 and RECR is set to 1, a packet can be stored into
RLOOKO immediately after a Link Reset. Therefore,
the host should also look for received packets beginning at RLOOKO after a Link Reset.

PROTOCOL SIGNIFICANCE OF TLOOK/RLOOK
POINTERS
The NE, NA, and NB pointers have a relationship with
the sequence counters used in the LAPB protocol.
The RLOOK pointer NE is equal to V(R) at all times if
TRCV = O. HoweverTRCV = 1 and the link is Up, there
is no guaranteed relationship between NE and V(R).

The chip resets the SEND bit after a Link Reset so no
new TLOOK buffers will be sent until the host sets
SEND again. After a Link Reset the host should look for
any unprocessed acknowledged packets (ACKED = 1)
in the TLOOK table beginning at its Next Packet to be
Acknowledged segment and proceeding in order until
it finds a segment with ACKED = O. Then the host must
set up the TLOOK segments again so that the oldest
unacknowledged packet is in TLOOKO, the next in
TLOOK1, and so on, setting the BRDY = 1 in each
occupied segment. (New packets may be added to the
TLOOK at the next available segment.) When the host
has finished setting up the TLOOK segments, it should
set the SEND bit to 1. At this pOint packet transmission
will resume if the remote station is up and is not in a
receiver not ready (RNRR = 1) condition.

TLOOK pointer NB is the Next Block to be transmitted.
If the chip is not in packet retransmission, NB is equal
to the V(S) of the next new packet to be transmitted.
TLOOK pointer NA is the Next packet to be Acknowledged. It represents the V(S) number for the oldest
packet in the retransmission buffer.
USE OF THE RECR BIT
The RECR (CR01) bit should be understood as an
instruction to the WD2511 to enable the receiver function. The WD2511 will test RECR as soon as MDISC is
cleared, and will retest RECR after each link set-up and
each link reset. Once the receiver is ready, the WD2511
will not test RECR again unless there is a link set-up or
a link reset.

When presenting packets to the chip for transmission,
the host should implement a timer. The value of the
timer is system dependent and varies with packet size
and line speed but should be in the order of seconds. If
a packet has not been acknowledged by the time the
timer expires, the host should check the SEND bit. If it
is reset, set it to 1 again and restart the timer. If it was
still set, the link must be reset. Do this by setting the
MOISC bit (CROO = 1), waiting for the link to go down
(LINK = 1), then resetting MDISC (CROO = 0), and
waiting for the link to come back up (ERO = 21 or, if
RLOOKO was not ready, 11 and LINK = 0).

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 from the
remote station.
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.

For more software information refer to the WD2511
Application Note.

HOST PROCEDURE FOR LINK RESET
The host should keep its own set of variables to determine the index of the Next Packet to be Received and
the Next Packet to be Acknowledged because if a Link
Reset occurs, the chip resets its NA, NB, and NE
counters. After a Link Reset the host should look for
unprocessed received packets (FRCML = 1) in the
RLOOK table beginning at its Next Packet to be
Received segment and proceeding in order until it finds

115

,

~

N

.....
.....
CII

APPENDIXD
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 DTEIDCE link)

DISC

Disconnect. AU-Frame

DTE

Data Terminal Equipment

OM

Disconnect Mode. AU-Frame (LAPB, only)

ECMA

European Computer Manufacturers Association

FCS

Frame Check Sequence

FOX

Full Duplex (also called "two way simultaneous")

FRAME

Basic serial 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 or DTE.

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

PACKET

An I-Frame in X.25

PAD

Packet AssemblylDisassembly facility

REJ-

Reject. An S-Frame

RNR-

Receiver Not Ready. An S-Frame

RR-

Receiver Ready. An S-Frame

= 1 and bit 1 = 0

S-Frame

Supervisory Frame. Control field bit 0

SARM

Set Asynchronous Response Mode. (LAp, only)

SABM

Set Asynchronous Balanced Mode. (LAPB, only)

SDLC

Synchronous Data Link Control (IBM document GA27-3093)

T1

A Primary Timer for a delay in waiting for a response to a frame

=

=

U-Frame

Unnumbered Frame. Control Field bit 0

UA

Unnumbered Acknowledge. AU-Frame

X.25

Recommendation by CCITT on InterfaCing to Public Packet Switching Networks

1 and bit 1

1

X.3, X.28, X.29 Recommendations by CCITT involving PAD facilities
-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.

See page 383 for ordering information.
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.

116

,

WESTERN DIGITAL
c

o

R

p

o

R

A

T

/

o

N

WD2511 Application Note
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 WD2511.
The bulk of this document provides details of the hardware and software interfaces that a user typically
encounters when using the WD2511. Schematic and
timing diagrams for a typical Z80 interface along with
high level flowcharts for initialization and operation are
given. This circuitry is applicable for applications
where the TC/RC speed is 64 Kbps and below.

CONTENTS

1.0 The WD2511 General Description
2.0 The WD2511 and the ISO Model
3.0 Hardware
4.0 Software

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 implement 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 WD2511 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 number associated with each I-frame. The
device automatically acknowledges received I-frames
and fully supports up to 7 outstanding (unacknowledged) frames, including retransmission if required.

Appendix A Glossary
Appendix B LAP vs LAPB
3.0 HARDWARE

The WD2511 must be connected to the Physical Level
(Level 1). This generally amounts to simple line drivers/
receivers.
A typical X.25 DTE/DCE station block diagram is
shown in Figure 2. Figure 3 shows a circuit diagram of
the actual X.25 hardware interface ofthis 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 RS-422 interface on the other side.

1.0 THE WD2511 GENERAL DESCRIPTION
The WD2511 is an LSI device that fully handles the link
level (level 2) of the CCITT X.25 communications
protocol.
In addition to the traditional parallel/serial converters
and FCS logic, the WD2511 incorporates a highly efficient micro-programmed processor that fully handles
the required link set-up and frame sequencing operations conventionally delegated to a "user defined"
processor. The WD2511 also contains an intelligent
two-channel DMA controller to further simplify its integration into a user's system.

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.

2.0 THE WD2511 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.

• 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
WD2511 CLK maximum frequency, the High Speed
Control Circuit (HSCC) is not needed. The function
of the HSCC circuit is to divide a high speed CPU

Level 3 is the packet (network) level which controls the
traffic ofthe different virtual calls and multiplexes these

,

117

LEVEL

4·7

USER
PROCESS

LEVEL 314 INTERFACE

t

3

PACKET
LEVEL

LEVEL 2/3 INTERFACE

2

LEVEL 1/2 INTERFACE

4------_

-----_....

t
LINK
LEVEL

USER
PROCESS

PACKET
LEVEL

t
~-----

l

PHYSICAL
LINK

PHYSICAL
LEVEL

OTE

LINK
LEVEL

1
PHYSICAL
LEVEL

OTE/OCE

Figure 1. LAYERED ARCHITECTURE FOR COMPUTER NETWORKS

up by the respective protocols for that particular level.

The only real physical connection between the two stations (DTE and DTE/DCE) 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

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.

programmed to be interrupt controlled inQuts; the
CPU can be interrupted by DSR and/or INTR as
programmed.

clock signal (0) down to half the frequency (01A). 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.

• 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.

• When a high speed CPU clock is used, connect 0.1 A
Signal to 01 signal and BUSRQA signal to BUSRQ
signal. When a low speed CPU clock is used, connect CPU clockdO) direct to 01 signal and BUSRQ2
signal to USR signal.

s

• The WD2511 CS input is to be connected to a port
address decoder (or memory address decoder).
MWE is connected to all WE inputs, and MOE is connected to all OE inputs of the system memory chips.

• The DMA I/O circuit matches the timing between the
Z80 and the WD2511.
• The RTS open collector output needs a pull-up
resistor.

• REPLY output is not used in this application.

• In this particular example, line drivers/receivers are
of type EIA RS-422. However, RS-232C or RS-423
can also easily be used.

The sixteen I/O registers are qirectly accessible from
the CPU data bus (DALO-DAL7) by a read and/or write
operation by the CPU. The CPU must activate the
WD2511 register address (IAO-IA3). Cl!!.!.> Select (CS).
Write Enable (WE) or Read Enable (RE) before each
data bus transfer operation. The readlwrite operation is

3.1 READ/WRITE CONTROL OF I/O.REGISTERS

• Port A of a PIO 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 PIO is

118

,

completed when CS or REIWE is bro~ high. During
a write operation, the falling edge of WE will initiate a
WD2511 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.

time, the CPU also switches the control over to the
WD2511 by activating the BUSAK signal. This causes
DACK to go LO at the following rising edge of 01 clock.
This is the actual indication for the WD2511 to start the
DMA In cycle. DACK also causes DRQI to return to the
HI state.

During a read operation, the falling edge of RE will initiate a WD2511 read cycle. The addressed register will
then place its content onto the Data Bus.

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.

The CPU must set-up all transmit data, TSADR HI and
LO, TCNT HI and LO, and residual bits before setting
BRDY in the applicable TLOOK segment.

At the next falling edge of the 01 clock, DACK gets
deactivated, causing the WD2511 to latch the data byte
(DALO-DAL7) and to set its address lines (AO-A15) to
logical HI state (ADRV bit = 1). The address bus
latches hold the address active until DMOE signal is
deactivated.

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.

At the next rising edge of the 01 clock (low speed CPU
clock), BUSRQ gets deactivated. When high speed
CPU clock is used, BUSRQ is deactivated after an
additional 01 clock cycle.

3.2 DMA IN/OUT OPERATION
The Direct Memory Access (DMA) operation is completely controlled by the WD2511. During a DMA cycle,
the CPU sets its address bus, data bus and three-state
control signals to their high impedance states.

At the next following rising edge of 01 clock, BUSRQ 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.

(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 WD2511. During a DMA In cycle, this is not changed. During a DMA
Out cycle however, the direction is reversed (WD2511
towards the CPU bus).

3.2.2 DMA OUT
This operation is very similar to the DMA In function.
During this cycle, one byte of I-field data is transferred
from the WD2511 to the memory. The CPU-time in this
example described to perform this task is the same as
for the DMA In cycle.

The address bus latches are in high impedance state
while the CPU has control of the bus. When the
WD2511 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
WD2511.

The DMA Out function starts when the WD2511 is holding a received I-field byte and is ready to transfer this to
the memory. This condition activates the DRQO signal,
which in turn sets the BUSRQ to LO. Also at this time
(ADRV bit = 1), the WD2511 presents the address to
the memory location to where the respective data byte
is to be loaded.

3.2.1 DMAIN
During a DMA In cycle, the task of transferring one byte
of I-field data from memory into the WD2511 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 BUSRQ signal is sampled by the CPU with the rising edge of the last CPU clock period of any machine
cycle. Since the BUSRQ 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 WD2511 by activating the
BUSAK signal. This causes DACK to go LO at the next
rising edge of 01 clock, which indicates to the WD2511
to start the DMA Out cycle. This causes DRQO to reset
back to HI state and to load the data byte to be transferred onto the data-bus.

The DMA In function starts when the WD2511 is ready
to receive a byte from memory to be transmitted out to
the remote station. This condition causes the DRQI signal to go LO, which in turn activates the BUSRQ (Bus
Request) signal. Also at this time (ADRV bit = 1), the
WD2511 presents the address (on AO-A15) of the data
byte to be retrieved from memory.

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.

The BUSRQ 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 BUSRQ signal is active, the CPU goes into high impedance state
with the rising edge of the next CPU clock pulse. At this

At the following rising edge of the 01 clock, MWE goes
HI, latching the data into the memory. Also at this time

119

=e,
o
N

UI
.....
.....

l
I

!

I·

TABLE 1.

=e
c
N

SIGNAL NAMES FOR THE HARDWARE INTERFACE (See Note)
NAME

SYMBOL

FUNCTION

RECEIVE

RCV

When activated (LO), sets the direction of the data
bus transceivers from WD2511 towards the CPU
bus. This is done only during CPU Read or DMA
Out cycle.

DRM TRANSFER

PTFR

When activated (LO), enables the output of the
address bus latches. This is done during a DMA
In/Out cycle.

DMA MEMORY OUTPUT ENABLE

DMOE

Is activated during a DMA In cycle. Generates the
MOE signal and latches the DMA In addresses.

MEMORY OUTPUT ENABLE

MOE

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

MWE

Is activated during a DMA Out or a CPU Write
Cycle. Enables the m~ry 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 Read/Write cycle by the CPU. Enables
the output of the Memory Address decoder.

DMAOUT

DMAOUT

Is activated during a DMA Out function.

DMAIN

DMAIN

Is activated during a DMA In function.

INTERNAL LOOP

ILOOP

Is activate--__
..
--'N"'oT..:E.,:.'_ _ _+I

.._ _.-::N::..oT"'E:::'_ _ _...,+I....___...:.N:::OT:.:E""_ _ _-+I

----~~I----------------------------~

L===u

I
I

INTERNAL CLOCK

!

l

SAMPLE
DATA

SAMPLE
DATA

NOTE 1. FIRST DATA TRANSITION (FIRST FLAG) SETS THE DPLL COUNTER TO 01.
NOTE 2. DATA TRANSITION IN BETWEEN HERE, OR NO DATA TRANSITION AT ALL, CAUSES NO CORRECTION OF THE
DPLL COUNTER.
NOTE 3. DATA TRANSITION IN BETWEEN HERE, WILL INCREMENT ONE COUNT TO THE DPLL COUNTER (ADD 01 TO
WHAT IS SHOWN).
NOTE 4. DATA TRANSITION IN BETWEEN HERE, WILL DECREMENT ONE COUNT TO THE DPLL COUNTER (SUBTRACT 01
TO WHAT IS SHOWN).

FIGURE 5.

WD1935 DPLL TIMING DIAGRAM

142

r-

At each received data transition, if the internal clock and
the received data is out of synchronization, a correction is
autornatically made by :!: I external clock period. See OPLL
Timing Diagram in Figure 5.

will configure the WDI935 for the user's specific data communication environment. These registers should be loaded
during power-on initialization and after a reset operation.
They can be changed at any time that the respective transmitter or receiver is deactivated. The CRI-3 dictate what the
transmitter will send: the type of character (DATA, ABORT,
FLAG or FCS), the number of bits per character, and the number of bits in the reSidual character. Similarly, they tell the
receiver the types of frames to look for: the number of bits per
I-field character, whether to perform an address compare,
and whether to watch for an extended address. The Control
Register also control Data Terminal Ready (OTR), Misc Out
and the activation of both the transmitter and the receiver. For
more detailed information, see Register Formats.

End Of Block (EOB)
This is an FCS command. The rnain purpose of EOB is to
allow the user to initiate FCS and FLAG without the need of
using extra computer time. This is particularly practical in
OMA applications. At the end of a frame, when the last information data character has already been loaded into the
THR and once again ORaO is set, either a regular FCS comrnand is written into CRI Register, or EOB is to be activated.
At the end of FCS, when INTRa is set (XMIT OPCOM), the
EOB if activated is to be reset again.

Monitoring Operation

Serial Data Synchronization

Monitoring is done by use of the Interrupt Register (IR) and
Status Register (SR). The IR register indicates when a frame
is completed (transmitted or received), if there was an error
and if there is a Data Set Change. It also monitors the states
of INTRa, DRao and ORQI.
The SR register indicates if an error is recognized by IR,
what type of error. It also monitors the modem control
signals; Ring Indicator (RI), Carrier Detect (CD), Data Set
Ready (OSR) and M isc iii.
Furthermore, the SR register monitors if the Receiver is
idle, and also if in receive mode if the user has programmed
the Receiver Character Length to be 8 bits per character, this
register indicates the number of residual bits received. For
more detailed information, see Register Formats.

The serial data is synchronized by the externally supplied Transmit Clock (TC) and Receive Clock (RC). When IX
clock is selected, the falling edge of TC generates new
transmitted data and the rising edge of RC is used to sample the received data When 32X clock is selected, a 32counter (in the OPLL Logic) is used to synchronize the internal clock. At time 0, when the counter is reset to 0, the
new transrnitted data is generated. At tirne 16 (counter
16) the received data is sarnpled, insuring that sampling is
done in the middle of the received serial data bit. At count
32, the counter is reset to 0 again.

=

Self Test (Diagnostic) Mode
This feature is a programmable Loop back of data, enabling the user to make a complete test of the WOl935 with a
minimum of external circuitry. In this mode, transmitted data
to the TO pin, is internally routed to the received data input
circuitry, thus allowing a CPU to send a message to itself to
verify proper operation of the W01935. The modem control
signals OTR and RTS are deactivated (off) to insure no interference to/from the Data Communication Equipment (DC E).
OSR and CTS are internally activated for proper input conditions. TC and RC should be supplied by the same source if I X
clock is selected.

Read/Write Control Of CPU Interlace Registers
These registers are directly accessible from the CPU bus
(07-00) by a read and/or write operation by the CPU.
The CPU must set up the W01935 register address (A2AO), Chip Select (CS), Write Enable (WE) or Read Enable
(RE) before each data bus transfer operation.
During a write operation, the falling edge of WE will initiate
a WOl935 write cycle. The addressed register will then be
loaded with the content of the Data Bus (07-00). During a
read operation, the falling edge of RE will initiate a· WOl935
read cycle. The addressed register will then place its content
onto the Data Bus (07-00). The read/write operation is completed, when CS or RE/WE is brought high.
See Read/Write Timing diagram for more detailed information.
For read and write operation, the CRI-3 registers normally need no external clock. After reset of CRI-3, TC clock is
required. The AR and THR registers need no external clock,
and can only be written into. The RHR, IR and SR registers
need Transmit Clock (TC) or Receive Clock (RC) to set
various bits, and are read-only.
All these registers will get initialized by a Master Reset. A
read operation of RHR resets the ORal. A write operation
to THR, resets the ORaO. A read operation of IR, resets IR
bits 0 and 3-7. A read operation of SR, resets SR bits 0-2.
For addressing and external clocks needed, see TABLE 2.

Auto Flag
If this is selected and Data Command is executed, conti nuous Flags will be sent between frames. This eliminates the
need to execute the Flag Command. In OMA applications in
particular, this is very practical.
Extended AddreSSing
This type of addressing means, that there is more than one
address character in the A-field. In receive mode, the first
address character is compared in the Address Comparator of
the W01935. The other address character/s is to be compared by the CPU. The last address character is recognized
by the fact that the LSB (bit 2°) is a I.
PROGRAMMING

A more detailed description is shown in Figure 6 of each bit
location. It should be known, that because the Data Bus
Lines (07-00) have inverted logic, a logic I, asserted means
low state. Also, a modem control signal which is inverted
(example OTR), is in on-state (asserted) when low.

Controlling Operation
Prior to initiating data transmission or reception, CONTROL REGISTER 1-3 (CRI-3) must be loaded with control
information from the CPU. The contents of these registers

143

,

~

TABLE 2.

=e
C

.....

CD
W

U1

DEVICE ADDRESS CODES

CS

A2

AT

AO

Read

Write

L
L
L
L
L
L
H

H
H
H
H
L
L
X

H
H
L
L
H
H
X

H
L
H
L
H
L
X

CRI
CR2
CR3
RHR
IR
SR
X

CRI
CR2
CR3
AR
THR

External Clock
None*
None*
None*
RHR=RC. AR=None
IR=TC". THR=None
SRO-3=RC. SR4-7=None.

X

L = V,L at pins
H = V,H at pins
X = Don't care

* 2.5 TC clock cycles are required
after a Master Reset to be able to
read and write.

REGISTER FORMATS
DTR Command (CR11) This bit controls the data Terminal Ready (DTR) signal to the data set. When CRll is a
logical 0, DTR is off. When CRll is a logical 1, DTR is on.
When the Self-Test mode is selected, DTR signal is forced
to an off state.
Transmitter Character Length (CR13, 12) These bits
control the transmitted I-field data character length. The
data character may be 5, 6, 7 or 8 bits long.

Below shows a short form register format.
BIT

--+-

17

,.

,.

15

13

12

11

10

CR1

27

2.

2.

25

23

22

21

20
CR2

TABLE 3.
37

3.

35

3.

33

32

31

30
CR3

CR13 (TCL1)

CR12 (TCLO)
0
1
0

RHR

0
0
1
1

REOMt~EOM

XMIT
PPCOM
WI

RROA

XMIT

0";.';"

DSC

DRal

DROO INTRO

UNDER
NO
ERROR RUN

Bits Per
Character

8
7
6
5

Transmitter Commands (CR15, 14) These bits control
the transmission of DATA (A-field, C-field and I-field), ABORT,
FLAG, and FCS (FCS plus FLAG). When these commands
are programmed, the previous command currently still in
progress, will complete the transmission of its character.
When this is done, a new character generated by this new
command, will be transmitted.

AR

wi N0'IRRC!R

TRANSMITTER CHARACTER LENGTH

IR

CR 14, 15 can be programmed as follows:
A. If DATA is programmed, the new character to be transmit-

Control Register 1 (CR1)

ted will be the character loaded (or still to be loaded) in the
THR REGISTER.
B. If ABORT is programmed, the new character will be eight
logical 1'so
C. If FLAG is programmed, the new character will be
01111110.
D. If FCS is programmed, the new character which will be
transmitted consists of the residual byte (which was automatically transferred to the XMIT REGISTER, provided
that CR30-32 and are set correctly), followed by the 16-bit
content of the FCS XMIT REGISTER and the FLAG.

When initiating a transmit/receive operation, this should be
the last register programmed.
Miscellaneous Output (CR10) This bit controls the Miscellaneous Output signal to the data set. When CR10 is a
logical 0, Misc Out is off, when it is a logical 1, Misc Out
is on.

One serial bit ahead of this new character (for FCS command the FLAG character), the CPU is signalled by DRaO or
INTRa that the WD1935 is again ready to receive a new command. DRaO is asserted by a DATA command and INTRa
(XMIT OPCOM) is asserted by an ABORT, FLAG or FCS command.

THR

5.
SR

FIGURE 6.

WD1935 BIT ASSIGNMENTS

144

TABLE 4.
CR15 (TC1)

CR14 (TCO)

o
o

o

TRANSMITTER COMMANDS

Command
DATA
ABORT
FLAG
FCS

1

o
1

Activate Transmitter (CR 16) This bit when set, enables
the transmitter and sets RTS signal. If in SDLC Loop Mode
(CR22 = set), the transmitter waits for a Go-Ahead pattern
before the transmitter is enabled.
Activate Receiver (CR 17) This bit when set activates
the receiver, which begins shifting in frames one character
at a time into RR register for inspection.
CONTROL REGISTER 2 (CR2)
Auto Flag (CR20) When set, Flags (without INTRas) will
be continuously transmitted in between frames, when otherwise the transmitter would be in idle state.
Self-Test Mode (CR21) When set, the Transmitter Data
Output is intemally connected to the Receiver Data input
circuitry. The modem control output signals are deactivated
(off state). The modem control input signals are internally
activated. This mode allows off-line diagnostic.
SOLC Loop Mode (CR22) When set, the WD1935 is
conditioned to operate in an SDLC Loop Data Link system
(see SDLC Loop Mode).
Receiver Character Lengtll (CR24, 23) These bits indicate to the receiver how many bits per character there are
to assemble for the I-field. The I-field characters may be 5,
6, 7 or 8 bits long. The unused bits read from RHR will be
10gical.0.

CR23
(RCLO)

Bits Per
Character

0
0
1
1

0
1
0
1

8
7

CONTROL REGISTER (CR3)
1i'ansmlt Residual Character Length (CR32, 31, 30)
(Table 6) These bits inform the transmitter what bit-length the
residual character will be. If no residual character is to be
sent, these bits must be set to logical O. (See Transmitter
Commands).
Unused (CR33-37) These bits are not used, and are
always a logical O.
INTERRUPT REGISTER (IR)
This register contains the information why an interrupt
INTRa was generated. An IR register read operation, will
reset bits 0, and 3-7. The Transmitter clock must be active to
generate an interrupt.
Loading the iHR register, will reset DRQO (bit 1). Reading
the RHR register, will reset ORal (bit 2). A new interrupt will
occur if one is pending.

6
5
TABLE 6.

DRaO
INTRa
INTRa
INTRa

Extended Control (CR27) When set, indicates that
there are two control characters per name. If not set, there is
only one control character per frame. The purpose of this bit:
If a non-8-bit I-field character length is to be received, the
ORals will get out of synchronization if the WD1935 does not
know when the I-field will start. Not used in transmit mode.

RECEIVER CHARACTER LENGTH

CR24
(RCL1)

Signal to CPU

Content of THR
1111 1111
0111 1110
FCS + 01111110

Extended Address (CR25) When set, this bit indicates
to the receiver that there is more than one address character
in the A-field. The receiver will expect another address character if the LSB in the current address character is a logical O.
The purpose of this bit: If a non-8-bit field character length is
expected, the ORals will get out of synchronization if the
WD1935 does not know exactly when the I-field will start. Not
used in transmit mode.
Address Compare (CR26) When set, the first address
character will be inspected in the Address Comparator. If
there is a match with the AR register, or if the address compared is a Global Address (eight l's) the frame is considered
valid, causing ORals to be generated. Otherwise, the receiver does not react, and will continue comparing for a new
valid address. If not set, all frames are considered valid.

In the case of the DATA command the user has two
choices; 1. Change the command. 2. Keep the DATA command and load a new character into the THR register. For
more information, please see the Transmission Timing diagram, Figure 7. See Table 4 for programming information.

TABLE 5.

Character/s Transmitted

TRANSMITTER RESIDUAL COMMANDS

CR32
(TRES 2)

CR31
(TRES 1)

CR30
(TRES 0)

o

o

o

o

o

o

1

o
1

1

1

o
1
o

1

o
o

1

o
1

145

Residual Char. Length
No residual char. sent
1 bit
2 bits
3 bits
4 bits
5 bits
6 bits
7 bits

=e
....
co
C

w

U1

i

r

TABLE 7.

:eo

COl

COO

.....

LO

to)

LO

U1

HI
HI

LO
HI
LO
HI

CD

DATA SET CHANGE PROGRAMMING

Interrupting edge of CD

FiTf

RlO

Interrupting edge ofAI

Rising and falling
Falling
Rising
• None

LO

LO
HI
LO
HI

Rising and falling
Falling
Rising
None

LO
HI
HI

If a new interrupt is generated while the CPU is reading
the IR register, this new interrupt will set the respective bit
in the IR register one bit time later (this to avoid losing any
interrupt). The status of bits 3-7 will accumulate until the IR
register is read by CPU.

If REOM WITH ERROR (IR 6) is set, these bits indicate the
type of error that occurred (Table 9).
TABLE 8.

INTRQ (IRa) When set, indicates an interrupt and that
there are one or more bits set in positions 3 through 7 of this
register. This bit is a mirror image of INTRO signal (pin 6).
When pin 6 (INTRO) is not used for pending interrupts
information and only the IR register is read to obtain the
status of the interrupt bits (polling method), a minimum of
two (2) bits times must be allowed between IR registers
"read's" to insure an orderly flow of pending interrupts.

RES.
BITS

S
R
a

S
R
1

R
2

8
Bits/Char.

0
1
2
3
4
5
6
7

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

7
Bits/Char.

0
1
2
3
4
5
6

0
0
1
1
1
1
0

0
1
0
1
0
1
1

6
Bits/Char.

0
1
2
3
4
5

5
Bits/Char.

0
1
2
3
4

1
1
1
0
0
0
0
0
0
1
1

1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
1
0
0

1
0
1
0
1

DRQO (IR1) When set, indicates a Data request output.
This bit is a mirror image of DROO signal (pin 18).
DRQI (IR2) When set, indicates a Data Request input.
This bit is a mirror image of DROI signal (pin 19).
Data Set Change (IR3) When set, indicates a change of
state of the Data Set (Data Communication Equipment). This
is a change of state ofDSR, CD orffiThe type of change of
CD andRi that this bit will react to, is programmed by use of
input Signals COl/COO and Rll/RIO (Table 7).
XMIT Operation Complete with Underrun Error
(IR4) When set, indicates that the transmitter command
has been completed and there was an Underrun error. An
Underrun error occurs when the Data Request Output
(DROO) is set, but THR register is not loaded in time.
XMIT Operation with No Error (IRS) When set, indicates that the transmitter command has been completed and
there was no error.
Received End of Message With Errors (IR6) When set,
indicates that a Received End of Message is detected, and
there was an error. Errors include CRC, Overrun, Invalid
Frame and Aborted Frame.
The SR Register bits 0-2 will indicate the exact type of
error.
Received End Of Message With No Error (IR7) When
set, indicates that a Received End of Message is detected,
and there was no error.

S

CHAR.
LENGTH

0
1
0
1
0
1

TABLE 9.

STATUS REGISTER (SR)

Bit Set

Error

SRO
SRl
SR2

CRC
Overrun
Aborted or
Invalid frame
,.-"

This register contains the status of the receiver and some
modem control signals. It also indicates (if REOM w/Errors)
exactly what type of errors. If the Receiver Character Length
is 8 bits, this register indicates the amount of Residual bits
that was received. A read operation will reset bits 0-2.

Receiver Idle (SR 3) When set, indicates that the receiver is currently IDLE.
Miscellaneous Input (SR4) This is a mirror image of
MISC IN signal. When this dignal is set, SR4 bit is set.
Data Set Ready (SRS) This is mirror image of DSR signal. When this signal is set, SR5 bit is set.
Carrier Detect (SR6) This is a mirror image of CD signal.
When this signal is set, SR6 bit is set.

Received Error/Received Residual Character Length
(SR 2-0) If REOM wINO ERROR (lR7) is set, these bits (SR 20), indicate the number of residual bits received (Table 8).

146

Ring Indicator (SR7) This is a mirror image of Ai signal.
When this signal is set, SR7 bit is set.

Also, the ACT TRAN bit should be kept set in between
frames. Every time DRQO gets set, the user must load the
THR register before the last loaded character only has 1.5
bits left to be transmitted. In other words, when DRQO gets
set, the user may wait (if 8-bit characters) up to 7.5 serial
data bits before loading the THR. If THR is not loaded within
this time, an Underrun error will occur.
If Auto Flag is not selected (CR20 = logical 0) the sequence
will be a little different than described below. When the first
DRQO is set, and after the Address character is loaded into
THR, a Flag command is also programmed (CR15, 14 = 10).
This will set an interrupt (INTRQ). which indicates that the
IR register must be read. Now, the Data Command is reprogrammed (CR15, 14 =00).
For more information, see Transmission Timing diagram.

TRANSMITTER OPERATION

Prior to this operation, the programmable inputs and the
transmit mode related register bits need to be programmed
according to the user's specific data communications environment. The last bit to be set is always the ACT TRAN
(CR16) bit.
Before this, the INTRQ has to be cleared, which can be
done by reading the IR register. For more detailed information
how to program the WD1935 see Programming.
As an example of how to program the WD1935 let's
assume a 24-bit information is to be transmitted. The I-field
would then consist of three 8-bit characters with no residual
bits. CR3 should then be 00 (Hex).

ABORT CONDITIONS

Bits CR23-CR27 are for reception only (see Receiver
Operation). The last register to be programmed is CR1. If
MISC OUT is not used, this may be ignored. If a modem is
used, DTR (CR11) is to be set. CR13 and CR12 should be
logical O's (8-bit char. length). CR15 and CR14 should be
logical O's (Data Command). ACT TRAN (CR16) bit is to be
set. The ACT REC (CR17) is for reception only.

The function of prematurely terminating a data link is
called an "Abort." The transmitting station aborts by sending eight consecutive 1'so Unintentional Abort caused by
1's in the A-C- or I-field is prevented by zero insertion. Inten·
tional Abort may be sent by programming an Abort command. Abort will also be sent in the case where THR is not
loaded in time or FCS command is not programmed in time
(= underrun). This means that after the DRQO is set, to
avoid Abort; THR must be loaded, EOB activated or FCS
command programmed before there is only 1.5 bits left of
the last character to be transmitted.
If this is not done, INTRQ (XMIT OPCOM w/underrun) is
set and Aborts are transmitted until, either the command is
changed or the THR is loaded. If in this same case, Auto
Flag was programmed, one Abort (with INTRQ) would be
generated, and thereafter continuous Flags (with no INTRQs)
will be sent.

The DTR bit, when set, activates the DTR signal, indicating to the modem to prepare for communication. When the
modem is ready, it sends back a Data Set Ready (DSR) to the
WD1935. This causes the DSC (IR3) bit to set, which in turn
activates INTRQ. The IR register is now read. Simultaneously, when the ACT TRAN (CR16) bit is set, this activates the
Request to Send (RTS) signal, instructing the modem to enter
into transmit mode. When the modem is ready to transmit
data, it responds by activating the Clear to Send (CTS) signal.
The WD1935 is now conditioned to transmit. Now DRQO
gets, set, indicating to the CPU (or DMA) to load the first character (Address) into the THR. When this is done, DRQO will
reset. As soon as the WD1935 is ready to be loaded with the
next character to be transmitted, DRQO is again set. When
the THR register is again loaded with a character, DRQO will
again reset.

RECEIVER OPERATION

Prior to this operation, the programmable inputs and the
receive mode related register bits have to be programmed
according to the user's specific data communication environment. Also, the INTRQ has to be cleared. The last bit to be
set is always the ACT REC (CR17) bit.

This same sequence continues until the last I-field character to be transmitted is loaded into the THR. If CRC checking is to be used, the next time when DRQO is set, an FCS
command has to be programmed. This is accomplished bv
either setting CR15, 14 to both logical 1's or by activating the
EOB signal.
At the end of the FCS being transmitted, INTRQ will set
indicating XMIT Operation Complete. The IR register is to be
read to find out whether the frame was sent with or without
error. Also the FCS Command which was used as described
above has to be changed. If CR15, 14 were set, these have
to be reset (to Data Command), or if EOB was activated, this
signal has to be deactivated. At this same time, the ACT
TRAN bit is allowed to be reset, causing the TD output to go
idle after the end Flag is sent. If the ACT TRAN bit is kept
set, continuous Flags will be sent following the FCS.
If a new frame is to be sent right after this first frame, only
one Flag is needed in between frames, meaning the frames
have one common Flag character. In this case, the second
frame Address character may be loaded at the same time
the FCS command is programmed during the first frame.

For more detailed information how to program the WD1935
see Programming. As an example, let's assume a 26-bit information is to be received, and the I-field is made up by 8-bit
characters. The CR3 register is only for transmit mode, and
may be ignored here. CR20 and CR 12-16 bits are also for
transmit mode only, and therefore may also be ignored. CR21
and CR22 are to be logical Os (no Self-Test and no SDLC
Loop Mode). CR24, 23 are to be logical O's (8-bit character 1field). If only one A-field and one C-field character is
expected, and this WD1935 has a specific address, CR25
should be a logical 0, CR26 should be a 1, and CR27 should
be a O. The address to which the Afield should compare
should be loaded into the AR register.
The status of the modem is monitored by the SR register,
and it may be useful to read it at this time. CR1 is loaded as
the last register. CR10 (Misc In) bit is optionable to the user.
CR11 (DTR) is to be set if modem is used. CR17 (ACT REG)
is now set, starting the input of frame characters into the
Receiver Register (RR). When a Flag is detected, the next

147

CRC Error (SRO) If the CRC calculation performed on
the incoming data does not equal to FOB8 (HEX), this bi(will
be set.
Overrun Error (SR1) After ORal is set, if the RHR is not
read within one character minus one bit time, this bit will be
set.
Aborted or Invalid Frame Error (SR2) If the frame is
aborted or if in a frame the number of bits between flags are
less than the required minimum (see Table 10), this bit will be
set.

8-bit character (address-character), when received, is compared to the character in the AR register. If these match, or
if the received character is a Global address, this frame is
valid, and the ORal gets set. If the Address Comparator
(CR26) bit is not set, all frames would be considered valid
and generate ORals. When the RHR register is read, ORal
will be reset. All characters in a valid frame which are input
into the RR register will set ORal, and every time RHR is
read by the CPU, ORal will be reset.
During reception, the receiver also performs a CRC calculation on the incoming data. When the end Flag is received, INTRa will get set, indicating Received End of
Message. If the reception is completed with no error, IR7
(REOM wino Error) bit will be set. When 8-bit characters are
received SR 0-2 bits indicate the number of residual bits, in
this case two. If IR6 (REOM wi Error) was set, SR 0-2 bits
indicate the type of errors (see Receiver Error Indication).
When all characters including the A-field and the FCSfield are read, and when the REOM interrupt is recognized,
it is up to the user to disassemble these mentioned characters from the received data If non-8-bit characters are received, the amount of residual bits have to be calculated by
the CPU after masking out the part of the ending Flag
showing up in the last read character.
After end of frame, the receiver begins searching for a
new frame.

NOTES
1. TC-command-If two or more contiguous ABORTS or
FLAGS are executed, the ACT TRAN (CR16) bit has to be
reset before DATA-command can be executed.
2. Master Reset (MR)-Needs no clock during activation of
MR. However, 2.5 clock cycles are required to reset the
W01935 after the falling edge of MR.
3. IR-register-Immediately when IR register is read, bit 0
will reset. Bits 3-7 are reset one bit time later.
4. SR-register-Bits 0-2 are reset one bit time after SR register is read.
5. SOLC Loop mode-Go-ahead pattem may be sent by
either sending IDLE or ABORT after Flag.
6. TC and RC clocks are completely independent of each
other.

(For more information, see Figure 8.)
RECEIVER ERROR INDICATION

7. It is recommended to verify that the INTRQ signal (pin 6)
is set prior to reading the IR register.

When a frame is received, and REOM w/Error (IR6) is set,
the type of error is indicated by the SR bits 0-2.

B. End Of Block (EOB) - Minimum activated time must be
one (1) character time. It can be activated indefinitely
using IDOLE or AUTO FLAG (CR20).

TABLE 10.
Valid Frame For WD1935
Receiver Programmed for

8 bit char

7 bit char

6 bit char

5 bit char

1 address, 1 control

~25

bits

~23

bits

~21

bits

~19

2 addresses, 1 control
1 address, 2 controls

~25

bits

~24

bits

~23

bits

~22bits

3 addresses, 1 control
2 addresses, 2 controls

~25

bits

~25

bits

~25bits

~25bits

148

bits

TC
(1XCLOCK)

TO

-4,..----,
IDLE

I

-j

OROO

II
=
~

.,TAO

pATA BITS

I

FCS

r

_ \ LlOATA
BIT

L~
THRj

~

________________________

-- --~ --l

~

____________________

~r___lL

l

~

~~ tiC[
o I'!

~~~

~~!i
iii '0'
~~"

~~~

~ ~

!

~~~

.~C[

c5

~~~

::ii8~

Wo~

"'«
i:915

'0'

~~"

r~
_____

w

~~

~

~§

~

~ ~~

NOTE 1. CR3 = OOH, CR2 = 01H, CRl = 02H (FOR THIS EXAMPLE ONLY)
NOTE 2. WRITE FCS COMMAND, OR ACTIVATE n5B.
NOTE 3. INF. DATA MAY CONSIST OF ANY NUMBER OF BITS.

FIGURE 7.

WD1935 TRANSMISSION TIMING DIAGRAM

RO -----1J
FCS

IOI.E

O:TArBITS

ORal

INTRQ

-----i

r
c;

~"
,.

"'~bw
8~

f!

~
~

iii

--l --l
~
.~

~~~

~~~
f:il:
"''''''

.5

o~~

~8~
.. ~~

~"'''

---

I

I

t

Iii~a:

1ii .... a:M'

--t

~O~

~~~b

~fl~

l

-'-

<

~~~

Ul!
"'~"

o~ww

~~!~
C[a:o!e

WD1935 R~CE;PTlON TIMING DIAGRAM

149

1 L'R

READ

~:ffi
~!i!i

~~B

NOTE 1. AR ~ 19H, CR2 ~ 40H, CRl ~ 02H (FOR THIS EXAMPLE ONLY)
NOTE 2. INF. DATA (I·FIELD) MAY CONSIST OF ANY AMOUNT OF BITS.
IIIQT!= 3. CPU DOES NOT KNOW UNTIL RECEIVED END OF MESSAGE (REOM) THAT THIS IS AN FCS CHARACTER.

FIGURE 8.

IL

~~
~!;.

SPECIFICATIONS

=E
c
.....
CD

Co)

U1

ELECTRICAL CHARACTERISTICS
Absolute Maximum Ratings
Storage Temperature
Storage Temperature
Voltage on any pin
with respect to GND (V SS)
Power Dissipation
DC Characteristics
TA
O°C to + 70°

=

-55°C to + 125°C (plastic package)
-65°C to +150°C (ceramic package)
-0.3 to + 7.0V
1W
VSS

= OV,

VCC

TABLE 11.
Symbol
III
ILO
VIH
VIL
VOH
VOL
ICC

Parameter

=

+ 5 ± 0.25V

Min

Input Leakage
Output Leakage
Input High Voltage
Input Low Voltage
Output High Voltage
Output Low Voltage
Supply Current

AC Characteristics
TA
O°C to + 70°

=

WD1935 DC CHARACTERISTICS
Max

Units

10
10

J.lA
J.lA
V
V
V
V
ma

2.4
0.8
2.4
0.4
210

70

Conditions
VIN = VCC
VOUT
VCC or VSS

=

All Inputs
-1ooJ.lA
10
10
1.6mA

=
=

VSS = OV, VCC = + 5 ± 0.25V
TABLE 12.

WD1935 AC CHARACTERISTICS

-.

Parameter

Min

TAS
TAH
TCSS
TCSH

READ & WRITE (Fig. 9, 10)
Address Set·Up
Address Hold
Chip Select Set-up
Chip Select Hold

TRED
TDV
TDRQIR
TINTRQf
TRE

READ (Fig. 9)
Data Delay from RE Asserted'
Date Valid from RE Deasserted
0
DRQI Reset Delay
INTRQ Reset Delay
RE Pulse width
325

WRITE (Fig. 10)
DataSet-up
TDS
Data Hold
TDH
TDRQOF DRQO Reset Delay
WE Pulse width
TWE

-12

-11

-10
Symbol

Typ

Max

20
20
20
20

Min

Max

20
20
20
20
315
140
280
280

0

Min

-13

Max

20
20
20
20
290
140
280
280

0

Min

Max

20
20
20
20
265
140
280
280

0

300

275

250

180
20

160
20

140
20

Units Conditions
ns
ns
ns
ns

240
140
280
280

ns
ns
ns
ns
ns

330

ns
ns
ns

125

125

ns
ns
ns

1.0

1.5

2.0

1.0

1.5

2.0

2.5

20
20

20
20

20
20

20
20

200
20

330

330

330

200

180

160

140

TRDS
TRDH
TroO

TRANSMIT& RECEIVE (Fig.11)
150
Receive Data Set Up
Receive Data Hold
150
Transmit Data Out Delay

150
150

150
150

150
150

125

125

1xFc

CLOCK
1XClock

.5

32xFc

32XCIock

TR
TF

RISE & FALL (Fig. 12)
Rise Time
Fall Time

NOTE: All A.C. Timing Measurements made at 0.8V and 2.0V.

150

MHz at 50% duty
cycle
MHz at 50% duty
cycle
ns
ns

See figure 1

HIGH IMP STATE

O7-5O------------------Q

VALID

i

HIGH IMP

07·00

~

VALID

STATE

AD. Al. A2

RE

-----------..,.c 1:'

DAal ___TO_Aa_'A__~t
TOROOR

INTAa------------------------l---t

''"'~

ORao

NOTE 1. TREO and TOV starts from where both

CS and 1i!" are active.

FIGURE 9.

RC

AD

FIGURE 10.

WD1935 READ TIMING DIAGRAM

WD1935 WRITE TIMING DIAGRAM

#".Li<

TC

'to: '-)1

TR

TF

TO

FIGURE 11.

FIGURE 12.

RECEIVER AND TRANSMITTER TIMING

151

WD1935 RISE AND FALL TIMING DIAGRAM

2 FCSTTO - FRAMECHECKSEOVENCETOTD
THE 16 BIT FCS IS SHIFTEIl QUT HIGH ORDER BI1 FIRS1

FIGURE 13.

WD1935 TRANSMITTER FLOW CHART

152

MASTER
RESET

NOTE: STATE 0 IS WHERE WE SEARCH FOR OR
HAVE FOUND THE OPENING FLAG AND SYNC
THE FRAME TO IT. AFTER THE OPENING FLAG
HAS BEEN DETECTED WE GO TO STATE 1

RECEIVE BIT COUNTER .- MODULO 8 COUNTER
USED TO PROGRAM THE NUMBER OF
BITS PER CHARACTER & CALCULATE THE
NUMBER OF RESIDUAL BITS

(START FRAME)

HAVE
(lNTRQ)

--L_--'-<

~_ _-,__

NOTE: IN STATE 1 WE ARE IN SYNC
WITH THE INCOMING DATA AND WE
INCREMENT BY CHARACTER UNTIL THE
FRAME ENOS OR IS ABORTED

RECEIVE
ABORT

BYTE

N

(CONTINUOUS
FLAGS
LOOP)

(RECEIVE BIT COUNTER
AT TERMINAL COUNT)
NEXT

~~::~~~~~ >:,----'
(ADDRESS)

RECEIVER

7g;I~::~~

(CR24)
RCL1

(CR23)
RCLO

0
0

0

,,

,
,

0

.,

>-------------------'

BITS PER
CHAR

,

6

ORal SET

(ORal)

RR = RECEIVE REGISTER
RHR = RECEIVE HOLDING REG1STER

ADDRESS
RECE1VED
COMPLETE

FIGURE 14.

WD1935 RECEIVER FLOW CHART

153

TABLE 13.

WD1935 ORDERING INFORMATION

Maximum
Part Number

Data Rate

WD1935 *-10
WD1935*-11
WD1935*-12
WD1935 *-13

500KBPS
1.0MBPS
1.5MBPS
2.0MBPS

Temperature
Range
OOCto
O°Cto
O°Cto
OOCto

+ 70°C
+70°C
+70°C
+ 70°C

* Please contact your local Western Digital Sales
Representative for package availability and price
information.

See page 383 for ordering information.

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.

154

Prlnled in U.S.A

WESTERN DIGITAL
c

o

R

p

o

R

A

T

/

o

N

WD1935 Application Note

acters to/from the WD1935. This device takes care of the serialization or deserialization of this data, plus control and
timing.

INTRODUCTION

The purpose of this document is to provide the reader with
information about the WD1935. Various applications examples are given showing flowcharts and timing diagrams. As
the device is designed for use in a very large range of applications, many different features are described and illustrated
for the benefit of the reader.

Some control signals on the computer side of the device are
needed for read, write, and control purposes. Additional signals can also be used for special purposes or modes for the
convenience of the user. Typically, these other control signals
are used to enable communication with a modem or DCE
(Data Communications Equipment).

For detailed product information such as A.C. and D.C.
parameters, please refer to the data sheet.

Interrupt outputs are provided to inform the microcomputer
when to retrieve from, or to provide data to the holding registers. Interrupts can be generated to provide status information (i.e. changes in modem control lines, or events such as
Transmission Complete or Received End of Message have
occurred).

GENERAL DESCRIPTION

The WD1935 is an MOS/LSI device which interfaces a parallel digital system to a serial data communication channel
(and vice versa). This circuit is capable of simplex, half
duplex, and full duplex operation.

SYSTEM APPLICATIONS

The WD1935 is designed for bit-oriented SDLC, HDLC and
ADCCP protocols. The device is programmable and compatible with most a-bit microcomputers on the market. The purpose of the device is to convert paraliel data from a computer
or terminal to a serial data stream at one end of a communication channel. At the other end of the channel. At the other end
of the channel, the data is converted back to the original parallel data.

Switched network
Multipoint network
Non-switched pOint to point network
Simplex, half-duplex, or full duplex
Synchronous Communication
Message switching
Multiplexing systems
Data concentrator systems
Loop data link systems
DMA applications
Parallel to serial data conversion (and vice versa)
Local Networks
Packet Switching
X.25
Multidrop line systems

Serial data communications minimizes the number of physical channels required to transfer data and therefore reduces
the cost to send data between two (or more) distant points. A
microcomputer can perform the same serial/parallel conversion function as this device, but at a much slower speed.
However, using the WD1935 to do this function is much more
efficient. This makes the computer free to perform other tasks
during transmission and reception. The only work that the
computer is required to do is to initialize and write data char-

A typical block diagram of a data link is shown in Figure 1.

WD1935

WD1935

~~------------~v~--------------~

I

STATION A

STATION B

FIGURE 1.

DATA LINK BLOCK DIAGRAM

155

...

CD
W
U1

:ec
..".

CD
W

c.n

The communication media used could be a direct communication channel (such as a leased telephone line), a switched
telephone line, or one of many other possibilities. Typically
these applications would require the use of a modem.
A modem is needed for long distance communication lines.
For shorter distance, line drivers/receivers may be sufficient.
In some very well controlled environments, such as a laboratory, two devices may be connected without line drivers and
receivers.

bus, but buffers are normally recommended. Figure 2 shows
a typical schematic of an interface between a zao microcomputer and a modem.
Some example of various WD1935 systems are shown here
by use of block diagrams. The station shown in Figure 3 consists of a computer or terminal, and a modem. A station may
consist of only the computer or terminal, and one WD1935
device. Whether the modem, line drivers and receivers, or
CPU buffers are needed depends on the details of the particular design situation.

The WD1935 may be connected directly to a microcomputer

EIA RS-422
LINE DRIVER/RECEIVER
BUFFERS

WD1935
DM~17

1m

DO

01

D2

TO

D3

D.

_===-

1
13

DS

07

"

15

25

CIN

AD

23

Al

liE
lID

,.

WI!

~
Z-BO
COMPUTER
OR eQulV.

,.

PBO
PBl
PB2

r

"

..

"'"

30

l

36

"B
A

DTR
ATS

B
B TO
A

i54

Os
156
Of

l5§ll

33

A'

Ali
AI

Ai

liE
WE
MIi

RD

<:rl
24

-;;c
INTRa

1'e

31

ORCI

E-

~

i.I

.1.

.1.

.....

CD

-.r

JL
AOOR

C

·1·

·1·

'1

n
I
I

n

I

I

I

I

I

I

t

!

!

rL

"'_
l:w

a:~

IW

I@
....
w

>-"

t

I~ ~

t

~

~~i

0

"-

>-"

t~

::la:

!Wa;1-

~~

5~

"

<;

FIGURE 17.

DMA TIMING OF MIDDLE FRAMES

END FRAME

I.

tAODR

.1·

"LCONTfI..

·1·

~--

LS
INF.OATA

·1 •

·1·

'1'

DMA CONTR

80 TIME

n
I
"D'fR

""

·1
ee"

TIME

L ___

n

I

I

I
l

I

l

I@

~h

~

m~~

FIGURE 18.

~~.

DMA TIMING OF LAST FRAME

167

r- -

CN
CJ1

r

WD1935 RECEPTION EXAMPLE 1

=e
c....

A sequence of events is shown in illustrating how to receive a
message with the WD1935. For simplicity, the same SDLC
frame structure is used as in Transmission Example 1. Also,
please refer to the same interface circuitry shown in Figure 2.

Co)

Fi~ure 19.iII~str~tes the functional flow, and Figure 20 contains the timing Information.

CD

CII

typical frame, but it shows how the WD1935 works in a wide
range of frame structures.
The first FLAG and FCS are not shown in detail and are not
critical to this example.
'
Figure 21 illustrates the functional flow, and Figure 22 contains the timing information.

WD1935 LOOP DATA LINK EXAMPLE

WD1935 RECEPTION EXAMPLE 2

this exa~pl~ shows how to program a secondary station
to function In SDLC Loop mode. The functional flow is
illustrated in Figure 24, and the interface circuit is show in
Figure 2.

This example shows a frame with two ADDRESS characters
two CONTROL characters, one 5-bit INFORMATION DATA
character, and two residual bits. This example may not be a

FIGURE 19.

FLOW DIAGRAM OF FRAME RECEPTION (EXAMPLE NO.1)

168

RECEIVE DATA
INTERRUPT NO. 2-N
(ADDRESS MATCH)

READIR.
ENABLE
INTERRUPT.

NO

READ
RHR

NO
(ERROR)

READ SR REG.
BITS 0-2
TO FIND
OUT WHAT
TYPE OF
ERROR

COMPUTER
DOING OTHER
TASKS
REMOVE
LAST TWO
CHAR. RECEIVED

READ SR
REGISTER
BITS 0-2

YES

SAVE RESIDUAL
BITS, BUT
MASK OUT THE
OTHERS IN
LAST CHAR.
NOT REMOVED

FIGURE 19.

FLOW DIAGRAM OF FRAME RECEPTION (CONTINUED)

169

~
C
..I.

co
W
en

.,.,
(IX CLOCK)

I
n

I
n

I

I

I

I

~~~
~~G

~6..,
OI:~

Un

NOTE 1. DATA SET CHANGE INTERRUPT
NOT SHOWN HERE
NOTE 2. PROGRAMMED ADDRESS (IN AR REG) ~ 331-1

FIGURE 20.

TIMING DIAGRAM OF FRAME RECEPTION (EXAMPLE NO.1)

170

FLOWCHART
INITIATE

---

RECEIVE MODE

(

START

~
~

PORT A
PORT B

~

MOMENTARILY
ACTIV. MR.
CONFIGURE
PIO

OUTPUT
INTERRUPT
INPUT

PA7-Q

=

0111 1111

PBO/PB2 (INTROIDRQI)

~

INTERRUPTS

t
WRITE
ADDRESS 1
INTO AR
REGISTER

ADDRESS 1 INTO AR

SET EXT
CONTR, ADDR.
COMP, EXT
AD DR AND
RCL ~ 5

DATA SET READY

ACTIVATE
RECEIVER

COMPUTER
DOING OTHER
TASKS

FIGURE 21 ,

1CH

CR2

~

11111000

CRl

~

00000010

t
SET
DTR

DATA TERM. READY

1ST INTERRUPT
(DATA SET CHANGE)

~

~

PROGRAM
EXTENDED CONTROL
ADDRESS COMPARE
EXTENDED ADDRESS
RECEIVE CHAR. LENGTH
~ 5 BITS

COMPUTER
DOING OTHER
TASKS

EXAMPLE: AR

t

(

WAIT

(

INTERRUPT

)

I

SEE DATA SET
READY IN
RECEPTION EXAMPLE 1
FLOWCHART

cb

FLOW DIAGRAM OF FRAME RECEPTION (EXAMPLE NO.2)

171

RECEIVE DATA
INTERRUPT NO. 2·N
(ADDRESS MATCH)

READIA.
ENABLE
INTERRUPT

YES

NO

YES
READ RHR

(ERROR)
EX.
IS
B3H

READ SR
REGISTER
BITS 0-2
(TYPE OF ERROR)

RECONFIGURE
COMPUTER
PIO TO IGNORE
DROI (ADDA.
2 MISMATCH)
NO

CALCULATE
NO. OF RESI·
DUAL BITS
(SEE RESIDUAL
BIT CALCU·
LATION NEXT
PAGE)

REMOVE FCS
AND NON·
RESID. BITS
IN LAST READ
INF. DATA CHAR.

COMPUTER
DOING
OTHER
TASKS

FIGURE 21.

FLOW DIAGRAM OF FRAME RECEPTION (CONTINUED)

172

RESIDUAL BIT CALCULATION
LOCATE THE
CHARACTER WITH
THE START OF THE
CLOSING FLAG

THIS METHOD IS USED TO
CALCULATE THE RESIDUAL
BITS FROM THE COLLECTED
DATA, RATHER THAN USING
THE STATUS REGISTER
BITS SRO-SR2.

I

:-

t
REMOVE THE FLAG
BITS FROM THIS
CHARACTER.

ADD THE RESULT
TO THE BITS/CHAR.
MODE VALUE

SUBTRACT 16
FROM THE
RESULT

THE REMAINDER
IS THE NUMBER
OF RESIDUAL BITS
IN THE FRAME

FIGURE 22.

FLOW DIAGRAM OF RESIDUAL BIT CALCULATION

I
t

________~------~----~----~----~--~--~--~--~~L

FIGURE 23.

TIMING DIAGRAM OF FRAME RECEPTION

173

FLOWCHART
INITIATE LOOP
MODE

C

START)

~
PORT A
PORT B

~

MOM. ACTIV.

OUTPUT
INTERRUPT
INPUT

~

ADDR_AR

m.

PA,.,

~

CONFIGURE
PIO. •

PB,.,

~

WRITE ADDRESS
INTOAR REG.
SET ADDR. COMP,
LOOP MODE,
AUTO FLAG

SET DTR
BIT

DATA TERM READY

COMPUTER
DOING OTHER
TASKS

C

INTERRUPT (ORal, DROO, INTRa)

AR ~ 00110011
CR3 ~ 00000000
CR2 ~ 01000101

CR1

~

00000010

WAIT

RECEIVE DATA (ACT TRAN BIT = 0)

DATA SET READY

1ST INTERRUPT

0111 1111

INTERRUPT 2-N
(ADDRESS COMPARED
AND MATCHED)

(INTETPT)

(

INTERRUPT)

SEE TIMING
DIAGRAM FIG. 22

SEE DATA seT
ACTIVATE
RECEIVER

COMPUTER
DOING OTHER
TASKS

READY IN
RECEPTION EXAMPLE 1
FLOWCHART

CR1 ~ 10000010
SEE RECEIVE DATA
IN RECEPTION EXAMPLE 1
FLOWCHART

cb~,~"=

(

FIGURE 24_

ENDOF RE-)
CEIVE DATA

FLOW DIAGRAM OF SOLe LOOP MODE OPERATION

174

TRANSMISSION"""

AEQUEST

V
I

CAl = 11000010

ACTIVATE TRANSMITTER

l

(SECONDARY STATION IS STILL FUNCTIONING AS A REPEATER,
RECEIVING DATA WHEN ADDRESSED, BUT IT IS NOW ALSO
WAITING FOA A GO·AHEAD PATTERN FROM PRIMARY
STATION TO BE ALLOWED TO TRANSMIT)
RECEIVE DATA (ACT TRAN BIT

= 1) OR XMIT DATA (GA IS RECEIVED)

INTERRUPT 2 - N
(ACT TRAN BIT = 1).

READ SR REG.
BITS 0-2
TO FIND
OUT WHAT
TYPE OF
REOM ERROR

RESID.
YES
BITS?= 00 ) - - - - - - - - ,

NO
SAVE RESIDUAL
BITS, BUT
MASK OUT THE
OTHERS IN
LAST CHAR.
NOT REMOVED

FIGURE 24.

FLOW DIAGRAM OF SDLC LOOP MODE (CONTINUED)

175

=E

....c
CD
W
U1

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.

176

WESTERN DIGITAL

c

o

R

p

o

R

A

T

/

o

N

WD2123 DEUCE
Dual Enhanced Universal Communications Element
FEATURES
TXADY-B

NC

• TWO INDEPENDENT ASYNCHRONOUS FULL DUPLEX
DATA COMMUNICATION CHANNELS (2 BOARTS)
• TWO INDEPENDENT BAUD RATEGEtIU::RATORS (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, W2, 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 COMflI!.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

TXO·B

AXAOY·B

AXO·B

TXE·B

II!'
CS1

i'iTS-B

ciI1

Ci'S-ii

BAKOET·B

SELCLK·B

DO
01

8

XCI/BCO·B

02

9

XTAl2
XTAL1

VSS

VCC

03

D4

MA

05

XCIIBCO-A

06

SELCLK·A

07

Gin

CS2

im=A

~

BAKOET·A

Cs3

TXE·A

RXO·A

AXAOY·A

TXO-A

TXRDY-A

PIN DESIGNATION

DESCRIPTION
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 RECEIVER/TRANSMITTER 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.

forms serial-to-parallel conversion on data characters received from an input/output device or a MODEM, and parallel-to-serial conversion on data characters received from the
CPU. The CPU can read the status of either channel at any
time. Status information on a per channel basis reported includes the type and the cond ition of the transfer operations
being performed by the WD2123 as well as any transmission
error conditions (parity, overrun, or framing). Programming
the WD2123 is identical to the 8251A in the asynchronous
mode, remembering that CS1, when low, selects CHANNEL
A and when CS2 is low, selects CHANNEL B.

The WD2123 Block Diagram is shown in Figure 1. The
WD2123 is a merger of two WD1983s and one WD1941 from
WDC's line of communications devices on one piece of silicon. The 1983 is an asynchronous only version of the 8251 A
and the 1941 is a baud rate generator. In this manner, 8251 A
compatibility is maintained with the WD2123 with the added
features of 2 channels and 2 baud rate generators on a single
Chip.

The WD2123 BAUD RATE GENERATORS may be selected
either internally or externally. The clock select logic includes
a clock select control bit CR1 (CS) in each COMMAND INSTRUCTION REGISTER. This control bit allows selection of
the internal baud clock or an externally applied clock and
works in conjunction with the select clock pin, "SELCLK" and
the external clock input/baud clock output pin, "XCI/BCO".
When CS is logic 1, the external clock select mode is selected. This means that the transmit and receive clocks (TXC
and RXC) are internally tied together and the select clock
pin, SELCLK, will determine whether those clocks are driven
from the intemal baud rate generator (SELCLK is high) or
from the external clock input pin, "XCI/BCO", (SELCLK is
lOW).

As depicted from the block diagram, the channels are referred to as CHANNELS A and B. CHANNEL A, which is an
asynchronous 8251 A, is addressed or controlled by the input
signal ~. CHANNEL B is Similarly controlled by~. Finally, the BAUD RATE GENERATORS are controlled by

CS3.
Each channel of the WD2123 can be programmed to receive
and transmit asynchronous serial data. The WD2123 per-

177

PIN DESCRIPTION
PIN
NUMBER

SIGNAL
MNEMONIC

10

VSS

GROUND

Ground

30

VCC

POWER SUPPLY

+5VDC power supply input.

7
8
9
11
12
13
14
15

DO
01
02
03
04
05
06
07

DATA BUS

This is the 8 bit Bidirectional Data Bus. It is the means of
communication between the WD2123 and the CPU. Data,
control, mode and status registers are accessed via this bus.

5

CS1

CHIP SELECT ONE

V,L on this input selects Channel A and enables computer
communications with Channel A Data, control and status
registers.

16

CS2

CHIP SELECT TWO

V,L on this input selects Channel B and enables computer
communications with Channel B Data, control and status
registers.

18

CS3

CHIP SELECT THREE

V,L on this input select the Baud Rate registers for programming.

6

ctr:i

CONTROL or
SELECT

4

FiE

READ ENABLE

V I L on this input allows the CPU to read data, or status information from the selected register.

17

WE

WRITE ENABLE

V,L on this input allows the CPU to write data or control information into the selected register.

29

MR

MASTER RESET

V,H on this input resets both channels to the idle state and
resets the status, command, mode and Data registers.

31

XTAL1

CRYSTAL OSCILLATOR
INPUT

This is the input side of the on-chip oscillator. It can also be
driven by an external clock source.

32

XTAL2

CRYSTAL OSCILLATOR
OUTPUT

This is the output side of the on-chip oscillator.

27

SELCLK-A

SELECT CLOCK
(Channel A)

This input is used in conjunction with the Clock Select bit
(CR1) in the command register to determine the baud clock
source for Channel A.

34

SELCLK-B

SELECT CLOCK
(Channel B)

This input is used in conjunction with the Clock Select bit
(CR1) in the command register to determine the baud clock
source for Channel B.

28

XCI/BCO-A

EXTERNAL CLOCK
INPUT/BAUD
CLOCK OUTPUT(Channel A)

This is a bidirectional port, which is used as the externally
applied baud clock input or the internal baud rate generator
output depending on the states of SELCLK and CR1 command bit. (Channel A)

33

XCI/BCO-B

EXTERNAL CLOCK
INPUT/BAUD CLOCK
OUTPUT-(Channel B)

This is a bidirectional port, which is used as the externally
applied baud clock input or the internal baud rate generator
output depending on the states of SELCLK and CR1 command bit. (Channel B)

26

CTS-A

CLEAR-TO-SEND
(Channel A)

V,L on this input enables Channel A to transmit serial data if
the Transmitter is enabled.

SIGNAL NAME

i5A'i'A

FUNCTION

This input is used in conjunction with the appropriate Chip
Select and an active read or write operation to determine
register access via the Data Bus.

178

PIN
NUMBER

SIGNAL
MNEMONIC

SIGNAL NAME

FUNCTION

35

Ci'S-B

CLEAR-TO-SEND
(Channel B)

V IL on this input enables Channel B to transmit serial data if
the Transmitter is enabled.

20

TXD-A

TRANSMIT DATA
(Channel A)

This is the Serial Data Output from Channel A.

2

TXD-B

TRANSMIT DATA
(Channel B)

This is the Serial Data Output from Channel B.

19

RXD-A

RECEIVE DATA
(Channel A)

This is the Serial Data Input for Channel A.

3

RXD-B

RECEIVE DATA
(Channel B)

This is the Serial Data Input for Channel B.

21

TXRDY-A

TRANSMITTER READY
(Channel A)

This output, when high (VOH), alerts the CPU that Channel A
is ready to accept a new data character. The TXRDY output is
automatically reset whenever a character is written into the
Transmit Holding Register and can be used as an interrupt to
the system. CTS must be asserted.

40

TXRDY-B

TRANSMITTER READY
(Channel B)

This output, when high (VOH), alerts the CPU that Channel B
is ready to accept a new data character. The TXRDY output is
automatically reset whenever a charaC1er is written into the
Transmit Holding Register and can be used as an interrupt to
the system. CTS must be asserted.

22

RXRDY-A

RECEIVER READY
(Channel A)

This output, when high 01 OH), alerts the CPU that Channel B
contains a data character that is ready to be input. This output is automatically reset whenever the new character is
read from the Receive Holding Register and can be used as
an interrupt to the system.

39

RXRDY-B

RECEIVER READY
(Channel B)

This output, when high01 OH), alerts the CPU that Channel B
contains a data character that is ready to be input. "ihis output is automatically reset whenever the new character is
read from the Receive Holding Register and can be used as
an interrupt to the system.

23

TXE-A

TRANSMITTER EMPTY
(Channel A)

This output, when high 01 OH), indicates that Channel A
Transmitter has no new characters to send and is waiting in
an idle state.

38

TXE-B

TRANSMITTER EMPTY
(Channel B)

This output, when high 01oH), indicates that Channel B
Transmitter has no new characters to send and is waiting in
an idle state.

24

BRKDET-A

BREAK DETECT
(Channel A)

This output, when high 01 OH), indicates that the Receiver for
Channel A has detected a break condition.

37

BRKDET-B

BREAK DETECT
(Channel B)

This output, when high 01 OH), ind icates that the Receiver for
Channel B has detected a break condition.

25

Ri'S-A

REQUEST-TO-SEND
(Channel A)

A general purpose output that is controlled by the command
register bit CR5 for Channel A.

36

R'fS-B

REQUEST-TO-SEND
(Channel B)

A general purpose output that is controlled by the command
register bit CR5 for Channel B.

1

NC

No Internal Connection.

179

ARCHITECTURE

If the internal BRG clock is selected, (SELCLK is high) then
the external clock input pin becomes a BRG clock output.
Hence, the mnemonic, "XCI/BCO".

The WD2123 is an eight bit bus-oriented device. Communication between the controlling CPU and the two RECEIVER/
TRANSMITTER CHANNELS or the two BAUD RATE GENERATORS occurs via the 8-bit data bus through a common
set of bus transceivers. Figure 1 is a Block Diagrarn of the
WD2123.

When CR1 (CS) is logic 0, then internal clock select mode is
selected. The transmit clock (TXC) is driven by the internal
BRG clock and the receive clock is driven by the select clock
pin, (SELCLK). The XCI/BCO pin becomes the baud clock
output (the same signal that is being applied to TXC).

A diagram of one of the two communication controllers is
shown in Figure 2. There are two accessible data registers,
which buffers transmit and receive data. They are the
TRANSMIT HOLDING REGISTER and the RECEIVE HOLDING REGISTER. There is a parallel-to-serial shift register, the
TRANSMIT REGISTER and a serial-Io-parallel shift reg isler,
the RECEIVE REGISTER.

The WD2123 also provides a local loop-back test mode of
operation for each channel. This diagnostic mode is independently controlled via the LB(CR7) bit of the COMMAND
REGISTER. When LB is logic 1, the channel is programmed
for Local Loop-Back. In this diagnostic mode, the TXD output
is set to the marking (logic "1 ") state; the output of the
TRANSMIT REGISTER is "looped-back" into the RECEIVER REGISTER input; RTS output is held high; the CTS
and RXD inputs are ignored. An additional requirement is
that the TEN(CRO) command bit and the REN(CR2) be logic
1. The status and output flags operate normally.

Operational Control and monitoring of the CHANNEL is performed by two CONTROL REGISTERS (the COMMAND INSTRUCTION REGISTER and the MODE INSTRUCTION
REGISTER) and the STATUS REGISTER.
A read/write control circuit allows programming/monitoring
or loading/reading of data in the CONTROL, STATUS and
HOLDING REGISTERS by activating the appropriate control
lines: Chip Select (CS1, CS2, CS3), READ ENABLE (RE),
WRITE ENABLE (WE) and CONTROL or DATA SELECT
(C/O).

Each channel is also provided with break character generation and detection. (A break character is defined as all zero
data bits, parity bit and stop bits after a valid start bit.) For
break character generation, SBRK (CR3) command bit is set
to a logic 1. This causes the TXD output to be forced low
(spacing) for as long as SBRK is programmed high. The
break detect output and status bit (SR6) is set to logic 1, indicating that the receiver has detected a break character.
The framing error flag is also set to 1 for this condition.

Internal control of each channel is by means of two internal
microcontrollers: one for transmit and one for receive. The
control registers, various counters and external signals provide inputs to the microcontrollers, which generate the necessary control signals to send and receive serial data according to the programmed protocol.

DATA
BUS

CSi
WE

CS2

(8)

AE

c/o

MA

BUS TRANSCEIVERS

TXD-B

TXD·A
AXO-A
TXADY-A

CHANNEL

CHANNEL

______

RXADY-A

TXRDY-B
RXRDY-8

TXE-S

TXE-A

BRKDET·B

BRKDET-A

RTs-B
CrS-B

RTS-A

ffi·A

SELCLK-B

SElCLK-A

BAUD RATE

BAUD RATE

GENERATOR

GENERATOR

XCI/BCO-S

XCI/BCO-A

GND

+5V

FIGURE 1.

WD2123 BLOCK DIAGRAM

180

The contents of the RATE REGISTER is decoded and ad·
dresses a FREQUENCY SELECT ROM for the proper fre·
quency, which is generated by the DIVIDER circuitry and the
control logic.

A diagram of one of the two BAUD RATE GENERATORS is
shown in Figure 3. The 4 low order DATA BUS bits, 00·03, are
used to program the desired rate by loading the RATE REGIS·
TER. Control signals CS3, We and C/O are used to select and
load the appropriate register.

TXRDY

RECEIVE AND
TRANSMIT
MICRO CONTROLLERS

TXE
/ - - - -.. RXRDY
/ - - - -.. BRKDET

t - - - -..

FiTS

~----CTs

READ/WRITE
CONTROL
LOGIC

TXC

RXC

C§O

Ai'! WE C/O

MR

CS1
CS2

FIGURE 2.

RECEIVE/TRANSMIT COMMUNICATIONS CONTROLLER DIAGRAM

181

INTERNAL DATA BUS (00·03)

~ ----'1J"-~WV;R;;rITrEE~....,

WE
(A) CII')

--_~

CONTROL

----t'"l_~L:::O:G:IC~_.J

(8) GIl')

~---,~

FREQUENCY
SELECT
__________________
ROM

~--~----L-__-=~~=-

~I

__

~~~~:>

DIVIDER

XTAL1

FIGURE 3.

XTAL2

WD2123 BAUD RATE GENERATOR DIAGRAM

The WD2123 registers are addressed by the following lable:
C/D

FiE

WE

CS1

CS2

CS3

L

L

H

L

H

H

RECEIVI: HOLDING REG.

-

CHA

L

H

L

L

H

H

TRANSMIT HOLDING REG.

-

CHA

H

L

H

L

H

H

STATUS REG.

-

CHA

H

H

L

L

H

H

MODI: AND COMMAND REG.

-

CHA

L

L

H

H

L

H

RECEIVE HOLDING Rm.

-

CHB

L

H

L

H

L

H

TRANSMIT HOLDING REG.

-

CHB

H

L

H

H

L

H

STATUS REG.

-

CHB

H

H

L

H

L

H

MODE and COMMAND REG.

CHB

L

H

L

H

H

L

RATE REG.

-

H

H

L

H

H

L

RATE REG.

-

CHB

X

X

X

H

H

H

DATA BUS IN HIGH IMPEDANCE MODE

Note:
"L" means VIL
pins.
"H" means VIH at pins.
"X" means don't care.

TABLE 1.

REGISTER SELECTED

WD2123 REGISTER ADDRESSING

at

182

CHA

FO

The WD2123 contains two MODE REGISTERS-one for
each channel. The format and definition of the
MODE REGISTERS are shown below:

B2

B1

0
0

0

1
1

0
1

Undefined
1X
16X
64X

L2

L1

CHARACTER LENGTH

1

The WD2123 contains two COMMAND REGISTERS-one
per channel. The format and definition of the
COMMAND REGISTERS are shown below:

BAUD RATE FACTOR

TRANSMIT ENABLE

TEN

Enable
Disable

1

0

CLOCK SELECT
XMIT and RCV Clock source
common
XMIT and RCV Clock sources
different

CS
1

0
0
0

0

1
1

0

1
1

5
6
7
8

Bits
Bits
Bits
Bits

RECEIVE ENABLE

REN
1

Enable
Disable

0
PARITY ENABLE

PEN

SEND BREAK CHARACTER

SBK
Disable Parity
Enable Parity

0
1

1

Force TXD Low
Normal Operation

0
PARITY SELECT

EP

ER
Odd Parity
Even Parity

0
1

ERROR RESET

1

Reset Error Flags
No Reset

0
S2

S1

0
0

0

1
1

0

NUMBER OF STOP BITS.
RTS

1
1

Invalid
1 Bit
1V2 Bits *
2 Bits

REQUEST TO SEND

1

Force RTS pin
Force RTS pin

0
IR

TABLE 2.

0

* 16X and 64X only. 1X will be 2 stop bits.

1 (VOH)

LB

LOOP BACK ENABLE

0

Normal Operation Mode
Local Loop-Back Mode

1

TABLE 3.

183

o (VOL)

INTERNAL RESET
Next Write to Mode Register
Next Write to Command
Register

1

WD2123 MODE REGISTERS

=
=

WD2123 CONTROL REGISTERS

The WD2123 contains two STATUS REGISTERS-one per channel. The STATUS REGISTER is a read-only register. The format and definition of the STATUS REGISTERS are shown below:
SR7

SR6

SR5

CTS

BRK
DET

FE

TXRDY

SR3

SR4

SR2

SRI

SRO

RX
ROY

TX
ROY

TRANSMITTER READY

1

Denotes THR is empty and ready for a
new character
THR not empty. (Reset when THR is
loaded by CPU)

0

RECEIVER READY

RXRDY

Denotes that the RHR contains a valid
character
RHR does not contain a valid character.
(Reset when the CPU reads the RHR)

I

0

TXE

TRANSMITTER EMPTY
Denotes that the TR is empty
Denotes that the TR is not empty

I

0
PE

PARITY ERROR

1
0

Denotes Parity Error
No Parity Error. (Reset by ER bit of command register)
OVERRUN ERROR

OE

Denotes Overrun Error
No Overrun Error. (Reset by ER bit of
command register)

1
0

FE

FRAMING ERROR

1
0

Denotes Framing Error
No Framing Error. (Reset by ER bit of
command register)

BRKDET

BREAK DETECT
Indicates that the receiver has detected a
line break condition. (FE will also be set)
No Break Condition detected for at least
one bit time

1

0

CTS

CLEAR-TO-SEND

1
0

Indicates that the CTS pin is active (VIl)
Indicates that the CTS pin is not active
(VIH)
TABLE 4.

WD2123 STATUS REGISTERS

184

The WD2123 contains two RATE REGISTERS that are used to select 16 BAUD rates when CR1 = 1 and
SELCLK = 1. The Format of the RATE REGISTERS is shown below. Note that the Receiver and the Transmitter of any channel run off the same Baud clock except when CR1 = 0, then the Transmitter runs off the
Baud Clock and the Receiver runs off an externally applied signal input on the SELCLK pin.
DO

07

RAO
RBO

RA3

x

x

RB3

When C/D=O, RA3 to RAO are loaded.
When C!D=1, RB3 to RBO are loaded.

em

The C/O line is used in conjunction with CS3 and ~to program the desired BAUD rate. When
is low, Channel
A is selected, and when C/O is high, Channel B is selected. The low order 4 bits of the DATA BUS are loaded into
the selected rate register, and the high order 4 bits are ignored.
When the crystal frequency equals 1.8432 MHz the following baud rates may be programmed.

R3

R2

R1

RO

BRF1X

BAUD RATE
BRF16X

BRF64X

FREQUENCY
(KHZ)

0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

800
1,200
1,760
2,150
2,400
3,200
4,800
9,600
19,200
28,800
38,400
57,600
76,800
115,200
153,600
307,200

50.0
75.0
110.0
134.5
150.0
200.0
300.0
600.0
1,200.0
1,800.0
2,400.0
3,600.0
4,800.0
7,200.0
9,600.0
19,200.0

12.50
18.75
27.50
33.59
37.50
50.00
75.00
150.00
300.00
450.00
600.00
900.00
1,200.00
1,800.00
2,400.00
4,800.00

0.80
1.20
1.76
2.15
2.40
3.20
4.80
9.60
19.20
28.80
38.40
57.60
76.80
115.20
153.60
307.20

TABLE 5.

WD2123 BAUD RATE SELECTION

185

DIVISOR
2304
1536
1049
855
768
576

384
192

96
64

48
32
24
16
12
6

READIWRITE OPERATIONS

The TXRDY, RXRDY, TXE and BRKDET FLAGS may be
connected to the microprocessor system as interrupt inputs
or the STATUS REGISTER can be periodically read in a
polled environment to support data communication control
operations.

The WD2123 must be initialized after a MASTER RESET
pulse by first writing the MODE INSTRUCTION word and
then the COMMAND INSTRUCTION word. Thereafter,
every control write to the device is interpreted as a
COMMAND word. If it is desired to re-program the MODE
REGISTER, a COMMAND REGISTER bit, INTERNAL
RESET (CR6), allows the next control write data to be
entered into the MODE REGISTER.

C/D = H

C/D

=L

(

=L

CID = H

The Receiver is equipped with logic to look for a break character. When a break is received, the BREAK DETECT
(BRKDET) FLAG and STATUS bit are set to "1". When the
receiver input line goes high 01IH) for at least one clock period, the receiver resets the BRKDET FLAG and resumes its
search for a start bit.

MODE INSTRUCTION WORD
COMMAND INSTRUCTION WORD
DATA
CHARACTER(S)

-

COMMAND INSTRUCTION WORD

CID = H
C/D

The SBRK bit of the COMMAND REGISTER (CR3) is used
to send a Break Character. (A Break Character is defined as
a start bit, and a II zero data, parity and stop bits.) When the
CR3 bit is set to a "1 ", it causes the transmitter output, TXD,
to be forced low after the last bit of the last character is
transmitted.

DATA
CHARACTER(S)

-

PROGRAMMING PROCEDURE
The programming sequence of the two channels will be different, depending on whether it is an initialization sequence
(that is, one performed right after a hardware master reset
occurs) or a re-programming sequence (that is, one performed to change the protocol characteristics (Parity, rate,
character length, etc.) after the device has been previously
operating in the system). The programming sequence differs, in that, after a master reset, the chip is set to expect the
first control write operation (C/D = 1) to contain a mode instruction. Any subsequent control write operations will be
transferred to the command instruction register.

COMMAND INSTRUCTION WORD
TYPICAL DATA BLOCK TRANSFER

OPERATING DESCRIPTION
The WD2123 is primarily designed to operate in an 8 bit microprocessor environment, although other control logic
schemes are easily implemented. The DJl:fA BUS and the interface control signals (CS1, CS2, CS3, ciiS, RE, WE) should
be connected to the microprocessor's data bus and system
control bus. A 1.8432 MHz crystal should be connected to
the WD2123 as shown in figure 5. The appropriate TXC
(RXC) clock frequencies should be programmed via system
software. Different Baud clock configurations are possible,
such as separate transmit and receive frequencies, and are
outlined in the general description.

Now when it is desired to change the mode instruction
register contents, the following re-programming sequence
should be performed. A Command Control word of "40" Hex
is written to the Chip. This tums off the Receiver and Transmitter and sets the IR (Internal Reset) bit. This bit causes the
read/write control logic to expect the next control write operation to be a new mode instruction. After the new mode
instruction is written to the chip, all subsequent control write
operations will again be interpreted as command instructions. Therefore, after the new mode instruction is performed, the next command would turn the receiver and
transmitter back on and resume normal Data operations.

For typical data communication applications, the RXD and
TXD inpuVoutputs can be connected to RS-232C interface
circuits. Interface control signals, C'fS and R'i'S, are controlled and sensed by the CPU through the COMMAND and
STATUS REGISTERS and can be configured in several
ways. The C'fS input can be used to synchronize the transmitter to external events.

186

~

C

N
N
W

+5V

30

DATA BUS

*

VCC

20

00-07

19

RXD-A

25

R'fS-A

26

Ci's:A

2

TXD-B

3

RXD-B

36

Ri'S-B

35

C'fS-ii

4
FiE
READ D---"-..-.
17
WRi'i"E o--~",
WE

TXD-A

29

RESETD--,.:;::.. . . MR
INTR
6
21
23

cio
TXRDY-A
RXRDY-A
TXE-A

24

BRKDET-A

40

TXRDY-B

38
37

WD2123

RXRDY-B
TXE-B

34

BRKDET-B

+5V

27

28
INTRA

BAUD CLOCK A OUTPUT
BAUD CLOCK B OUTPUT

AO
• RS232 INTERFACE
ADDRESS BUS

FIGURE 4.

WD2123 MICROPROCESSOR APPLICATION

187

ABSOLUTE MAXIMUM RATINGS
VDD with respect to VSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Voltage on Any Pin with Respect to Ground .........................
Power Dissipation .............................................
Lead Temperature (Soldering 10 sec.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

0.5V to + 12V
- 0.5V to + 7V
500 Mw.
300°C

STORAGE TEMPERATURE:
Ceramic: -65°C to + 150°C
Plastic: -55°C to + 125°C

CRYSTAL SPECIFICATIONS:
Temperature range ............................................ O°C to + 70°C
Series resistance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 300Q to 500Q
Overall tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ± 0.01%
Note: 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.

TABLE 6.
T A = O°C to
SYMBOL

DC ELECTRICAL CHARACTEFlISTICS

+ 70°C; Vee = 5.0V ±5%; GND = OV
PARAMETER

MIN

V,L

Input Low Voltage

-0.5

V,H

Input High Voltage

2.0

VOL

Output Low Voltage

VOH

Output High Voltage

IOL

Data Bus Leakage
(High Impedance State)

I,L

Input Leakage

lee

TYP

100

TABLE 7.

SYMBOL

PARAMETER

UNIT

0.8

V

Vee

V

0.45

V

IOL = 1.6 mA

V

IOH

-50
10

uA
uA

VOUT
VOUT

10

uA

Y,N

125

mA

Vee - 5.25V
No Load

MAX

UNIT

TEST CONDITIONS

2.4

Power Supply Current

MIN

TEST CONDITIONS

MAX

= -100 uA
= 0.45V
= Vee

= Vee

CAPACITANCE

TYP

C'N

Input Capacitance

10

pF

fe == lMHz

CliO

I/O Capacitance

20

pF

Unmeasured pins
returned to
GND.

188

AC ELECTRICAL CHARACTERISTICS

TA

= O°C to + 70C;

SYMBOL

Vee

= 5.0V

TABLE 8.

±5%; GND

A.C. CHARACTERISTICS

= OV

CHARACTERISTIC

MIN

MAX

tAR

Address Stable Before READ (Cs,C/D)

50

ns

tRA

Address Hold Time for READ (CS,C/D)

50

ns

tRE

READ Pulse Width

230

ns

tRO

Data Delay from READ

tROH

READ to Data Floating

25

tAW

Address Stable Before WRITE

50

ns

tWA

Address Hold Time for WRITE

50

ns

tWE

WRITE Pulse Width

230

ns

tos

Data Set-Up Time for WRITE

TWE

ns

tWOH

Data Hold Time for WRITE

100

ns

1.6

us

UNITS

CONDITIONS

BUS PARAMETERS
Read Cycle

200

ns

200

ns

CL

= 50 pF

CL (Max)
CL(Min)

= 50 pF
= 15pF

Write Cycle

OTHER TIMINGS
tTxe

Transmit Clock Period

torx

TxD Delay from Falling Edge of TxC

tSRX

Rx Data Set-Up Time to Sampling Pulse

tHRX
fTX

tTPW

tTPO

ns

CL

=

100 pF

200

ns

CL

=

100 pF

Rx Data Hold Time to Sampling Pulse

200

ns

CL

=

100 pF

Transmitter Input Clock Frequency
1x Baud Rate
16x and 64x Baud Rate

DC
DC

Transmitter Input Clock Pulse Width
1x Baud Rate
1QX and 64x Baud Rate

1.0
800

us
ns

Transmitter Input Clock Pulse Delay
1x Baud Rate
16x and 64x Baud Rate

1.0
800

us
ns

1000

189

500
600

kHz
kHz

Clock
50% Duty
Cycle

TABLE 9.

CHARACTERISTICS

SYMBC

fRX

tRPW

tRPD

A.C. CHARACTERISTICS (CONTINUED)
MIN

MAX

Receiver Input Clock Frequency
1x Baud Rate
16x and 64x Baud Rate

DC
DC

500
600

Receiver Input Clock Pulse Width
1x Baud Rate
16x and 64x Baud Rate

1.0
800

us
ns

Receiver Input Clock Pulse Delay
1x Baud Rate
16x and 64x Baud Rate

1.0
800

us
ns

tTX

TxRDY Delay from Center of Stop Bit

tRX

RxRDY Delay from Center of Stop Bit

tiS

Internal BRKDET Delay from Center
of Data Bit

tTRD

tTOD

twc

8

Y2

UNIT

kHz
kHz

tRXC
tRXC

1

RXC

TxRDY Delay from Falling Edge of
WRITE

450

ns

TXD Output from Falling Edge of
WRITE

1Y2

tTXC

Control Delay from Rising Edge of
WRITE (RTS)

200

ns

tCR

Control to READ Set-Up Time (CTS)

tMR

Master Reset

1

ns

500

x::

VHAC
VLAC
FIGURES.

::X

A.C. TEST POINTS

.. ~

OATABUS

C§.c7D

~

tAR

tR'

FIGURE6.

READ TIMING

190

tTXC

l.oo

TEST
CONDITION

Clock
50% Duty
Cycle

CL = 50pF (16X)

~

DATA BUS

CS,

c75

'DS

I
I
I

\

"

1-

I

I

I

WE

II

\
~

j

-'AW- r-

E

\

RTS

'wc

~

CTS

RE

I·

1+----

'TPW

f-'WA

~
}

'CR

FIGURES.

-

'WE

WRITE TIMING

FIGURE 7.

WE

~

-

I

INTERFACE CONTROL TIMING

---+---

'TPD

--~~

TXC (1 x CLOCK)

16 TXC PERIODS

------1

TXD

ton

FIGURE 9.

TRANSMITTER CLOCK AND DATA TIMING

191

-

AXD

--- - ,/

v-- -

-

tSRX

\

AXC (1 x CLOCK)

f--

IRPW

AXD

-t

----

__ ,../f'I..

'-tHRX

\

tRPD

-

j;_______

START BIT

~

1s_1_DA_T_A_B_IT_________

AXC (16 x CLOCK)

IINTERNAL
SAMPLING PULSE

'I'

8 AXC
PEAIODS

__________
FIGURE 10.

~n~

16 AXC PERIODS

---1

____________________

~~

RECEIVER CLOCK AND DATA TIMINGS

TXC

cS,c75

u
tTRD

TXRDY

TXD
' -____________S:.;T.;,;A;,,;,AT;..;B::;.IT;......__________- J DATA

FIGURE 11.

TRANSMITTER OUTPUT TIMINGS WITH RESPECT TO TRANSMIT CLOCK

192

RXD - - - ,

START

~~

I~._B~IT~__~________D_A~~BITS

RXRDY

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

FIGURE 12.

TXE

RXRDY TIMING

i

l fL

~,,-zn
'n
~-(;-G----uTXD

--------:I_~_~A_R_T____'__________DA~~tBITS

1"".------------------

PARITY
BIT

1st DATA BYTE

STOP
SIT(S)

I

C

~~ART

---+j+-,.I.I

r

2nd DATA
BYTE

FIGURE 13.

TXRDY TIMING

193

Printed

In

U S.A

See page 383 for ordering information.

Information furnished by Western Digital Corporation is believed to be accurate and reliable. However. no responsibility

IS

assumed by WeShHn D~qltti!

Corporation for Its use; nor for any infringements of patents or other rights of thtrd parties which may result from lIs use 1110 lIcense is granteo oy
implication or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right tv change
specifications at anytime without notice.

194

Pnnted In U.S.A

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.)

DO
D,
D2
D3
D4
D5
D6
D7
RCLK
SIN
SOUT
CSO
CS1
CS2
BAiJDOu'i'
XTAL1
XTAL2
DOSTR
DOSTR
vSS

• Full Double Buffering
• Independently Controlled Transmit, Receive,
Line Status, and Data Set Interrupts
• Programmable Baud Rate Generator Allows
Division of Any Input Clock by 1 to (2 '6 - 1)
and Generates the Internal 16x Clock
• 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-, 1 V2-, or 2-Stop Bit Generation
-Baud Rate Generation (DC to 56K Baud)
• False Start Bit Detector
• Complete Status Reporting Capabilities

3

vcc
Ai
RLS5
DSR
Ci'S

6

MR
6Oi"i"

8

9

DTR
RTS
5D"'i'2

12
14
15

INTRPT
NC
AO
A,
A2
ADS
CSOUT
DDIS
DISTR
DISTR

PIN DESIGNATION

• 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
• Full Prioritized Interrupt System Controls
• Single

+ 5-Volt Power Supply

DESCRIPTION

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 2" - 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.

The WD8250 is a programmable Asynchronous
Communication Element (ACE) in a 40-pin package. The device is fabricated in N/MOS silicon
gate technology.
The ACE is a software-oriented device using a
three-state 8-bit bi-directional data bus.
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.

195

PIN DESCRIPTION
PIN
NUMBER
1
thru
8

MNEMONIC
DO
thru
07

SIGNAL NAME
DATA BUS

9

RCLK

RECEIVE CLK.

10

SIN

SERIAL INPUT

11

SOUT

SERIAL OUTPUT

12
13

14

CSO
CS1
CS2

CHIP SELECT
CHIP SELECT
CHIPSELECT

15

BAUDOUT

BAUDOUT

16
17

XTAL 1
XTAL2

18
19

DOSTR
DOSTR

20
21
22

VSS
DISTR
DISTR

23

DDIS

24

CSOUT

25

FUNCTION
3·state input/output lines. Bi·directional communication lines between WD8250 and Data Bus.
All assembled data TX and RX, control words, and
status information are transferred via the 00-07
data bus.
This input is the 16X baud rate clock for the
receiver section of the chip (may be tied to
BAUDOUT pin 15).
Received Serial Data In from the communications
link (Peripheral device, modem or data set).
Transmitted Serial Data Out to the communication
link. The SOUT signal is set to a (logic 1) marking
condition upon a MASTER RESET.
When CSO and CS1 are high, and CS2 is low, chip
is selected. Selection is complete when the address strobe ADS latches the chip select signals.

16X clock signal for the transmitter section of the
WD8250. The clock rate is equal to the oscillator
frequency divided by the divisor loaded into the
divisor latches. The BAUDOUT signal may be used
to clock the receiver by tying to (pin 9) RCLK.
EXTERNAL CLOCK IN
These pins connect the crystal or signal clock to
EXTERNAL CLOCK OUT the WD8250 baud rate divisor circuit. See Fig. 3
and Fig. 4 for circuit connection diagrams.
DATA OUT STROBE
When the chip has been selected, a low DOSTR or
DATA OUT STROBE
high DOSTR will latch data into the selected
WD8250 register (a CPU write). Only one of these
lines need be used. Tie unused line to its inactive
state. DOSTR - high or DOSTR - low.
GROUND
System signal ground.
DATA IN STROBE
When chip has been selected, a low DISTR or high
DATA IN STROBE
DISTR will allow a read of the selected WD8250
register (a CPU read). Only one of these lines need
be used. Tie unused line to its inactive state.
DISTR - high or DISTR - low.
DRIVER DISABLE
Output goes low whenever data is being read from
the WD8250. Can be used to reverse data direction
of external transceiver.
CHIP SELECT OUT
Output goes high when chip is selected. No data
transfer can be initiated until CSOUT is high.
ADDRESS STROBE

When low, provides latching for R~ter Select (AO,
A1, A2) and Chip Select (CSO, CS1, CS2)
NOTE: The rising edge (.) of the ADS signal is
required when the Register Select (AO, A1,
A2) and the Chip Select (CSO, CS1, CS2)
signals are not stable for the duration of a
read or write operation. If not required, the
ADS input can be tied permanently low.

196

PIN
NUMBER

26
27
28

A2
A1
AO

FUNCTION
SIGNAL NAME
REGISTER SELECT A2 These three inputs are used to select a WD8250
REGISTER SELECT A 1 internal register during a data read or write. See
REGISTER SELECT AO Table below.

29
30

NC
INTRPT

NO CONNECT
INTERRUPT

31

OUT2

OUTPUT 2

MNEMONIC

NoConnect
Output goes high whenever an enabled interrupt
is pending.
User-designated output that can be programmed
by Bit 1....QL the modem control register
1,
causes OUT2 to go low.
Output when low informs the modem or data set
that the WD8250 is ready to transmit data. See
Modem Control Register.
Output when low informs the modem or data set that the
WD8250 is ready to receive.

=

32

RTS

REQUEST TO SEND

33

DTR

DATA TERMINAL
READY

34

OUT1

OUTPUT 1

35

MR

MASTER RESET

36

CTS

CLEAR TO SEND

37

DSR

DATA SET READY

38

RSLD

RECEIVED LINE
SIGNAL DETECT

39

Ai

RING INDICATOR

40

VCC

+5V

User designated output can be programmed by Bit
2 of Modem Control Register
1 causes OUT1 to
go low.
When high clears the registers to states as indicated in Table 1.

=

Input from DCE indicating remote device is ready to
transmit. See Modem Status Register.
Input from DCE used to indicate the status of the local
data set. See Modem Status Register.
Input from DCE indicating that it is receiving a signal
which meets its signal quality conditions. See Modem
Status Register.
Input, when low, indicates that a ringing signal is being
received by the modem or data set. See Modem Status
Register.
+ 5 Volt Supply.

DATA
SER'ALIN

}

TO/FROM
PERIPHERAL
MODEM, OR
DATA SET

SYSTEM
PROCESSOR

I--tc:,.,.;~

SELECT AND

SERIAL
OAT A OUT

I--F~ CONTROL
LOGIC

1--+--1

MODEM-CONTROL
FUNCTIONS
TO FROM MODEM
OR DA TA SET

SYSTEM
INTERRUPT

FIGURE 1.

WD8250 GENERAL SYSTEM CONFIGURATION

197

I
I

Ii

INTERNAL
DATA BUS

(l-S)

DATA BUS
BUFFER

RECEIVER
BUFFER
REGISTER

~

LINE
CONTROL
REGISTER

_(2~~ .....

:~::

GSO
GSl

1552

m

MR
DISTR

i5iSrR
DOSTR
DOSTR
DDIS
CSOUT
XTAL1

:

RECEIVER
SHIFT
REGISTER

~

~

.--

~

DIVISOR
LATCH (LS)

(9)

i4----

-..

RCLK

(15)

BAUD
GENERATOR

(14)

.

(25)
SELECT AND
CONTROL
LOGIC

(35)

SIN

BAUDOUT

DIVISOR
LATCH (MS)

~
(13)

(22) -,.

RECEIVER
TIMING AND
CONTROL

(10)

(21)

LINE STATUS
REGISTER

TRANSMITTER
TIMING AND
CONTROL

TRANSMITTER
HOLDING
REGISTER

TRANSMITTER
SHIFT
REGISTER

(19)
(18)
(23)
(24)
(16)
_ (17)

(11)

SOUl

XTAL2
(32)

MODEM
CONTROL
REGISTER

I

(40)
(20)

. . +5V
... GND

MODEM
STATUS
REGISTER

INTERRUPT
ENABLE
REGISTER

NOTE:
A PPLICABLE PINOUT NUMBERS ARE
I NCLUDED WITHIN PARENTHESES

MODEM
CONTROL
LOGIC

r

INTERRUPT
ID REGISTER

FIGURE 2.

RTs

Ci'S
~~
(33)

~

INTERRUPT
CONTROL
LOGIC

I

i'iTR
liS'R
RSLD

m~
(34)
(31)

WD8250 BLOCK DIAGRAM

198

(37)

oun
0liT2

(30)
I~~

CHIP SELECTION AND REGISTER ADDRESSING

DLAB

Address Strobe (ADS pin 25): When low provides
latching for register select (AO, A1, A2) and chip
select (CSO, CS1, CS2).

0

0

0

0

0

0

NOTE: The rising edge ( .. ) of the ADS input is
required when Register Select (AO, A1, A2)
and Chip Select (CSO, CS1, CS2) signals are
not stable for the duration of a read or write
operation. If ADS is not required for latching,
this input can be tied permanently low.

X

0
0

1

1
1
1

0
0
1

1

1

0
0

0
0

X
X

X
X
X
1
1

Chip Select (CSO, CS1, CS2) pins 12·14: The
definition of chip selected is CSO, CS1 both high
and CS2 is low. Chip selection is complete when
latched by ADS or ADS is tied low.
Register Select (AO, A 1, A2) pins 26·28: To select a
register for read or write operation, see Register
Table.
NOTE: (DLAB) Divisor Latch access bit is the MSB
of the Line Control Register. DLAB must
be programmed high logic 1 by the system
software to access the Baud Rate Generator Divisor Latches.
TABLE 1.

A2 A1 AO

1

Register
0 Receiver Buffer (read), Transmitter
Holding Register (write)
1 Interrupt Enable
0 Interrupt Identification (read only)
1 Line Control
0 MODEM Control
1 Line Status

0 MODEM Status
1 None
0 Divisor Latch (least significant byte)
1 Divisor Latch (most significant byte)

WD8250 OPERATIONAL DESCRIPTION
Master Reset
A high-level input on pin 35 causes the WD8250 to
reset to the condition listed in Table 1.
WD8250 Accessible Registers
The system programmer has access to any of the
registers summarized in Table 2. For individual
register descriptions, refer to the following pages
under register heading.

RESET CONTROL OF REGISTERS AND PINOUT SIGNALS

Register/Signal

Reset Control

Receiver Buffer Register

Fi rst Word Received

Data

Transmitter Holding Register

Writing into the
Transmitter Holding Register

Data

Interrupt Enable Register

Master Reset

All Bits Low
(0-3 forced and 4-7 permanent)

Interrupt Identification Register

Master Reset

Bit 0 is High and
Bits 1-7 Are Permanently Low

Line Control Register

Master Reset

All Bits Low

MODEM Control Register

Master Reset

All Bits Low

Line Status Register

Master Reset

All Bits Low,
Except Bits 5 and 6 Are High

Modem Status Register

Master Reset
MODEM Signal Inputs

Gits 0-3 Low
Bits 4-7 - Input Signal
Data

Reset State

Divisor Latch (low order bits)

Writing into the Latch

Divisor Latch (high order bits)

Writing into the Latch

Data

SOUT

Master Reset

High

BAUDOUT

Writing Into either Divisor Latch

Low

CSOUT

ADS Strobe Signal and State of
Chip Select Lines

High/Low

DDIS

DDIS = CSOUT • RCLK • DISTR
(At Master Reset. the CPU
sets RCLK and DISTR lOW.)

High

INTRPT

Master Reset

Low

OUT 2

Master Reset

High
High

F-~

RTS

Master Reset

DTR

Master Reset

High

OUT 1

Master Reset

High

07-00 Data Bus Lines

In THREE-STATE Mode.
Unless CSOUT • DISTR = High
or CSOUT • DOSTR = High

THREE-STATE
Data (ACE to CPU)
Data (CPU to ACE)

199

TABLE 2.

SUMMARY OF WD8250 ACCESSIBLE REGISTERS
Register Address

Bit
No.

0

1

ODLAB=O

oDLAB=O

Receiver
Buffer
Register
(Read
Only)

Transmitter

Data BitO'

Data Bit 1

1DLAB=0

2

3

4

5

6

ODLAB 1

1DLAB=l

Interrupt
Enable
Register

Interrupt
Identification
Register

Line
Control
Register

MODEM
Control
Register

Line
Status
Register

MODEM
Status
Register

Divisor
Latch
(LS)

Divisor
Latch
(MS)

Holding
Register

(Write
Only)

Data BiIO·

Enable
Received
Data
Available
Interrupt
(ERBFI)

"0" if
Interrupt
Pending

Word
Length
Select
Bit 0
(WLSO)

Data
Terminal
Ready
(DTR)

Data
Ready
(DR)

Delta
Clear to
Send
(DCTS)

Bit 0

Bit 8

Data Bit 1

Enable
Transmitter
Holding
Register
Empty
Interrupt
(ETBEI)

Interrupt
10
Bit (0)

Word
Length
Select
Bit 1
(WLS1)

Request
to Send
(RTS)

Overrun
Error
(OR)

Delta
Data Set
Ready
(DDSR)

Bit 1

Bit 9

Interrupt
10
Bit (1)

Number
of Stop
Bits
(STB)

Out 1

Parity
Error
(PE)

Trailing
Edge Ring
Indicator
(TERI)

Bit 2

Bit 10

Out 2

Framing
Error
(FE)

Delta
Receive
Line Signal
Detect
(DSLSD)

Bit 3

Bit 11

Loop

Break
Interrupt
(BI)

Clear to
Send
(CTS)

Bit 4

Bit 12

0

Transmitter
Holding
Register
Empty
(THRE)

Data
Set
Ready
(DSR)

Bit 5

Bit 13

Ring
Indicator
(RI)

Bit 6

Bit 14

Received
line
Signal
Detect
(RLSD)

Bit 7

Bit 15

Enable
Receiver

Line
Status
Interrupt
(ELSI)

2

Data Blt2

Data Bit 2

3

Data Bit3

Data Bit 3

Enable
MODEM
Status
Interrupt
(EDSSI)

0

Parity
Enable
(PEN)

4

Data Bit 4

Data Bit 4

0

0

Even
Parity
Select
(EPS)

5

Data Bit 5

Data Bit 5

0

0

Stick
Parity

6

Data Blt6

Data Bit 6

0

0

Set Break

0

Transmitter
Shift
Register
Empty
(TSRE)

7

Data Bit 7

Data Bit 7

0

0

Divisor
Latch
Access
Bit
(DLAB)

0

0

'Bit 0 is the least significant bit. It

IS

the first bit serially transmitted or received

200

Spacing (logic 0) state and remains there (until reset by
a low·level bit 6) regardless of other transmitter activity.
The feature enables the CPU to alert a terminal in a
computer communications system.

Line Control Register
Bits 0 and 1: These two bits specify the number of
bits in each transmitted or received serial character.
The encoding of bits 0 and 1 is as follows:
Bit 1
0
0
1
1

Bit 0
0
1
0
1

Bit 7: This bit is the Divisor Latch Access Bit (DLAB).
It must be set high (logic 1) to access the Divisor
Latches of the Baud Rate Generator during a Read
or Write operation. It must be set low (logic 0) to
access the Receiver Buffer, the Transmitter Holding
Register, or the Interrupt Enable Register.

Word Length
5 Bits
6 Bits
7 Bits
8 Bits

WD8250 Programmable Baud Rate Generator

Bit 2: This bit specifies the number of stop bits in
each transmitted or received serial character. If bit
2 is a logic 0, 1 Stop bit is generated or checked in
the transmit or receive data, respectively. If bit 2 is a
logic 1 when a 5-bit word length is selected via bits 0
and 1, 1'12 Stop bits are generated or checked. If bit 2
is a logic 1 when either a 6-, 7-, or 8-bit word length is
selected, 2 Stop bits are generated or checked.

The WD8250 contains a programmable Baud Rate
Generator that is capable of taking any clock input
(DC to 3.1 MHz) and dividing it by any divisor from 1
to (2 '6 - 1). The output frequency of the Baud Generator is 16x the Baud rate. Two 8-bit latches store the
divisor in a 16·bit binary format. These Divisor
Latches must be loaded during initialization in order
to insure desired operation of the Baud Rate Generator. Upon loading either of the Divisor Latches, a
16-bit Baud counter is immediately loaded. This
prevents long counts on initial load.

Bit 3: This bit is the Parity Enable bit. When bit 3 is a
logic 1, a Parity bit is generated (transmit data) or
checked (receive data) between the last data word
bit and Stop bit of the serial data. (The Parity bit is
used to produce an even or odd number of 1s when
the data word bits and the Parity bit are summed.)

Bit 6: This bit is the Set Break Control bit. When bit 6
is a logic 1, the serial output (SOUT) is forced to the

Tables 3 and 4 illustrate the use of the Baud Generator with two different driving frequencies. One is referenced to a 1.8432 MHz crystal. The other is a 3.072
MHz crystal.
NOTE
The maximum operating frequency of the Baud
Generator is 3.1 MHz. However, when using
divisors of 6 and below, the maximum frequency
is equal to 1/2 the divisor in MHz. For example,
if the divisor is 1, then the maximum frequency is
1/2 MHz. In no case should the data rate be
greater than 56K Baud.
Line Status Register
This 8-bit register provides status information to the
CPU concerning the data transfer. The contents of

TABLE 3. BAUD RATES USING 1.8432 MHz CRYSTAL.

TABLE 4. BAUD RATES USING 3.072 MHz CRYSTAL.

Bit 4: This bit is the Even Parity Select bit. When bit 3
is a logic 1 and bit 4 is a logic 0, an odd number of
logic 1s is transmitted or checked in the data word
bits and Parity bit. When bit 3 is a logic 1 and bit 4 is a
logic 1, an even number of bits is transmitted or
checked.
Bit 5: This bit is the Stick Parity bit. When bit 3 is a
logic 1 and bit 5 is a logic 1, the Parity bit is transmitted and then detected by the receiver in the opposite
state indicated by bit 4.

Desired
Baud
Rate

Divisor Used
to Generate
16. Clock
2304
1536
1047
857
768
384
192
96
64
58
48
32
24
16
12
6
3
2

50
75
110
134.5
150
300
600
1200
1800
2000
2400
3600
4800
7200
9600
19200
38400
56000
NOTE: 1.8432 MHz

IS

Percent Error
Difference Between
Desired and Actual
0.026
0.058

-

0.69

_.

2.86

the standard 8080 frequency divided by 10.

201

Desired
Baud
Rate

Divisor Used
to Generate
16. Clock

50
75
110
134.5
150
300
600
1200
1800
2000
2400
3600
4800
7200
9600
19200
38400
56000

3840
2560
1745
1428
1280
640
320
160
107
96
80
53
40
27
20
1(l.

5
3

Percent Error
Difference Between
Desired and Actual
0.026
0.034
0.628
1.23

-

14.285

:e

c
00

I\)

CJ'I

o

the Line Status Register are indicated in table 2 and
are described below.
Bit 0: This bit is the receiver Data Ready (DR) indicator.
Bit 0 is set to a logic 1 whenever a complete incoming
character has been received and transferred into the
Receiver Buffer Register. Bit 0 will be reset to a logic 0
either by the CPU reading the data in the Receiver
Buffer Register or by writing a logic 0 into it from the
CPU.
Bit 1: This bit is the Overrun Error (OE) indicator. Bit
1 indicates that data in the Receiver Buffer Register
was not read by the CPU before the next character
was transferred into the Receiver Buffer Register,
thereby destroying the previous character. The OE
indicator is reset whenever the CPU reads the contents of the Line Status Register.
Bit 2: This bit is the Parity Error (PE) indicator. Bit 2
indicates that the received data character does not
have the correct even or odd parity, as selected by
the even-parity-select bit. The PE bit is set to a logic
1 upon detection of a parity error and is reset to a
logic 0 whenever the CPU reads the contents of the
Line Status Register.
Bit 3: This bit is the Framing Error (FE) indicator. Bit
3 indicates that the received character did not have a
valid Stop bit. Bit 3 is set to a logic 1 whenever the
Stop bit following the last data bit or parity bit is
detected as a zero bit (Spacing level).
Bit 4: This bit is the Break Interrupt (BI) indicator. Bit
4 is set to a logic 1 whenever the received data input
is held in the Spacing (Logic 0) state for longer than
a full word transmission time (that is, the total time
of Start bit + data bits + Parity + Stop bits).
NOTE
Bits 1 through 4 are the error conditions that
produce a Receiver Line Status interrupt whenever any of the corresponding conditions are
detected.
Bit 5: This bit is the Transmitter Holding Register
Empty (THRE) indicator. Bit 5 indicates that the
WD8250 is ready to accept a new character for
transmission. In addition, this bit causes the
WD8250 to issue an interrupt to the CPU when the
Transmit Holding Register Empty Interrupt enable
is set high. The THRE bit is set to a logic 1 when a
character is transferred from the Transmitter Holding Register into the Transmitter Shift Register. The
bit is reset to logic Oconcurrently with the loading of
the Transmitter Holding Register by the CPU.
Bit 6: This bit is the Transmitter Shift Register Empty
(TSRE) indicator. Bit 6 is set to a logic 1 whenever
the Transmitter Shift Register is idle. It is reset to
logic 0 upon a data transfer from the Transmitter

Interrupt Identification Register
The WD8250 has an on chip interrupt capability that
allows for complete flexibility in interfacing to all
popular microprocessors presently available. In
order to provide minimum software overhead during data character transfers, the WD8250 prioritizes
interrupts into four levels. The four levels of interrupt conditions are as follows: Receiver Line Status
(priority 1); Received Data Ready (priority 2); Transmitter Holding Register Empty (priority 3); and
MODEM Status (priority 4).
Information indicating that a prioritized interrupt is
pending and source of that interrupt are stored in
the Interrupt Identification Register (refer to table
5). The Interrupt Identification Register (IIR), when
addressed during chip-select time, freezes the highest priority interrupt pending and no other interrupts are acknowledged until the particular
interrupt is serviced by the CPU. The contents of the
IIR are indicated in table 2 and are described below.
Bit 0: This bit can be used in either a hardwired
prioritized or polled environment to indicate
whether an interrupt is pending. When bit 0 is a logic
O. an interrupt is pending and the IIR contents may
be used as a pointer to the appropriate interrupt service routine. When bit 0 is a logic 1. no interrupt is
pending and polling (if used) continues.
Bits 1 and 2: These two bits of the IIR are used to
identify the highest priority interrupt pending as
indicated in table 5.
Bits 3 through 7: These five bits of the II R are always
logic O.
Interrupt Enable Register
This 8·bit register enables the four interrupt sources of
the WD8250 to separately activate the chip Interrupt
(INTRPT) output signal. It is possible to totally disable
the interrupt system by resetting bits 0 through 3 of the
Interrupt Enable Register. Similarly, by setting the
appropriate bits of this register to a logic 1, selected
interrupts can be enabled. Disabling the interrupt
system inhibits the Interrupt Identification Register
and the active (high) INTRPT output from the chip. All
other system functions operate in their normal manner,
including the setting of the Line Status and MODEM
Status Registers. The contents of the Interrupt Enable
Register are indicated in table 2 and are described
below.
Bit 0: This bit enables the Received Data Available
Interrupt when set to logic 1.
Bit 1: This bit enables the Transmitter Holding Register
Empty Interrupt when set to a logic 1.

Holding Register to the Transmitter Shift Register.
Bit 6 is a read-only bit.

Bit 2: This bit enables the Receiver Line Status Interrupt when set to logic 1.

Bit 7: This bit is permanently set to logic O.

202

TABLE 5.

INTERRUPT CONTROL FUNCTIONS.

Interrupt Identification
Register
Bit 2

Bit 1

Bit 0

0

0

1

Interrupt Set and Reset Functions
Priority Interrupt
Level
Flag
-

Interrupt
Source

Interrupt
Reset Control

None

-

Overrun Error or
Parity Error or
Framing Error or
Break Interrupt

Reading the
Line Status Register

Received
Data Available

Receiver
Data Available

Reading the
Receiver Buffer
Register

Transmitter
Holding Register
Empty

Transmitter
Holding Register
Empty

Reading the II R
Register (if source
of interrupt) or
Writing into the
Transmitter Holding
Register

MODEM
Status

Clear to Send or
Data Set Ready or Reading the
MODEM Status
Ring Indicator or
Register
Received Line
Signal Detect

None

1

1

0

Highest Receiver
Line Status

1

0

0

Second

0

0

1

0

0

0

Third

Fourth

Bit 3: This bit enables the MODEM Status Interrupt
when set to logic 1.

Bit 3: This bit controls the Output 2 (OUT 2) signal,
which is an auxiliary user-designated output. Bit 3
affects the OUT 2 output in a manner identical to
that described above for bit O.

Bits 4 through 7: These four bits are always logic O.
MODEM Control Register

Bit 4: This bit provides a loopback feature for diagnostic testing of the WD8250. When bit 4 is set to logic 1,
the following occur: the transmitter Serial Output
(SOUT) is set to a logic one (high) state; the receiver
Serial Input (SIN) is disconnected; the output of the
Transmitter Shift Register is "looped back" into the
Receiver Shift Register input; the four MODEM Control
Inputs (CTS, DSR, RLSD, and RI) are disconnected; and
the four MODEM Control outputs (DTR, RTS, OUT 1,
and OUT 2) are internally connected to the four MODEM
Control inputs. In the diagnostic mode, data that is
transmitted is immediately received. This feature
allows the processor to verify the transmit- and receivedata paths of the WD8250.

This 8-bit register controls the interface with the
MODEM or data set (or a peripheral device emulating a MODEM). The contents of the MODEM Control Register are indicated in table 2 and are
described below.
Bit 0: This bit controls the Data Terminal Ready
(DTR) output. When bit 0 is set to a logic 1. the DTR
output is forced to a logic O. When bit 0 is reset to a
logic O. the DTR output is forced to a logic 1.
NOTE
The DTR output of the WD8250 may be applied
to an EIA inverting line driver (such as the
DS1488) to obtain the proper polarity input at
the succeeding MODEM or data set.

In the diagnostic mode, the receiver and transmitter
interrupts are fully operational. The MODEM Control Interrupts are also operational but the interrupts' sources are now the lower four bits of the
MODEM Control Register instead of the four
MODEM Control inputs. The interrupts are still controlled by the Interrupt Enable Register.
The WD8250 interrupt system can be tested by writing into the lower six bits of the Line Status Register

Bit 1: This bit controls the Request to Send (RTS)
output. Bit 1 affects the RTS output in a manner
identical to that described above for bit O.
Bit 2: This bit controls the Output 1 (OUT 1) signal,
which is an auxiliary user-designated output. Bit 2
affects the OUT 1 output in a manner identical to
that described above for bit O.

203

I

r

Bit 1: This bit is the Delta Data Set Ready (DDSR)
indicator. Bit 1 indicates that the DSR input to the
chip has changed state since the last time it was
read by the CPU.

and the lower four bits of the MODEM Status Register. Setting any of these bits to a logic 1 generates
the appropriate interrupt (if enabled). The resetting
of these interrupts is the same as in normal WD8250
operation. To return to this operation. the registers
must be reprogrammed for normal operation and
then bit 4 must be reset to logic O.
Bits 5 through 7: These bits are permanently set to
logic O.

Bit 2: This bit is the Trailing Edge of Ring Indicator
(TERI) detector. Bit 2 indicates that the AT input to
the chip has changed from an On (logic 1) to an Off
(logic 0) condition.

Bit 3: This bit is the Delta Received Line Signal
MODEM Status Register
Detector (DR LSD) indicator. Bit 3 indicates that the
This 8-bit register provides the current state of the
RLSD input to the chip has changed state.
control lines from the MODEM (or peripheral
NOTE
device) to the CPU. In addition to this current-state
Whenever bit O. 1. 2. or 3 is set to logic 1. a
information. four bits of the MODEM Status RegisMODEM Status Interrupt is generated.
ter provide change information. These bits are set to
a logic 1 whenever a control input from the MODEM
Bit 4: This bit is the complement of the Clear to Send
changes state. They are reset to logic 0 whenever
(CTS) input.
the CPU reads the MODEM Status Register.
Bit 5: This bit is the complement of the Data Set
The contents of the MODEM Status Register are
Ready (DSR) input.
indicated in table 2 and are described below.
Bit 6: This bit is the complement of the Ring IndicaBit 0: This bit is the Delta Clear to Send (DCTS) inditor
(AT) input.
cator. Bit 0 indicates that the CTS input to the chip
Bit 7: This bit is the complement of the Received
has changed state since the last time it was read by
Line Signal Detect (RLSD) input.
the CPU.
Typical Applications
Figures 3 and 4 show how to use the WD8250 chip in an 8080A system and in a microcomputer system with a highcapacity data bus.

"
"

AO

.,

.or---.

AO

XTALl

.,

26

8080A
MICROPAOCESSOR

"

,

."

'>5

A..

~

"

CS'

DB3
8228/8238
SYSTEM
CONTROLLER

DB'

,
3

Dffi

0iJf"2

WD8250
(ACE)

OATA2

...

OATA4

6

,
,

DB5
DB6

CTs

DATA6

SOUT
21

iiOR

"

liOW

AND DRIVER

FIGURE 3.

OISTA
DOSTA

SIN

35

RESET
8224 Clock
GENERATOR

,,~

1488

II~

1468

~
19

25

~
~
~

~
~.'5V

r---

~ r-"-

38

I/~

37

1489

'-I~ r-"-

36

r-"r---

DATA 7

DB'

,Z(TTLf

--:--t>

Al

=

OATA3

5

AU ANATE

MR

lNTAPT

i5iSTR

CSOUT

nOis

DOSTR

~
10

~

r:-.
~
29

ADS

NCIl;ND

t-=-

GND

IVSS)

l"'5V

IVeel

-

1/.1488

r---

f-'..-

r---

~ r--2-

F:==
-=

i....-.!.--

TYPICAL 8·BIT MICROPROCESSOR/RS·232 TERMINAL INTERFACE USING THE ACE.

204

I

-2T~C~A2!J

DATA 1

,

..

I 17
L _

ftS·232

DATAO

DB'
DB'

I
I
0""::'1

II

5DTi ~

,

DATAPQRT

I

"

RClK

"Rts

DBO
07_ 0 0

eso

CS"2

I

I
I

.0

BAUDQUT

.,3

r;IF'
:Zl
~

XTAL2~

Typical Applications (continued)

ABSOLUTE MAXIMUM RATINGS

~=DO=ST~R-------

WRITE CYCLE TIMING

211

TABLE 12

READ/WRITE CYCLE TIMING

PARAMETER

SYMBOL

UNITS

MIN.
120
100
10

tACH

Address Strobe Width
Address and Chip Select Setup Time
Address and Chip Select Hold Time

tcss
tOlD

CSOUT Delay from latch
DISTRIDISTR Delay from latch

tDIW
tRC
RC

DISTR/DISTR Strobe Width

ns
ns

Read Cycle Delay

ns

Read Cycle = tACS + tOlD + tDIW + tRC + 20 ns
DISTR/DISTR to Driver Disable Delay
Delay from DISTR/DISTR to Data

ns
ns
ns

DISTR/DISTR to Floating Data Delay

ns
ns

60
20

ns
ns

175
685
1000
175
60

tAW
tACS

too
tODD
tHZ
tDOD
tDOW
twc
WC
tDS
tDH
tesc'
tDIC'
toOC'
tACR*
tACW'
tMR

ns
ns
ns
ns

DOSTRIDOSTR Delay From latch
DOSTR/DOSTR Strobe Width
Write Cycle Delay
Write Cycle = tACS + tDOD + tDOW + twc + 20 ns
Data Setup Time

ns
ns

Data Hold Time
CSOUT Delay from Select

ns

DISTR/DISTR Delay from Select
DOSTR/DOSTR Delay from Select
-Address and Chip Select Hold Time from DISTRIDISTR

ns
ns
ns
ns

Address and Chip Select Hold Time 10m DOSTRIDOSTR

ns

Master Reset Pulse Width

ns

MAX.

TEST
CONDITIONS
nTl load

160

nTl load
nTl load
nTl load

50

nTl load

300

nTl load

655
1125

nTl load
nTl load
nTl Load

200
300

nTl load
1TTl load
nTl load
1TTl load
nTl load

260
150
150
10
10
500

nTl load
1TTl load

nTl load
1TTl load
nTl load
1TTl load
1TTl load
nTl load
nTl load

'Only applicable when ADS is permanently low.
See page 383 for ordering information.

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 otoer 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.

212

WESTERN DIGITAL
r:

f7

R

P

0

RAT

/

0

N

TR1863/TR1865
Universal Asynchronous Receiver/Transmitter (UART)
FEATURES
• SINGLE POWER SUPPLY - +5'1DC
• D.C. TO 1 MHZ (64 KB) (STANDARD PARl)
TR1863/5
• 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 (ReceiveriVerification 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
• THREE-STATE OUTPUTS
Receiver Register Outputs
Status Flags
• TTL COMPATIBLE
• TR1865 HAS PULL-UP RESISTORS ON ALL
INPUTS

VCC

NC
vss
RRD
RRB
RR7
RR6
RR5
RR4
RR3
RR2
RR1
PE
FE
OE
SFD
RRC
DRR
DR
RI

10
11
12
13
14
15
16
17
18
19
20

TRC
EPE
WLS1
WLS2
SBS
PI
CRL
TRB
TR7
TA6
TR5
TR4
TA3
TR2
TA1
TRO
TRE
THRL
THRE
MR

PIN DESIGNATION
APPLICATIONS
• PERIPHERALS
• TERMINALS
• MINI COMPUTERS
• FACSIMILE TRANSMISSION
•
•
•
•
•
•
•
•
•
•

DESCRIPTION
The Universal Asynchronous ReceiveriTransmitter
(UARl) is a general purpose, programmable or
hardwired MOS/LSI device. The UART is used to
convert parallel data to a serial data format on the
transmit side, and converts a serial data format to
parallel data on the receive 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 selected) and one, one and onehalf, or two stop bits.
Three types of error conditions are available on each
received character: parity error, framing error (no valid
stop bit) and overrun error.
The transmitter and receiver operate on external16X
clocks, where 16 Qlock times are equal to one bit

MODEMS
CONCENTRATORS
ASYNCHRONOUS DATA MULTIPLEXERS
CARD AND TAPE READERS
PRINTERS
DATASETS
CONTROLLERS
KEYBOARD ENCODERS
REMOTE DATA ACQUISITION SYSTEMS
ASYNCHRONOUS DATA CASSETTES

time. The receiver clock is also used to sample in the
center of the serial data bits to allow for line
distortion.
Both transmitter and receiver are double buffered
allowing a one character time maximum between a
data read or write. Independent handshake lines for
receiver and transmitter are also included. All inputs
and outputs are TTL compatible with three-state
outputs available on the receiver, and error flags for
bussing multiple devices.

213

PIN DESCRIPTION
PIN
SIGNAL
NUMBER
MNEMONIC

1

2
3
4

VCC
NC

SIGNAL
NAME

FUNCTION

+ 5 volts supply

POWER SUPPLY

VSS
RRD

NC
GROUND
RECEIVER REGISTER
DISCONNECT

RR8RR1

RECEIVER HOLDING
REGISTER DATA

13

PE

PARITY ERROR

14

FE

FRAMING ERROR

15

OE

OVERRUN ERROR

16

SFD

STATUS FLAGS
DISCONNECT

17

RRC

RECEIVER REGISTER
CLOCK
DATA RECEIVED
RESET
DATA RECEIVED

5-12

18
19

DR

No Internal Connection

=

Ground
OV
A high level input voltage, VIH, applied to this
line disconnects the RECEIVER HOLDING
REGISTER outputs from the RR1-8 data outputs
(pi ns 5-12).
The parallel contents of the RECEIVER
HOLDING REGISTER appear on these lines if a
low-level input voltage, VIL, is applied to RRD.
For character formats of fewer than eight bits
received characters are right-justified with RR1
(pin 12) as the least significant bit and the
truncated bits are force(i..to a low level output
voltage, VOL.
A high level output voltage, VOH, on this line
indicates that the received parity differ from that
which is programmed by the EVEN PARITY
ENABLE (pin 39) and the PARITY INHIBIT (pin
35) control lines. This output is updated each
time a character is transferred to the RECEIVER
HOLDING REGISTER. PE lines from a number
of arrays can be bussed together since an
output disconnect capability is provided by
Status Flag Disconnect line (pin 16).
A high-level output voltage, VOH, on this line
indicates that the received character has no
valid stop bit, Le., the bit (if programmed) is not
a high level voltage. This output is updated each
time a character is transferred to the Receiver
Holding Register, FE lines from a number of
arrays can be bussed together since an output
disconnect capability is provided by the Status
Flag Disconnect line (pin 16).
A high-level output voltagE:, VOH, on this line
indicates that the Data Received Flag (pin 19)
was not reset before the next character was
transferred to the Receiver Holding Register.
OE lines from a number of arrays can be bussed
together since an output disconnect capability
is provided by the Status Flag Disconnect line
(pin 16).

214

A high-level input voltage, VIH, applied to this
pin disconnects the PE, FE, OE, DR and THRE
allowing them to be buss connected.
The receiver clock frequency is sixteen (16)
times the desired receiver shift rate.
A low-level input voltage, VIL, applied to this
line resets the DR line.
A high-level output voltage, VOH, indicates that
an entire character has been received and
transferred to the RECEIVER HOLDING
REGISTER.

PIN DESCRIPTION
PIN
NUMBER

SIGNAL
MNEMONIC

SIGNAL
NAME

FUNCTION

20

RI

21

MR

MASTER RESET

22

THRE

TRANSMITTER
HOLDING REGISTER
EMPTY

23

THRL

TRANSMITTER
HOLDING REGISTER
LOAD

24

TRE

TRANSMITTER
REGISTER EMPTY

25

TRO

TRANSMITTER
REGISTER OUTPUT

26-33

34

. RECEIVER INPUT

TRANSMITTER
REGISTER DATA
INPUTS

CRL

CONTROL REGISTER
LOAD

215

Serial input data. A high-level input voltage, VIH,
must be present when data is not being
received.
This line is strobed to a high-level input voltage,
VIH, to clear the logic. It resets the TRANSMITTER and RECEIVER HOLDING REGISTERS, the TRANSMITTER REGISTER, FE, OE,
PE, DR and sets TRO, THRE, and TRE to a
high-level output voltage, VOH.
A high-level output voltage, VOH, on this line
indicates the TRANSMITTER HOLDING REGISTER has transferred its contents to the
TRANSMITTER REGISTER and may be loaded
with a new character.
A low-level input voltage, VIL, applied to this
line enters a character into the TRANSMITTER
HOLDING REGISTER. A transition from a lowlevel input voltage, VIL. to a high-level input
voltage, VIH, transfers the character into the
TRANSMITTER REGISTER if it is not in the
process of transmitting a character. If a
character is being transmitted, the transfer is
delayed until its transmission is completed.
Upon completion, the new character is
automatically transferred simultaneously with
the initiation of the serial transmission of the
new character.
A high-level output voltage, VOH, on this line
indicates that the TRANSMITTER REGISTER
has completed serial transmission of a full
character including STOP bit(s). It remains at
this level until the start of transmission of the
next character.
The contents of the TRANSMITTER REGISTER
(START bit, DATA bits, PARITY bit, and STOP
bits) are serially shifted out on this line. When
no data is being transmitted, this line will
remain at a high-level output voltage, VOH. Start
of transmission is defined as the transition of
the START bit from a high-level output voltage
VOH, to a low-level output voltage VOL.
The character to be transmitted is loaded into
the TRANSMITTER HOLDING REGISTER on
these lines with the THRL Strobe. If a character
of less than 8 bits has been selected (by WLS1
and WLS2), the character is right justified to the
least significant bit, TR1, and the excess bits
are disregarded. A high-level input voltage, VIH,
will cause a high-level output voltage, VOH, to
be transmitted.
A high-level input voltage, VIH, on this line
loads the CONTROL REGISTER with the
control bits (WLS1, WLS2, EPE, PI, SaS). This
line may be strobed or hard wired to a high-level
input voltage VIH.

PIN DESCRIPTION
PIN
NUMBER

SIGNAL
MNEMONIC

SIGNAL
NAME

FUNCTION

35

PI

PARITY INHIBIT

36

SBS

STOP BIT(S) SELECT

WLS2-WLS1

WORD LENGTH
SELECT

37-38

A high-level input voltage, VIH, on this line
inhibits the parity generation and verification
circuits and will clamp the PE output (pin 13) to
VOL. If parity is inhibited, the STOP bit(s) will
immediately follow the last data bit of transmission.
This line selects the number of STOP bits to be
transmitted after the parity bit. A high-level
input voltage VIH, on this line selects two STOP
bits, and a low-level input voltage, VIL, selects a
single STOP bit. The TR1863 and TR1865
generate 11/2 stop bits when word length is 5
bits and SBS is High VIH.
These two lines select the character length
(exclusive of parity) as follows:
Word Length
WLS2
WLS1

---

39

40

I

EPE

EVEN PARITY
ENABLE

TRC

TRANSMITTER
REGISTER

---

5 bits
VIL
VIL
6 bits
VIL
VIH
7 bits
VIH
VIL
8 bits
VIH
VIH
This line determines whether even or odd
PARITY is to be generated by the transmitter
and checked by the receiver. A high-level input
VOltage, VIH, selects even PARITY and a lowlevel input voltage, VIL, selects odd PARITY.
The transmitter clock frequency is sixteen (16)
times the desired transmitter shift rate.

THRL

TRO

CONTROL
REGISTER

TRANSMITTER
TIMING AND
CONTROL

VCC(+5V)~
VSS(GND)~

TR1863/TR1865 BLOCK DIAGRAM

216

TRC
THRE
TRE

c

NO

A

TRANSMITTER FLOW CHART

217

-I

~

......

CO

Q)

~
~

1. TURN ON POWER

2. PULSE MASTER
RESET

3. SELECT BAUD

C

RATE 16XCLK

4. SET CONTROL BITS

......

CO

Q)

U1

TRANSFER DATA BITS FROM
RECEIVER REGISTER TO
RECEIVER HOLDING REGISTER
ANDSETOETO
PROPER STATE

RESET DR
ORR = VOL
DR-VOL

C

RECEIVER FLOW CHART

218

THRE

-t
:tI

u

THRL

-----.U

.....

CO

en

~

15CLOCKTIMES
AFTER START OF
LAST STOP BIT
(1)

TRE

.....!

:tI
.....

~ 1/2 CLOCK

CO

I

-:flL....:..i_________
I+-

TRO

1/2 CLOCK

l...... END OF LAST STOP
..

BIT (COUNT 16)

(1) NOT VALID FOR 5.0 MHZ OPTION

CR1

CR2
CF1

r-THRL

THRE
CASE I

lr-

r--

f--

...---...

THRE

CF5

r-'---

f--

f:\{~
~
L
THRE

lA

CF4

~

-....

(.... j

I
/'

f:\

~
/'

~

-i tpd ~

~TRE

~ I--""

TRO

THRL

-

r-

I"----'
TRE

CF4

CF3

r--

TRC ;---

CR5

CR4

CR3
CF2

~

DETAIL II

I CR4

L{~
f::\

~

....

1

TRO

tpd

I--

L

.-/

CASE I:

...---...

Li J )
r--

I

CASE II
TRE

TRO

DETAIL I

TRANSMITTER TIMING

219

IF THE POSITIVE TRANSITION OF
THRL OCCURS >250n8 PRIOR TO ANY
CLOCK FALLING EDGE (CF3 IN
SAMPLE) THE A, B, C, AND D SIGNALS
WILL BE GENERATED AS SHOWN IN
DETAIL II.
CASE II: IF THE POSITIVE TRANSITION OF
THRL OCCURS <;250n8 PRIOR TO ANY
CLOCK FALLING EDGE (CF3 IN
SAMPLE), THE B, C, AND D SIGNALS
MAY BE GENERATED ON THE FOL·
LOWING CLOCK TIME I.E. THE B, C,
AND D SIGNALS AS SHOWN IN
DETAIL MAY CHANGE AS FOLLOWS:
CF3 TOCF4
CF4 TOCF5
CR4 TO CR5

en
CJ1

I

r

START (1)

STOP START

-R-I----~I~~I~-_-_-_-_-_-D_-A_T~A~~~~~~~I~I

_R_R1_.R_R_8_A_N_D_E_R_R_0_R_F_~_G_S_P_E~,_FE_,_0_E_(5~)~

STOP

~I------D-AT-A------~----------

__________________

--JX~________

L
LJ

DR(19)

(2)U

DRR(18)

DETAIL:
2

3

5

4

6

7

8

10

9

11

12

13

14

15

0

RRC
NOMINAL
STOP BIT

RI

-1~~~ TRANSITION

NOMINAL BIT CENTER

I#'
I

PE'F~~:____________________________~X~------------------1

(5)

1,.1;......________________

~11------------------------~y\..:..II-------------it
y\

RR1·RR8,OE(3)

~~~--------~\EF~!I-------------DRR

-4t

--J
(2) -I

DR(3)

.rt--------LV

td

A....I (4)

(1) SEE APPLICATION FLAGS REPORT NO.1 FOR DESCRlp·
TION OF START BIT DETECTION
(2) THE DELAY BETWEEN DRR AND DR = td = 500 NS
(3) DR. ERROR FLAGS, AND DATA ARE VALID AT THE
NOMINAL CENTER OF THE FIRST STOP BIT
(4) DRR SHOULD BE HIGH A MINIMUM OF "A" NS (ONE·
HALF CLOCK TIME PLUS tpd) PRIOR TO THE RISING
EDGEOFDR
(5) DATA AND OE PRECEDES DR, PE, AND FE FLAGS BY
V. CLOCK
(6) DATA FLAGS WILL REMAIN SET UNTIL A GOOD CHARAC·
TER IS RECEIVED OR MASTER RESET IS APPLI ED.

FIGURE 1.

RECEIVER TIMING

220

ABSOLUTE MAXIMUM RATINGS
NOTE: These voltages are measured with respect to GND
Storage Temperature
Plastic ................. " - 55°C to + 125°C
Ceramic .................. - 65°C to + 150°C
VCC Supply Voltage ............. - 0.3V to + 7.0V
Input Voltage at any pin .......... - 0.3V to + 7.0V
Operating Free-AirTemperature
TA Range ....................... O°C to 70°C
Lead Temperature (Soldering, 10 sec.) ....... 300°C
ELECTRICAL CHARACTERISTICS
(VCC

= 5V ± 5%, VSS = OV)

SYMBOL

IlL

PARAMETER
OPERATING CURRENT
Supply Current
LOGIC LEVELS
Logic High
Logic Low
OUTPUT LOGIC LEVELS
Logic High
Logic Low
Output Leakage
(High Impedance State)
Low Level Input Current

IIH

High Level Input Current

ICC
VIH
VIL
VOH
VOL
IOC

MIN

TR1863/5
MAX
35ma

2.4V
0.6V
2.4V
0.4V
± 10fia
100fia

1.6ma
10fia
- 1Ofi a

X=-----==-=----Y2.0V
I

--------

= 5.25V

= 4.75V
VCC = 4.75V, IOH = 100fia
VCC = 5.25V, IOL = 1.6 ma
VOUT = OV, VOUT = 5V
SFD = RRD = V1H
VIN = 0.4V TR 1865 only
VIN = VIL. TR 1863 only
VIN = VIH, TR 1863 only
VCC

WLS1, WLS2, SBS, P1, EPE

TRB·TR1

__ J

CONDITIONS
VCC

r--------.

*--- ----......ljr

\ O.BV
'- __ _

CRLSTROBE

I

d

t s e t - ; ; . o _ t pw
te

I..

FIGURE 2.

DATA INPUT LOAD CYCLE

FIGURE 3.

221

~

CONTROL REGISTER LOAD CYCLE

RRD

SFD

~

~O.BV
------ -,

+tpd1-i

*PE, FE, OE, DR, THRE

-------

2.0V

" "-k..:B~

*RR1·RRB

__

4- t pdO.j

"""'

"

2.0V

~.~--

.... tpdO--!

* OUTPUTS PE, FE, OE, DR, THRE ARE DIS·
CONNECTED AT TRANSITION OF SFD
FROM O.BV TO 2.0V.

FIGURE 4.

O.BV

.... t pd1+f

*RR1·RR:J, ARE DISCONNECTED AT
TRANSITION OF RRD FROM O.BV TO 2.0V.

STATUS FLAG OUTPUT DELAYS

FIGURES.

DATA OUTPUT DELAYS

SWITCHING CHARACTERISTICS
(See FIGURE 1-5)
SYMBOL
fclk

tpw

PARAMETER

MIN

MAX

TR1863-00

DC

1.0MHz

TR1863-02

DC

2.5 MHz

TR1863-04

DC

3.5 MHz

TR1865·00

DC

1.0 MHz

with internal pull-ups on all inputs

TR1865·02

DC

2.5 MHz

with internal pull-ups on all inputs

TR1865-04

DC

3.5 MHz

with internal pull-ups on all inputs

Clock Frequency

CONDITIONS
VCC

= 4.75V

Pulse Widths
CRL(Fig.3)

200ns

THRL (Fig. 2)

200ns

DRR(Fig.1)

200ns

MR

500 ns

tc

Coincidence Time

200ns

thold

Hold Time (Fig. 2, 3)

tset

Set Time (Fig. 2, 3)

20ns
0

OUTPUT PROPAGATION
DELAYS
tpdO

To Low State (Fig. 4, 5)

250ns

tpd1

To High State (Fig. 4, 5)

250ns

CL

= 20 pf, plus one TTL load

CAPACITANCE
cin

Inputs

20pf

f

Co

Outputs

20pf

f

= 1 MHz, VIN = 5V
= 1 MHz, VIN = 5V

See page 383 for ordering information.
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.

222

WESTERN DIGITAL
CDR

P

0

RAT

/

0

N

TR1863/65 MOS/LSI Application Notes
Asynchronous Receiver/Transmitter
INTRODUCTION

With asynchronous transmission, a clock signal is not
transmitted with the data and the characters need not
be contiguous, In order for. the receiver to. properly
recover the message, the bits are grouped Into data
characters (generally from 5 to 8 bits in length) and synchronizing start and stop elements are added to each
character as shown in Figure 2.
The start element is a single logic zero (space) data
bit that is added to the front of each character. The
stop element is a logic one (mark) that is added to the
end of each character. The logic one (mark) level is
maintained until the next data character is ready to
be transmitted. (Asynchronous transmission is often
referred to as start-stop transmission for obvious
reasons). Although there is no upper limit to the
length of the stop element, there is a lower limit that
depends on the system characteristics. Typical lower
limits are 1.0, 1.42 or 2.0 data bit intervals, although

The transfer of digital data over relatively long distances is generally accomplished by sending the data
in serial form thru a single communications channel
using one of two general transmission techniques;
asynchronous or synchronous. Synchronous data
transmission requires that a clock signal be transmItted with the data in order to mark to location of the data
bits for receiver. A specified clock transition (either rising or falling) marks the start of each. data bit interval. as
shown in Figure 1. In addition, speCial synchronization
data patterns are added to the start of the transmission
in order for the receiver to locate the first bit of the message. with synchronous transmission, each data bit
must follow contiguously after the sync word, since one
data bit is assumed for every clock period or a fixed
multiple of clock periods.

CLOCK SIGNAL

r-LJ

\.----

LJLJ

, _ _ _ _ _ _ _,

V 8 BIT
TYPICAL
SYNC PATTERN

FIRST DATA
BIT

Figure 1.

FIRST DATA BIT

DATASIGNAL

!

SYNCHRONOUS DATA
START
ELEMENT

STOP ELEMENT

IDLE
_ _ _,.,A
...._ _--.,

STOP ELEMENT

r
~----~~~----START
ELEMENT

ONE8BIT
CHARACTER
(11001000)

/

FIRST
DATA
BIT

ONE8BIT
CHARACTER
(00100000)

START
ELEMENT

"'-

/

LAST
DATA
BIT

Figure 2.

FIRST
DATA
BIT

ASYNCHRONOUS DATA

223

"'-

LAST
DATA
BIT

LAST
DATA
BIT

1

-f

:a
.....

Q)
0)
to)

-0)

U1

Asynchronous transmission over a simple twisted wire
pair can be accomplished at moderately high baud
rates (10K baud or higher depending on the length of
the wire, type of the line drivers, etc.) while it is generally limited to approximately 2K baud over the telephone network. Other types of asynchronous
transmission can be as high as 218K baud. When operating over the telephone network, a modem is required
to convert the data pulses to tones that can be transmitted through the network.

most modern systems use 1.0 or 2.0. The negative
going transition of the start element defines the
location of the data bits in one character. A clock
source at the receiver is reset by this transition and is
used to locate the center of each data bit.
The rate at which asynchronous data is transmitted is
usually measured in baud, where a baud is defined to
be the reciprocal of the shortest signal element
(usually one data bit interval). It is interesting to note
that the variable stop bits is what makes the baud
rate differ from the bit rate. For synchronous transmission, each data element is equal to the clock
period therefore the baud rate equals the bit rate. The
same is true for asynchronous transmission if the
stop element is always one bit in duration (this is
referred to as isochronous transmission). However,
when the stop code is longer than one bit, as shown
in Figure 3, the baud rate differs from the bit rate.

One of the major limiting factors in the speed of
asynchronous transmission is the distortion of the
signal elements. Distortion is defined as the time
displacement between the actual signal level transmission and the nominal transition (at), divided by
the nominal data bit interval (See Figure 4).
The nominal data bit interval is equal to the reciprocal
of the nominal transmission baud rate and all data
transitions should ideally occur at an integer number
of intervals from the negative transition of the start
bit. Actual data transitions may not occur at these
nominal points in time as shown in the lower
waveform of Figure 4. The distortion of any bit
transition is equal to at x NOMINAL BAUD RATE.

Each character in Figure 3 is 11 data bit intervals in
length, and if 15 characters are transmitted per
second, then the shortest signal element (one data
bit interval) is 66.6 msJ11 = 6.06 ms; giving a rate of
1/6.06 ms
165 baud. However, since only 10 bits of
information (8 data bits, one start bit and 1 stop bit)
are transmitted every 66.6 msec, the bit rate is 150
bit/sec. (Even though the stop element lasts for two
data intervals, it still is only one bit of information.)

=

This distortion is generally caused by frequency jitter
and frequency offset in the clock source, used to
generate the actual waveform as well as transmission channel, noise, etc. Thus, the amount of
distortion that can be expected on any asynchronous
signal depends on the device used to generate the
signal and the characteristics of the communication
channel over which it was sent. Electronic signal
generators can be held to less than 1 % distortion
while electromechanical devices (such as a teletype)
typically generate up to 20% distortion. The transmission channel may typically add an additional 5%
to 15% distortion.

There are several reasons for using asynchronous
transmission. The major reason is that since a clock
signal need not be transmitted with the data, transmission equipment requirements are greatly simplified. (Note, however, that an independent clock
source is still required at both the transmitter and
receiver). Another advantage of asynchronous transmission is that characters need not be contiguous in
time, but are transmitted as they become available.
This is a very valuable feature when transmitting data
from manual entry devices such as a keyboard. The
major disadvantage of asynchronous transmission is
that it requires a very large portion of the communication channel bandwidth for the synchronizing
start and stop elements (a much smaller portion of
the bandwidth is required for the sync words used in
synchronous transmission).

The distortion previously described referred only to a
single character as all measurements were referenced to the start element transition of that character. However, there may also be distortion between
characters when operating at the maximum possible
baud rate (I.e., stop elements are of minimum length).

START ELEMENT
(ONE DATA BIT INTERVAL)

STOP ELEMENT - 2 STOP BITS
(2 DATA BIT INTERVALS)

~==~~~~~~~====~
I~•

.I

AT 15 CHARACTER/SEC

= 66.6 ms

I~

6.06 msec

Figure 3.

224

NOMINAL DATA
BIT INTERVAL

1-1

--~~~~~I

_____

MAj ~ J~

~~

__

STOP

~O~NJ::"
At3

At4

Us

Ats

~--------~
ACTUAL
WAVEFORM

LJ

At7

r--------

Figure4A.

tG

STOP ELEMENT

START ELEMENT

~START ELEMENT

{

L--.C--- -

DATABIT-;-- - -

~CHARAC~~::=---.

-~;ABIT;

------------

-

---

Figure4B.

cal tolerances or variations in the power line
frequency. With electronic receivers, the inaccuracies are due to frequency offset, jitter and
resolution of the clock source used to find the bit
centers. (The bit centers are located by counting
clock pulses). For example, even if the receiver clock
had no jitter or offset, and it was 16 times the baud
rate, then the center of the bit could only be located
within 1116 of a bit interval (or 6.25%) due to clock
re~olution. However, by properly phasing the clock,
thiS tolerance can be adjusted so that the sampling
will always be within ±3.125% of the bit center.
Thus, signals with up to 46.875% distortion could be
received. This number (the allowable receiver input
distortion) is often referred to as the receiver
distortion margin. Electromechanical receivers have
distortion margins of 25 to 30%. The receiver must
also be prepared to accept a new character after the
minimum character interval. Most receivers are
specified to operate with a minimum character interval distortion of 50%.

This type of distortion is usually measured by the
minimum character interval as shown in Figure 4B.
The minimum character interval distortion is generally specified as the percentage of a nominal data bit
interval that any character interval may be shortened
from its nominal length. Since many of the same
parameters that cause distortion of the data bits are
also responsible for the character length distortion
the two distortions are often equal. However, som~
systems may exhibit character interval distortions of
up to 50% of a data bit interval. This parameter is
important when operating at the maximum baud rate
since the receiver must be prepared to detect the
next start bit transition after the minimum character
interval.
Asynchronous receivers operate by locating the
nominal center of the data bits as measured from the
.start bit negative going transition. However. due to
receiver inaccuracies, the exact center may not be
properly located. In electromechanical devices such
as teletypes, the inaccuracy may be due to mechani-

225

-I

:D
.....

co
0')

c,.)

0 ')

C1I

TR1863/65 OPERATION
TR1863/65 is designed to transmit and receive asynchronous data as shown in Figure 5. Both the transmitter and the receiver are in one MOS CHIp, packaged in
a 40 lead ceramic DIP. The array is capable of full
duplex (simultaneous transmission and reception) or
half duplex operation.

The receiver assembles the asynchronous characters
into a. parallel data character by searching for the
start b~t of every char~cter, finding the center of every
data bit, and outputting the characters in a parallel
format with the start, parity and stop bits removed.
Three error flags are also provided to indicate if the
parity was in error, a valid stop bit was not decoded or
the last character was not unloaded by the external
device before the next character was received (and
therefore the last character was lost). The receiver
clock is set at 16 times the transmitter baud rate.
Both the transmitter and receiver have double character buffering so that at least one complete character interval is always available for exchange of the
characters with the external devices. This double buffering is especially important if the external device is

The transmitter basically disassembles parallel data
characters into a serial asynchronous data system.
Control lines are included so that the characters may
b~ 5, 6, 7 or 8 ~its in length, have an even or odd parity
bit, and have either one or two * stop bits. Furthermore,
the baud rate can be set anywhere between DC and
218K baud (3.5 MHz clock) by providing a transmit
clock at 16 times the desired baud rate.

* 1-1/2 with 5 bit code

RECEIVER
STATUS

TRANSMITTER
STATUS

DATA ERROR FLAGS

TRANSMITTER

I-

r - - - - -

CLOCK---I--~

I
I

PARALLEL
DATA IN ----,:+_~

I

TRANSMITTER

I
I

I
RECEIVER

1-.,-1---I. PARALLEL DATA
OUT
8

I

1-------"-- CONTROL

I

I DATA

I

PARALLEL
DATA
OUT
RECEIVER
CLOCK

RECEIVER CLOCK
• UART I

I

I 4.SYNCRHONOUS
I SERIAL
I

CONTROL --r-------"

3-- - - - ,

1

5

I
1_+--- PARALLEL DATA
IN

-+----'
3
DATA
ERROR
FLAGS

' - - - - - - r - - - TRANSMITTER
CLOCK

_ _ _ _ -.I

--...I

TRANSMITTER
STATUS

RECEIVER
STATUS

FigureS.

226

a computer, since this provides a much longer permissible interrupt latency time (the time required for
the computer to respond to the interrupt).

Table 1.
CONTROL DEFINITION

W W
L L

S
2
0
0
0
0
0
0
0
0
0
0
0
0
1

1
1
1
1
1
1
1
1
1
1
1

UART DESCRIPTION

Figure 6 is a block diagram of the transmitter portion of
the UART. Data can be loaded into the Transmitter
Holding Register whenever the Transmitter Holding
Register Empty (THRE) line is at a logic one, indicating
the the Transmitter Holding Register is empty. The data
is loaded in by strobing the Transmitter Holding Register Load (THRL) line to a logic zero. The data is automatically transferred to the Transmitter Register as
soon as the Transmitter Register becomes empty. The
desired start, stop and parity bits are then added to the
data and serial transmission is started. The number of
stop bits and the type of parity bit is under control of the
Control Register. The state of the control lines is loaded
into the Control Register when the Control Register
Load (CRL) line is strobed to a logic one. The 5 control
lines allow 24 different character formats as shown in
Table 1. These 24 formats cover almost all of the transmission schemes presently in use.
A Master Reset (MR) input is provided which sets the
transmitter to the idle state whenever this line is
strobed to a logic one. In addition, a Status Flag
Disconnect (SFD) line is provided. When this signal is
at a logic one, the THRE output is disabled and goes
to a high impedance. This allows the THRE outputs
of a number of arrays to be tied to the same data bus.
Figure 7 illustrates the relative timing of the transmitter signals. After power turn-on, the master reset
should be strobed to set the circuits to the idle state.
The external device can then set the transmitter
register data inputs to the desired value and after the
data inputs are stable, the load pulse is applied. The
data is then automatically transferred to the Trans-

CHARACTER FORMAT

CONTROL WORD

The status of the transmitter buffer and the receiver
buffer (empty or full) is also provided as an output.
Another feature of the UART is that the control information can be strobed into the transmitter and
receiver and stored internally. This allows a common
bus from a computer to easily maintain the controls
for a large number of transmitter/receiver.s.
The UART data and error flag outputs are designed
for direct compatibility with bus organized systems.
This feature is achieved by providing completely TTL
compatible Three-state outputs (no external components are required). Three-state outputs may be set
to a logic one or logic zero when enabled, or set to an
open circuit (very high impedance) when disabled. A
separate control line is provided to enable the data
outputs and another one to enable the error flags so
that the data outputs can be tied to a separate bus
from the flag outputs.
The TR1865 has internal pullups connected to its
inputs making it TTL compatible, while the TR1863
requires external pull ups to be connected to its input
pins.

S

P
I

1
1

1
1
1
1
0
0
0
0
0
0
1
1

1
1
1
1

S

P B START DATA PARITY STOP
BITS
BITS
S
BIT
BIT

E

1

0
0
0
0
0
0

E

0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1

0
0
1
1
x
x

0
0
1
1
x
x

0
0
1
1
x
x

0
0
1
1
x
x

0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

1

5

1
1
1
1
1

5
5
5
5
5
6
6

1
1

1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1

6

6
6
6
7
7
7
7
7
7
8

8
8
8
8
8

ODD
ODD
EVEN
EVEN
NONE
NONE
ODD
ODD
EVEN
EVEN
NONE
NONE
ODD
ODD
EVEN
EVEN
NONE
NONE
ODD
ODD
EVEN
EVEN
NONE
NONE

1
1.5
1
1.5
1

1.5
1
2

1
2

1
2

1
2

1
2

1
2

1
2

1
2

1
2

mitter Register where the start, stop and parity (if
required) bits are added and transmission is started.
This process is then repeated for each subsequent
character as they become available. The only timing
requirement for the external device is that the data
inputs be stable during the load pulse (and 20 nsec
after).
The UART Transmitter output will have less than 1%
Distortion at baud rates of up to 218K baud (assuming
the Transmitter Register Clock is perfect) and is, therefore, compatible with virtually all other asynchronous
receivers.
Figure 8 is a block diagram of the Receiver portion of
the UART. Serial asynchronous data is provided to
the Receiver Input (RI). A start bit detect circuit
continually searches for a logic one to logic zero
transition while in the idle (logic one) state. When this
transition is located, a counter is reset and allowed to
count until the center of the start bit is located. If the
input is still a logic zero at the center, the signal is
assumed to be a valid start bit and the counter
continues to count to find the center of all subsequent data and stop bits. (Verification of the start
bit prevents the receiver from assembling an
erroneous data character when a logic zero noise

227

-I
l:J
..,I,

0)

en
w
en

U'I

S9/&98U:lJ.

STATUS FLAG DISCONNECT (16) (SFD)

TRANSMITTER
HOLDING REGISTEREMPTY
(22) (THRE)

ct

H ..

TRANSMITTER REGISTER OUT
(25) (TRO)
MASTER RESET (21) (MR)

START

TRANSMITTER REGISTER CLOCK (40) (TRG)
TRANSMITTER REGISTER EMPTY (24) (TRE)
TRANSMITTER REGISTER
DATA INPUTS
(26-33) (TR1 TO TRB)

8

TRANS
HOLD
REG

8

TRANS
REG

DATA

..

I\)
I\)

CD

TRANSMITTER HOLDING
REGISTER LOAD (23) (THRL)

..

EVEN PARITY ENABLE (39)

..

STOP BIT(S) SELECT (36)

CONTROL

8

L....

PARITY
GEN

¢:=

CONTROL
REG

PARITY INHIBIT (35) (PI)

(EPE)

(SBS)
WORD LENGTH SELECT (37-38)

STOP
BIT(S)

2WLS1-WLS2)

f
Figure 6.

TRANSMITTER BLOCK DIAGRAM

CONTROL REGISTER LOAD (34)
(CRL)

I IIL---_MASTER
RESET_ _ _ _ _
_

~

________-'x'-____---'x

u

TRANSMITTER REGISTER DATA INPUTS

u

TRANSMITTER HOLDING REGISTER LOAD

U

1

,

TRANSMITTER HOLDING REGISTER EMPTY

11:

----" f'
_I I
1/2 EXTERNAL CLOCK

iI--

r
I t I '-1

1/2 EXTERNALCLOCKI r--1I2EXTERNALCLOCK

START

START

DATA

--D-AT.-A--"--S-T-OP-

IS~~

TRANSMITTER REGISTER OUTPUT

15 EXTERNAL CLOCKS __

-II-

"-----_----'n~

__-----'I

TRANSMITTER REGISTER EMPTY

Figure 7.

TRANSMITTER TIMING DIAGRAM

spike is presented to the Receiver Input). The Receiver is under control of the Control Register described in the previous paragraph. This register
controls the number of data bits, number of stop bits,
and the type of parity as described in Table 2. The
word length gating circuit adjusts the length of the
Receiver Register to match the length of the data
characters. A parity check circuit checks for even or
odd parity if parity was programmed. If parity does
not check a Parity Error signal will be set to a logic
one and this signal will be held until the next
character is transferred to the Holding Register. A
circuit is also provided that checks the first stop bit
of each character. If the stop bit is not a logic one, the
Framing Error line will be set to a logic one and held
until the next character is transferred to the Holding

Register. This feature permits easy detection of a
break character (null character with no stop element).
As each received character is transferred to the
Holding Register, the Data Received (DR) line is set to
a logic one indicating that the external device may
sample the data output. When the external device
samples the output, it should strobe the Data
Received Reset (ORR) line to a logic zero to reset the
DR line. If the DR line is not reset before a new
character is transferred to the Holding Register (i.e., a
character is lost) the Overrun Error line will be set to a
logic one and held until the next character is loaded
into the Holding Register. The timing for all of the
Receiver functions is obtained from the external
Receiver Register Clock which should be set at 16
times the baud rate of the transmitter.

229

S9/£98U:U
I NTERNAL CONTROLS
FROM CONTROL REGISTER

Jl

RECEIVER
REGISTER
---

!

CLOCK (RRC) (17)

RECEIVER
DISCONNECT (RRD) (4)

WORD
LENGTH
GATING

RECEIVER
REG
RECEIVER INPUT
(Rl)(20)

~
FRAMING ERROR
(FE)(14)

PARITY ERROR
(PE)(13

START/STOP
DETECT &
BIT COUNTER

S

RECEIVER
HOLDING
REG

DATA

a

I

S

RECEIVER
HOLDING REG
DATA
(RR1- RRS)
(5-12)

PARITY
CHECK

"
DATA
RECEIVED
DETECT

-.J

DATA RECEIVED
RESET (DRR) (lS)

ENDOF
CHARACTER
DATA RECEIVED
(DR) (19)

-_ ...

~rn
---

STATUS FLAG DISCONNECT
(SFD)(16)

Figure 8.

RECEIVER BLOCK DIAGRAM

OVERRUN ERROR (15)
(OE)

Figure 9 illustrates the relative timing of the Receiver
signals. A Master Reset strobe places the unit in the
idle mode and the Receiver then begins searching for
the first start bit. After a complete character has been
decoded, the data output and error flags are set to
the proper level and the Data Received (DR) line is set
to a logic one. Although it is not apparent in Figure 9,
the data outputs are set to the proper level one half
clock period before the DR and error flags, which are
set in the center of the first stop bit. The Data
Received Reset pulse resets the DR line to a logic
zero. Data can be strobed out at any time before the
next character has been disassembled.
The UART Receiver uses a 16X clock for timing
purposes. Furthermore, the center of the start bit is
defined as clock count 7-1/2. Therefore, if the receiver
clock is a symmetrical square wave as shown in
Figure 10, the center of the bits will always be
located within ±3.125% (assuming a perfect input
clock) thus giving a receiver margin of 46.875%.
In Figure 10, the start bit could have started as much
as one complete clock period before it was detected
as indicated by the shaded area of the negative going
transition. Therefore, the exact center is also

unknown by the shaded area around the sample
point. This turns outto be ± 1/32 = ± 3.125%.
If the receiver clock is not perfect, then the receiver
distortion margin must be further reduced. For
example, if the clock had 1.0% jitter, 0.1 % offset and
the positive clock pulse was only 40% of the clock
cycle; then, for a 10 element character, the clock
would add:
1.0%
(Jitter)

+ (0.1% x 10) +
(Offset)

0.1 (1/16)
(Non-symmetrical Clock)

=

2.3% Distortion

(The frequency offset was multiplied by the number
of elements per character since the offset is cumulative on each element.
Since a clock with these characteristics is very easy
to obtain, it is apparent that a receiver operating
margin of slightly over 45% is very easy to achieve
when using the UART. Furthermore, this margin is
sufficient for virtually all existing transmitters and
modems presently in use.
The UART also begins searching for the next start bit
exactly in the center of the first stop bit so that
minimum character distortions of up to 50% can be
accepted.

II
MASTER RESET
~ I~----------------------

r ____
START

~I~I

STOP

r

START

I I

~_A_ _~I

D~

RECEIVER DATA INPUT

DATA RECEIVED (DR)

*
AND ERROR FLAGS

RECEIVER HOLDING REGISTER DATA OUT

u

DATA RECEIVED RESET

* NOTE:

DATA OUT AND OVERRUN ERROR PRECEDES
DR & ERROR FLAGS BY
112 CLOCK

Figure 9.

RECEIVER TIMING DIAGRAM

231

STOP

-I

:a
.CO

en
w
en

U'I

-4

....CO:::c

-

rCOUNT7-1/2
DETECT START I NVERVAL

0')

W

0 ')

c.n

RECEIVER CLOCK (16X)

TRUE CENTER OF START

RECEIVER INPUT
SAMPLE POINT

Figure 10_

A break character (null character without a stop bit)
will lock the receiver up since it will not begin looking for the next start bit until a stop bit has been
received.

pulse under control of the Data Out Strobe from the
micro-computer. When the control register should be
changed, a new 5 bit control word is placed on the
Data Output Bus and along with an appropriate
device address which is converted to a CRL load
pulse in the Address Decode circuits, again under
control of the Data Out Strobe_ A THRE Pulse to the
Interrupt Request circuit will notify the microcomputer when a new character may be provided to
the UART for transmission.
When a character has been received, a DR signal to
the Interrupt Request circuit will request an interrupt
from the micro-computer. The micro-computer will
respond by setting the proper device address and
provide a Data in Strobe pulse. The Address-Decode
circuit then sets the RRD line and SFD line to the
appropriate receiver to enable the Data Outputs onto
the mini Data Input Bus. The Data in Strobe from the
micro-computer then resets the DR signal with a
ORR pulse from the Address Decode circuit.
The UART Transmitter Output (TRO) and Receiver
Input (RI) must generally be converted to RS232
levels if they interface with a modem as shown in
Figure 12. RS232 is a standard that has been
established by the Electronic Industries Association
for the interface between data terminals and data
communications equipment. RS232-C defines a
space as greater than 3 volts and a mark as less than
negative 3 volts at the Receiver input. A transmitter
output of between 5 and 15 volts is a space while a
level between - 5 and -15 is a mark. The input/output impedances and signal rise and fall times are
also specified by RS232_ Fairly simple discrete level
translators can be used to convert from the TTL
levels to the RS232 levels, or monolithic IC's are also
available_
It should be noted that the typical application
illustrated in Figure 12 is only one of many and it
does not take advantage of many of the UART
features. For example, the Status Flags could be tied
to a separate interrupt request bus or the TRE output
could be used to implement half-duplex operation.

TYPICAL UART APPLICATION
The UART is ideally suited for use in distributed
computer networks such as is illustrated in Figure
11_ One of the primary purposes of the communications controller is to assemble and disassemble the
asynchronous characters (required for communication with the data terminals) to/from the parallel data
format required by the host computer. Often the communications controller is a micro-computer and character assembly/disassembly is performed by the
software_ When this is the case, the micro-computer
must be interrupted at a rate equal to 8 to 16 times
the baud rate of all terminals being handled by the
controller. (The actual interrupt rate depends on the
amount of distortion that can be experienced on the
received characters)_ When the number of terminals
exceeds 8 to 16, even the most powerful micro-computers become overloaded due to the high interrupt
rate and the complex algorithms required by the
software.
The UART greatly reduces this problem by performing the character assembly/disassembly functions in external hardware as shown in a typical
configuration in Figure 12. This solution not only
reduces the interrupt rate by a factor of up to 176, but
it also greatly reduces the micro-computer load, thus
freeing it for other functions.
Since the UART inputs and outputs are TTL compatible, it interfaces directly with virtually all microcomputer I/O busses. In Figure 12, the microcomputer Data Output Bus is connected to the
Transmitter Register (TR) inputs and the Control
Register inputs. When the micro-computer has a
character to transmit, the character is placed on the
Data Output bus and the address of the appropriate
UART is placed on the Device Address Bus. The
Address Decode circuit will output a THRL load

232

I.,
I

Figure 11.

233

DATA IN STROBE

I

BAUD RATE
CLOCK
(WDt943)

I

+

~

~

CRL THRL
TRC

I..-.--.

RRC

ADDRESS
DECODE

+

r

S RRD

ASYNC
MODEM

~
I
~

TRO

TOTTL
CONV

RI

II

DATA OUT STROBE

DDR

F
0

TRt

TRB

RS232
CONV

DEVICE ADDRESS BUS

A
~

EPE
WLSt
WLS2

TRt863/65
PI
SBS

RRt

RRB
PE
OE

•
•
•
•

•
•
•
•
•

•

OUTPUT
BUS

MICRO·PROCESSOR
COMPUTER
COMMUNICATIONS
CONTROLLER

•
•

•••
••
••

} M"

•
•
•
•
•

}M"

INPUT
BUS

FE
THRE DR

+ +

I
Figure 12.

INTERRUPT REQ

INTERRUPT
REQUEST

r

TYPICAL MICROCOMPUTER INTERFACE

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.

234

Printed in U.S.A

WESTERN DIGITAL
c

o

R

p

o

R

A

T

o

/

N

UC1671 ASTRO

FEATURES
SYNCHRONOUS AND ASYNCHRONOUS
• Full Duplex Operations
SYNCHRONOUS MODE
• Selectable 5-8 Bit Characters
• Two Successive SYN Characters Sets
Synchronization
• Programmable SYN and OLE Character
Stripping
• Programmable SYN and DLE-SYN Fill
ASYNCHRONOUS MODE
• Selectable 5-8 Bit Characters
• Line Break Detection and Generation
• 1-, 1112-, or 2-Stop Bit Selection
• False Start Bit Detection Automatic Serial
Echo Mode
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 -

(-5V) VBB

"iAcKi
Cs
TDATA (SA)
CTS(CB)

lACKO

IXTC (DB)

RPLY

'iNTR

IXRC(DD)

DALO

R4

9

DAU

R3
R2

DAL2
DAL3

R1

OAL4

CARR (CF)
DSR (CC)

DAL5
DAL6

14

RDATA (BB)

103

DAL7

15

OTR(CD)

15

104

ID7

17

ID5

RING (GEl

18

MR

Mise

19

iDs

(GND) Vss

20

VCC (·5V)

PIN DESIGNATION

DC TO 1M BIT/SEC

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

APPLICATIONS
SYNCHRONOUS COMMUNICATIONS
ASYNCHRONOUS COMMUNICATIONS
SERIAL/PARALLEL COMMUNICATIONS

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.
The ASTRO is fabricated in n-channel silicon gate
MOS technology and is TTL compatible on all inputs
and outputs.

235

plemented to allow for an inversion when converting
to EIA RS232C levels. The names and symbols
assigned to the Data Set interface signals follows
EIA standard nomenclature.

PIN DESCRIPTION

c:
o
....
~
....

The device is packaged in a 4O-pin plastic or ceramic
cavity package. The interface signals are defined
below with all input/output signals complemented to
facilitate bussing and interfacing with TIL. The Data
Set controls and Status signals are also com-

PIN
NUMBER
1

MNEMONIC

A bar over a signal (SiGNAL), means active low (set
low).

=

FUNCTION

SIGNAL NAME
POWER SUPPLIES

-5V

INTERRUPT
ACKNOWLEDGE IN

This input becomes low when polling takes place on the
bus by the Controller to determine the interrupting
source. When this signal is received, the ASTRO places
its 10 code on the DAL if it is requesting interrupt, otherwise it makes IACKO a low.

2

VBB
IACKI

3

CS

CHIP SELECT

The low logic transition of CS identifies a valid address
on the DAL bus during Read and Write operations.

4

WE

WRITE ENABLE

This signal, when low, gates the contents of the DAL bus
into the addressed register of a selected ASTRO.

5

IACKO

INTERRUPT
ACKNOWLEDGE OUT

This output is made a logic low in response to a low
IACKI if the ASTRO receiving an IACKI input is not the
interrupting device.

6

RPLY

REPLY

This open drain output is made low when the ASTRO is
responding to being selected by an address on the DAL
during read or write operations or in affirming that it is
the interrupting source during interrupt pOlling.

7

INTR

INTERRUPT

This open drain output is made low when one of the communication interrupt conditions occur.

DALO-DAL7

DATA ACCESS LINES

Eight-bit bi-directional bus used for transfer of data, control, status, and address information.

DTR(CD)

DATA TERMINAL READY

This output is generated by a bit in the Control Register
and indicates Controller readiness.

107-103

SELECT CODE

Five input pins which when hard-wired assign the device
a unique identification code used to select the device
when addressing and used as an identification when
responding to interrupts.

18

RING (CE)

RING INDICATOR

This input from the Data Set generates an interrupt when
made low with Data Terminal Ready in the "Off" condition.

19

MISC

MISCELLANEOUS

This output is controlled by a bit in the Control Register
and is used as an extra programmable signal.

20

VSS

21

VCC
MR

MASTER RESET

The Control and Status Registers and other controls are
cleared when this input is low.

27

RDATA(BB)

RECEIVED DATA

This input receives serial data into the ASTRO.

28

I5SR (CC)

DATA SET READY

29

CARR(~)

CARRIER DETEC'fOR

This input generates an interrupt when going On or Off
while the Data Terminal Ready signal is On. It appears as
a bit in the Status Register.
This input from the Data Set generates an interrupt when
going On or Off if Data Terminal Ready is On. It appears
as a bit in the Status Register.

8-15
16
17,22,24,
25,26

23

Ground.
+5V

236

PIN DESCRIPTION (CONTINUED)
PIN
NUMBER

30-33

MNEMONIC

R1-R4

SIGNAL NAME
CLOCK RATES

FUNCTION

These four inputs accept four different local 32X data
rate Transmit and Receive clocks. The input on R4 may
be divided down into a 32X clock from a 32X, 64X, 128X,
or 256X clock input. The clock used in the ASTRO is
selected by the control Register.

34

IXRC(DD)

RECEIVER TIMING

This input is the Receiver 1X Data Rate Clock. Its use is
selected by the Control Register. The Received Data is
sampled by the ASTRO on the positive transition of this
signal.

35

IXTC(DS)

TRANSMITTER TIMING

This input is the Transmitter 1X Data Rate Clock. Its use
is selected by the Control Register. The transmitted data
changes on the negative transition ofthis signal.

36

CTS(CB)

CLEARmSEND

37

TDATA(BA)

TRANSMITTED DATA

This input, when low, enables the transmitter section of
the ASTRO.
This output is the transmitted serial data from the
ASTRO. This output is held in a Marking condition when
the transmitter section is not enabled.

38

RTS(CA)

REQUEST m SEND

This output is enabled by the Control Register and
remains in a low state during transmitted data from the
ASTRO.

39

RE

READ ENABLE

This signal, when low, gates the contents of an
addressed register from a selected ASTRO onto the DAL
bus.

40

VDD

+12V

\XRC

IxTc
A4

A3
A2
A1

J----~--~~-MISC
CARR
RING

DfR
i5SR
CTs

FiTs
MA

INTA
RPlY

iAci«5
IACKI

WE

Re
Cs

19 III 1919 Ie
UC1671 BLOCK DIAGRAM

237

c

o......
(J)

.......

......

c:

o....a.

Q)

.....
....a.

RECEIVER REGISTER - This 8-bit shift register
inputs the received data at a clock rate determined by
the Control Register. The incoming data is assembled to the selected character length and then
transferred to the Receiver Holding Register with
logic zeroes filling out any unused high-order bit
positions.

TRANSMITTER REGISTER - This 8-bit shift register
is loaded from the Transmitter Holding Register, SYN
register, or DLE register. The purpose of this register
is to serialize data and present it to the transmitted
Data output.

RECEIVER HOLDING REGISTER This 8-bit
parallel buffer register presents assembled receiver
characters to the DAL bus lines when requested
through a Read operation.

CONTROL REGISTERS - There are two 8-bit
Control Registers which hold device programming
signals such as mode selection, clock selection,
interface signal control, and data format. Each of the
Control Registers can be loaded from the DAL lines
by a Write operation or read onto the DAL lines by a
Read operation. The registers are cleared by a Master
Reset.

COMPARATOR - The 8-bit comparator is used in
the Synchronous mode to compare the assembled
contents of the Receiver Register and the SYN
register or DLE register. A match between the
registers sets up stripping of the received character,
when programmed, by preventing the data from
being loaded into the Receiver Holding Register. A bit
in the Status Register is set when stripping is performed. The comparator output also enables
character synchronization of the Receiver on two
successive matches with the SYN register.

STATUS REGISTER - This 8-bit register holds information on communication errors, interface data
register status, match character conditions, and
communication equipment status. This register may
be read onto the DAL lines by a Read operation.

DATA ACCESS LINES - The DAL is an 8-bit bidirectional bus port over which all address, data,
control, and status transfers occur. In addition to
transferring data and control words the DAL lines
also transfer information related to addressing of the
device, reading and writing requests, and interrupting
information.

SYN REGISTER - This 8-bit register is loaded from
the DAL lines by a Write operation and holds the
synchronization code used to establish receiver
character synchronization. It serves as a fill character
when no new data is available in the Transmitter
Holding Register during transmission. This register
cannot be read onto the DAL lines. It must be loaded
with logic zeroes in all unused high-order bits.

ASTRO OPERATION
ASYNCHRONOUS MODE
Framing of asynchronous characters is provided by a
Start bit (logic low) at the beginning of a character
and a Stop bit (logic high) at the end of a character.
Reception of a character is initiated on recognition of
the first Start bit by a positive transition of the
receiver clock, after a preceding Stop bit. The Start
and Stop bits are stripped off while assembling the
serial input into a parallel character.
The character assembly is completed by the reception of the Stop bit after reception of the last character or parity bit. If this bit is a logic high, the character
is determined to have correct framing and the ASTRO
is prepared to receive the next character. If the Stop
bit is a logic low the Framing Error Status flag is set
and the Receiver assumes this bit to be the Start bit
of the next character. Character assembly continues
from this point if the input is still a logic low when
sampled at the theoretical center of the assumed

DLE REGISTER - This 8-bit register is loaded from
the DAL lines by a Write operation and holds the
"DLE" character used in the Transparent mode of
operation in which an idle transmit period is filled
with the combination DLE-SYN. pair of characters
rather than a single SYN character. In addition the
ASTRO may be programmed to force a single DLE
character prior to any data character transmission
while in the transmitter transparent mode.

TRANSMITTER HOLDING REGISTER - This 8-bit
parallel buffer register holds parallel transmitted data
transferred from the DAL lines by a Write operation.
This data is transferred to the Transmitter Register
when the transmitter section is enabled and the
Transmitter Register is ready to send new data.

238

Start bit. As long as the Receive input is spacing, all
zero characters are assembled and error flags and
data received interrupts are generated so that line
breaks can be determined. After a character of all
zeroes is assembled along with a zero in the Stop bit
location, the first received logic high is determined
as a Stop bit and this resets the Receiver circuit to a
Ready state for assembly of the next character.

In the Synchronous mode a continuous stream of
characters are transmitted once the Transmitter is
enabled. If the Transmitter Holding Register is not
loaded at the time the Transmitter Register has
completed transmission of a character, this idle time
will be filled by a transmission of the character
contained in the SYN register in the Nontransparent
mode, or the characters contained in the DLE and
SYN registers respectively while in the Transparent
mode of operation.

In the Asynchronous mode the character transmission occurs when information contained in the
Transmitter Holding Register is transferred to the
Transmitter Register. Transmission is initiated by the
Insertion of a Start bit, followed by the serial output
of the character least significant bit first with parity, if
enabled, following the most significant bit; then the
insertion of a 1-,1.5-, or 2-bit length Stop condition. If
the Transmitter Holding Register is full, the next
character transmission starts after the transmission
of the Stop bit of the present character in the
Transmitter Register. Otherwise, the Mark (logic high)
condition is continually transmitted until the Transmitter Holding Register is loaded.
In order to allow re-transmission of data received at a
slightly faster character rate, means are provided for
shortening the Stop bit length to allow transmission
of characters to occur at the same rate as the
reception of characters. The Stop bit is shortened by
1/16 of a bit period for 1-Stop bit selection and 3/16
of a bit period for 1.5-, or 2-Stop bit selection, if the
next character is ready in the Transmitter Holding
Register.

DETAILED OPERATION

Receiver - The Receiver Data input is clocked into
the Receiver Register by a 1X Receiver Clock from a
modem Data Set, or by a local 32X bit rate clock
selected from one of four externally supplied clock
inputs. When using the 1X clock, the Receiver Data is
sampled on the positive transition of the clock in
both the Asynchronous and Synchronous modes.
When using a 32X clock in the Asynchronous mode,
the Receive Sampling Clock is phased to the MarkTo-Space transition of the Received Data Start bit and
defines, through clock counts, the center of each
received Data bit within + 0%, - 3% at the positive
transition 16 clock periods later.

In the Synchronous mode the Sampling Clock is
phased to all Mark-To-Space transitions of the
Received Data inputs when using a 32X clock. Each
transition of the data causes an incremental correction of the Sampling Clock by 1/32nd of a bit period.
The Sampling Clock can be immediately phased to
every Mark-To-Space Data transition by setting Bit 4
of Control Register 1 to a logic high, while the
Receiver is disabled.

SYNCHRONOUS MODE

Framing of characters is carried out by a special
Synchronization Character Code (SYN) transmitted at
the beginning of a block of characters. The Receiver,
when enabled, searches for two continuous characters matching the bit pattern contained in the SYN
register. During the time the Receiver is searching,
data is not transferred to the Receiver Holding
Register, status bits are not updated, and the Receiver interrupt is not activated. After the detection of
the first SYN character, the Receiver assembles
subsequent bits into characters whose length is
determined by contents of the Control Register. If,
after the first SYN character detection, a second SYN
character is present, the Receiver enters the Synchronization mode until the Receiver Enable Bit is
tumed off. If a second successive SYN character is
not found, the Receiver reverts back to the Search
mode.

When the complete character has been shifted into
the Receiver Register it is then transferred to the
Receiver Holding Register, the unused, higher number bits are filled with zeroes. At this time the Receiver Status bits (Framing Error/Sync Detect, Parity
Error/DLE Detect, Overrun Error, and Data Received)
are updated in the Status Register and the Data
Received interrupt is activated. Parity Error is set, if
encountered while the Receiver parity check is
enabled in the Control Register. Overrun Error is set if
the Data Received status bit is not cleared through a

239

c:

(')

.....
en
.....
""""

r
I

c:

(")
.....
-..
.....

en

Read operation by an external device when a new
character is ready to be transferred to the Receiver
Holding Register. This error flag indicates that a
character has been lost, as new data is lost and the
old data and its status flags are saved.

of the four selected rate inputs and divides the clock
down to the baud rate. This clock is phased to the
Transmitter Holding Register empty flag such that
transmission of characters occurs within two data bit
times of the loading of the Transmitter Holding Register when the Transmitter Register is empty.

The characters assembled in the Receiver Register
that match the contents of the SYN or OLE register
are not loaded into the Receiver Holding Register,
and the OR interrupt is not generated, if Bit 3 of
Control Register 2 (CR23 = SYN Strip) or Bit 4 of
Control Register 1 (CR14 = OLE Strip) are set
respectively, the SYN-OET and OLE-OET status bits
are set with the next non SYN or OLE character.
When both CR23 and CR14 are set (Transparent
mode), the OLE-SYN combination is stripped. The
SYN comparison occurs only with the character
received after the OLE character. If two successive
OLE characters are received only the first OLE
character is stripped. No parity check is made while
in this mode.

When the Transmitter is enabled, a Transmitter interrupt is generated each time the Transmitter Holding Register is empty. If the Transmitter Holding
Register is empty when the Transmitter Register is
ready for a new character the Transmitter enters an
idle state. Ouring this idle time a logic high will be
presented to the Transmitted Oata output in the
Asynchronous mode or the contents of the SYN
register will be presented in the Synchronous Nontransparent mode (CR16 = 0). In the Synchronous
Transmit Transparent mode (enabled by Bit 6 of
Control Register 1 = Logic 1), the idle state will be
filled by a OLE-SYN character transmission in that
order. When entering the Transparent mode the OLESYN fill will not occur until the first forced OLE.

Transmitter - Information is transferred to the
Transmitter Holding Register by a Write operation.
Information can be loaded into this register at any
time, even when the Transmitter is not enabled.
Transmission of data is initiated only when the
Request To Send bit is set to a logic one in the
Control Register and the Clear To Send input is a
logiC low. Information is normally transferred from
the Transmitter Holding Register to the Transmitter
Register when the latter has completed transmission
of a character. However, information in the OLE
register may be transferred prior to the information
contained in the Transmitter Holding Register if the
Force OLE signal condition is enabled (Bit 5 = Force
OLE and 6 = TX Transparent Control Register 1 set to
a logic one). The control bit CR15 must be set prior to
loading of a new character in the transmitter holding
register to insure forcing the OLE character prior to
transmission of the data character. The Transmitter
Register output passes through a flip-flop which
delays the output by one clock period. When using
the 1X clock generated by the Modem Oata Set, the
output data changes state on the negative clock
transition and the delay is one bit period. When using
a local 32X clock the transmitter section selects one

If the Transmitter section is disabled by a reset of the
Request to Send, any partially transmitted character
is completed before the transmitter section of the
ASTRO is disabled. As soon as the CTS goes high
the transmitted data output will go high.

When the Transmit parity is enabled, the selected
Odd or Even parity bit is inserted into the last bit of
the character in place of the last bit of the
Transmitted Register. This limits transfer of character
information to a maximum of seven bits plus parity or
eight bits without parity. Parity cannot be enabled in
the Synchronous Transparency mode.

DEVICE PROGRAMMING
The two 8-bit Control Registers of the ASTRO determine the operative conditions of the ASTRO chip.
Control Register 1 is shown in the following table.

240

BIT7

7

6

SYNC/ASYNC

ASYNC

O-LOOPMODE
1-NORMAL
MODE

O-NON BREAK
MODE
1-BREAK MODE

4

5
ASYNC ITRANS.
ENABLED)

0-1 1/2 or 2 STOP BIT
SELECTION
1-SINGLE STOP BIT
ASYNC ITRANS.
DISABLED
O-MiSCOOi'RESET
1- MISCOO'f SET
SYNC ICR16

=0)

O-NO PARITY
GENERATED
1-TRANSMIT PARITY
ENABLED
SYNC ICR16

= 11

2

1

0

~

~

SYNC/ASYNC

SYNC/ASYNC

SYNC/ASYNC

O-NON ECHO
MODE
1-AUTOECHO
MODE

O-NOPARITY
ENABLED
1-PARITY CHECK
ENABLED ON
RECEIVER PARITY
GENERATION
ENABLED ON
TRANSMITTER

O-RECEIVER
DISABLED
1-RECEIVER
ENABLED

O-RTs RESET

O-DTRRESET

1-RTsSET

1-i'ifRSET

§Y!::!f
O-NON TRANSMITTERTRANS·
PARENT MODE
1-TRANSMIT
TRANSPARENT
MODE

3

SYNC ICR12

=11

O-DLE
STRIPPING
NOT
ENABLED
1-DLE
STRIPPING
ENABLED
SYNC ICR12

=01

SYNC
O-RECEIVER PARITY
CHECK IS DISABLED
1-RECEIVER PARITY
CHECK IS ENABLED

o-MiSe RESET
1-MlSCSET

O-NO FORCE OLE
1-FORCE OLE

CONTROL REGISTER 1

Control Register 1
Bit 7 - A logic 0 configures the ASTRa into an Internal Data and Control Loop mode and disables the
Ring interrupt. In this diagnostic mode the following
loops are connected internally:
a. The Transmit Data is connected to the Receive
Data with the TD pin held in a Mark condition and
the input to the RD pin disregarded.
b. With a 1X clock selected, the Transmitter Clock
also becomes the Receive Clock.
c. The Data Terminal Ready (DTR) is connected to the
DataSet Ready (DSR) input, with the DTR output in
held in an Off condition (logiC high), and the DSR
input pin is disregarded.
d. The Request to Send Control bit is connected to
the Clear To SeQ.QlCTS) and Carrier Detector inputs, with the RTS output pin held in an Off
condition (logic high), and the CTS and Carrier
Detector input pins are disregarded.
3. The Miscellaneous pin is held in an Off (logic high)
condition.
A logic 1 on Bit 7 enables the Ring interrupt and
returns the ASTRa to the normal full duplex configuration.

Register when CR15 is a logic one in the sync mode.
Bit 5 - In the Asynchronous mode a logic 1, with the
Transmitter enabled, causes a single Stop bit to be
transmitted. A logic 0 causes 2-Stop bit transmission
for character lengths of 6, 7, or 8 bits and one-and-ahalf Stop bits for a character length of 5 bits.
With the Transmitter disabled this bit controls the
Miscellaneous output on Pin 19, which may be used
for Make Busy on 103 Data Sets, Secondary Transmit
on 202 Data Sets, or dialing on CBS Data Couplers.
In the Synchronous mode a logic 1 combined with a
logic 0 on Bit 6 of control Register 1 enables Transmit
parity; if CR15= 0 or CR15 = 1 no parity is generated.
When set to a logic 1 with Bit 6 also a logic 1, the
contents of the DLE register are transmitted prior to
the next character loaded in the Transmitter Holding
Register as part of the Transmit Transparent mode.
Bit 4 - In the Asynchronous mode a logic 1 enables
the Automatic Echo mode when the receiver section
is enabled. In this mode the clocked regenerated
data is presented to the Transmit Data output in place
of normal transmission through the Transmitter
Register. This serial method of echoing does not
present any abnormal restrictions on the transmit
speed of the terminal. Only the first character of a
Break condition of all zeroes (null character) is
echoed when a Line Break condition is detected. For
all subsequent null characters, with logic zero Stop
bits, a steady Marking condition is transmitted until
normal character reception resumes. Echoing does
not start until a character has been received and the
Transmitter is idle. The Transmitter does not have to
be enabled during the Echo mode.
In the Synchronous mode a logic 1, with the Receiver
enabled, does not allow assembled Receiver data
matching the DLE register contents to be transferred
to the Receiver Holding Register, also, parity checking is disabled.

Bit 6 - In the Asynchronous mode a logic 1 holds
the Transmitted Data output in a Spacing (Logic 0)
condition, starting at the end of any current transmitted character, when the Transmitter is enabled.
Normal Transmitter timing continues so that this
Break condition can be timed out after the loading of
new characters into the Transmitter Holding Register.
In the Synchronous mode a logic 1 sets the Transmitter in a transparent transmission which implies
that idle transmitter time will be filled by DLE-SYN
character transmission and a DLE can be forced
ahead of any character in the Transmitter Holding

241

c:
o
......

0)

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

When the Receiver is not enabled this bit controls
the Miscellaneous output on Pin 19, which may be
used for New Sync on a 201 Data Set. When
operating with a 32X clock and a disabled Receiver a
logic 1 on this bit also causes the Receiver timing to
synchronize on Mark-To-Space transitions.
Bit 3 - In the Asynchronous mode a logic 1 enables
check of parity on received characters and generation of parity for transmitted characters.
In the Synchronous mode a logic 1 bit enables check
of parity on received characters only. Note: Transmitter parity enable is controlled by CR15.
Bit 2 - A logic 1 enables the ASTRO to receive data
into the Receiver Holding Register, update Receiver
Status Bits 1, 2, 3, and 4, and to generate Data
Received interrupts. A logic 0 disables the Receiver
and clears the Receiver Status bits.
Bit 1 - Controls the Request To Send output on.£.!.!:!
38 to control the CA circuit of the Data Set. The RTS
output is inverted from the state of CR11. A logic 1
combined with a low logic Clear To Send input
enables the Transmitter and allows THRE interrupts
to be generated. A logic 0 disables the Transmitter
and turns off the external Request To Send signal.
Any character in the Transmitter Register will be
completely transmitted before the Transmitter is
turned off. The Request To Send output may be used
for other functions such as "Make Busy" on 103 Data
Sets.
Bit 0 - Controls the Data Terminal Ready output on
Pin 16 to control the CD circuit of the Data Set. A
logic 1 enables the Carrier and Data Set Ready. interrupts. A logic 0 enables only the telephone line
Ring interrupt. The DTR output is inverted from the
state of CR10.
Control Register 2
Control Register 2, unlike Control Register 1, cannot
be changed at any time. This register should be
changed only while both the receiver and transmitter
sections of the ASTRa are in the idle state.
Bits 7-6 - These bits select the character length as
follows:

BIT

7

6

SYNC/ASYNC
CHARACTER LENGTH SELECT
00
01
10
11

~
~
~
~

8 BITS
7 BITS
6 BITS
5 BITS

Character Length
Bits 7-6
8 bits
00
01
7 bits
10
6 bits
11
5 bits
When parity is enabled it must be considered as a bit
when making character length selection, i.e. 5
character bits plus parity 6 bits.
Bit 5 - A logic 1 selects the Synchronous Character
mode. A logic 0 selects the Asynchronous Character
mode.
Bit 4 - A logic 1 selects odd parity and a logic 0
selects even parity, when parity is enabled by CR13
and/or CR15.
Bit 3 - In the Asynchronous mode a logic 0 selects
the rate 1(-32X) clock input (pin 30) as the Receiver
Clock rate and a logic 1 selects the same clock rate
for the Receiver as selected by Bits 2-0 for the
Transmitter. This bit must be a logic 1 for the 1X clock
selection by Bits 2-0.
In the Synchronous mode a logic 1 causes all DLESYN combination characters in the Transparent
mode when DLE strip CR14 is a logic 1, or all SYN
characters in the Non-transparent mode to be
stripped and no Data Received interrupt to be
generated. The SYN Detect status bit is set ~i~h
reception of the next assembled character as It IS
transferred to the Receiver Holding Register.
Bits 2·0 - These bits select the Transmit and
Receive clocks. The Input Clock to the Rate 4 pin
may be divided down to form the 32X clock from a
multiple clock as shown:
Clock
Bits 2·0
1X clock for Transmit and Receive
000
(Pins 35 and 34 respectively)
32X clock - Rate 1 input (Pin 30)
001
32X clock - Rate 2 input (Pin 31)
010
011
32X clock - Rate 3 input (Pin 32)
32X clock - Rate 4 input + 1 (Pin 33)
100
32X clock - Rate 4 input + 2 (Pin 33)
101
32X clock - Rate 4 input + 4 (Pin 33)
110
32X clock - Rate 4 input + 8 (Pin 33)
111

=

5

4

3

2

MODE SELECT

SYNC/ASYNC

~

SYNC/ASYNC

O-ASYNCHRONOUS
MODE
1-SYNCHRONOUS
MODE

1-0DD PARITY
SELECT
O-EVEN PARITY
SELECT

1- RECEIVER CLOCK
DETERMINED BY
BITS 2-D
O-RECEIVER CLK
~ RATE 1
SYNC (CR14

~

0)

O-NO SYN STRIP
1-SYN STRIP
SYNC (CR14 ~ 1)
O-NO DLE-SYN STRIP
1-DLE-SYN STRIP

CONTROL REGISTER 2
242

1

0

CLOCK SELECT
000 - IX CLOCK
001 - RATE 1 CLOCK
010 - RATE 2 CLOCK
011 - RATE 3 CLOCK
100 - RATE 4 CLOCK
101- RATE 4 CLOCK + 2
110- RATE 4 CLOCK + 4
111- RATE 4 CLOCK + 8

Received is not reset, at the time a new character is
to be transferred to the Receiver Holding Register.
This bit is cleared when no Overrun condition is
detected, i.e., the next character transfer time or
when the Receiver is disabled.
Bit 1 - A logic 1 indicates that the Receiver Holding
Register is loaded from the Receiver Register, if the
Receiver is enabled. It is cleared to a logic 0 when the
Receiver Holding Register is read onto the Data
Access Lines, or the Receiver is disabled.
Bit 0 - A logic 1 indicates that the Transmitter
Holding Register does not contain a character while
the Transmitter is enabled. It is set to a logic 1 when
the contents of the Transmitter Holding Register is
transferred to the Transmitter Register. It is cleared to
a 0 bit when the Transmitter Holding Register is
loaded from the DAL, or when the Transmitter is
disabled.

Status Register
The data contained in the Status Register define
Receiver and Transmitter data conditions and status
of the Data Set. The Status word is shown and
defined below.
Bit 7 - This bit is set to a logic 1 whenever there is a
change in state of the Data Set Ready or Carrier
Detector inputs while Data Terminal Ready (Bit 0 of
Control Register 1) is a logic 1 or the Ring Indicator is
turned on, with DTR a logic O. This bit is cleared when
the Status Register is read onto the Data Access
Lines.
Bit 6 - This bit is the logic complement of the Data
Set Ready input on Pin 28. With 202-type Data Sets it
can be used for Secondary Receive.
Bit 5 - This bit is the logic complement of the
Carrier Detector input on Pin 29.
Bit 4 - In the Asynchronous mode a logic 1 indicates that received data contained a log 0 bit after
the last data bit of the character in the stop bit slot,
while the Receiver was enabled. This indicates a
Framing error. This bit is set to a logic 0 if the proper
logic 1 condition for the Stop bit was detected.
In the Synchronous mode a logic 1 indicates that the
contents of the Receiver Register matched the contents of the SYN Register. The condition of this bit
remains for a full character assembly time. If SYN
strip (CR23) is enabled this status bit is updated with
the character received after the SYN character. In
both modes the bit is cleared when the Receiver is
disabled.
Bit 3 - When the OLE Strip is enabled (Bit 4 of
Control Register 1) the Receiver parity check is
disabled and this bit is set to a logic 1 if the previous
character to the presently assembled character
matched the contents of the OLE register, otherwise
it is cleared. The OLE DET remains for one character
time and is reset on the next character transfer or on
a Status Register Read. If OLE Strip is not enabled,
this bit is set to a logic 1 when the Receiver is
enabled, Receiver parity (Bit 3 of Control Register 1)
is also enabled, and the last received character has a
Parity error. A logic 0 on this bit indicates correct
parity. This bit is cleared in either of the above modes
when the Receiver is disabled.
Bit 2 - A logic 1 indicates an Overrun error which
occurs if the previous character in the Receiver
Holding Register has not been read and Data

BIT 7
• DATA
SET
CHANGE

INPUT/OUTPUT OPERATIONS
All Data, Control, and Status words are transferred
over the Data Access Lines (DAL 0-7). Additional
input lines provide controls for addressing a particular unit, and regulating all input and output
operations. Other lines provide interrupt capability to
indicate to a Controller that an input operation is
requested by the ASTRO. All input/output terminology below is referenced to the Controller so that a
Read or Input takes data from the ASTRO and places
it on the DAL lines, while a Write or Output places
data from the DAL lines into the ASTRO. Bit 0 (DALO)
must be a logic low in a Read or Write operation.
Read
A Read Operation is initiated by the placement of an
eight-bit address on the DAL by the Controller. When
the Chip Select signal goes to a logic low state, the
ASTRO compares Bits 7-3 of the DAL with its hardwired 10 code (Pins 17, 22, 24, 25, and 26) and
becomes selected on a Match condition. The ASTRO
then sets its REPLY line low to acknowledge its
readiness to transfer data. Bits 2-0 of the address are
used to select ASTRO registers to read from as
follows:
Bits 2-0
Selected Register
Control Register 1
000
Control Register 2
010
Status Register
100
Receiver Holding Register
110

6

5

4

3

2

1

0

• DATA
SET
READY

• CARRIER
DETECTOR

• FRAMING
ERROR
• SYN
DETECT

• OLE
DETECT
• PARITY
ERROR

• OVERRUN
ERROR

• DATA
RECEIVED

• TRANSMITIER
HOLDING
REGISTER
EMPTY

STATUS REGISTER

243

c:

o...a.

0)

......

...a.

c::

o.....
0)
~

.....

When the Read Enable (RE) line is set to a logic low
condition by the Controller the ASTRO gates the
contents of the addressed register onto the DAL. The
Read operation terminates, and the devices becomes
unselected, when both the Chip Select and Read
Enable return to a logic high condition. Reading of
the Receiver Holding Register clears the DR Status
bit.

2. Transmitter Holding Register Empty (THRE) Indicates that the THR register is empty while the
Transmitter is enabled. The first interrupt occurs
when the Transmitter becomes enabled if there is
an empty THR, or after the character is transferred
to the Transmitter Register making the THR empty.

3. Carrier On -

Indicates Carrier Detector input
goes low when DTR is on.

4. Carrier Off - Indicates Carrier Detector input
goes high when DTR is on.
5. DSR On - Indicates the Data-SefReady input
goes low when DTR is on.
6. DSR Off - Indicates the Data Set Ready input
goes high when DTR is on.
7. Ring On - Indicates the Ring Indicator input goes
low when DTR is off.
Each time an Interrupt condition exists the INTR
output from the ASTRO is made a logic low. The
following interrupt procedure is then carried out even
if the interrupt condition is removed.
The Controller acknowled~ the Interrupt request by
setting the Chip Select (CS) and the mterrupt Acknowledge Input (~) to the ASTRO to a Low
state. On this transition all non-interrupting devices
receiving the IACKI set their Interrupt Acknowledge
Output (lAOKO) low, enabling lower priority daisy·
chained devices to respond to the Interrupt request.
The highest priority device that is interrupting will
then set its RPLY low. This device places it~ code
on Bit Positions 7-3 of the DAL when a low RE signal
is received. In addition Bit 2 is set to a logic one if any
of the interrupt numbers 1 and 3·7 above occurred,
and remains a logic zero if the THRE has caused the
interrupt.
To reset the Interrupt condition (INTR) Chip Select
(CS) and (IACKI) must be received by the ASTRO. A
setup time must exist between CS and the RE or WE
signals to allow chip selection prior to read/write
operations and deselection control through the latter
~nals. The data is removed from the DAL when the
RE signal returns to the logic high state.

Write
A Write operation is initiated by the placement of an
eight-bit address on the DAL by the Controller. The
ASTRO co~res Bits 7·3 of the DAL with its ID code
when the Chip Select input goes to a logic low state.
If a Match condition exists, the device is selected
and makes it's RPLY line low to acknowledge its
readiness to transfer data. Bits 2-0 of the address are
used to select ASTRO registers to be written into as
follows:
Bits2"()

000
010
100
110

Selected Register
Control Register 1
Control Register 2
SYN and DLE Register
Transmitter Holding Register

When the Write Enable (WE) line is set to a logic low
condition by the Controller the ASTRO gates the data
from the DAL into the addressed register. If data is
written into the Transmitter Holding Register, the
THRE Status bit is cleared to a logic zero.
The 100 address loads both the SYN and DLE registers. After writing into the SYN register the device is
conditioned to write into the DLE if followed by
another Write pulse with the 100 address. Any intervening Read or Write operation with other addresses resets this condition such that the next 100
will address the SYN register.
Interrupts
The following conditions generate interrupts:
1. Data Received (DR) - Indicates transfer of a new
character to the Receiver Holding Register while
the Receiver is enabled.

244

MAXIMUM RATINGS
Note:

VDD With Respect to VSS
(Ground)
Max Voltage To Any Input With
Respect to VSS
Operating Temperature
Storage Temperature Plastic
Ceramic
Power Dissipation

+20to -0.3V
+20to -0.3V
O°C to 70°C
- 55°C to + 125°C
-65°C to + 150'C
l000mW

Absolute maximum ratings indicate limits beyond
which permanent damage may occur. Continuous
operation at these limits is not intended and should
be I imited to those cond itions specified under DC
Electrical Characteristics.

OPERATING CHARACTERISTICS
TA = ooe to 70 oe, VOO = + 12.0V ± 5%, VSS = - 5.0V ± 5%, VSS = OV, Vee =
MIN

CHARACTERISTIC

SYMBOL

TYP

MAX

+ 5V

± 5%
CONDITIONS

UNITS

=

III

Input Leakage

10

~A

VIN

ILO

Output Leakage

10

~A

VOUT

ISS

Vss Supply Current

1

mA

Vss

ICCAVE VCC Supply Current

80

mA

IDDAVE VDD Supply Current

10

mA

VIL

Output High Voltage

VOL

Output Low Voltage

AC CHARACTERISTICS
TA = ooe to 70 oe, VOO =
eLMAX = 20pf

TAS
tAH
TARL
TCS

+ 12.0V

± 5%, VSS

V 10

2.8

V

.45

= - 5.0V

CHARACTERISTIC
Address Set·Up Time
Address Hold Time

MIN

CSWidth

± 5%, Vee

TYP

= + 5.0
MAX

= OV

CONDITIONS

ns
400

ns
ns

250
0

± 5%, VSS

UNITS

= -100~A
= 1.6 mA

10

ns

0
150

Address to RPL Y Delay

TCSRLF CS to Reply OFF Delay
TMR

V

.8

Input Low Voltage
(All Inputs)

VOH

SYMBOL

V

2.4

Input High Voltage

VIH

VDD

= VDD
= - 5V

250

ns

MRWidth

1.0

I1 s

Address and RE Spacing

250

ns

RL = 2.7 KQ

READ
TARE

TRECSH RE and CS Overlap
TRECS

RE to CS Spacing

TDV

RE to Data Out Delay

TOV

RE Off to DAL Open Delay

TRE

20

ns

250

ns
180

ns

20

250

ns

REWidth

200

1000

ns

Address to WE Spacing

250

WRITE
TAWE

ns
ns

TWECSH WE and CS Overlap

20

TWE

WE Width

200

TDS

Data Set·Up Time

150

TDH

Data Hold Time

100

ns

250

ns

TWECS WE to CS Spacing

245

1000

ns
ns

CL = 20 pI

c:

5AC

..

Cs

..
0

....,

CD

cs -----t---J
fiE

WE---+----=:-J

1 ;

VIH(min)

2 ; VIL (max)
3; VOH (min)
4 ; VOL (max)

NOTE 1;

10 DECODE is the major factor in
TARE and TAAL timing.

NOTE 2:

If changing the Control Registers
while processing data the WE pulse
width must be contained within the
Data Valid envelope to insure correct
data processing.

READ CYCLE TIMING DIAGRAM

WRITE CYCLE TIMING DIAGRAM

INTERRUPT

CHARACTERISTIC
TCSI
TCSRE

CS to IACKI Delay
CS to RE Delay

MIN

TYP

MAX

UNITS

0

ns

250

ns

TCSREH

CS and RE Overlap

20

ns

TRECS

RE to CS Spacing

250

ns

IACKI Pulse Width

200

Tpi
TIAD

IACKI to Valid ID

CONDITIONS

ns
250

ns

250

ns

250

ns

See Note 1.

Code Delay
TOV
TIARL

RE OFF to DAL Open Delay

20

iACKf to RPLY Delay

250

ns

300

ns

IACKI to IACKO Delay

200

ns

IACKO OFF Delay

250

ns

TCSRLF

CS to RPLY OFF Delay

TIAIH

IACKI ON to INTR OFF

0

RL = 2.7 KQ

Delay
Til
TioFF

From CS OFF, RE OFF, or
IACKI HIGH.
Note1: If RE goes low after IACKI goes low, the delay will be from the falling edge of RE.
Note 2: IACKO goes false after the last one of the following three signals go false: CS, REand
lACK!. TIOFF is measured from the last signal going false.

246

See Note2.

!

!'"
RP~-----+----------~~

Note1: i5A[O must bea logic low during CS to form
an Interrupt Cycle Address during Daisy Chain
Interrupt Response.

AE-------~

INTR----------------~--/

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

.--Tpi

CD ]'-0------=1
IACKO

TII,j

"{'-"0"--_ _ _~

INTERRUPT CYCLE TIMING DIAGRAM

247

c:
o
....

0)

.....
....

PRESET BIT COUNT
ASSEMBLE NEXT CHAR

RECEIVER SECTION

248

SYNC

ASYNC

ASYNCHRONOUS

SYNCHRONOUS

TRANSMITTER SECTION

249

See page 383 for ordering information.

c:

...o

...

CD
......

Inlormation 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 Corporaticn. Western Digital Corporation reserves the right to change
specifications at anytime without notice.

250

WESTERN DIGITAL
COR

PO

RAT

ION

WD1993 Arinc 429 Receiver/Transmitter
and Multi-Character Receiver/Transmitter
FEATURES
•
•

RETURN TO ZERO (RZ) OUTPUT

• AUTO SPACE GENERATION
•

DOUBLE BUFFERED RECEIVER AND TRANSMITTER

•

UNDERRUN ERROR DETECTION FOR TRANSMISSION

• OVERRUN, FRAMING AND PARITY ERROR DETEC
TION 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

RE

vss

PRESENT UPON MASTER RESET FOR ARINC 429
PROTOCOL

WEF

cHi

1m
TXC

Ci
WE

N.C.

07

MA

06

TXE

05

AXAOY

D4

TXAOY

03

TXOO

02

TX01

01

AXC

DO

FCA

AX01

AXOO

VCC

PIN DESIGNATION

• TTL COMPATIBLE INPUTS AND OUTPUTS
• SINGLE +5 VOLT SUPPLY
• TEMPERATURE RANGES O·C to 70·C, - 1993-03,
- 4Q·C to + 85·C - 1993-02, - 55·C to + 125·C 1993-01

DESCRIPTION
The Western Digital WD1993 Avionic ReceiverlTransmitter
is designed to handle digital data transmission, according to
the Avionic Arinc 429 protocol.

The WD1993 is a bus-orientated MOS/LSI device designed
to provide the Avionics Arinc 429 Data Communication
Protocol.

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.

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.

251

PIN DESCRIPTION
PIN NO.

SIGNAL
MNEMONIC

FUNCTION

SIGNAL NAME

1

VSS

GROUND

Ground

2

WEF*

WORD ERROR
FLAG

This pin is an output, which when active indicates an error
in either the transmitter or receiver has been detected. It
reflects an underrun, overrun, parity or framing (receive
word) error and is intended as an error Interrupt. The
Status Register should be read to determine the specific
error.

3

CTS

CLEAR·TOSEND

This input is activated (VIIJ to enable the transmitter
logic.

4

TXC

TRANSMIT CLOCK

This input is the source clock for transmission. The data
rate is a function of this clock frequency.
ARINC MODE 4 x bit rate

I

=

5

EGND

EXTERNAL GROUND

Requires external ground for proper operation.

6

MR

MASTER RESET

When active (VI H), presets the WD1993 mode and
command registers to the ARINC protocol. Master Reset
also resets the data registers and piaces the WD1993
transmitter and receiver into idle states. After MR, the
command register is set to 00100101 and the mode
register is set to 00111100.

7

TXE

TRANSMITTER
EMPTY

This output goes high to indicate the end of a transmit
operation. TXE is automatically reset after the Transmit
Holding Register is ioaded.

8

RXRDY

RECEIVER READY

This output, when high, alerts the CPU that the Receiver
Holding Register contains a data character that is ready
to be input. This output is automatically reset whenever a
character is read from the WD1993. RXRDY is enabled
unless inhibited by setting command bit CR3 (RXRDYIN)
to a logiC "1." It is automatically enabled again after a
receive sequence is completed.

9

TXRDY

TRANSMITTER
READY

This output, when high, alerts the CPU that the Transmit
Holding Register is ready to accept a data character. The
TXRDY output is automatically reset whenever a charac·
ter Is written Into the WD1993 and can be used as an
interrupt to the system.

10

TXDO

TRANSMIT DATA
ZERO

This output drives the VIZ circuit when logic zero is to
be transmitted and is active for one-haif bit time.

11

TXD1

TRANSMIT DATA
ONE

This output drives the VIZ circuit when a logic one is to be
transmitted and is active for one-half bit time.

a

* The follOWing operation must be performed to clear the error in the Status Register and de-assert the Word Error Flag
1. Perform a Master Reset (MR) or;
2. Transfer a new character to the Receiver Holding Register after a reload of the Receiver Register.

252

PIN DESCRIPTION (CONTINUED)

PIN NO.

SIGNAL
MNEMONIC

~
FUNCTION

SIGNAL NAME

12

RXC

RECEIVE CLOCK

This input is the source clock for reception. The data rate
characteristics are the same as the transmit clock.

13

FCR

FIRST CHARACTER
READY

This output goes high after the receiver has completed
reception of the first character in a multi-character
sequence.

14

RXDO

RECEIVE DATA ZERO

RXDO is driven by the line VIZ receiver circuit. When the
VIZ circuit detects a logic zero, a TTL logic one (active for
one-half bit time) is provided to the WD1993.

15

VCC

POWER SUPPLY

+5VDC

16

RXD1

RECEIVE DATA ONE

The RXD1 input is driven by the VIZ line receiver. Each
time the VIZ circuit detects a logic one, a TTL level logic
one (active for one-half bit time) is provided to this input.

17

DATA BUS

This is the bi·directional data bus. It is the means of
communication between the WD1993 and the CPU.
Control, Mode, Data and Status Registers are accessed
via this bus.

22

DO
D1
D2
D3
D4
D5

23
24

D7

25

WE

18
19

20
21

D6
When active (VIU, allows the CPU to write into the
selected register.
When active (VIU, the device is selected. This enables
communication between the WD1993 and a microprocessor.

26

27

C/D

This input is used in conjunction with an active read or
write operation to determine register access via the DATA
BUS.

CONTROL/DATA

When active (VIU, allows the CPU to read data or status
information from the WD1993.

28

ARCHITECTURE
A readlwrite control circuit allows programming/monitoring
or loading/reading of data in the control, status or holding
registers by activating the appropriate control lines: Chip Select (CS), Read Enable (RE), Write Enable (WE),and Control
or Data Select (C/O).

A block diagram of the WD1993 is shown in Figure 1.
As mentioned, the WD1993 is an eight bit bus-oriented
device. Communication between the WD1993 and the controlling CPU occurs via the 8 bit data bus through the bus
transceivers. There are 2 accessible data registers, which
buffer transmit and receive data. They are the Transmit Holding Register and the Receive Holding Register. There is a
parallel-to-serial shift register (parallel in-serial out), the
transmit register and a seriaHo-parallel shift register (serial
in-parallel out), the receive register.

Internal control of the WD1993 is by means of two internal
microcontrollers; one for transmit and one for receive. The
control registers, null detect logic and various counters,
provide inputs to the microcontrollers which generate the
necessary control Signals to send and receive serial data according to the Arinc 429-1 protocol, along with the programmable multicharacter capabilities.

Operational control and monitoring of the WD1993 is performed by two control registers (the command instruction
register and the mode instruction register) and the status
register.

253

C

.....

CD
CD
W

FIGURE 1.

WD1993 BLOCK DIAGRAM

OPERATION

OPERATING DESCRIPTION

Upon master reset (MR), the device is programmed to transmit and receive four 8-bit contiguous characters with the
32nd bit inside odd parity. (ARINC protocol.)

The WD1993 is primarily designed to operate in an 8 bit
micro-processor environment. The DATA ELUS and the Interface Control Signals (CS, RE, WE and C/O) should be connected to the microprocessor's data bus and system control
bus.

A minimum four bit time space is automatically inserted after
the character transmission. Two receiver inputs, RXD1/RXOO
and two transmitter outputs, TXD1/TXDO, are provided to interface with voltage-impedance (VIZ) circuits to translate
± 10 volt ARINC line levels to 5 volt TTL logic levels. The
transmit clock (TXC) and receive clock (RXC), in ARINC
mode, are four times (4X) the bit rate desired.
The receiver monitors the received data input to detect a four
bit time null, which delimits the word. If the communications
link is broken during a word reception, the receiver will generate a word error flag to (WEF) to notify the CPU to request
retransmission. When a null is detected, the receiver logic is
reset and returned to an idle state awaiting the next word.
The Command Register is used to select features such as
parity options, loop test capability, RXRDY flag enabling,
transmitter and receiver enabling, and may also cause the
WD1993 to return to the Mode instruction.
The Status Register contains information such as Transmitter Ready, Transmitter Empty, Receiver Ready, error conclitions, and First Character Ready.

The appropriate TXC and RXC clock frequencies should be
selected for the particular application, using a programmable
baud rate generator such as a WD1943. A master reset pulse
initializes the WD1993 and presets the control registers to the
ARINC protocol.
The RXD1/RXDO inputs are interfaced to the DITS data line
via external level translators that provide TTL (5V) logic levels to the WD1993. The TXD1/TXDO outputs are connected
to high voltage (± lOV) driver circuits. Figures 16 and 17
show some typical ± 10V translator and driver circuits.
The TXRDY, RXRDY, FCR and WEF Flags may be connected to the microprocessor system as interrupt inputs. The
status register can be periodically read in a polled environment to supportWD1993 operations.
The ~ input can be used to synchronize the transmitter to
external events.
The WD1993 is designed such that a control register write
operation accesses the command instruction register.
The RXRDYIN bit of the command register is used to inhibit
the RXRDY output pin for ARINC operations.

254

Several "flags" are provided for interrupt purposes so that
continuity is maintained and data integrity is preserved.
These flags are First Character Ready (FCR), Receiver Ready
(RXRDY), Transmitter Ready (TXRDY) and Transmitter
Empty (TXE).

The Receiver operates similarly:
a) With the control registers suitably programmed, the
receiver is enabled, REN (CR2) = "1 ".
b) The RXRDY and FCR flags are "0". (Inactive).

The Transmitter operates as follows:

c) The incoming data word activates the receive logic and
the data begins to be assembled in the Receiver Register.

a) With the mode and command registers programmed
as desired, the transmitter is enabled, TEN (CRO) =
"1" .

d) When the first character is completely assembled in the
Receiver Register, the data is loaded into the Receive
Holding Register and the FCR (First Character Ready)
and RXRDY (Receiver Ready) flags become active. The
CPU should read the data in the Receiver Holding Register to reset the FCR and first RXRDY. If the Arinc 429
character is accepted, three more RXRDY's will be generated for the three remaining bytes of this character,
i.e., every time a byte is transferred from the Receiver
Register to the Receiver Holding Register (see Figure 3,
Data Accepted). The CPU should read the data prior to
the reception of the next character (next RXRDY) or an
overrun error will be generated as the receiver will overwrite the old data with the new data character just
received.

b) The TXE and TXRDY flags are "1" (active).
c) The external CTS signal = "0".
d) The CPU loads data into the Transmitter Holding Register, TXE and TXRDY go Low.
e) When the Transmitter Holding Register has transferred
its contents to the Transmitter Register for the character
to be transmitted, it will activate the TXRDY (pin 9) output, to alert the CPU that the next 8-bit character can be
accepted. When this new character is loaded into the
Transmitter Holding Register (while the Transmitter Register is still transmitting its contents, thereby preventing
the Transmitter Holding Register to transfer its character
contiguously), TXRDY is not deactivated (reset low to a
logic zero) when WRITE ENABLE (WE) is deactivated
(set high to a logic one), as shown by the dotted line in
Figure 2. An underrun error will be generated if the next
character is not loaded before the previous word is completely shifted out, unless the current character is the
last character in a sequence.

The first character in the Arinc protocol contains a label.
The FCR and RXRDY Flags become active to indicate
the reception of the first character of data. The CPU
reads the first character and decides whether or not it
wants to acquire the subsequent characters. If not, then
the CPU performs a "control write" to the Command
Register, setting the RXRDYIN (CR3) billo a "1." This bit
in Arinc mode should inhibit the RXRDY flag from interrupting the CPU during the reception of the 3 remaining
characters. The RXRDYIN bit is then automatically reset
upon completion of the receive sequence and RXRDY is
enabled again (see Figure 3, Conforming Data Rejection).

However, the WD1993 will delay the deactivation of
TXRDY until the end of the fourth clock or the end of a
data bit being transmitted (see Figure 2).
f) If the last character is transmitted and no more new'
data is to be sent, the transmitter will indicate its status
by raiSing the TXE flag. (No error is generated as a result of this condition.)

I

FOUR CLOCKS

, I
I

CLOCK

I
I
I
DATA

X

L
TXRDY

WE

:>K

ONE DATA BIT

~

I I

u
FIGURE 2

255

I
EXPECTED TXRDY RESET

:

______ IL____

=E
o......
CO
CO

(0)

i
I

The WD1993 however generates a RXRDY after the null
character (see Note), thereby conceivably misleading
the CPU that a first 8 bit character (label) of the following
32 bit ARINC 429 character, has been assembled in the
Receiver Register and transferred to the Receiver Holding Register, ready to be read (see Figure 3, "WD1993
Data Rejection").

For basic testing, failing to reload the Transmit Holding Register in the middle of a data send sequence will cause an underrun error in the transmitter and a word error in the receiver. Failure to read the Receive Holding Register after a
FCR or RXRDY flag will cause an overrun error to be
generated.

A solution to overcome this misreading, is to gate (AND)
the FCR and RXRDY outputs to interpret this combination as a valid RXRDY for the Label.

For Loop-Back test operations, the user should be sure that
the TXC and RXC clock frequencies are the same. This is
normally implemented by placing the same clock signal on
both pins (TXC and RXC).

NOTE: A NULL character is the four bit (all zero's) character
ARINC BACKGROUND

which is used in the ARINC 429 protocol to synchronize, differentiate and signify the start of the 32 bit
ARINC 429 characters.

Aeronautical Radio Inc. (ARINC) publishes the ARINC 429
specification. This document defines the air transport industries standards for the transfer of digital data between avionics systems elements. This specification was adopted by The
Airlines Electronic Engineering Committee April 11, 1978. By
the adoption of this specification the foundation is set for a
standard protocol governing all intersystems equipment (Line
Replaceable Units).

LOOP TEST MODE
As mentioned, the WD1993 is equipped with a diagnostic
test mode, local loop-back. This mode is activated by setting
the LTE command bit to a "1". The TEN and REN bits should
be "1" and CTS should be "VIL". The receiver inputs are ignored and the transmitter outputs are sending nulls. The
transmitter is internally "looped-back" to the receiver and the
error and status flags operate normally.

MARK 33 DIGITAL INFORMATION TRANSFER
SYSTEM (DITS)
Basic Philosophy
Transmit from a designated output port over a single
twisted and shielded pair of wires to designated receiver.

DATA

I..

I

I

1

ARINC 429----1..32 BIT CHARACTER
I
I

FCR

n

I

~

1
I

I
I

n

I
' - 2ND ARINC 429 CHARACTER

I

I

RXRDY

I
I

I

1

I

I

.1

1
1
I

h

DATA ACCEPTED

I

h

I

n

~
I

I

I

I

1
RXRDY

1

h

L-

I

1
1

I

I

I
I

RXRDY

CONFORMING
DATA REJECTION

n

h
FIGURE 3

256

I

WD1933
DATA REJECTION

~

Bidirectional data flow not permitted on a given pair.

Receiver Voltage Levels:
(noisy
(in absence
of noise)
environment)
high + 6.0V to + 10V
+S.OV to + 13V
-S.OV to -13V
low
-6.0V to +10V
No damage to receiver up to 20 vac rms between A &
B; +28, A to Gnd; -28, B to Gnd.

Data Transfer
Numeric
Iso Alphabet # S
Graphic
Data Format
32 bits or less (unused bit positions should be filled with
binary zeros or valid data pad bits).

Data Rate
100 kilo bit per second ± 1%
Low speed 12 to 14.S kilo bit per second ± 1%
Word Synchronization
All zero gap of a minimum of 4 bit times

Bit #32 is assigned to parity.
Modulation
Return to Zero (RZ)
Transmit Voltage Levels
high
+ 10
null
0
low
-10

±O.SV
±O.SV
±O.SV

REGISTER DEFINITIONS
The format and definition of the Command Register is shown below:

TEN
0
NA
REN
0
RXRDYIN

CR7

CR6

CRS

CR4

CR3

CR2

NA

IR

NA

LTE

RXRDYIN

REN

Transmit ENable

LTE

Enabled
Disabled

1
0

TEN

Loop Test ENable
Local loop-back mode
Normal Operation

Not Used

NA

Not Used

Receive ENable

IR

Internal Reset

0

Returns WD1993 to mode instruction
format
Stays in Command Register

Enabled
Disabled

-----

RXRDY Inhibit
NA

Inhibit RXRDY output flag
0

NA

Normal transmitter ooeration
enable RXRDY output flag

257

Not Used

The WD1993 registers are addressed according to the following table:

~

C
.....

CO
CO

W

CS

C/O

Re

WE

L
L
L
L

L
L

L

H

H
H
X

H

H

L

L

H

H
X

X

Registers Selected
Read Receive Holding Register
Write Transmit Holding Register
Read Status Register
Write Command Register
Data Bus Tri-Stated

L

L = Vllat pins
H = VIH at pins
X = don't care

The format of the Status Register is shown below:

SR?

SR6

SRS

SR4

SR3

SR2

UE

FCR

WEF

OE

PE

TXE

TXRDY
1

0

illillQY.
1

0

Receiver Ready
Active (RHR should be read)
Inactive
Transmitter Empty
Transmitter idle
Transmitter active

1

0
OE

0
FE

Parity Error
Parity Error reported
No error
Overrun Error
RHR has been written over with a new character before
previous character was read.
No error
Framing Error

1

Indicates improper receive sequence detected.

0

No error

FCR

TXRDY

Active (THR can be reloaded)
Inactive (transmitter is busy)

1

PE

RXRDY

SRO

Transmitter Ready

TXE

0

SR1

First Character Ready
This bit indicates the receiver has just completed assembly of the 1st character
in a multi-character sequence and that the data is contained in the RHA.

0
UE

0

First character not ready.

Underrun Error
Indicates that the THR has not been loaded with a new character in time for a
contiguous data transmission sequence.
No error

258

ABSOLUTE MAXIMUM RATINGS
Storage Temperature

- 55°C to + 125°C (Plastic Package)
- 65°C to + 150°C (Ceramic Package)
Voltage on any Pin with Respect to Ground . - 0.3V to + 7V
Power Dissipation .......................... 400 MW
Lead Temperature (soldering 10 sec) ............. 300°C
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.

DC ELECTRICAL CHARACTERISTICS
T A = O°C to + 70°C; VCC = 5.0V ± 5%; GND
SYMBOL

OV

PARAMETER

MIN

VIL

Input Low Voltage

-0.3

VIH

Input High Voltage

2.0

VOL

Output Low Voltage

VOH

Output High Voltage

IDL
IlL
ICC

MAX

TYP

Input Leakage
45

Power Supply Current

TEST CONDITIONS

0.8

V

VCC
0.45

V

10L

V

10H

2.4

Data Bus Leakage

UNIT

V

50

uA

10

uA

10

uA

80

rnA

= 1.6mA
= -1001LA

Data Bus is in
High Impedence
State
VIN = VCC
Vee = 5.2SV
No Load

CAPACITANCE
TA

= 25°C; Vee = GND = 0V
SYMBOL

PARAMETER

MIN

TYP

MAX

UNIT

TEST CONDITIONS

CIN

Input Capacitance

10

pF

IC

CliO

1/0 Capacitance

20

pF

Unmeasured pins
returned to GND

+20

Iii

.s

+10

w

0

/

>«
-J

0
I:::l

a.

I:::l

0

-10

------..........--!f--+----IV'V\.-~~v-."'"-...

12

15K

RXOl

3

~

)

·5V

LM3l90
OR EQUIV
100K

5001!

15K

100K
AXOO
LOW
LF356
OR EQUIV

330K

1 "'

4.7

1M

2QOK

12V

01

"'

Note

FIGURE 15.

ARINC 429 LINE LEVEL TRANSLATOR (RECEIVER)

·12V

.~

4.7K

01 04 - IN400 1
All caps: 35V

lOOK

50K

4.7K
100K

511!
HIGH
TXD1

'\

lOOK

lHOO02C
OR EQUIV

OR EQUIV

lOOK
5111
LOW

TXOO
100K

-l2V

FIGURE 16.

ARINC 429-1 LINE DRIVER

265

See page 383 for ordering information.

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.

266

Printed

In

U.S.A

WESTERN DIGITAL
o

c

p

R

o

R

A

T

o

I

N

WD2001/02 Data Encryption Devices

FEATURES
• CERTIFIED
DARDS_

NC

BY

NATIONAL

BUREAU

OF

KA

STAN-

• TRANSFER RATE:
WD2001/2-Q5 300Kbs with 500KHz clock
WD2001/2-20 1.3 Mbs with 2MHz clock
WD2001/2-30 1.8 Mbs with 3MHz clock

( +5)VCC
(+12)VDD
WE

• ENCRYPTS/DECRYPTS 64 BIT DATA WORDS USING
56 BIT KEY WORD

Cs
DAL1
DAL3
DAL5
DAL?

• PARITY CHECK ON KEY WORD LOADING
• STANDARD 8 BIT MICROPROCESSOR INTERFACE
• INPUTS AND OUTPUTS TIL COMPATIBLE
ON

CHIP

IS

NOT

MR
WD
2002

COP?
CDP5
CDP3
CDP1
CLK

• COMMAND BIT PROGRAMMING VIA DAL BUS OR
INPUT PINS

EID
ACT
KPE

8
9

FiE

• SINGLE PORT 28 PIN PACKAGE WD2001 OR DUAL
PORT 40 PIN PACKAGE WD2002

• KEY STORED
ACCESSIBLE

KR
KEOE
VSS(GND)

NC
DIA
DOA
NC

EXTERNALLY

PIN DESIGNATION

SEPARATE CLEAR AND CIPHER BUS STRUCTURE
ON WD2002

DOR
DIR
KR
VSS(GND)

NC

KA
DIA

APPLICATIONS

DOA
( +5)VCC
(+12)VDD
WE

• SECURE BROKERAGE TRANSACTIONS
ELECTRONIC FUNDS TRANSFERS

E/D

7

ACT
KPE

MR

• SECURE BANKING/BUSINESS ACCOUNTING

CRPS
AD
DAL6
DAL4
DAL2
DALD

CLK

Cs

• MAINFRAME COMMUNICATIONS
• REMOTE AND HOST
COMMUNICATIONS

CRPS
CDPD
CDP2
CDP4
CDP6
AD
DPS
DAL6
DAL4
DAL2
DALD

DAL1
DAL3
DAL5
DAL?

COMPUTER

• SECURE AID
• SECURE DISK OR MAG TAPE DATA STORAGE

PIN DESIGNATION

• SECURE PACKET SWITCHING TRANSMISSION

DESCRIPTION

the cipher text word is decrypted to produce the
original clear text word.
The WD2001/02 are fabricated in N-channel silicon gate
MOS technology and are TTL compatible on all inputs and
outputs.

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 Information 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,

NOTE: This device can not be shipped outside of the United
States of America without authorization from the
State Department and Department of Defense.

267

PIN DESCRIPTION
WD2001 WD 2002

SIGNAL NAME

MNEMONIC

FUNCTION

11-18

17-24

DATA LINES

DALO...
DAL 7

Eight active true three-state bi-directional I/O lines
used for information transfer to and from the DES
chip's registers. During Single port operation, all
COMMAND/STATUS, KEY WORD and DATA WORD
transfers are via this bus. During dual port operation,
all COMMAND/STATUS, KEY WORD and clear DATA
WORD transfers are via this bus. (Cipher DATA WORD
transfers are via the CIPHER DATA PORT (COP) bus.)t

N/A*

11-14
27-30

CIPHER DATA PORT

CDPO...
COP 7

Eight active true three-state bi-directional I/O lines
used ~ in dual port operation. Cipher DATA WORD
transfers are via this bus. These pins are available on
the WD2002 40 pin package version only.t

8

POWER SUPPLY

VDD

7

POWER SUPPLY

VCC

+ 12v
+ 5v

25

36

GROUND

9

15

CLOCK

VSS
CLK

System clock input.

21

32

MASTER RESET

MR

10

16

CHIP SELECT

CS is made low to access registers within the device.

8

10

READ ENABLE

The contents of the selected register are placed on the
DAL (or COP) bus lines when CS and RE are made low.

7

9

WRITE ENABLE

Information on the DAL (or COP) bus lines is written
into the selected DES register when CS and WE are
made low.

19

26

AO

AO

When this input is active high (during CS active) the
COMMAND/STATUS REGISTER is addressed. (AO
active high will override internally generated addressing of the KEY and DATA REGISTERS as described
on page 6.) This input is ignored when CRPS is active.

26

38

KEY REQUEST

KR

This output is active high when the DES chip is
requesting that a byte of the KEY WORD be written into
the KEY REGISTER. (The KEY REGISTER is automatically addressed when KR is active, unless
overriden by AO.)

2

2

KEY ACKNOWLEDGE KA

This output is active low when WE is made low while
the KEY REGISTER is addressed. (Can be used for
handshake.)

27

39

DATA-IN REQUEST

DIR

This output is active high when the DES chip is
requesting that a byte of the DATA WORD be written
into the DATA REGISTER. (The DATA REGISTER is
automatically addressed when DIR is active, unless
overriden by AO.)

3

4

DATA-IN

DIA

This output is active low when WE is made low while
the DATA REGISTER is addressed. (Can be used for
handshake.)
This output is active high when the DES chip is
requesting that a byte of the DATA WORD be read from
the DATA REGISTER. (The DATA REGISTER is
automatically addressed when the DOR is active, unless
overridden by AO.)

6
5

ACKNOWLEDGE

28

40

DATA·OUT REQUEST

DOR

GROUND
MR active low resets the COMMAND/STATUS
REGISTER and resets internal circuitry. (Requires
active clock for reset operation.)

268

PIN DESCRIPTION (Continued)
WD2001

SIGNAL NAME

WD2002

4

5

22

33

DATA·OUT
ACKNOWLEDGE
KEY PARITY ERROR

31 * * . COMMAND REGISTER
PIN SELECT

23

34

ACTIVATE

ACT

37

KEY ERROR
OUTPUT ENABLE

KEOE

35

ENCRYPTIDECRYPT

EID

25 * *

DUAL PORT SELECT

N/A*

24

N/A*

This output is active low when RE is made low while the
DATA REGISTER is addressed. (Can be used for hand·
shake.)
This output is active low when enabled via the COM·
MAND/STATUS REGISTER BIT 2 (KEOE) and a parity error
has been detected during loading of the KEY REGISTER.
This input selects DAL bus or input pin programming of
the COMMAND/STATUS REGISTER. CRPS high or open
selects DAL bus programming. CRPS low selects input
pin programming.
When CRPS is high or open, this pin is an output
reflecting the status of the ACTIVATE bit (bit 1) of the
COMMAND/STATUS REGISTER. When CRPS is low, this
pin is an input that overrides the ACTIVATE bit of the
COMMAND/STATUS REGISTER.
This output indicates the status of the KEY ERROR
OUTPUT ENABLE bit (bit 2) of the COMMAND/STATUS
REGISTER. This output is active when input pin
programming is selected (CRPS low). This pin is available
on the WD2002 40 pin package version Q!!!y
When CRPS is high or open, this pin is an output
reflecting the status of the ENCRYPTIDECRYPT bit (bit 3)
of the COMMAND/STATUS REGISTER. When CRPS is
low, this pin is an input pin that overrides the EN·
CRYPTIDECRYPT bit of the COMMAND/STATUS
REGISTER.
When this input is high or open, single port operation is
selected and ali DES chip transfers are via the DAL bus.
When DPS is low, dual port operation is selected and both
the DAL bus and the CDP bus are used [separate busses
for clear data (DAL bus) and cipher data (CDP bus»). This
pin is available on the WD2002 40 pin package version
only.

DOA

20* *

=e

FUNCTION

MNEMONIC

c

~
o......

-

NOTE: * The WD2001 28 pin package version does not have the following pins: The 8 CDP pins, the KEOE pin, and the DPS pin.
* * These inputs have internal pull·up resistors.
t L.S.B. (DATA BIT 0) at DAL7 and CDP7. M.S.B. (DATA BIT 7) at DALO and CDPO.

ttlttttt

t t t

COP BUS'

,--_ _ _ _ _ _ _ _..L-_ _ _ _ _ _ _ _ _ _ _ _ _- , _(+121 Voo
_ ( + 5IV CC

...---,r-.-...,...---,r-.-...,..........,-,-,....~-,__.,.._r-,__.____,_r_r elK

MR

CS

WE

RE

A0

KPE

KR

KA

D1R

OIA

DDR

DOA ACT

E/O CRPS KEOE DPS

"NOT AVAILABLE ON WD2DOl

WD2001/WD2002 BLOCK DIAGRAM

269

(GNDI Vss

o

I\)

:ec
I\)

o

o
......
o
I\)

ORGANIZATION
The Data Encryption Standard chip consists of a 56-bit KEY
REGISTER, a 64-bit DATA REGISTER, an 8-bit COM·
MAND/STATUS REGISTER, plus the necessary logic to
check KEY parity and implement the NBS algorithm. A
typical system implementation is shown on page 10 and
the block diagram is shown on page 1. Although the DES
chip interfaces to a wide variety of processors including
mini·computers, the interface is tailored to the 8080A class
microprocessor.

...

BIT
55

BIT
0

KEY REGISTER
(LOAD ONLy)

Data Register
GENERAL OPERATING DESCRIPTION

This 64·bit register contains plain or cipher text. When in
the encrypt mode, the DATA REGISTER is loaded with plain
text, and when read contains cipher text. When in the
decrypt mode, the DATA REGISTER is loaded with cipher
text, and when read contains plain text. The DATA
REGISTER is always read or loaded with eight successive
byte transfers. The DATA REGISTER can be loaded only
when there is a DATA·IN REQUEST (status bit and output);
similarly the DATA REGISTER can be read only when there
is a DATA·OUT REQUEST (status bit and output).

The user programs the DES chip for encryption or
decryption, and single or dual port operation.' Data is
encrypted/decrypted with a 64-bit user defined KEY WORD.
Data encrypted with a given KEY WORD can be decrypted
only using that KEY WORD. The KEY REGISTER is loaded
by the computer with eight successive 8-bit bytes. Parity is
checked on each byte of the KEY WORD as it is loaded into
the KEY REGISTER (The 8th bit (DALO) of each 8-bit byte is
reserved for odd parity for that byte and is not used in the
algorithm calculation.) Similarly the DATA REGISTER is
loaded with eight successive 8·bit bytes. The DATA
REGISTER is read by reading eight successive 8-bit bytes.
When the DES chip is programmed for encryption, the
DATA REGISTER is loaded with eight bytes of plain or clear
text. The DES chip encrypts the data, then the encrypted
data may be read from the DATA REGISTER (64·bits of
encrypted text). When the DES chip· is programmed for
decryption, the DATA REGISTER is loaded with eight bytes
of encrypted or ciphertext. The DES chip decrypts the data,
then the plain text may be read from the DATA REGISTER
(64-bits of plain text). Note that all transfers to and from the
KEY REGISTER and/or DATA REGISTER must occur in
eight successive 8-bit bytes.

.•.

BIT

63

BIT
0

DATA REGISTER
Command/Status Register (C/S R)

"Note: Dual port operation available with WD2002 40 pin
package version only. (Single and dual port
operation is described in detail under PART V.
OPERATION.)

This 8-bit register controls the operation of the DES
chip and monitors its status. Bits 7, 6, 5 and 4 are
status·only bits (read only). Bits 3, 2 and 1 are
COMMAND/STATUS bits (read/write). Bit 0 is not
used. The COMMAND/STATUS bits (bits 3, 2, and 1)
are normally loaded only once for an entire encrypt or
decrypt process.

REGISTER DESCRIPTION
The following describes the KEY, DATA, and COM·
MAND/STATUS REGISTERS of the DES Chip.

Key Register
This 56-bit register contains the KEY by which the Data
Encryption Algorithm operates. Eight successive bytes are
needed to load the KEY REGISTER. The KEY REGISTER
can be loaded only when there is a KEY REQUEST (Status
bit and output). THIS REGISTER IS LOAD ONLY AND
CANNOT BE READ.

7

6

5

DOR

DIR

KPE

STATUS BITS
(READ ONLy)

4
KR

3
EtD

2
KEOE

1
ACT

COMMAND STATUS
BITS[ READ]
WRITE

COMMAND/STATUS REGISTER

270

0
N/U

COMMAND/STATUS REGISTER (C/S R)

Bit

Name

C/SRO

NOT USED

CIS R1

ACTIVATE

C/SR2

KEY ERROR OUTPUT ENABLE
(KEOE)

Function

~

C

N

This bit must be set from '0' to '1' to initiate loading the KEY
REGISTER. This bit must be '1' for encrypt/decrypt operation. This is
a read I write bit.
When '0', the KEY PARITY ERROR output pin (KPE) remains inactive
regardless of the status of the KEY PARITY ERROR bit (bit 5). When
'1', the KEY PARITY ERROR output pin is active when the KPE bit
(bit5) is '1'. This bit is set to '1' upon a MASTER RESET. This is a
read I write bit.

C/SR3

ENCRYPT/DECRYPT (E/ D)

When '0' data is to be encrypted. When '1' data is to be decrypted.
This is a read/write bit.

CIS R4

KEY REQUEST (KR)

This bit is set one clock period after the ACTIVATE bit is set (from
'0' to '1 '). It is reset upon loading of the 8th and final byte of the KEY
REGISTER. This is a read only bit.

C/SR5

KEY PARITY ERROR (KPE)

This bit is set internally upon detection of a parity error during
loading of the KEY REGISTER. It is reset when the ACTIVATE bit is
programmed from '1' to '0' (I.e., chip is deactivated). This is a read
only bit.

C/SR6

DATA-IN REQUEST (DIR)

This bit is set upon either:
a) Completion of KEY REGISTER loading - or b) Completion of DATA REGISTER reading, (ie, the last DATA-OUT
REQUEST has been serviced by an 8-byte read and the DATA
REGISTER is now empty and ready to be loaded with the next
DATA WORD).
It is reset upon loading of the 8th and final byte of the DATA
REGISTER. This is a read only bit.

CIS R7

DATA-OUT REQUEST (DOR)

This bit is set upon completion of the internal encrypt/decrypt
calculation of a DATA WORD. It is reset upon reading of the 8th and
final byte of the DATA REGISTER. This is a read only bit.

Note: All bits of the COMMAND/STATUS REGISTER are reset to '0' upon MASTER RESET, except bit 2 (KEOE)
which is set to '1' and bit 0 (not used) which will read '1' by default during a COMMAND/STATUS REGISTER
read.

271

o
o
......

o

N

::e
o

!\)

8

:::.
C

!\)

DETAILED OPERATING DESCRIPTION

The DES chip is initiated by programming a '1' in the
ACTIVATE bit of the COMMAND/STATUS REGISTER.
The DES chip will respond by activating the KEY
REQUEST (KR) bit (bit 4) of the STATUS REGISTER
and the KEY REQUEST output.

Again, for both data-in and data-out, further
activations of the DIR, DOR and DIA, DOA outputs,
after the first request, can be ignored and the DATA
REGISTER loaded (read) by 8 successive activations
of WE (RE).
After the last (8th) byte of the DATA REGISTER has
been read, the DES chip will reactivate the DATA-IN
RECUEST. This cycle of loading the DATA REGISTER,
internal algorithm calculation, and reading the new
data from the DATA REGISTER can continue indefinitely until all desired data has been encrypted or
decrypted with the current KEY WORD.

The user must deactivate AO (allowing the chip to
internally address the KEY REGISTER), and load the
KEY REGISTER with the 64-bit KEY WORD. The KEY
REGISTER is loaded with 8 consecutive 8-bit bytes by
activating WE 8 times (with CS active).
When WE is made active, the DES chip deactivates the
KR output. When WE is deactivated, the KR output is
again activated. The DES chip will activate 8 KEY
REQUESTs in this fashion until the KEY REGISTER is
full.
Also, when WE is made active, the DES chip responds
by activating the KEY ACKNOWLEDGE (KA) output.
Thus, 8 KA activations will be made.

After all desired data has been encrypted I decrypted
with the current KEY WORD, the ACTIVATE bit of the
COMMAND/STATUS REGISTER should be programmed to '0'. When the ACTIVATE bit has been reset to
'0', an unauthorized user will not have access to the
last KEY loaded into the DES chip since to resume
operation, the ACTIVATE bit must be programmed to
'1' which activates KEY REQUEST and a new KEY must
be loaded before access to the DATA REGISTER is
possible.

The KR and KA outputs can be used for asynchronous
handshaking (as in DMA control) or further activations
following the first KR can be ignored and the KEY
REGISTER can be loaded in a synchronous (programmed I/O) manner via 8 successive activations of
WE.

To encrypt plain data, plain data is loaded into the
DATA REGISTER, and encrypted data is read from the
DATA REGISTER. (The ENCRYPT/DECRYPT bit (bit 3
of the COMMAND/STATUS REGISTER) must have
been previously programmed to '0'.)
To decrypt encrypted data, encrypted data is loaded
into the DATA REGISTER, and plain data is read from
the DATA REGISTER. (The ENCRYPT/DECRYPT bit
must have been previously programmed to '1'.)

Each byte of the KEY WORD is checked for odd parity
as it is loaded. If a parity error is found, the chip will
set the KEY PARITY ERROR (KPE) bit (bit 5) of the
COMMAND/STATUS REGISTER. If the KEY ERROR
OUTPUT ENABLE bit (bit 2) of the COMMAND/
STATUS REGISTER has been set, the DES chip will
also activiate the KPE output. The KPE bit will be reset
when the ACTIVATE bit is re-programmed to a '0'.

Note: If it is desired to switch from encrypt to decrypt
(or vice versa) under the same KEY WORD, this
can be accomplished before a DATA WORD
transfer is initiated. By making AO high, the
DES chip will override the internal addressing of
the DATA REGISTER, and address the COMMAND/STATUS REGISTER. The COMMAND/
STATUS REGISTER can be re-programmed.
When AO is returned to a low state, the
DES chip will internally address the DATA
REGISTER awaiting loading of the next DATA
WORD.

After loading the last (8th) byte of the KEY WORD into
the KEY REGISTER, the DES chip will set the DATA-IN
REQUEST bit (bit 6) of the STATUS REGISTER and
activate the DATA-IN REQUEST (DIR) output. The
64-bit DATA WORD must then be loaded into the DATA
REGISTER. The DATA REGISTER is loaded in the same
manner as the KEY REGISTER via 8 successive
activations of DATA-IN REQUEST (DES output), WE
(DES input, and DATA-IN ACKNOWLEDGE (DES
output).

DUAL PORT OPTION
(Available on WD2002 40 Pin Version Only)

When the DUAL PORT SELECT (DPS) input is high or
left open (ie., single port operation is selected), all
transfers to/from the DES chip are via the DAL bus.
The CDP bus is not used and remains three-stated.

After the last (8th) byte of the DATA WORD has been
loaded, the chip begins the internal calculation of the
NBS algorithm. Upon completion of the calculation,
the new data is internally loaded into the DATA
REGISTER, and the DES chip sets the DATA-OUT
REQUEST bit (bit 7) of the STATUS REGISTER and
activates the DATA-OUT REQUEST (DOR) output. The
DATA WORD must then be read from the DATA
REGISTER. The DATA REGISTER is read in the same
manner as it was loaded via 8 successive activations of
DATA-OUT REQUEST (DES output), RE (DES input),
and DATA-OUT ACKNOWLEDGE (DES output).

When DPS is made low (ie., dual port operation is
selected), all transfers to/from the COMMAND/
STATUS REGISTER, and transfers to the KEY
REGISTER are still via the DAL bus. Clear DATA
WORDS are also transferred via the DAt bus. However,
cipher DATA WORDS are now transferred via the CDP
bus. This provides separate busses for clear and
ciphered text.

272

Encryption during dual port operation requires loading
clear data via the DAL bus, and reading cipher data via
the CDP bus.

=e
c

I\)

Decryption during dual port operation requires loading
cipher data via the CDP bus, and reading clear data via
the DAL bus.

o

o
.....
(:)

COMMAND SELECT OPTION

I\)

When the COMMAND REGISTER PIN SELECT(CRPS)
input is made low, the ACT and E/ D pins are
enabled as inputs. These inputs override bits 1 and 3
(respectively) of the COMMAND/STATUS REGISTER.
This allows input pin control of the DES chip. The
KEOE bit (bit 2) of the COMMAND/STATUS REGISTER
will be held to '1'.
Input AO will be disregarded in this mode of operation,
and the COMMAND/STATUS REGISTER cannot be
accessed via the DAL lines.
Note that the ACT pin must be toggled from '1' to a '0'
to clear a parity error detection in this mode of
operation.
All other operation remains as described previously.

WD2001/WD2002 FLOW CHARTS

273

MAXIMUM RATINGS

=e

c

I\)

o
o
.....
(3
I\)

VDD with Respect to VSS (Ground)
+ 15 to - 0.3V
Max. Voltage to any Input with Respect to VSS + 15 to - 0.3V
Operating Temperature
O·C to 70·C
Power Dissipation
1W
OPERATING CHARACTERISTICS
TA = 0·Ct070·C, VDD = +12.0V
SYMBOL

±

.6V, VCC = + 5.0V

CHARACTERISTIC

±

Storage Temp. Ceramic -65·C to + 150·C
Plastic -55·C to + 125·C

.25V, VSS = OV
MAX.

UNITS

10
1.6

uA
rnA

VIN = VDD

Input Current Low

ILO

Output Leakage

10

uA

VOUT = VCC

ICCAVE

VCC Supply Current

100

rnA

IDDAVE
VIH

VDD Supply Current

25

rnA

VIL

Input Low Voltage (All Inputs)

VOH

Output High Voltage

VOL

Output Low Voltage

* III
* *IIL

MIN.

TYP.

Input Leakage

68
17

Input High Voltage

2.4

CONDITIONS

VIN = VSS

V
.8

2.8
.4

V
V

10 = -100uA

V

10 = 1.6 rnA

* III applies only to inputs without pull-up resistors.
* * IlL applies only to inputs with pull-up resistors.

2001/2002·05 500KHz CLOCK
AC CHARACTERISTICS
TA = O·C to 70·C, VDD = + 12.0V ± 0.6V, VSS = OV, VCC = + 5.0 ± .25V
CHARACTERISTIC

SYMBOL

MIN.

TYP.

MAX.

UNITS

CONDITIONS

READ
TACS

AD, CS Set up to REI

TRDV

RE +to DAL (CDP) Valid

TRD

RE Pulse Width

TDF

RE t to DAL Float

TACH

AD, CS Hold From RE t

100

ns

500
500

ns

CLOAD

= 50PF

CLOAD

= 50PF

ns

50

250

ns

0

ns

WRITE

CS Set up to WE +

TACS

AD,

100

ns

TDVW

DAL (CDP) Set up to WE t

300

ns

TWR

WE Pulse Width

300

ns

TOH

DAL (CDP) Hold From WE t

90

ns

TACH

AD, CS Hold From WE t

0

HAND·
SHAKE
TO

KR (DIR) +, KA (DIA) +From WE +
KR (DIR) t, KA (DIA) t From WE t
DOR +, DOA +From RE +
DOR t, DOA t From RE t

450

NOTE: All output timing specifications reflect the following: High Output 2.0V
Low Output 0.8V

274

700

ns

200112002·20 2MHz CLOCK
AC CHARACTERISTICS
TA = o·e to 70·e, Voo = + 12.0V ± 0.6V, Vss = OV, Vee = + 5.0 ± .25V
I

SYMBOL

CHARACTERISTIC

MIN.

TYP.

MAX.

UNITS

CONDITIONS

TACS

AO. CS Set up to REI

TRDV

FiE I to DAL (COP) Valid

TRD

Ai: Pulse Width

TDF

Ai: t to DAL Floet

TACH

N:i.

ns

80

330
330

CLOAD

= 50PF

CLOAD

= 50PF

ns

200

30

CS Hold From Ai: t

ns
ns

0

ns

WRITE
TACS

AO, CS Set up to WE I

80

ns

TDVW

DAL (COP) Set up to WE t

200

ns

TWR

WE Pulse Width

200

ns

TDH

DAL (COP) Hold From WE t

90

ns

TACH

AO,

CS Hold From WE t

0

HANDSHAKE
TO

KR (DIR) I, KA (DIAl I From WE I
KR (DIR) t, KA (DIAl t From WE t
DOR I, ImA I From Ai: I
DORt, DOAt From Ai:t

300

450

ns

..

NOTE: All output tIming specIfIcatIons reflect the follOWIng: HIgh Output 2.0V
Low Output O.BV

200112002·30 3MHz CLOCK
AC CHARACTERISTICS
TA o·e to 70·e, VOO = + 12.0V ± 0.6V, Vss = OV, Vee

=

SYMBOL

CHARACTERISTIC

MIN.

= + 5.0 ± .25V
TYP.

MAX.

UNITS

CONDITIONS

READ

TRD

AO, CS Set up to REI
FiE I to DAL (COP) Valid
FiE Pulse Width

TOF

RE t to DAL Floet

TACH

AO,

TACS
TADV

ns

50
220
130

20

c5S Hold From FiE t

ns

CLOAD

=50PF

CLOAD

=50PF

ns

300

ns

0

ns

WRITE
TACS

AO, CS Set up to WE I

50

ns

TDVW

DAL(CDP) Set up to WE t

130

ns

TWR

WE Pulse Width

175

ns

TDH

DAL(CDP) Hold From WE t

60

ns

TACH

.AO, CS Hold From WE t

0

HANDSHAKE
TO

~

I

READ

KR (DIR) I, ~ (DIAl I From WE I
KR (DIR) t, KA (DIAl t From WE t
DOR I, OOA I From RE I
DOR t, DOA t From RE t

150

..

NOTE: All output tlmmg speCIfIcatIons reflect the following: High Output 2.0V
Low Output O.BV

275

300

ns

~
C
N
o
o
.....

o

KR(DIR)

OS

N

DAL(CD~------)L~~J:~t=ttl::xt:~==:x==:!==:x==~==tx==~==:X==:J==~==b[~-----KA(DIA)

TYPICAL KEY OR DATA REGISTER LOAD

5

8

7

6

DOR

CS
DAL(CD~

----1(,"-'-----'-",,-."------'--'

fie

""

II

TYPICAL DATA REGISTER READ & TIMING

----G~:--------~-~b---

~~;------------------~b----

r-

---i

----~i~,

TACS - :
DAL
(CD~

i

--+:
I

I

r--ri--~

b--= TRD_I

~

DAL

,_TACH

(CD~

!~

:..- -... i 1.--f

I

-.! ~CH
ib---

-----j
WE

I

I

i
:

q

:_ TDVW-':
TWR

TA-C-S----!i~......,I-

WRITE TIMING

276

I

: _ TDH

-I .

TOF

READ TIMING

I

9. The initial DaR activation will be valid within 49
ClK • + 450 nsec from WE t of the Bth write into
the DATA REGISTER.
10. When reading the DATA REGISTER (in response to
DaR), subsequent data bytes are made available
internally to the DAl (CDP) output buffers within 2
ClK. + 450 nsec from RE t
11. After reading the DATA REGISTER in response to DORs,
DIR will be activated and valid within 2 ClK. + 450 nsec.
from RE t of the Bth read from the DATA REGISTER.

MISCELLANEOUS TIMING
1.

CLOCK INPUT
FREQUENCY
MIN.
MAX.

PULSE WIDTH
MIN

500KHz

100KHz

500nsec

2 MHz

100KHz

250nsec

3 MHz

100KHz

165nsec

NOTE: All output timings assume ClOAD

2. MASTER RESET PULSE WIDTH: 10 Clock Periods
3. Time between consecutive RE or WE pulses:
TSR
TSW
2 CLOCK PERIODS MINIMUM
4. ACT, EID, KEOE OUTPUTS
These pins will be valid within 2 ClK. + 450 nsec
from WE t of a COMMAND REGISTER write
operation.
5. KPE OUTPUT
This pin will be active within 2 ClK • + 450 nsec
from WE t of a write of a KEY WORD byte that
results in a parity error.
6. CRPS, DPS, EID INPUTS require a 300 ns set-up
time.
7. The initial KR activation will be valid within 3 ClK
• + 450 nsec from WE t of a write operation that
programs a '1' into the COMMAND REGISTER
ACTIVATE bit (or 2 ClK • + 450 nsec from ACT
input t, if CRPS = 0).
B. The initial DIR activation will be valid within 2 ClK
• + 450 nsec from WE t of the Bth write into the
KEY REGISTER.

=

=

Shown below is a block diagram for a floppy disk
based DES secure smart terminal. The Direct Memory
Access (DMA) controller optimizes data transfer
operations for not only the floppy but also for file
encryption and decryption operations. Secure features
for the terminal include: secure file storage on floppy
disks, optical clearlsecure transmission via the communications 1/0 and battery backup of the Terminal ID
key.
Tampering with the Terminal by unauthorized persons either
through the key board, power supply, interrupt interlock, or
attempting to open the service panel results in memory
scrambling and terminal ID key destruction. Finally, a hardware option was also included to allow the use of the UC1671
or the WD1935 for bit oriented SDlC, HDlC, or ADCCP protocols.

WD2001
DES

cpu

DMA

PWR SUPPLY &.J
BATTERY

CRT
CONTROLLER

t------.
f----+

PF

TYPICAL APPLICATION

MEMORY

SYSTEM
CLOCK

= 50

FLOPPY DISK
CONTROLLER

UC1671
SYNC/ASYNC I/O
WD1935
SDLC/HDLC/ADCCP

KEY BOARD

Block Diagram: Secure Smart Terminal

277

K:~

FLOPPY
DISK
DRIVE

MODEM

f------.

I+--

:E
o
N

o
o
.....
-.
o
N

i

r

See page 383 for ordering information.

Information furnisHed by Western Digital Corporation Is believed to be accurate and reliable. However, no responsibility is aasumed 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 u~der any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right to change
specifications at anytime without notice.

278

Printed in U.S.:&..

WESTERN DIGITAL
COR

PO

RAT

/

ON

WD2001/2 Applications Note
"One Bit Cipher Feedback In A Synchronous System"
INTRODUCTION

WD2001/2 TIMING REQUIREMENTS

The WD2001/2 Data Encryption device interfaces easily to
both microcomputer and hard-wired logic circuits. This Applications Note provides suggestions for the implementation
of a synchronous circuit to perform system timing in a one bit
cipher feedback appl ication.

The WD2001/2 may be operated from a 2 MHZ clock. This
provides a fundamental time period of 500 nSec that easily
fits into the timing requirements for the device. For example,
the minimum pulse width for a read (RD) or write (WR) pulse
is 450 nSec.

SYSTEM TIMING CONSIDERATIONS

Generation of the RD or WR pulse can be directly obtained
from a synchronous device that transitions at each edge of
the synchronous clock (SYNCLK). Figure 1 illustrates the
timing relationship between SYNCLK and RD or WR.

The synchronous operation of a digital circuit often leads to
both minimal hardware count and simple, easy to understand
timing relationships. In addition, the concern over individual
device characteristics become non-critical through the use
of a worst case design approach. Common problems such
as race conditions and temperature sensitivity can be virtually eliminated by synchronizing all logical events to a well
defined clock edge.

Once the timing relationship is understood, the implementation becomes qUite straightforward. The circuit of Figure 2
suggests a possible method of RD or WR generation.

T = PERIOD

500
NSEC

L
I

(2MHZ)
SYNCLK

RD OR WR

T
STATES

T1

T3

T2

T1

T2

T2 _ _ _ _-.J
T3~L__________~r----l~

__________

Figure 1 SYNCLK, RD, AND WR TIMING RELATIONSHIPS.

279

i\5

+5V

r

2.2K

RIPPLE OUT

L

-

SYNCLK

ENABLE T

I

--

ENABLE P
LOAD
SYNCHRONOUS
COUNTER
CLOCK

2.2K

QA

74163

I

QS

A

r:

(TT)
OR
WR

QC
QD

D
CLEAR

T STATE

COUNTER STATE

QS

QA

RD OR WR

T1

13

0

1

0

T2

14

1

0

1

T3

15

1

1

1

Figure 2 RD AND WR TIMING GENERATION

FUNDAMENTAL TIMING SEQUENCES

The Load Key, Load Data, and Unload Data sequences are
highly similar. Figure 4 shows the logical flow associated
with the Key Load or Data Load, or Data Unload. The Data
Encryption Algorithm sequence can be derived from the timing associated with the other three sequences. For simplicity,
the DES timing is accomplished by counting groups of three
clock periods in a fashion similar to the method shown in
Figure 4. The logical flow for the DES timing is shown in Figure 5.

Any cryptographic implementation using the Data Encryption
Standard (DES) can be broken down into four fundamental
timing sequences. First, the key is loaded into the WD2001/
2 (Load Key). Second, the data to be encrypted or decrypted
is loaded into the device (Load Data). Next, the DES is executed. Finally, the result of the DES is unloaded from the
WD2001/2 (Unload Data). Figure 3 lists the timing requirements for each timing sequence.

SEQUENCE

NUMBER OF CLOCK PERIODS

Load Key

8 bytes x 3 clocks

24

Load Data

8 bytes x 3 clocks

24

DES

17 x 3 clocks

51

Unload Data

8 bytes x 3 clocks

24

Figure 3 FUNDAMENTAL TIMING SEQUENCES

280

TOTAL

T1

T2

T3

YES

r------

r------

DONE

Figure 4 KEY LOAD, DATA LOAD,
AND DATA UNLOAD FLOW

DONE

Figure 5 DES LOGICAL FLOW

and also highlights the three I/O operations. Note that the
Key Load sequence is outside of the tight loop.

SYSTEM TIMING OVERVIEW
The normal operation of a cryptographic system would require three classes of inpuVoutput (I/O) operations with the
WD2001/2. First, the key is loaded (Key Load) through eight
consecutive write cycles. Second, the data to be encrypted
or decrypted is loaded (Load Data) in a similar fashion. After
the Data Encryption standard is completed, the data is unloaded (Unload Data) through eight consecutive read cycles.
Typically, the Key Load sequence would occur much less
frequently than the Load Data or Unload Data sequences.

Using the four fundamental timing sequences as logical
building blocks, a functional block diagram of system timing
can be designed. Figure 7 illustrates the overall system timing functions.
An implementation of the functions shown in Figure 7 is suggested in Figure 8. Note that all timing transitions are synchronous with the rising edge of SYNCLK.
Figure 9 details the timing of the Load Key sequence, and is
similar to the Load Data, Unload Data, and DES sequences
also.

The flow diagram of Figure-6 shows the relationship between
the four fundamental timing sequences defined previously,

281

I/O

I/O

YES

110

NO

DONE

NO

YES

Figure 6 FUNDAMENTAL TIMING SEQUENCES INTERRELATIONS

CONTROL LOGIC

(8 x 3)

T
STATE
GENERATOR

(8

x 3)

(17 x 3)

T1,T2,T3

1

3

RD
GENERATION

WR
GENERATION

I
DES
COUNTER

l

l

Figure 7 SYSTEM TIMING BLOCK DIAGRAM

282

OATA Au

WRQrij

""""
""""

ROON

,. KEYLOAD RQ AND DATA RQ DO NOT OCCUR
SIMULTANEOUSLY.
2. ALL J·K PRESETS TO +5V.
3. ALL J-K CLEARS TO "RESET".
4. RESET SHOULD LOAD ALL 74LS163 COUNTERS.

Figure 8 SYSTEM TIMING IMPLEMENTATION

'_.=C;~M==

~~

{CCR)fi

(1)

(j)

(01

(KI

(2)

(3)

(8)

KEYLOAD-r
if
~C---------------!f(-KEYON

KEYOONE

-----------------------------------#if~~~----

SYNCLK

Figure 9 SINGLE KEYLOAD SEQUENCE

283

ONE BIT CIPHER FEEDBACK

of data, and hence the WD2001/2 can be used in a multichannel communications environment.

The one bit cipher feedback (OBCFB) architecture is widely
used in Data Communications. The WD2001/2 device, when
operated with a 2 MHZ clock, will run at an effective bit rate
of over 19,200 bits/second, which is the practical upper limit
of many communications links.

In OBCFB, the WD2001/2 is always set to encrypt mode.
The selection of either the SOl as the feedback element to
the shift register, or the SDO as the feedback element, determines whether the incoming data is encrypted or
decrypted.

FUNDAMENTAL LOGICAL COMPONENTS OF OBCFB

Another factor involved with OBCFB is the propagation of errors through a 64 bit block of data. Because of the 64 bit shift
register that feeds the INV, a single bit error will cause the
following 63 bits to be in error also. After the last bit of the 64
erred bits, the data will become resynchronized and the effect of the shift register will no longer cause bad data.

A one bit cipher feedback system can be broken down into
nine logical components, as listed in Figure 10.
NAME

DESCRIPTION

KEY

56 bit number that maps INV to OV

IV

Initialization Vector

INV

Input Vector

DES

Data Encryption Standard

OV

Output Vector

SOl

Serial Data In

SDO

Serial Data Out

SR

Shift Register (used with INV)

MOD2

Modulo 2 Adder

msb

DES (WD2001/2)

msb
of
OV

Figure 10
NINE FUNDAMENTAL COMPONENTS OF OBCFB
SOl

SOO

FUNCTIONAL DESCRIPTION OF OBCFB
Modulo 2
Adder

The OBCFB algorithm operates on a one bit wide data input,
hence it is ideally suited to serial Data Communications applications. In encryption mode, the serial data in is added
modulo 2 with the most significant bit (msb) of the 64 bit output vector. The result of this operation is then fed into the
least significant bit (Isb) of a 64 bit shift register, and also is
used as the serial data output. The shift register is then
shifted from the Isb to the msb, and the result becomes the
next input vector. After the Data Encryption Standard is
completed, the process is repeated again for the next single
bit of serial input data. Because each serial data bit requires
an entire 64 bit INV and OV, the effective bit rate of this operation is 64 times less than that of a operation which uses
all 64 bits of the OV, such as Code Book. Figure 11 shows a
block diagram of a OBCFB circuit operating in encryption
mode.

Figure 11 OBCFB ENCRYPTION BLOCK DIAGRAM

msb

DES (W02001/2)

msb
of
OV

To decrypt, the operation is changed in one way. Instead of
feeding the result of the modulo 2 adder to the shift register,
the unmodified serial data is used. All other operations are
identical. Figure 12 shows a circuit which supports both encryption and decryption.

SOl

Because the OBCFB algorithm uses a 64 bit shift register on
the INV, each SDO bit is a function of its corresponding SOl
bit and the 64 previous operations. This implies that the past
history of the encryption operation is necessary to initialize
a system. The IV is used to supply the history required to allow immediate use of the OV from the DEA. Typically, the IV
is either a predefined value, or the last 64 SDO bits from the
data stream being encrypted or decrypted. This allows the
encryption process to be accomplished with discrete blocks

~~

____________

~

__

~

SOO

SOO if ENCRYPT
SOl if OECRYPT

Figure 12
OBCFB ENCRYPTION/DECRYPTION BLOCK DIAGRAM

284

ONE BIT CIPHER FEEDBACK IMPLEMENTATION

Digital FIFO and some common TTL logic.

Since the WD2001!2 is a byte input/output oriented device,
the implementation of a OBCFB circuit can be accomplished
without the 64 bit shift register shown in Figures 11 and 12.
Through the use of a 9 bit wide FIFO, a "virtual" 64 bit shift
register can be built. Figure 13 illustrates this with a Western

Once the modulo 2 adder, the encrypt/decrypt selector, and
the shift register are defined, the overall circuit can be generated by combining these pieces along with the logic shown
in Figure 8. The overall block diagram of the one bit cipher
feedback system is given in Figure 14.

WRON· T2

RoON.t,

8


2.2

2.2

TEST POINTS

0.8

0.45

<

0.8

DEVICE
UNDER
TEST

)C

-YCL
':'"

AC TESTING: INPUTS ARE DRIVEN AT 2.4V FOR A LOGIC "1" AND
0.45V FOR A LOGIC "0" TIMING MEASUREMENTS ARE MADE AT
2.2V FOR A LOGIC "1" AND 0.8V FOR A LOGIC "0."

WAVEFORMS
Typical Dot Level Timing
EXT DOT CLK

l~

CCLK'

C(;0·6

_____~
SECOND CHARACTER CODE

FIRST CHARACTER CODE

CHARACTER
GENERATOR
OUTPUT

FIRST CHARACTER

SECOND CHARACTER

ATTRIBUTES
& CONTROLS

SHIFT REGISTER SETUP __

VIDEO
(FROM SHIFT
REGISTER)
~

ATTRIBUTES
& CONTROLS

(FROM
SYNCHRONIZER)

_______y ________J
FIRST CHARACTER
ATTRIBUTES & CONTROLS
FOR FIRST CHAR.

'CCLK IS A MULTIPLE OF THE DOT CLOCK AND AN INPUT TO THE 8275.

306

ATTRIBUTES & CONTROLS
FOR 2ND CHAR.

WAVEFORMS (Continued)
Line Timing

'LAo-1, VSP, LTEN, HGLT, RVV, GPAO_1

Row Timing
CCLK

HRTC

PROGRAMMABLE FROM 1 TO 16 LlNES~
INTERNAL
ROW
COUNTER

______

-J.~ ---P-R-ES-E-N-T-R-O-W----~;
__

Frame Timing

307

~OW

:eC
00

I\)

......

WAVEFORMS (Continued)

Write Timing

Read Timing

(,J1

AO, CS

VALID

INVALID

RD

WR

tDF
INVALID

DBO_?

DBO-7

DMA Timing

Clock Timing

CCLK

~---tCLK --_~
ORO
CCLK

DACK - - - - - - - - - ,

WR

LPEN

Interrupt Timing
CCLK:
CCO_6 LAST RETRACE

X FIRST RETRACE CHARACTER
CS

CHARACTER
LCO-3

C'~HT=_

HRTC
INTERNAL
ROW
COUNTER

LAST DISPLAY ROW

IRO

See page 383 for ordering information,
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.

308

WESTERN DIGITAL
c

o

R

p

o

R

A

T

o

/

N

WD8276 Small System CRT Controller

FEATURES
• PROGRAMMABLE SCREEN AND CHARACTER
FORMAT
• 6 INDEPENDENT VISUAL FIELD ATTRIBUTES
• 11 VISUAL CHARACTER ATTRIBUTES (GRAPHIC
CAPABILITY)
• CURSOR CONTROL (4 TYPES)
• LIGHT PEN DETECTION AND REGISTERS
• DUAL ROW BUFFERS
• PROGRAMMABLE DMA BURST MODE
• SINGLE + 5V SUPPLY
• 40-PIN PACKAGE
• 2 MHz VERSION (WD8276-00)
• 3 MHz VERSION (WD8276-02)

LC3

40

LC2
LC1
LC o

39
38
37
36
35
34

BRDY

BS
HRTC
VRTC

AD
WR
NC
DBO
DB1
DB2
DB3
DB4
DB5
DB6
DB7
GND

DESCRIPTION

309

NC
LTEN
RVV
VSP
GPA1

33
32
31

GPAo
HLGT
INT

30
29
28

CCLK

27
26

CC4
CC3
CC2
CC1

25
24
23
22
21

Pin Designation

The WD8276 Programmable CRT Controller is a
single chip device to Interface CRT raster scan
displays with microcomputer systems. Its primary
function is to refresh the display by buffering the
information from main memory and keeping track of
the display position of the screen. The flexibility
designed into the WD8276 will allow simple interface
to almost any raster scan CRT display with a minimum of external hardware and software overhead.

VCC
NC

CC6
CC5

CCo
CS

C/i>

Table 1.

Pin Descriptions

PIN
NO.

TYPE

1

0

LINE COUNT

5

0

BUFFER READY

LC3
LC2
LC1
LCO
BRDY

6

I

BUFFER SELECT

BS

Input signal enabling WR for character data into
the Row Buffers.

7

0

HORIZONTAL
RETRACE

HRTC

Output signal which is active during the pro·
grammed horizontal retrace interval. During this
period the VSP output is high and the LTEN
output is low.

8

0

VERTICAL RETRACE

VRTC

Output signal which is active during the pro·
grammed vertical retrace interval. During this
period the VSP output is high and the LTEN
output is low.

9
10

I
I

READ INPUT
WRITE INPUT

RD
WR

NO CONNECTION

NC

A control signal to read registers.
A control signal to write commands into the
control registers or write data into the row
buffers.
No connection

BIDIRECTIONAL
DATA BUS

DBO
DB1
DB2
DB3
DB4
DBS
DB6
DB7
Ground

Three·state lines. The outputs are enabled
during a read of the C or P ports.

C/P

A high input on this pin selects the "C" port or
command registers and a low input selects the
"P" port or parameter registers.

PIN NAME

2
3
4

11
12
13
14
15
16
17
18
19

110

SYMBOL

FUNCTION
Output from the line counter which is used to
address the character generator for the line
positions on the screen.
Output signal indicating that a Row Buffer is
ready for loading of character data.

20
21

I

GROUND
PORT ADDRESS

22

I

CHIP SELECT

CS

Enables RD of status or WR of command or
parameters.

23
24
25
26
27
28
29

0

CHARACTER CODES

Output from the row buffers used for character
selection in the character generator.

30

I

31

0
0

CHARACTER CLOCK
INTERRUPT OUTPUT

CCo
CC1
CC2
CC3
CC4
CC5
CC6
CCLK
INT

HIGHLIGHT

HLGT

Interrupt output.
Output signal used to intensify the display at
particular positions on the screen as specified
by the field attribute codes.

GENERAL PURPOSE
ATTRIBUTE CODES

GPA1
GPAO

Outputs which are enabled by the general
purpose field attribute codes.

32

33
34

0

Character clock (from dot/timing logic).

310

Table 1.
PIN
NO.

Pin Descriptions (Continued)
TYPE

PIN NAME

SYMBOL

35

0

VIDEO SUPPRESSION

VSP

36

0

REVERSE VIDEO

RVV

37

0

LIGHT ENABLE

LTEN

NO CONNECTION
NO CONNECTION
+ 5V POWER SUPPLY

NC
NC

38
39

40

FUNCTION
Output signal used to blank the video signal to
the CRT. This output is active:
-during the horizontal and vertical retrace
intervals.
-at the top and bottom lines of rows if underline is programmed to be number 8 or
greater.
-when an end of row or end of screen code is
detected.
-when a Row Buffer underrun occurs.
-at regular intervals (1/16 frame frequency for
cursor, 1132 frame frequency for attributes) to create blinking displays as specified by
cursor or field attribute programming.
Output signal used to activate the CRT circuitry
to reverse the video signal. This output is active
at the cursor position if a reverse video block
cursor is programmed or at the positions
specified by the field attribute codes.
Output signal used to enable the video signal to
the CRT. This output is active at the programmed underline cursor position, and at
positions specified by attribute codes.
No connection.
No connection.
+ 5V power supply.

VCC

FUNCTIONAL DESCRIPTION
Data Bus Buffer
This 3-state, bidirectional, 8-bit buffer is used to
interface the WD8276 to the system Data Bus.
This functional block accepts inputs from the System Control Bus and generates control signals for
overall device operation. It contains the Command,
Parameter, and Status Registers that store the
various control formats for the device functional
definition.

DBO_?

DATA
BUS
BUFFER

BRDV ....- - _ - ,

C/P
0
0
1
1

OPERATION
Read
Write
Read
Write

ss_----,

REGISTER
RESERVED
PARAMETER
STATUS
COMMAND

CCO_6

LINE
COUNTER

LCO·3

INT
ROW
COUNTER
RD
HRTC
VRTC

WR

RD(READ)
A "low" on this input informs the WD8276 that the
CPU is reading status information from the WD8276.

RASTER TIMING
AND
VIDEO CONTROL

cs-_......J

WR(WRITE)
A "low" on this input informs the WD8276 that the
CPU is writing data or control words to the WD8276.

Figure 1.
WD8276 Functional Block Diagram

311

HLGT
RVV
LTEN
VSP
GPAO_1

CS (CHIP SELECl)
A "low" on this input selects the WD8276 for RD or
WR of Commands, Status, and Parameters.

horizontal retrace interval. It is driven by the CCLK
(Character Clock) input, which should be derived
from the external dot clock.

BRDY (BUFFER READY)
A "high" on this output indicates that the WD8276 is
ready to receive character data.

Line Counter
The Line Counter is a programmable counter that is
used to determine the number of horizontal lines
(Raster Scans) per character row. Its outputs are
used to address the external character generator.

BS (BUFFER SELECl)
A "low" on this input enables WR of character data to
the WD8276 row buffers.

Row Counter
The Row Counter is a programmable counter that
is used to determine the number of character rows
to be displayed per frame and length of the vertical
retrace interval.

INT (INTERRUPl)
A "high" on this output informs the CPU that the
WD8276 needs interrupt service.
C/P RD WR CS
0
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
X
1
1
0

X
X

1

X

1
X

BS
1
1
1
1
0

Raster Timing and Video Controls
The Raster Timing circuitry controls the timing of
the HRTC (Horizontal Retrace) and VRTC (Vertical
Retrace) outputs. The Video Control circuitry
controls the generation of HGLT (Highlight), RVV
(Reverse Video), LTEN (Light Enable), VSP (Video
Suppress), and GPAO.1 (General Purpose Attribute)
outputs.

Reserved
Write WD8276 Parameter
Read WD8276 Status
Write WD8276 Command
Write WD8276 Row
Buffer
X High Impedance
1 High Impedance

X
1

Row Buffers
Buffers are two 80-character buffers. They
from the microcomputer system memory
character codes to be displayed. While
buffer is displaying a row of characters,

Character Counter
The Character Counter is a programmable counter
that is used to determine the number of characters
to be displayed per row and the length of the

INT

The Row
are filled
with the
one row

LCO·3

BRDY

BOBB
MICRO·
PROCESSOR

.

CCO-6

EiS
WDB276

CS

i'-

•

r
v

CRT
CONTROLLER

VIDEO SIGNAL
CHARACTER
GENERATOR
(ROM OR
RAM)

I

CCLK

B205
DECODER

r

HIGH
SPEED
DOT
TIMING
LOGIC
AND
INTERFACE

HORIZONTAL SYNC
TO CRT
VERTICAL SYNC
INTENSITY

VIDEO CONTROLS

.
SYSTEM BUS
4

.

;:.

4

to-

,.

.

~

8253-5
COUNTERI
TIMER

4

.

r:-

~

!or

!or

PROGRAMI
DISPLAY
MEMORY

WD1983
UART

~

tRIA!
COMMUNICATIONS
CHANNEL

Figure 2.

8255A-5
KEYBOARD
CONTROLLER

KEYBOARD

CRT System Block Diagram

312

I

STATUS

J

the other is being filled with the next row of
characters.

next row of characters to be displayed. The number
of display characters per row and the number of
character rows per frame are software programmable, providing easy interface to most CRT
displays. (See Programming Section.)
The WD8276 uses BRDY to request character data
to fill the row buffer that is not being used for
display.
The WD8276 displays character rows one scan line
at a time. The number of scan lines per character
row, the underline pOSition, and blanking of top and
bottom lines are programmable. (See Programming
Section.)
The WD8276 provides special Control Codes which
can be used to minimize overhead. It also provides
Visual Attribute Codes to cause special action on
the screen without the use of the character
generator. (See Visual Attributes Section.)
The WD8276 also controls raster timing. This is
done by generating Horizontal Retrace (HRTC) and
Vertical Retrace (VRTC) Signals. The timing of these
signals is also programmable.
The WD8276 can generate a cursor. Cursor location
and format are programmable. (See Programming
Section.)

Buffer Input/Output Controllers
The Buffer Input/Output Controllers decode the
characters being placed in the row buffers. If the
character is a field attribute or special code, they
control the appropriate action. (Example: A "Highlight" field attribute will cause the Buffer Output
Controller to activate the HGLT output.)
SYSTEM OPERATION
The WD8276 is programmable to a large number of
different display formats. It provides raster timing,
display row buffering, visual attribute decoding and
cursor timing.
It is deSigned to interface with standard character
generators for dot matrix decoding. Dot level timing
must be provided by external circuitry.
GENERAL SYSTEMS OPERATIONAL
DESCRIPTION
Display characters are retrieved from memory and
displayed on a row-by-row basis. The WD8276 has
two row buffers. While one row buffer is being
used for display, the other is being filled with the

1st
2nd
3rd
4th
5th
6th
7th
Character Character Character Character Character Character Character
~~~~_~--~~~-A~~~~r~_ _

DO • • • • ODO.OCOO.oO • • • • • ODDDDDDDO • • • • ODDO • • • DOO.ODO.O

First Line of a Character Row
1st
2nd
3rd
4th
5th
6th
7th
Character Character Character Character Character Character Character

~r--"---.r--"---.~~~

00 • • • • 000.0000.00 • • • • • 000000000 • • • • 0000 • • • 000.000.0
0.0000_00 • • 000.00_0000000000000_000_00_000_00_000.0

Second Line of a Character Row
1st
2nd
3rd
4th
5th
6th
7th
Character Character Character Character Character Character Character
~,.--A--.,,.--A--.,~~~,--A---..
00 • • • • 000.0000.00 • • • • • 000000000 • • • • 0000 • • • 000.000.0
0.0000.00 • • 0 0 0 . 0 0 . 0 0 0 0 0 0 0 0 0 0 0 0 0 . 0 0 0 . 0 0 . 0 0 0 . 0 0 . 0 0 0 . 0

0.0000.00.0000.00.0000000000000.000.00.000.00.000.0

Third Line of a Character Row

1st
2nd
3rd
4th
5th
6th
7th
Character Character Character Character Character Character Character
,.--A--.,,.--A--.,r--./'-v--,A-.,,-"----,,---A--,,~
00 • • • • 000.0000.00 • • • • • 000000000 • • • • 0000 • • • 000.000.0
0.0000.00 • • 000.00.0000000000000.000.00.000.00.000.0
0.0000.00.0.00.00.0000000000000.000.00.000.00.000.0
0.0000.00.0000.00 • • • • 0000000000 • • • • 000.000.00.0.0.0
0.0000.00.00.0.00.0000000000000.0.0000.000.00.0.0.0

o.onnn.oo.ooo •• oo.ooooooooooooo.oo.ooo.ooo.oo.o.o.o

00 • • • • 000.0000.00 • • • • • 000000000.00.0000 • • • 0000.0.00

Seventh Line of a Character Row
Figure 3.

Display of a Character Row

313

r

DISPLAY ROW BUFFERING

Before the start of a frame, the WD8276 uses BRDY
and BS to fill one row buffer with characters.
When the first horizontal sweep is started, character
codes are output to the character generator from the
row buffer just filled. Simultaneously, the other row
buffer is filled with the next row of characters.
After all the lines of the character row are scanned,
the buffers are swapped and the same procedure is
followed for the next row.

'eJ'f1>t:1'f-l!:} CCO-6

This process is repeated until all of the character
rows are displayed.
Row Buffering allows the CPU access to the display
memory at all times except during Buffer Loading
(about 25%). This compares favorably to alternative
approaches which restrict CPU access to the display
memory to occur only during horizontal and vertical
retrace intervals (80% of the bus time is used to
refresh the display.)

Figure 6.
First Buffer Filled with Third Row,
Second Row Displayed
DISPLAY FORMAT
Screen Format

The WD8276 can be programmed to generate from 1
to 80 characters per row, and from 1 to 64 rows per
frame.
CCO·6

123456789 .................... 80

2
3
4

Figure 4.
First Row Buffer Filled

5
6
7
8
9

64

Figure 7.
Screen Format

The WD8276 can also be programmed to blank
alternate rows. In this mode, the first row is displayed, the second blanked, the third displayed, etc.
Display data is not requested for the blanked rows.

Figure 5.
Second Buffer Filled, First Row Display~d

314

In mode 1, the line counter is offset by one from the
line number.
NOTE:
In mode 1, while the first line (line number 0) is being
displayed, the last count is output by the line counter
(see examples).

123456789 .................... 80
2
3
4
5

Line
Number
0
u i:J
I
I]
1
I.-j II
2
3
r:
IJ
[J
4
U
•
5
u •
6
II
LJ
7
u
u
8
I.-! [J L::J
9
Ll LJ U
I~l

64

•

Row Format
The WD8276 is designed to hold the line count stable
while outputting the appropriate character codes
during each horizontal sweep. The line count is incremented during horizontal retrace and the whole
row of character codes are output again during the
next sweep. This is continued until the entire
character row is displayed.
The number of lines (horizontal sweeps) per character row is programmable from 1 to 16.
The output of the line counter can be programmed to
be in one of two modes.
In mode 0, the output of the line counter is the same
as the line number.

20DO.O.OOCJ

3ou.ooo.CJo
4o.oCJcuo.o
5o.[J[J[J[J[J.o
6 [J • • • • • • •
7 [J • [J [J [J [J [J • [J
8[J.o[J[J[Jo.[J
9 [J • [J [J [J [J 0 • [J
10 [J [J [J [J [J [J
0 [J
11 [J [J [J 0 [J [J [J [J 0
12 [J [J 0 CJ 0 0 0 U 0
13 U 0 0 0 U [J [J [J 0
14 0 0 0 0 0 0 0 0 0
15 0 0 0 0 0 0 0 0 0

1:1

u u

II

[J

•
•
••••
•
•
•
•
[J

FigureS.
Blank Alternative Rows Mode

Line
Number
OOCioeo
000
1ooCio.oeoo

II

•u
• •

II

-~

Line
Line
Counter Counter
Mode 0 Mode 1
000 0 1 0 1
000 1
0 0 0
o 0 1 0 000 1
o0 1 1 0 1 0
0 1 0
0 1 1
0 1 0 1 0 1 0
0 1 1 0 0 1 0 1
0 1 1 1 0 1 1 0
1 000 0 1 1 1
1 0 1 1 000

I~"

C--[

II

1--1

[OJ

l.J

U

LJ

o

[J
[]

U
U

0

Ll

II

[J

U U L-:l

o
o
o

o

o

o

Figure 10.
Example of a 10·Line Format
Mode 0 is useful for character generators that leave
address zero blank and start at address 1. Mode 1 is
useful for character generators which start at address zero.
Underline placement is also programmable (from line
number 0 to 15). This is independent of the line
counter mode.
If the line number of the underline is greater than 7
(line number MSB = 1), then the top and bottom
lines will be blanked.
Line
Number
0 o
1 U
2 []
3 o
4 o
5 o
6 o
7 C
8 o
9 o
10
11 []

Line
Line
Counter Counter
Mode 0 Mode 1
000 0 1 1 1 1
000 1 o 0 0 0
001 0 000 1
001 1 001 0
o 1 0 0 001 1
o1 0 1 o1 0 0
o1 1 0 o1 0 1
o1 1 1 o1 1 0
1 000 o 1 1 1
1 0 0 1 1 000
101 0 1 0 0 1
1 0 1 1 1 0 1 0
1 1 0 0 1 0 1 1
1 1 0 1 1 1 0 0
1 1 1 0 1 1 0 1
1 1 1 1 1 1 1 0

c:: []

0

0

U

LJ

0

['

0

C •

0

[J

0

LJ

LJ

U •

Ll

•

0

o

0

0

•

0

[]

0

•

LJ

0

•
•

0

0

u

U

0

•

0

L:i

o

0

0

0

•

U

•

•

[J

o [] •

[j

• •
•

0

o • u
ooou.u

0

0

0

•
•

•••

0

000

cJ

• •0 •0 • •0 •0 •0 • •
[J

[J

Line
Line
Counter Counter
Mode 0 Mode 1
000 0 1 0 1 1
000 1
0 0 0
001 0
0 0 1
001 1 001 0
o 1 00 001 1
o1 1 1 0 0
o1 1 0 1 1
o1 1 1 1 1 0
1 000
1 1 1
1 0 0 1 1 000
101 0 1 0 0 1
1 0 1 1 101 0

o
o

o

o
o o
o
o

Top and Bottom
Lines are Blanked
Figure 11.
Underline in Line Number 10
If the line number of the underline is less than or
equal to 7 (line number MSB = 0), then the top and
bottom lines will not be blanked.

Figure 9.
Example of a 16·Line Format

315

Line
Number
0
o 0 0 0 0 o 0
1
DDLJ.D[JD
2
DO. o • o 0
3
o • 0 DO.
4
o • 0 o 0 • 0

5
6
7

o • • •
o • 0 o

•

•

0

0

•

0

•••••••

Line
Line
Counter Counter
Mode 0 Mode 1
0000 o 1 1 1
000 1 o 0 0 0
001 0 000 1
001 1 001 0
o 1 0 0 001 1
o1 0 1 o1 0 0
o1 1 0 o1 0 1
o1 1 1 o1 1 0

Top and Bottom
Lines are not Blanked

RASTER TIMING
The character counter is driven by the character
clock input (CCLK). It counts out the characters
being displayed (programmable from 1 to 80). It then
causes the line counter to increment, and it starts
counting out the horizontal retrace interval (programmable from 2 to 32). This process is constantly
repeated.

CCLK

Figure 12.
Underline in Line Number7
HRTC

If the line number of the underline is greater than the
maximum number of lines, the underline will not
appear.
Blanking is accomplished by the VSP (Video Suppression) signal. Underline is accomplished by the
LTEN (Light Enable) signal.
Dot Format
Dot width and character width are dependent upon
the external timing and control circuitry.
Dot level timing circuitry should be designed to
accept the parallel output of the character generator
and shift it out serially at the rate required by the CRT
display.

PROGRAMMABLE 1 TO 80 CCLKS
PRESENT
LINE
COUNT
LCO_3 _ _ _ _
____
__
_ _ _ _- J

Figure 14.
Line Timing
The line counter is driven by the character counter. It
is used to generate the line address outputs (LCO-3)
for the character generator. After it counts all of the
lines in a character row (programmable from 1 to 16),
it increments the row counter, and starts over again.
(See Character Format Section for detailed description of Line Counter functions.)
The row counter is an internal counter driven by the
line counter. It controls the functions of the row
buffers' and counts the number of character rows
displayed.

LC

8276
ONE CHARACTER ROW

VIDEO

Figure 13_
Typical Dot Level Block Diagram
Dot width is a function of dot clock frequency.
Character width is a function of the character generator width.
Horizontal character spacing is a function of the shift
register length.
NOTE:
Video control and timing Signals must be synchronized with the video signal due to the character
generator access delay.

NEXT
LINE COUNT

LCO_3

INTERNAL
ROW COUNTER

PROGRAMMABLE 1 TO 16
LINE COUNTS

Figure 15.
Row Timing

After the row counter counts all of the rows in a
frame (programmable from 1 to 64), it starts counting
out the vertical retrace interval (programmable from 1
to 4).

A reset command will also cause INT to go inactive,
but this is not recommended during normal service.
NOTE:
Upon power-up, the WD8276 Interrupt Enable Flag
may be set. As a result, the user's cold start routine
should write a reset command to the WD8276 before
system interrupts are enabled.

ONE FRAME

VISUAL ATIRIBUTES
AND SPECIAL CODES
The characters processed by the WD8276 are 8bit quantities. The character code outputs provide
the character generator with 7 bits of address. The
Most Significant Bit is the extra bit and it is
used to determine if it is a normal display character
(MSB = 0), or if it is a Field Attribute or Special Code
(MSB = 1).

PROGRAMMABLE
PROGRAMMABLE
1 TO 64 ROW COUNTS 1 TO 4 ROW COUNTS

Special Codes

Figure 16.
Frame Timing

Four special codes are available to help reduce bus
usage.

The Video Suppression Output (VSP) is active during
horizontal and vertical retrace intervals.

SPECIAL CONTROL CHARACTER

Dot level timing circuitry must synchronize these
outputs with the video signal to the CRT Display.

MSB

INTERRUPT TIMING
The WD8276 can be programmed to generate an
interrupt request at the end of each frame. If the
WD8276 interrupt enable flag is set, an interrupt
request will occur at the beginning of the last display
row.
INTERNAL
ROW
COUNTER

=x=x

S

S

S

0
0

0

1
1

0

1
1

End
End
End
End

of
of
of
of

FUNCTION
Row
Row-Stop Buffer Loading
Screen
Screen-Stop Buffer Loading

The End of Row Code (00) activates VSP and holds it
to the end of the line.
The End of Row-Stop Buffer Loading (BRDY) Code
(01) causes the Buffer Loading Control Logic to stop
buffer loading for the rest of the row upon being
written into the Row Buffer. It affects the display in
the same way as the End of Row Code (00).
The End of Screen Code (10) activates VSP and holds
it to the end of the frame.
The End of Screen-Stop Buffer Loading (BRDY) Code
(11) causes the Row Buffer Control Logic to stop
buffer loading for the rest of the frame upon being
written. It affects the display in the same way as the
End of Screen Code (10).
If the Stop Buffer Loading feature is not used, all
characters after an End of Row character are ignored,
except for the End of Screen character, which
operates normally. All characters after an End of
Screen character are ignored.
NOTE:
If a Stop Buffer Loading is not the last character in a
row, Buffer Loading is not stopped until after the next
character is read. In this situation, a dummy
character must be placed in memory after the Stop
Buffer Loading character.

VRTC~l-_~9---'
INT

Figure 17.
Beginning of Interrupt

t

INT will go inactive after the status register is read.

RD-----""I\...._ _ _ _- - '

0 S

Lspecial Control Code

LAST
FIRST
DISPLAY RETRACE
ROW
ROW

INT

LSB

o

----

Figure 18.
End of Interrupt

317

I

r

Field Attributes
The field attributes are control codes which affect
the visual characteristics for a field of characters,
starting at the character following the code up to, and
including, the character which precedes the next
field attribute code, or up to the end of the frame. The
field attributes are reset during the vertical retrace
interval.
The WD8276 can be programmed to provide visible
field attribute characters; all field attribute codes will
occupy a position on the screen. These codes will
appear as blanks caused by activation of the Video
Suppression output (VSP). The chosen visual attributes are activated after this blanked character.

FIELD ATIRIBUTE CODE
MSB
1 0 U R G G B

ABC D E

I L-. Highlight
L--Blink
?eneral Purpose
Reverse Video
Underline

H = 1 for highlighting
B = 1 for blinking
R
1 for reverse video
U = 1 for underline
GG = GPA1, GPAO
NOTE:
More than one attribute can be enabled at the
same time. If the blinking and reverse video attributes are enabled simultaneously, only the
reversed characters will blink.

=

Cursor Timing
The cursor location is determined by a cursor row
register and a character position register which are
loaded by command to the controller. The cursor
can be programmed to appear on the display as:
1. a blinking underline
2. a blinking reverse video block
3. a non-blinking underline
4. a non-blinking reverse video block
The cursor blinking frequency is equal to the
screen refresh frequency divided by 16.
If a non-blinking reverse video cursor appears in a
non-blinking reverse video field, the cursor will
appear as a normal video block.
If a non-blinking underline cursor appears in a nonblinking underline field, the cursor will not be
visible.
Device Programming
The WD8276 has two programming registers, the
Command Register and the Parameter Register. It
also has a Status Register. The Command Register
can only be written into and the Status Register
can only be read from. They are addressed as
follows:

F G H I J K L M

P Q R STU V

CIP

0
0
1 2 3 4 5

_

.

There are six field attributes:
1. Blink - Characters following the code are
caused to blink by activating the Video Suppression output (VSP). The blink frequency is
equal to the screen refresh frequency divided by
32.
2. Highlight - Characters following the code are
caused to be highlighted by activating the
Highlight output (HGlT).
3. Reverse Video - Characters following the code
are caused to appear with reverse video by
activating the Reverse Video output (RVV).
4. Underline - Chaiacters following the code are
caused to be underlined by activating the Light
Enable output (lTEN).
5,6. General Purpose - There are two additional
WD8276 outputs which act as general purpose,
independently programmable field attributes.
GPAO-1 are active high outputs.

N 0

L

II

lSB
H

1
1

6 789

OPERATION
Read
Write
Read
Write

REGISTER
Reserved
Parameter
Status
Command

The WD8276 expects to receive a command and
a sequence of 0 to 4 parameters, depending on
the command. If the proper number of parameter
bytes are not received before another command is
given, a status flag is set, indicating an improper
command.

Figure 19_
End of a Visible Field Attribute
(Underline Attribute)

318

INSTRUCTION SET
The WD8276 instruction set consists of 7 commands.

NO. OF PARAMETER BYTES
4
0
0
2
0
0
0

COMMAND
Reset
Start Display
Stop Display
Load Cursor
Enable Interrupt
Disable Interrupt
Preset Counters

In addition, the status of the WD8276 can be read by
the CPU at any time.

1. Reset Command

Command
Parameters

OPERATION
Write
Write
Write
Write
Write

C/P

DATA BUS
MSB
LSB
000 0 0 000
S H H H H H H H
VVRRRRRR
UUUULLLL
M1CCZZZZ

DESCRIPTION
Reset Command
Screen Comp Byte 1
Screen Comp Byte 2
Screen Comp Byte 3
Screen Comp Byte 4

1
0
0
0
0

Action
After the reset command is written, BRDY goes
inactive, WD8276 interrupts are disabled, and the
VSP output is used to blank the screen. HRTC and
VRTC continue to run. HRTC and VRTC timing are
random on power·up.
As parameters are written, the screen composition is
defined.

Parameter-RRRRRR Vertical Rows/Frame
NO. OF ROWS/FRAME
R R R R R R
1
0 0 0 0 0 0
2
0 0 0 0 0 1
3
0 0 0 0 1 0

1

Parameter-S Spaced Rows
FUNCTIONS
S
Normal Rows
0
Spaced Rows
1

1

1

1

1

64

1

Parameter-UUUU Underline Placement
LINE NO. OF UNDERLINE
U U U U
1
0 0 0 0
2
0 0 0 1
0 0 1 0
3

Parameter-HHHHHHH Horizontal Characters/Row
NO. OF CHARACTERS
HHHHHHH
PERROW
1
o0 0 0 0 0 0
o0 0 0 0 0 1
2
o0 0 0 0 1 0
3

1

1

1

1

16

Parameter-LLLL
Number of Lines per Character Row
1 00111 1
1 o 1 0 0 0 0

1 1 1 1 1 1 1

80
Undefined

L
0
0
0

L
0
0
0

L
0
0
1

L
0
1
0

NO. OF LINES/ROW
1
2

1

1

1

1

16

3

Undefined

Parameter-W Vertical Retrace Row Count
NO. OF ROW COUNTS PER VRTC
V V
1
0 0
2
0 1
1 0
3
1 1
4

Parameter-M Line Counter Mode
LINE COUNTER MODE
M
Mode 0 (Non·Offset)
0
Mode 1 (Offset by 1 Count)
1

319

Parameter-CC Cursor Format
C

o
o

C
0
1

1
1

0
1

Parameter-ZZZZ Horizontal Retrace Count

CURSOR FORMAT
Blinking reverse video block
Blinking underline
Non-blinking reverse video block
Non-blinkinQ underline

NOTE:
uuuu MSB determines blanking of top and bottom
lines (1
blanked,O
not blanked).

=

=

Z
0
0
0

Z
0
0
0

Z
0
0

Z
0

1

0

NO. OF CHARACTER COUNTS
PERHRTC
2
4
6

1

1

1

1

32

1

2. Start Display Command

Command

OPERATION
Write
No parameters

C/P

DESCRIPTION
Start Display

1

DATA BUS
MSB
LSB

00100 0 0 0

Action
WD8276 interrupts are enabled, BRDY goes active,
video is enabled, Interrupt Enable and Video Enable
status flags are set.

3. Stop Display Command

Command

OPERATION
Write
No parameters

cip

DESCRIPTION
Stop Display

1

DATA BUS
LSB
MSB

o

1 0 0 0 0 0 0

Action
Disables video, interrupts remain enabled, HRTC and
VRTC continue to run, Video Enable status flag is
reset, and the "Start Display" command must be
given to reenable the display.

4. Load Cursor Position
OPERATION
Write
Write
Write

Command
Parameters

cip

DESCRIPTION
Load Cursor
Char. Number
Row Number

1
0
0

DATA BUS
MSB
LSB

1 0 0 0 0 0 0 0
(Char. Position in Row)
(Row Number)

Action
The WD8276 is conditioned to place the next two
parameter bytes into the cursor position registers.
Status flag not affected.

5. Enable Interrupt Command

Command

OPERATION
Write
No parameters

cip

DESCRIPTION
Enable Interrupt

1

Action
The interrupt enable flag is set and interrupts are
enabled.

320

DATA BUS
LSB
MSB

101 0 0 0 0 0

6. Disable Interrupt Command

Command

OPERATION
Write
No parameters

cip

DATA BUS
MSB
LSB
1 100 0 000

DESCRIPTION
Disable Interrupt

1

!

f-

Action
Interrupts are disabled and the interrupt enable
status flag is reset.

7. Preset Counters Command

Command

OPERATION
Write
No parameters

C/P
1

DATA BUS
MSB
LSB
11100000

DESCRIPTION
Preset Counters

Action
The internal timing counters ar:e preset, cor·
responding to a screen display pOSition at the top left
corner. Two character clocks are required for this
operation. The counters will remain in this state until
any other command is given.

This command is useful for system debug and
synchronization of clustered CRT displays on a
single CPU.

STATUS FLAGS
OPERATION
Read

Command
IE

IR

IC

DESCRIPTION
Status Word

C/P
1

-(Interrupt Enable) Set or reset by command. It
enables vertical retrace interrupt. It is
automatically set by a "Start Display" com·
mand and reset with the "Reset" command.
-(Interrupt Request) This flag is set at the
beginning of display of the last row of the
frame if the interrupt enable flag is set. It is
reset after a status read operation.
-(Improper Command) This flag is set when a
command parameter string is too long or too
short. The flag is automatically reset after a
status read.

VE

BU

SPECIFICATIONS
ABSOLUTE MAXIMUM RATINGS*
Ambient Temperature Under Bias ..... O°C to 70°C
Storage Temperature ......... - 65°C to + 150°C
Voltage On Any Pin
With Respect to Ground ........ - 0.5V to + 7V
Power Dissipation ...................... 1 Watt

=

DC Characteristics (TA O°C to 70°C; VCC
SYMBOL
PARAMETER
Input Low Voltage
VIL
Input High Voltage
VIH
VOL
VOH
IlL
10FL
ICC

Output Low Voltage
Output High Voltage
Input Load Current
Output Float Leakage
VCC Supply Current

DATA BUS
MSB
LSB
IE IR X IC VE BU X

o

-(Video Enable) This flag indicates that video
operation of the CRT is enabled. This flag is
set on a "Start Display" command, and reset
on a "Stop Display" or "Reset" command.
-(Buffer Underrun) This flag is set whenever a
Row Buffer is not filled with character data in
time for a buffer swap required by the display.
Upon activation of this bit, buffer loading
ceases, and the screen is blanked until after
the vertical retrace interval.

* NOTICE:
Stresses above those listed under "Absolute Max·
imum Ratings" may cause permanent damage to the
device. This is a stress rating only and functional
operation of the device at these or any other con·
ditions above those indicated in the operational
sections of this specification is not implied.

= 5V ± 5%)
MIN
-0.5
2.0

MAX
0.8
VCC
+0.5V
0.45

2.4
±10
±10
160

321

UNITS
V
V
V
V
/-I A
~
mA

TEST CONDITIONS

=
=
=
=

10L 2.2mA
10H
-400~
VIN
VcctoOV
VOUT VCCtoO.45V

= 25°C; VCC = GND = OV)

~

Capacitance(TA
SYMBOL
CIN
CliO

~

AC Characteristics (TA

~

PARAMETER
Input Capacitance
110 Capacitance

MIN

MAX
10
20

UNITS
TEST CONDITIONS
pF
fC = 1 MHz
pF
Unmeasured pins returned to VSS.

= O°C to 70°C; VCC = 5.0V ± 5%; GND = OV)

BUS PARAMETERS (Note 1)
Read Cycle
SYMBOL
tAR
tRA
tRR
tRD
tDF

PARAMETER
Address Stable Before
READ
Address Hold Time for
READ
READ Pulse Width
Data Delay from READ
READ to Data Floating

MIN

PARAMETER
Address Stable Before
WRITE
Address Hold Time for
WRITE
WRITE Pulse Width
Data Setup Time for
WRITE
Data Hold Time for
WRITE

MIN

MAX

UNITS

0

ns

0
250
100

ns
ns
ns
ns

MAX

UNITS

200

TEST CONDITIONS

CL = 150pF

Write Cycle
SYMBOL
tAW
twA
tW{IJ
tow

two

0

ns

0
250

ns
ns

150

ns

0

ns

TEST CONDITIONS

Clock Timing

8276-02

8276·00
SYMBOL
tCLK
tKH
tKL
tKR
tKF

PARAMETER
Clock Period
Clock High
Clock Low
Clock Rise
Clock Fall

Other Timing
SYMBOL
tcc
tHR
tLC
tAT
tVR
tRI
two
tRO
tLR
tRL
tPR
tpH

MIN

MAX

30

UNITS
ns
ns
ns
ns
ns

MAX

UNITS

150

150

ns

200
400

150
250

ns
ns

275

250

ns

275
250
250
200

250
250
250
200

ns
ns
ns
ns
ns
ns
ns
ns

480
240
160
5
5

30
30

8276'()0
PARAMETER
Character Code Output
Delay
Horizontal Retrace
Output Delay
Line Count Output Delay
Control/Attribute Output
Delay
Vertical Retrace Output
Delay
INn from ROt
DROt from WRt
DRO~ from WR..
DACK~ to WR+
WRt to DACKt
LPEN Rise
LPEN Hold

MIN

MIN
320
120
120
5
5

MAX

30

TEST
CONDITIONS

8276-02

MAX

0
0

MIN

0
0
50

100

50
100

322

TEST
CONDITIONS

= 50 pF
CL = 50 pF
CL = 50 pF
CL = 50 pF
CL = 50 pF
CL = 50 pF
CL = 50 pF
CL = 50 pF
CL

WAVEFORMS
Typical Dot Level Timing
EXT DOT CLK

CCLK·l..._ _ _ _ _ _-'

CCO·6

FIRST CHARACTER CODE

-JI'-__________________--'

SECOND CHARACTER CODE

ROM ACCESS
CHARACTER ------------------.I,--------------------------~
GENERATOR
FIRST CHARACTER
OUTPUT _ _ _ _ _ _ _ _ 1""_ _ _ _ _ _ _ _ _ _ _ _"

ATTRIBUTES

&CONTROLS

,-------------------SECOND CHARACTER

'----------

ATTRIBUTES & CONTROLS
FOR FIRST CHAR.
SHIFT REGISTER SETUP

VIDEO
(FROM SHIFT
REGISTER)

ATTRIBUTES
& CONTROLS
(FROM
SYNCHRONIZER)

'---------y~----------~
FIRST CHARACTER
ATTRIBUTES & CONTROLS
FOR FIRST CHAR.

---y-SECOND CHARACTER

ATTRIBUTES & CONTROLS
FOR SECON D CHAR.

• CCLK IS A MULTIPLE OFTHE DOT CLOCK AND AN INPUTTO THE 8276.

Line Timing

CCLK

LCO.3

-+____PR_E_S_E_N_T_L_IN_E_CO_U_NT_ _

-lI:~------------------...I~XT

VIDEO
CONTROLS
AND ATTRIBUTES·
VSP, LTEN, HGLT, RVV, GPAO.1

323

LINE COUNT

Row Timing

CCLK

LCO·3

INTERNAL
ROW
COUNTER

----''1-----------4J------I 1'"---

Frame Timing

CCLK

INTERNAL
ROW
COUNTER

Interrupt Timing

\
CCLK

CCO-6

LCo·3

LAST RETRACE
CHARACTER

X

CIPJ

\

CS~

I

FIRST RETRACE
CHARACTER

FIRST LINE COUNT

AD

\

HRTC

INT
INTERNAL
ROW
COUNTER

INT

LAST DISPLAY ROW

]

I-tlR

if
324

\

t1

Timing for Buffer Loading
CCLK

BRDY

J

\'---

BS

WR

Write Timing

BS,C/F'

CS

Read Timing

INVALID

C/P,CS

--t.____

V_A_L_ID_ _ __

---=4AR

WR

DBO_7

DBO_7

INVALID

Input and Output Waveforms for A.C. Tests

Clock Timing

2.4
0.45

--yo
~

~.O
AO.8

TEST

2.~ ~

POINTS 0.8

fL-

FOR A.C. TESTING, INPUTS ARE DRIVEN AT 2.4V FOR A LOGIC "1"
AND 0.45V FOR A LOGIC "0." TIMING MEASUREMENTS FOR INPUT
AND OUTPUT SIGNALS ARE MADE AT 2.0V FOR A LOGIC "1" AND
0.8V FOR A LOGIC "0."

325

See page 383 for ordering information.

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.

326

Pnnted In U S.A

WESTERN DIGITAL
c

o

R

p

o

R

A

T

I

o

N

WD1943(8136) Dual Baud Rate Clock

FEATURES

XTALIEXT 1

-16 SELECTABLE BAUD RATE CLOCK FREQUENCIES

+5V

- OPERATES WITH CRYSTAL OSCILLATOR OR EXTERNALLY GENERATED FREQUENCY INPUT

fR
RA
RB
RC
RO
STR
NC

- ROM MASKABLE FOR NON-STANDARD FREQUENCY
SELECTIONS
-INTERFACES EASILY WITH MICROCOMPUTERS

1
2
3
4

5
6

XTALlEXT 2
'T
TA
TB
TC
To

7

STl

8
9

GNO
F/4

- OUTPUTS A 50% DUTY CYCLE CLOCK WITH 0.01 %
ACCURACY

PIN DESIGNATION

- 6 DIFFERENT FREQUENCY/DIVISOR PAIRS
AVAILABLE
-SINGLE +5V POWER SUPPLY
- COMPATIBLE WITH BR1941
-TTL, MOS COMPATIBILITY
- XTAL FREQ .,. 4 OUTPUT INCLUDED
- WD1943IS PIN COMPATIBLE TO THE COM8136 AND
COM5036 (PIN 9 ON WD1943 IS A NO CONNECT)
- CAN REPLACE COM8116 AND COM5016 (Contact Western Digital Representative)

DESCRIPTION
The WD1943 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 is a programmable
counter capable of generating a division by any integer from
4to 2 15 -1, inclusive.
The WD1943 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.
The WD1943 can be driven by an external crystal or by TTL
logiC.

327

PIN DESCRIPTION

SIGNAL NAME

FUNCTION

1

XTAUEXT1

Crystal or
External Input 1

This input receives one pin of the crystal package or one
polarity of the external input.

2

VCC

Power Supply

+ 5 volt Supply

3

fR

Receiver Output
Frequency

This output runs at a frequency selected by the Receiver
Address inputs.

RA, RS, RC, RD

Receiver Address

The logic level on these inputs as shown in Table 1 thru 6,
selects the receiver output frequency, fRo

8

STR

Strobe-Receiver
Address

A high-level input strobe loads the receiver address (RA, RS,
RC, RD) into the receiver address register. This input rnay be
strobed or hard wired to + 5V.

9

NC

No Connection

No Internal Connection

10

F/4

XTAL freq .;- 4
Output

XTAL 1 input freq divided by four.

11

GND

Ground

Ground

12

STT

Strobe-Transmitter
Address

A high-level input strobe loads the transmitter address (TA,
TS, TC, TD) into the transmitter address register. This input
may be strobed or hard wired to + 5V.

TD, TC, TS, TA

Transmitter
Address

The logic level on these inputs, as shown in Table 1 thru 6,
selects the transmitter output frequency, fr.

17

fT

Transmitter
Output
Frequency

This output runs at a frequency selected by the Transmitter
Address inputs.

18

XTALlEXT2

Crystal or
External
Input 2

This input receives the other pin of the crystal package or the
other polarity of the external input.

PIN NUMBER

4-7

13-16

MNEMONIC

TA

T8
TC
TO

~====~.f/4

RA

R8
RC
RD

BLOCK DIAGRAM

328

ELECTRICAL CHARACTERISTICS (TA

= O°C to + 70°C, VCC = + 5V ± 5% standard.)

PARAMETER

MIN

TYP

COMMENTS

MAX

UNIT

0.8
VCC

V
V

See Note 1

0.4

V
V

IOL
IOH

= 3.2mA
= 1ool'A

-10
10

I'A
I'A

~:~

: ~~%f STR(8) and STT (12) Only

300

I'A

VIN

= GND

pf

VIN

= GND, excluding XTAL inputs

DC CHARACTERISTICS
INPUT VOLTAGE LEVELS
Low·level, VIL
High·level, VIH

2.0

OUTPUT VOLTAGE LEVELS
Low·level, VOL
High·level, VOH

VCC·1.5

4.0

INPUT CURRENT
High·level,IIH
Low·level, IlL
Low-level, IlL
INPUT CAPACITANCE
All Inputs, CIN

5

10

EXT. INPUT LOAD

4

5

INPUT RESISTANCE
Crystal Input, RXTAL
POWER SUPPLY CURRENT
ICC

40

80

Resistance to ground for
Pin 1 and Pin 18

mA

= +25°C

AC CHARACTERISTICS

TA

CLOCK FREQUENCY

See Note 2

PULSE WI DTH (Tpw)
Clock
Receiver strobe
Transmitter strobe

150
150

INPUT SET-UP TIME (TSET-UP)
Address
OUTPUT HOLD TIME (THOLD)
Address
STROBE TO NEW FREQUENCY
DELAY

(All inputs except
XTAL, STR and STl)

Series 7400 unit loads
KQ

1.1

r

ns
ns

50% Duty Cycle ± 10%. See Note 2
See Note 3
See Note3

50

ns

See Note3

50

ns

.

DC
DC

6

CLK

NOTE 1: XTAUEXT inputs are either TTL compatible or crystal compatible. See crystal specification in
Applications Information section.
All inputs except XTAL, STR and STT have internal pull-up resistors.
NOTE 2: Refer to frequency option tables for maximum input frequency on XTAUEXT pins.
Typical clock pulse width is 1/2 x CL
NOTE 3: Input set-up time can be decreased to >0 ns by increasing the minimum strobe width (50 ns) to a total of 200 ns.
T A.D and RA-D have internal pull-up resistors.

OPERATION
Non·Standard Frequencies

Standard Frequencies

To accomplish non-standard frequencies do one of the
following:

Choose a Transmitter and Receiver frequency from the
table below. Program the corresponding address into TA·TD
and RA-RD respectively using strobe pulses or by hard
wiring the strobe and address inputs.

1. Choose a crystal that when divided by the WD1943
generates the desired frequency.
2. Cascade devices by using the frequency outputs as an
input to the XTAUEXT inputs of the subsequent
WD1943.
3. Consult the factory for possible changes via ROM mask
reprogramming.

329

FREQUENCY OPTIONS
TABLE 1.

D
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

Transmit/Receive
Address
C
B
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
1
1
1
1

A
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

CRYSTAL FREQUENCY
Baud
Theoretleal
Rate
Clock) FreQ. (kHz)
0.8
50
1.2
75
1.76
110
134.5
2.152
2.4
150
300
4.8
9.6
600
19.2
1200
28.8
1800
32.0
2000
38.4
2400
57.6
3600
4800
76.8
7200
115.2
9600
153.6
19,200
307.2

I (16X

= 5.0688 MHZ
Actual
FreQ. (kHz)
0.8
1.2
1.76
2.1523
2.4
4.8
9.6
19.2
28.8
32.081
38.4
57.6
76.8
115.2
153.6
316.8

Percent
Error

-

0.016

-

-

0.253

-

-

-

3.125

Duty
Cycle
%
50/50
50/50
50/50
50/50
50/50
50/50
50/50
50/50
50/50
50/50
50/50
50/50
50/50
50/50
48/52
50/50

Divisor
6336
4224
2880
2355
2112
1056
528
264
176
158
132
88
66
44
33
16

WD1943·QO
TABLE 2.

I
I

D
0
0
0
0
0

a
a
a
1
1
1
1
1
1
1
1

Transmit/Receive
Address
C
B
0
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1

a
a
a
a
1
1
1
1

a
a

1
1
0
0
1
1

A
0
1
0
1
0
1

a
1
a
1
a

1
0
1
0
1

CRYSTAL FREQUENCY
Baud
Theoretical
Rate
(16X Clock) FreQ. (kHz)
50
0.8
75
1.2
110
1.76
134.5
2.152
2.4
150
4.8
300
9.6
600
19.2
1200
1800
28.8
2000
32.0
2400
38.4
3600
57.6
76.8
4800
115.2
7200
9600
153.6
307.2
19200

=4.9152 MHZ
Actual
Fr8ll.~Hl!t

0.8
1.2
1.7598
2.152
2.4

4.8
9.6
19.2
28.7438
31.9168
38.4
57.8258
76.8
114.306
153.6
307.2

Percent
Error

-

-0.01

-

~

-

-0.19
-0.26

0.39
-0.77
-

Duty
Cycle
%
50/50
50/50

·

50/50
50150
50/50
50/50
50/50

·
·
·

50/50
50/50
50/50
50/50
50/50

Divisor
6144
4096
2793
2284
2048
1024
512
256
171
154
128
85
64
43
32
16

WD1943-05
TABLE 3.

D

a
a
a
a
0
0

a
a

1
1
1
1
1
1
1
1
·When

CRYSTAL FREQUENCY

Transmit/Receive
Address
C
B
0
a

Baud
Rate
Theoretical
A
I (32X Clock) Freq. (kHz)
1.6
0
50
1
2.4
75
a
a
0
1
a
110
3.52
1
1
134.5
4.304
a
1
a
a
150
4.8
1
1
6.4
a
200
1
1
9.6
a
300
)9.2
1
1
1
600
38.4
a
a
a
1200
1
57.6
a
a
1800
a
1
a
2400
76.8
a
1
1
3600
115.2
1
a
4800
153.6
0
1
0
1
7200
230.4
1
a
9600
307.2
1
19,200
614.4
1
1
1
the duty cycle IS not exactly 50% It IS 50% ± 10%

WD1943-06

330

=5.0688 MHZ
Actual
Fre~tkHzt

Percent
Error

1.6
2.4
3.52
4.303
4.8
6.4
9.6
19.2
38.4
57.6
76.8
115.2
153.6
230.4
298.16
633.6

2.941
3.125

.026
-

Duty
Cycle
%
50/50
50/50
50/50
50/50
50/50
50/50
50/50
50/50
50/50
50/50
50/50
50/50

·
·

50/50
50/50

Divisor
3168
2112
1440
1178
1056
792
528
264
132
88
66
44
33
22
17
8

APPLICATIONS INFORMATION
OPERATION WITH A CRYSTAL

The method that is easiest to implement in many systems
is method 1, the series resistor. The series resistor will
cause the D.C. level to shift up, but that does not cause a
problem since the OSC is triggered by an edge, as opposed
to a TTL level.

The WD1943 Baud Rate Generator may be driven by either a
crystal or TTL level clock. When using a crystal, the waveform
that appears at pins 1 (STALlEXT 1) and 18 (XTALlEXT 2)
does not conform to the normal TTL limits of VIL '" O.8V and
VIH .. 2.0V. Figure 1 illustrates a typical crystal waveform
when connected to a WD1943.

The 1943 Baud Rate Generator can save both board space
and cost in a communications system. By choosing either a
crystal or a TTL level clock, the user can minimize the logic
required to provide baud rate clocks in a given design.

Since the D. C. level of the waveform causes the least positive
point to typically be greater than O.8V, the WD1943 is
designed to look for an edge, as opposed to a TTL level. The
XTALlEXT logic triggers on a rising edge of typically 1V in
magnitude. This allows the use of a crystal without any additional components.

POWER LINE SPIKES
OPERATIONS WITH TTL LEVEL CLOCK

Voltage transients on the AC power line may appear on the
DC power output. If this possibility exists, it Is suggested
that a by-pass capacitor is used between + 5V and GND.

With clock frequencies in the area of 5 MHz, significant
overshoot and undershoot ("ringing") can appear at pins 1
and/or 18. The clock oscilator may, at times be triggered on
a rising edge of an overshoot or undershoot waveform,
causing the device to effectively "double· trigger." This
phenomenon may result as a twice expected baud rate, or
as an apparent device failure. Figure 2 shows a typical
waveform that exhibits the "ringing" problem.

CRYSTAL SPECIFICATIONS
User must specify termination (pin, wire, other)
Frequency - See Tables 1-6.
Type: Microprocessor Crystal
Temperature range O°C to + 70°C
Series resistance 50Q to 100Q
Series resonant to 100Q
Overall tolerance ± 0.01%

The design methods required to minimize ringing include
the fOllowing:

1. Minimize the P.C. trace length. At 5 MHz, each inch of
trace can add significantly to overshoot and undershoot.
2. Match impedances at both ends of the trace. For
example, a series resistor near the device may be
helpful.
3. A uniform impedance is important. This can be accomplished through the use of:
a parallel ground lines
b. evenly spaced ground lines crossing the trace on the
opposite side of PC board
c. an inner plane of ground, e.g., as in a four layered PC
board.

CRYSTAL MANUFACTURERS (Partial List)
American Time Products Div.
Frequency Control Products, Inc.
Woodside, New York 11377
Bliley Electric Co.
Erie, Pennsylvania 16508
M-tron Ind. Inc.
Yankton, South Dakota 57078

In the event that ringing exists on an already finished
board, several techniques can be used to reduce It. These
are:

Erie Frequency Control
Calisle, Pennsylvania 17013

1. Add a series resistor to match Impedance as shown in
Figure 3.
2. Add pull-uplpull-down resistor to match Impedance, as
shown in Figure 4.
3. Add a high speed diode to clamp undershoot, as shown
in FigureS.

Q-Malic Corporation
Costa Mesa, California 92626

331

+5,0

5.0

+4.0

4.0
VOLTS

VOLTS

+ 3,0

3,0

+2,0

20

+1.0

10
-1,0

2T

FIGURE 1.

3T

Time

Time

FIGURE 2.

TYPICAL CRYSTAL WAVEFORM

TYPICAL "RINGING" WAVEFORM
from TTL INPUT

18\---...J
Typical Values

A-1- ~-RT~33Q

WDl943

FIGURE 3.

SERIES RESISTOR TO MATCH IMPEDANCE

.5V
.5V

R1

R3

1

R4

1>----+---+-11

I

181-----'
fypical Values

R2

WDl943

FIGURE 4.

R1' ~~ -R3~-2.7K
A2

= A4 = 3.3K

PULL-UP/PULL-DOWN RESISTORS TO MATCH IMPEDANCE

:;.I'>----.

Il

-

DATA OUT

..(~

CPT

J L

V

I

MICROPROCESSOR DATA BUS

00-07

Figure 1.

Table 1.

SIMPLIFIED BLOCK DIAGRAM

WD9914 READ REGISTERS

ADDRESS
RS2 RS1 RSO

REGISTER NAME

DO

D1

D2

BIT ASSIGNMENT
D3
D4

D5

D6

D7
MAC

0

0

0

Int Status 0

INTO

INT1

BI

BO

ENO

SPAS

RLC

0

0

1

Int Status 1

GET

ERR

UNC

APT

OCAS

MA

SRO

IFC

0
0

1

0

Address Status

REM

LLO

ATN

LPAS

TPAS

LAOS

TAOS

ulpa

1

1

Bus Status

ATN

OAV

NOAC

NRFO

EOI

SRO

IFC

REN

1

0

1

0
0

1

1

0

Cmd Pass Thru

0108

0107

0106

0105

0104

0103

0102

0101

1

1

1

Oata In

0108

0107

0106

0105

0104

0103

0102

0101

1

,
,

'The W09914 host interface data lines will remain in the high impedance state when these register locations are
addressed. An Address Switch Register may therefore be included in the address space of the device at these
locations.

342

Table 2.

WD9914 WRITE REGISTERS

ADDRESS
RS2 RS1 RSO

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

REGISTER NAME
Int MaskO
Int Mask 1
*
Auxiliary Cmd

0
1
0
1
0
1
0
1

Address
Serial Poll
Parallel Poll
Data Out

DO

01

GET
xx
cs
edpa
S8
PP8
0108

ERR
xx
xx
dal
rsvl

02

BIT ASSIGNMENT
04
03
END

05

06

07

SPAS
MA
xx
f2

MAC
IFC
xx

A3

RLC
SRQ
xx
f1
A2

BI
UNC
xx
xx
dat

BO
APT
xx
f4
A5

OCAS
xx
f3
A4

PP7

S6
PP6

S5
PP5

S4
PP4

S3
PP3

S2
PP2

S1
PP1

0107

0106

0105

0104

0103

0102

0101

to
A1

*This address is not decoded by the W09914. A write to this location will have no effect on the device, as if a
write had not occurred.
REGISTERS
Interrupt Mask and Status Registers 0
an external interrupt (["NT" Low) when it is set (Le., INT
= INT STATUS.INT MASK). The mask register is not
cleared by 'swrst' or the Hardware Reset pin (RESET)
and will power on in a random state. It must, there·
fore, be written to by the host MPU before 'swrst' is
cleared to avoid extraneous interrupts.

The Interrupt Mask and Interrupt Status registers
operate independently of each other. The status bits
will always be set when the appropriate events occur
regardless of the state of the corresponding mask bit.
All interrupt bits, with the exception of INTO and INT1
which are not storage bits, are edge triggered and are
set when the appropriate condition becomes true.
The storage bits are cleared immediately after the
corresponding Interrupt Status Register is read by
the host MPU. If an interrupt condition becomes true
during this read operation, then the event is stored.
The corresponding bit is set when the read operation
ends, hence no interrupts are lost. In addition to
being cleared by a read operation, the BO interrupt is
also cleared by writing to the Data Out Register, and
the BI interrupt is cleared by reading the Data In
Register.

The INTO and INT1 bits of the Interrupt Status
Register are not true status bits. INT1 will be true if
there are any unmasked interrupt status bits set to a
1 in Interrupt Status Register 1. INTO will be true if
any of bits 2·7 of Interrupt Status Register 0 are un·
masked and set to a 1. If either INT1 or INTO is true,
then the external interrupt pin (I NT) will be pulled low
provided that the Disable All Interrupts feature (dai)
has not been set.
The individual bits of Interrupt Status and Interrupt
mask Register 0 are described are in the following
paragraphs. The conditions which set these bits,
shown in parentheses, are given in terms of the state
diagrams. Each bit is set on the rising edge of the
condition shown.

The interrupt status bits are cleared and held in the 0
condition while Software Reset (swrst) is set.
The corresponding bit of the Interrupt mask register
must be set to a 1 if an interrupt status bit is to cause
INTERRUPT MASK/STATUS REGISTER 0
xx

xx

BI

BO

END

SPAS

RLC

MAC

INT

MASKO

INTO

INT1

BI

BO

END

SPAS

RLC

MAC

INT

STATUS 0

01
DO
02
03
04
05
06
NOTE: A 0 masks and a 1 unmasks the bits in the interrupt mask registers.
INT1

This will be a 1 when an unmasked sta·
tus bit in Interrupt Status Register 1 is set
to a 1.

INTO

This will be a 1 when any of bits 2·7 of
Interrupt Status Register 0 is unmasked
and set to a 1.
Byte In. A data byte has been received in
the Data In register. If the mask bit is not

BI

07

MPU BUS

set, then no interrupt is generated but a
RFD holdoff will still occur before the next
data byte is accepted. If the Shadow Hand·
shake feature is used, then this status bit
will not be set. This bit is cleared by
reading the Data In Register as well as
after Interrupt Status Register 0 has been
read. (Set On: ACOS1.LACS)

343

r

BO

Byte Out. This is set when the Data Out
Register is available to send a byte over
the GPIB. This byte may be either a command if the device is a controller or data if
the device is a talker. It is set when the device becomes an active talker or controller
but will not occur if the Data Out register
has been loaded with a byte which has not
been sent. Subsequently, it will occur after
each byte has been sent and the WD9914
returns to SGNS. This bit is cleared by
writing to the Data Out Register as well as
by reading Interrupt Status RegisterO. (Set
On: SGNS.CACS + SGNS.TACS.SHFS)

in the Remote/Local function. (Set On:
(LOCS-REMS) + (REMS-LOCS) + (LWLSRWLS) + (RWl.,S-LWLS)
MAC

Interrupt Mask and Status Registers 1
The operation of Interrupt Mask and Status Register 1
is similar to that of Interrupt Mask and Status Register 0 except that all bits are true storage bits. The
status bits are cleared only following the register
being read and by 'swrst'.
There is one distinct group of interrupts in this register:
GET, UNC, APT, DCAS, MA. These are all set in
response to commands received over the bus and if
unmasked, a Data Accepted (DAC) holdoff will occur
when the interrupt in question is set, It may be released
with a 'dacr' auxiliary command. This is further discussed in the Acceptor Handshake discussions.

NOTE:
When a controller addresses itself as a talker and
then goes to standby, there will be a momentary transition of the source handshake into SIDS before
TACS becomes true and it reenters SGNS. Under
these circumstances, the WD9914 is guaranteed to
givea BO interrupt on reentering 'SGNS'.
END
This indicates that a byte just received by
a listener was the last byte in a string, that
is, it was received with the EOI line true. It
is set at the same time as the BI interrupt.
(Set On: (ACDS1.LACS.EOI)
SPAS

This indicates that the WD9914 has
requested service via rsv1 or rsv2 (in the
Serial Poll Register or Auxiliary Command
Registe~ and has been polled in a serial
poll. It is set on the false transition of
STRS when the serial poll status byte is
sent. (Set On: STRS.SPAS.(APRS1 +
APRS2)

RLC

Remote/Local Change. This is set by any
transition between local and remote states

My Address Change. This indicates that a
command has been received from the
GPIB which has resulted in the addressed
state of the WD9914 to change. It will not
occur if secondary addressing is being
used, nor indicate that the WD9914 has
been readdressed on its other primary address. (Set On: ACDS1. (MTA.TADSUNT +
OTA.TADS + MLA.LADS + UN.LADS)

The mask bit of the APT Interrupt is further used in
the talker and listener functions. When the interrupt
is unmasked, the talker and listener functions of the
WD9914 implement the extended talker and extended listener functions of IEEE-488. Otherwise
these functions implement the talker and listener
functions of IEEE·488.
The individual bits of Interrupt Status and Interrupt
Mask Register 1 are described below. The conditions
which set these bits, shown in parentheses, are given
in terms of the state diagrams.

INTERRUPT MASK/STATUS REGISTER 1
GET

ERR

UNC

APT

CDAS

MA

SRO

IFC

INT

MASK 1

GET

ERR

UNC

APT

DCAS

MA

SRO

IFC

INT

STATUS 1

DO

D1

D2

D3

D4

D5

D6

D7

MPU

BUS

GET

This is set if a Group Execute Trigger
command is received_ A DAC holdoff occurs if the interrupt is unmasked. The TR
pin becomes high when this command is
received and persists high for the duration
of a DAC holdoff if one occurs. If the interrupt is masked, the TR pin becomes high
for approximately five clock cycles. (Set
On: GET.LADS.ACDS1)

ERR

Error. This is set if the source handshake
becomes active and finds that the NDAC
and NRFD lines are both high. This indicates that, for whatever reason, there are
no acceptors on the bus. (Set On: SERS)

UNC

344

Unrecognized Command. This is set if a
command has been received which has no
meaning to the WD9914. Unrecognized addressed commands will only cause this interrupt if the device is LADS except for
TCT which will only interrupt in TADS.
Secondary commands will only cause this
interrupt if the 'pts' auxiliary command has
been set previously. A DAC holdoff will occur if this interrupt is unmasked which
effectively enables the command pass
through feature. Unrecognized commands
may be inspected in the Command Pass
Through Register before this holdoff is released. (Set On: ACDS1. (UCG.[LD. SPE.

SPD.DCL + ACG.GET.GTL.SCD.TCT.
LADS + TCT.TADS + SCG.pts)
APT

DCAS

Address Pass Through. Unmasking this
interrupt enables secondary addressing. It
is set if a secondary command is received
provided that the last primary command
received was a primary talk or listen address of the WD9914. A DAC holdoff will
occur and the secondary address may be
read from the Command Pass Through
Register. The holdoff may be released by a
'dacr' auxiliary command and the 'cs' bit of
the Auxiliary Command Register is used
to indicate that a valid (cs = 1) or an invalid (cs = 0) secondary has been identified by the host MPU. (Set On: ACDS1.
SCG.(LPAS + TPAS)
Device Clear Active State. This is set when
a device clear command (DCL) is received
or when a selected device clear (SDC) is re-

SRO

MA

IFC

ceived with the WD9914 in LADS. This will
cause a DAC holdoff if unmasked. (Set On:
ACDS1.(DCL + SDC.LADS)
Service Request. This is provided for the
benefit of the controller which should execute a serial poll in response to this interrupt. It is set when the SRO line becomes
true. (Set On: SRO.(CIDS + CADS)
My Address. This is set when the WD9914
recognizes its primary talk or listen address. A DAC holdoff will occur if this is
unmasked. (Set On: (MLA + MTA).SPMS.
aptmk)
Interface Clear. This is provided for the
benefit of devices which are not the System Controller. It is set when the IFC line
becomes true and indicates that the
WD9914 has been returned to an idle state.
If the device is the System Controller, then
the IFC interrupt is not set. (Set On: IFCIN)

Address Status Register
REM

LLO

ATN

LPAS

TPAS

LADS

TAOS

ulpa

DO

D1

02

D3

04

05

06

07

MPU

BUS

REM
The device is in the remote state
LLO
Local lockout is in operation
ATN
The attention line is low (true) on the bus
LPAS
WD9914 is in the listener primary addressed state
TPAS
WD9914 is the talker primary addressed state
LADS (or LACS) The device is addressed to listen
TAOS (orTACS) The device is addressed to talk
This bit shows the LSB of the last address recognized by the WD9914.
ulpa

Address Register
edpa

dal

dat

A5

A4

A3

A2

A1

DO

01

02

D3

04

D5

D6

07

edpa
dal
dat
A5-A1

Enable dual primary addressing mode
Disable listener function
Disable talker function
Primary address of the WD9914.

into these bits. Often this will be read from an Address Switch Register.
The 'edpa' bit is used to enable the dual addressing
mode of the WD9914. It causes the LSB of the address to be ignored by the address comparator giving
two consecutive primary addresses for the device.
The address by which the WD9914 was selected is
indicated by the 'ulpa' bit of the Address Status
Register.
The Address Register is not cleared by 'swrst' or
hardware reset.

Bits A5-A1 of this register contain the primary address of the device (denoted AAAAA in Table 19).
IEEE-488 1975/78 does not allow a device to be assigned the value 11111 for bits A5-A 1. When 'swrst' is
true at power-up or if set by the host MPU, the
WD9914 is held in an idle state. During this time the
host MPU may load the primary address of the device

Auxiliary Command Register
cs
DO
f4-fO
cs

F2

F1

FO

05
04
01
02
03
Auxiliary command select (see Table 3)
Clear or set the feature (where applicable)

D6

07

xx

xx

F4

F3

345

Auxiliary commands are used to enable and disable
most of the selectable features of the WD9914 and to
initiate many of the actions of the device. The desired
feature is selected by writing a byte to this register
with the appropriate value in bits f4-fO. These values
are given in Table 3.

All the clear/set auxiliary commands are cleared by
the hardware RESET pin except 'swrst,' which is set
true by RESET.
The force group execute trigger (fget) and return to
local (rtl) auxiliary cornmands have a clear/set mode
of operation and a pulsed mode of operation. They
behave as normal clear/set features, but if they are
written with 'cs' = '0' when they have not been previously set, then they will pulse true. Using the 'fget'
command in this manner will produce a pulse of approximately 1 JAS at the TR pin (with a 5 MHz clock).
The 'rtl' command used in this way will cause a return
to one of the local states (assuming local lockout is
not in force) but the WD9914 may reenter the remote
state next time the listen address occurs.

The 'cs' bit is used in most cases when the feature
selected by f4-fO is of the clear/set type. The feature
is enabled if 'cs' = '1' and disabled if 'cs' = '0'. The
holdoff on all data (hdfa) feature is an example of
such a feature. Other auxiliary commands initiate an
action of the WD9914, such as release RFD holdoff
(rhdf). In most cases, the 'cs' bit is unused and ignored by these commands.
Table 3_

AUXILIARY COMMANDS

cis

f4

f3

f2

f1

fO

MNEMONIC

0/1
0/1
na

0
0
0

0
0
0

0
0
0

0
0
1

0
1

Software reset
Release DAC holdoff

0

swrst
dacr
rhdf

0/1

0

0

0

1

1

hdfa

Holdoff on all data

0/1

0

0
0

0
0

0
1

Holdoff on EOI only

0

1
1

hdfe

na
0/1

0
0

0
0
1

1

0
1

New byte available false
Force group execute trigger

1
0

1
1

nbaf
fget

0

rti
feoi

Return to local
Send EOI with next byte

1
1

0
0

0
1

0
1

Ion
ton

Listen only
Talk only

0
1

1
0
0

1
0
1

gts

Go to standby
Take control asynchronously
Take control synchronously

1
1

0
1
0
1

0/1
na
0/1
0/1

0
0
0

na
na
na

0
0
0

1
1
1

0/1
0/1

0
0
1

1
1

1
1
1

0

0

0

1

0

0

0

1
1

0
0

1
1

0

1

0

0
0
1

0

1

0
0

0
1

0/1
na
na
0/1
na
0/1
0/1

0/1
0/1

1
1
1

1

0

1
1

1

0

0
1
1
0

0

1

0
1
0

FEATURES

Release RFD hold off

tca
tcs
rpp
sic
sre

I

Request parallel poll
Send interface clear
Send remote enable
Request control

rqc
ric

Release control
Diable all interrupts

dai
pts
stdl
shdw
vstdl
rsv2

I

Pass through next secondary
ShortTI settling time
Shadow handshake
Very short T1 delay
Request Service Bit 2

tion should include writing the address of the device
into the Address Register, writing mask values into
the Interrupt Mask Registers and selecting the desired features in the Auxiliary Command Register and
Address Register. After this, 'swrst' may be cleared at
which point the device becomes logicaly existent on
the GPIB. The Serial Poll Register and Parallel Poll
Registers may also be written in this period but this

DESCRIPTION OF AUXILIARY COMMANDS
Software Reset (swrst) 0/1 xxOOOOO
Setting this command causes the WD9914 to be returned to a known idle state during which it will not
take part in any activity on the GPIB. This auxiliary
command is set by the power-on RESET and the chip
should be configured while 'swrst' is set. Configura-

346

is not necessary if there is no status to report as both
of these are cleared by the power-on RESET pin.
Table 4 lists the various states and other conditions
forced by 'swrst'.
Table 4_

Set New Byte Available False (nbaf)naxx001 01
If a talker is interrupted before the byte just stored in
the data out register is sent over the interface, this
byte will normally be transmitted as soon as the ATN
line returns to the false state. If, as a result of the interrupt, this byte is no longer required, its transmission may be suppressed using the 'nbat' command.

SOFTWARE RESET CONDITIONS

MNEMONIC
SIDS
AIDS

DESCRIPTION
Source idle state

Force Group Execute Trigger (fget)0/1 xx00110
The state of the TR output from the WD9914 is affected when this command is executed. If the CS bit
is zero, the line is pulsed high for approximately 5
clock cycles (1 !ls at 5 MHz). If CS is one, the TR line
goes high until 'fget' is sent with CS equal to zero. No
interrupts or handshakes are initiated.

TIDS

Acceptor idle state
Talker idle state

TPAS
LIDS
LPAS
NPRS

Talker primary idle state
Listener idle state
Listener primary state
Negative poll response state

LOCS
CIDS
SPIS

Local state
Controller idle state

PPSS

Parallel poll standby state

Return to Local (rtl)O/1 xx00111
Provided the local lockout (LLO) has ~en enabled, the remote/local status bit is reset, and an interrupt is generated (if enabled to inform the host
microprocessor that it should respond to the front
panel controls. If the CS bit is set to one the 'rtl' command must be cleared (CS = 0) before the device is
able to return to remote control. If CS is set to zero,
the device may return to remote without first clearing
'rtl'.

Serial poll idle state

ADHS

DAC holdoff state

AEHS
SHFS

RFD holdoff on end state
Source holdoff state

EN IS

END idle state

Force End or Identify (feoQnaxx01 000
This command causes the EOI message to be sent
with the next data byte. The EOlline is then reset.

NOTES: 1. See State Diagram Implementation for definition of above.
2. All interrupt status bits are held in a 0 state,
but interrupt mask bits are not affected.

Listen Only (lon)O/1 xx01 001
The listener state is activated until the command is
sent with CS set to 0 or until deactivated by a bus
command.

Release DAC Holdoff (dacr)O/1xx00001
The Data Accepted (DAC) holdoff allows time for the
host microprocessor to respond to unrecognized
commands, secondary addresses, and device trigger
or device clear commands. The holdoff is released by
the MPU when the required action has been taken.
Normally the command is loaded with the clear/set
bit at zero; however, when used with the address pass
through feature CS is set to one if the secondary address was valid or to zero if invalid see APT interrupt.

Talk Only (ton)O/1 xx01 01 0
The talker state is activated until the command is
sent with CS set to 0 or until deactivated by a bus
command.
NOTE:
'ton' and 'Ion' are included for use in systems without
a controller. However, where the WD9914 is being
used as a controller, it utilizes the 'Ion' and 'ton' functions to set itself up as a Iistener or talker, respectively. Care must therefore be taken to ensure these
functions are reset if sending UN L or OTA.

Release RFD Holdoff (rhdf)naxx00010
Any Ready For Data (RFD) holdoff caused by a 'hdfa'
or'hdfe' is released.

Go to Standby (gts)naxx01011

Holdoff on All Data (hdfa)O/1 xx00011
A Ready For Data (RFD) holdoff is caused on every
data byte until the command is loaded with CS set to
zero. The handshake must be completed after each
byte has been received by the MPU using the 'rhdf'
command.

Issued by the controller in charge to set the ATN line
false.
Take Control Synchronously (tcs)naxx011 01
Control is again taken by the controller in charge, and
ATN is asserted. If the controller is not a true listener,
the shadow handshake command must be used to
monitor the handshake lines so that the WD9914 is
synchronous with the talkerllisteners and only sends
ATN true at the end of byte transfer. This ensures that
no data is lost or corrupted.

Holdoff on End (hdfe)O/1xx00100
A RFD holdoff will occur when an end of data string
message (EOI tru with ATN false) is received over the
interface. This holdoff must be released using 'rhdt'.

347

via the Command Pass Through Register. This would
be the parallel poll enable (PPE), which is read by the
microprocessor.

Request Parallel Poll (rpp)0/1xx01110
This is executed by the controller in charge to send
the parallel poll command over the interface (the
WD9914 must be in the Controller Active State so
that the Attention line is asserted). The poll is completed by reading the Command Pass Through Register to obtain the status bits, then sending 'rpp' with
the CS bit at zero.

SetT1 Delay(std1)1xx10101
The T1 delay time can be set to 6 clock cycles (1.2 lAS
at 5 MHz) if this command is sent with the CS bit at
one. The TI delay time is 11 clock cycles (2.2 lAS at 5
MHz) following a power-on reset or if the command is
sent with CS set to zero.

Take Control Asynchronously (tca)naxx011 00
This command is used by the controller in charge to
set the attention line true and to gain control of the
interface. The command is executed immediately
and data corruption or loss may occur if a talkerl
listener is in the process of transferring a data byte.

Shadow Handshake (shdw)0/1 xx1 0110
This feature enables the controller in charge to carry
out the listener handshake without participating in a
data transfer. The Data Accepted line (DAC) is pulled
true a maximum of 3 clock cycles after Data Valid
(DAV) is received, and Not Ready For Data (NRFD) is
allowed to go false as soon as DAV is removed.
The shadow handshake function allows the 'tcs'
command to be synchronized with the Acceptor Not
Ready State (ANRS) so that ATN can be re-asserted
without causing the loss or corruption of data byte.
The END interrupt can also be received and causes a
RFD holdoff to be generated.

Send Interface clear (sic)0/1 xx01111
The IFC line is set true when this command is sent
with CS set to one. This must only be sent by the system controller and should be reset (CS = 0) after the
IEEE minimum time for IFC has elapsed (100 lAs). The
system controller is put into the controller active
state.
Send Remote Enable (sre)0/1 xx1 0000
Issued by the system controller to set the REN line
true and send the remote enable message over the interface, REN is set false by sending 'sre' with CS at
zero.

Very Short T1 Delay (vstd1)0/1 xx1 0111
If this feature is enabled, the GPIB settling time (T1)
will be reduced to 3 clock cycles (600 ns at 5 MHz) on
the second and subsequent data bytes when ATN is
false. Otherwise, the GPIB settling time is determined by the std1 feature.

Request Control (rqc)naxx10001
When the TCT command has been recognized via the
unidentified command pass through, this command
is sent by the MPU. The WD9914 waits for the ATN
line to go false and then enters the controller active
state (CACS).

Request Service Bit 2 (rsv2)0/1 xx11 000
The rsv2 bit performs the same function as the rsv1
bit but provides a means of requesting service which
is independent of the Serial Poll Register.
This allows minor updates to be made to the Serial
Poll Register without affecting the state of the request service.
In addition, rsv2 is cleared when the serial poll status
byte is sent to the controller during a serial poll. It is
therefore used in situations where a service request
is simply a request from an instrument for the controller to poll its status. As soon as this happens, rsv2
is cleared since the reason for requesting service has
been satisfied. This eliminates the burden of clearing
the bit from the host MPU but also guarantees that
rsv2 is cleared before another serial poll can occur. If
this were not so, there would be a possibility of a
second status byte being sent with the RQS message true, which could result in confusion for the
controller. (rsv2 is cleared on: SPAS.(APRS1 +
APRS2).STRS).

Release Control (ric)naxx10010
This command is used after TCT has been sent and
handshake completed to release the ATN line and
pass control to another device.
Disable All Interrupts (dai)O/1 xx1 0011
The INT line is disabled, but the interrupt registers
and any holdoffs selected are not affected.
Pass Through Next Secondary (pts)naxx1 01 00
This feature may be used to carry out a remote configuration of a parallel poll. The parallel poll configure
command (PPC) is passed through the WD9914 as an
unrecognized addressed command and is identified
by the MPU. The Opts' command is loaded, and the
next byte received by the WD9914 is passed through

348

Bus Status Register
ATN

OAV

NRFO

NOAC

EOI

03
04
01
DO
02
The host MPU may examine the status of the GPIB
management lines at the time of reading.

SRO

IFC

REN

07
MPUBUS
05
06
The IFC bit of this register does not indicate a true
value if the device is a system controller using the
'sic' auxiliary command.

Serial Poll Register
S8

rsv1

S6

S5

S4

S3

S2

S1

0108

0107

0106

0105

0104

0103

0102

0101

DO

01

02

03

04

05

06

07

GPIB
MPUBUS

GPIB, and the controller typically responds by setting
up a serial poll to obtain the status of all instruments
on the bus that may require service. When the
W09914 is addressed to send its status byte, SRO is
set false, and the status byte is sent with the ROS
message true on 0107. The rsv1 bit must then be
cleared and set true again if service is to be requested a second time. The SPAS interrupt is set immediately following the status byte being sent.

S8, S6-S0 Device status
rsv1
Request service bit 1
Bits S8, S6-S1 of this register are sent out over the
GPIB when the device is addressed during a serial
poll. They are cleared by a hardware reset but not by
'swrst' and may therefore be set up during configuration of the chip. These bits are fully double buffered
and if the register is written to while the device is
addressed during a serial poll (serial poll active state,
SPAS), the value written is saved, and these bits are
updated when SPAS is terminated.
The rsv1 bit provides an input to the service request
function of the W09914 and is used to instruct this to
request that the controller service the device. When
rsv1 is set true, the SRO line is pulled true on the

The rev1 bit is also cleared by the hardware reset pin
but not by 'swrst'. It is not double-buffered but the
service request function comprehends changes in
the state of rsv1 while the device is in SPAS. The
Serial Poll Register may therefore be written to any
time.

Command Pass Through Register
,

0108

DO

,

0107
01

,

0106
02

,

0105
03

,

0104

0103

0102

0101

04

05

06

07

This provides a means of directly inspecting the
GPIB data lines (010(8-1)). It has no storage and
should only be used when the data lines are known
to be in a steady state such as will occur during a
OAC holdoff or in CPWS during a parallel poll. It is
used to read unrecognized commands and secondar-

GPIB
MPUBUS

ies following a UNC interrupt or to read secondary
addresses following an APT interrupt. In addition, an
active controller uses this register to read the results
of a parallel poll at least 21ls after setting the 'rpp'
auxiliary command.

Parallel Poll Register
PP8

PP7

PP6

PP5

PP4

PP3

PP2

PP1

0108

0107

0106

0105

0104

0103

0102

0101

DO
01
02
03
04
When a controller initiates a parallel poll, the contents of this register are presented to the GPIB data
lines. If all bits of the register are cleared, then none
of the lines 010(8-1) will be pulled low during a parallel poll which corresponds to the Parallel Poll Idle
State (PPIS) of IEEE-488. If it is desired to participate
in a parallel poll, then the bit corresponding to the
desired parallel poll response is set to a 1.

GPIB

05
06
07
MPU BUS
held until the parallel poll ends, at which point the
register is updated. This permits the host MPU to update the parallel poll response completely asynchronously to the GPIB.
If this register is cleared by the hardware RESET pin
but not by 'swrst,' it may be loaded while the chip is
being configured with 'swrst' set.

The Parallel Poll Register is fully double buffered. If it
is written to during a parallel poll, the new value is

349

Data In Register

I

DI08

I

DI07

DI06

DI05

DI04

DO
D1
D2
D3
D4
This register is used to hold data received by the
WD9914 when it is a listener. It is loaded during Ac·
cept Data State (ACDS1) and, following this, an RFD
holdoff will occur. This will normally be released
when the byte is read by the host MPU, but if the
Holdoff On All Data (hdfa) feature is selected, this
holdoff must be released by the 'rhdf' auxiliary
command.

DI03

DI02

DI01

GPIB

D5
D7
MPU BUS
D6
If the Holdoff On End (hdfe) feature is selected, the
RFD holdoff will be released by reading the Data In
Register. But if the EOlline is true when the byte is reo
ceived, reading the data byte will not release the
holdoff and rhdf must be used.
As the Data In Register is loaded, the BI interrupt is
set. The END interrupt is set simultaneously if the
byte is accompanied by a true EOlline.

Data Out Register

I

DI08

I

DI07

DI06

DI05

DI04

DO
D1
D2
D3
D4
The Data Out register is used by a controller or talker
for sending interface messages and device depen·
dent messages. When the WD9914 enters the Talker
Active State (TACS) or the Controller Active State
(CACS), the contents of the Data Out Register are
presented to the GPIB data lines (DI0(8·1)), and the
byte is sent over the bus under the control of the
Source Handshake. Each time a byte is written, the
source handshake is enabled, and the byte is sent. If
the handshake is interrupted before the byte can be
sent, then it will be sent next time the Source Hand·
shake becomes active unless a new byte available
false (nbat) auxiliary command is written. This has
the effect of clearing an unsent byte from the Data
Out Register, and although the register itself is not
cleared the WD9914 behaves as if it had not been
loaded.

DI03
D5

DI02

DI01

D6

D7

GPIB
MPU BUS

NOTE:
The sense of DBIN is inverted for DMA operation.
At the end of a DMA read from memory sequence,
the ACCRO will be left low (also BO bit set). It may be
necessary for the 'mpu' to clear this in some circum·
stances, e.g., starting DMA write to memory
sequence.
In DMA it is recommended that the MA interrupt be
unmasked to prevent errors due to interrupted data
streams.
if DMA is not being utilized, the ACCGR signal must
be held high. In this case, the ACCRO signal can be
used as a separate interrupt line for BO and BI. This
allows faster 'mpu' transfers to take place as it is not
necessary to read the interrupt register to find the
cause of the interrupt. Figure 2 shows a typical DMA
configuration.

Each time the source handshake becomes active and
there is no unsent byte in the Data Out Register, a BO
interrupt will occur informing the host MPU that the
Data Out Register is available for use.
The Data In Register and Data Out Register operate
independently. The Data Out Register is not double
buffered, and its contents are output directly to the
data lines of the GPIB.

TERMINAL ASSIGNMENTS AND FUNCTIONS

The IEEE·488 standard uses the negative logic convention for the GPIB lines. The FALSE state (0) is represented by a high voltage (>2.0 V); the TRUE state (1) is
represented by a low voltage «0.8 V). The GPIB termi·
nations of the WD9914 are in agreement with this con·
vention. For example, if Data Valid is true (1), the DAV
line is pulled low by the device. These terminations are
connected to the bus via noninverting buffers to obtain
the correct signal polarity.

DIRECT MEMORY ACCESS
The WD9914 can operate in DMA using the ACCRO
(DMA request) and ACCGR (DMA grant) DMA hand·
shake lines. The operation is automatic within the
WD9914 and needs no 'mpu' configuration.
The ACCRO signal is set by (BO.CACS + BI) and can
therefore not be used by a controller while ATN is
asserted. It is reset by 'swrst' readin data in register,
writing to the data out register and ACCGR. It is not
cleared by reading interrupt status registerO.

Note that the terminations on the microprocessor
side of the device are in positive logiC (true state (1)
= high voltage: false state (0) = low voltage). This is
in agreement with the logic convention used by most
microprocessors. Thus if:
DO(MSB)

D7(LSB)

o

o \ 1
is written into the data out register, it will appear as:

If using DMA, the internal CE and addressing is dis·
abled by the ACCGR signal going low and ACCGR
will automatically address either the data in register
(DBIN
0) or the data out register (DBIN
1).

=

I

DI08(MSB)

=

\

DI01(LSB)

\ HIGHjLOwILOWIHIGH\LOW\HIGH\HIGHILOW \
on the IEE·488 D10 lines.

350

=E

ACCRQ

c
(0

DMA CONTROL LOGIC

~
.tao

ACCGR

CE
.-1.

DBIN

~

WE

':::.

WE

A
MPU

1\

'I

r-r/

B
U
S

A

~
ADDRESS
DECODE

IY

I---

,;

RS2

0

IEEE
STD 488
INTERFACE
BUS

~

V

1\
RS1

B
U
F
F
E
R
S

r

A

00-07

CE

r--

J

\

j

CONT

I~

~

GPIB
DATA
DI01-DI08

TE

SEMICONDUCTOR
MEMORY

DATA BUS

1\

I

V
WD9914

~~

to.

iI

DBIN

A
D
D
R
E
S
S

GPIB
MANAGEMENT /

RSO

\

B
U
F
F
E
R
S

W

ADDRESS
SWITCHES
ENABLE

I

Figure 2.

DMA CONFIGURATION

TRANSCEIVER CONNECTIONS
There are three linear transceivers designed to work
with the WD9914: The SN75160, SN75161, and
SN75162. Data sheets for these are included as Appendix C. Figure 3 shows the possible transceiver
connections. Note that there is a corresponding pin·
out between the WD9914 and the transceivers. This
allows the whole GPIB interface to be laid out in a
very small area of printed circuit board.
The SN75160 is a 20 pin device used to buffer the
IEEE·488 data lines (DI0(8-1)) in all applications. The
direction of the buffers is controlled by the Talk En·
able (TE) output of WD9914. This active high signal
becomes true whenever there is an interface function
of the WD9914 not sending the NUL message on
DI0(8-1), that is, when the device is in TACS, CACS,
SPAS, or PPAS_ The Pull-Up Enable (PE) input of the
SN75160 is an active high input which selects whether the 'DI0(8·1), lines are driven by open collector or
push/pull buffers. A push/pull buffer is required if
faster data rates are required and the 'stdl' and/or the

'vstdl' features are used. Open collectors must be
used if parallel polling is being used in a particular
GPIB environment. If only one of these features is desired the PE input may be hardwired otherwise it
must be derived from ATN and EIO, as shown in
Figure 3.
The SN75161 is a 20-pin device used to buffer the
IEEE·488 management lines. It may be used for a
talkerllistener device or for a controller which does
not pass control. The direction of the handshake line
buffers NRFD, NDAC, DAV are again controlled by
the TE signal. However, the SRQ, ATN, REN, and IFC
buffers are controlled by the DC input of the
SN75161, which connects to the Controller Active
(CONl) output of the WD9914. CONT becomes low
whenever the WD9914 is an active controller, that is,
when it is not in CIDS or CADS. The SN75161 also includes the logic necessary to control the direction of
the EOI buffer. This is dependent on the TE signal
when ATN is false (high) and the DC signal when ATN
is true (low).

351

L
I

WE

DBIN

I

cations including devices which pass control. The
SN75162 has a separate pin to control the direction

The SN75162 is a 22-pin device which may be used to
buffer the IEEE-488 management lines in all appliVCCr

1/4 SN74LS32

HIGH SPEEO
PARALLE

L P 0 ' 1 'L ___

b

~

PE

GNO

--

EJ~ ffi
~:~~IIII~

1

------

-----

ACCRO
ACCGR

CE
WE
OBIN
RSO
RSl
RS2
INT
07
WD9914
06
05
04
03
02
01
00
0
RESET
VSS

0101
0102
0103
0104
0105
0106
0107
0108
VCC

rl

0103
0104
0105
0106
0107
0108
CONT

-

~

0101
0102
0103
0104
0105
0106
0107
0108
TE I-1

~

SRO
ATN
EOI
OAV
NRFO
NOAC

SN75161
10
GNOiSRO
SRO
ATN
ATN
EOI
EOI
OAV
NRFO
NOAC
NOAC
IFC
IFC
REN
REN
TE I---i
VCC
20
1

~ oc

~~~~
r-TE

I

I1

21

20

SN75160
GNO

~~~o

VCC

..

HIGHSPEEI
PARALLEL

1/4 SN74LS32

POL~ i..

GNO

-

-

-

~

1

----------

-20

VCC-

ACCRO
ACCGR

CE
WE
OBIN
RSO
RSl
RS2
INT
07
06
05
04
03
02
01
00
0
RESET
VSS

WD9914

1

<-J-TR0101
01020103
0104
0105
0106
0107
0108

SN75160
10
GNO0101
0102
0103
0104
0105
0106
0107
0108
TE
- VCC
20
1
PE
0101

jlllr~!i~
~"~
1

C~~6

~

ATN
EOI
OAV
NRFO
NMC
IFC
REN
TE -

-

I1

SN75162
11
GNO ISRO
ATN
ATN
OC

~SRO

~

I

w

21

-22

OAV
NRFO
NOAC
IFC
REN
NC

VCC

VCCT

SYSTEM
CONTROLLER

NON·SYSTEM
CONTROLLER
GNO

1

~

Figure 3.

TRANSCEIVER CONNECTIONS

352

w

OAV
NRFO
NOAC
IFC
REN
TE

,......

sc I-1

of the REN and IFC buffers, but is otherwise identical
to the SN75161 in all other respects. This input is the
System Controller input (SC) which may be hardwired
or switchable to determine whether or not the instrument in question is a system controller or not. Note
that a device which has its buffers configured as a
non-system controller should never use the 'sic' and
'sre' auxiliary commands.

with its recommended transceivers meets aIiIEE-488
maximum timing requirements. If the WD9914 is
used with other transceivers, then it must be ensured
that these requirements are still met.
AUXILIARY COMMANDS
There are two basic types of commands
implemented in the auxiliary command regiater. immediate execute and clear/set.
The clear/set commands are used to enable and
disable the various features of the WD9914. The particular feature is selected by the code on fO-f4 and it is
set or cleared according to the value on the cs bit.
For the purposes of the state diagrams, the mnemonic of a clear/set command simply represents its
current state.

STATE DIAGRAM IMPLEMENTATION
This section presents the state diagrams for the
WD9914.
Where equivalent, the names of WD9914 states are
the same as those of IEEE-488. In some cases,
IEEE-488 states have been divided, for example,
ACDS of the IEEE-488 has been split into ACDS1 and
ACDS2. The convention of lower case characters for
local messages and upper case for remote messages
and interface states is retained.
State diagrams with remote message outputs are
supplemented with tables. T is used to represent a
true output and F a false output. Parentheses denote
a passive output; otherwise, it is active. The outputs
shown are the values presented to the bus and assume the use of the SN75160 and SN75161 or
SN75162 transceivers or their logical equivalents.
The symbol (NUL) associated with DIO(1-8) indicates
that each of these lines is sent passive false by the
function in question.

The immediate execute auxiliary commands remain
active for the duration of a strobe signal after the
auxiliary command register has been written to. This
is represented in the form of a state diagram in
Figure 5. Note that writes to the auxiliary command
register must be spaced by at least five clock cycles.
For the purposes of the remaining state diagrams,
the immediate execute commands are represented
as the mnemonic gated by the auxiliary command
strobe state (AXSS).
The clear/set bit of the auxiliary command register is
used by several of the immediate execute commands, for example, 'dacr' uses it to differentiate between valid and not valid secondary addresses when
releasing a DAC holdoff on a secondary address. The
'Ion' and 'ton' auxiliary commands are also
considered immediate execute.
The 'fget' and 'rtl' auxiliary commands are both immediate execute and clear/set. They may be cleared
or set in the normal way, but if they are cleared when
they are already in the false state, they will pulse true
for the duration ofAXSS. In the following state diagrams, however, these are simply included in their
clear/set form.

NOTE:
An arrow into a state with no state as its origin
represents a transition from every other state on the
diagram. Note, however, that this does not imply that
all exit conditions from the destination state are overridden. If such an entry condition is true and,
simultaneously, an exit condition is true then this represents an illegal situation and should be avoided.
Such situations will not occur in normal operation of
the device.
No maximum timings are discussed. The WD9914

waux

waux
RST

Figure 4.

WD9914 AUXILIARY COMMAND STATE DIAGRAM

353

i

Table 5.

:ec
CD
CD

......

.bo

AUXILIARY COMMAND STATE DIAGRAM MNEMONICS
MESSAGES

waux
tc(O)

STATES

write to auxiliary command register

=

AXIS
AXWS
AXSS

clock cycle time

auxiliary command register idle state

=
=

auxiliary command write state
auxiliary command strobe state

ACDS1 and, if the interrupts are unmasked, a DAC
holdoff will occur. The interrupts concerned are GET,
MA, DCAS, UCG, and APT. This is represented in the
state diagram by the signal SAHF which becomes
true when one of the above interrupts is set if it is un·
masked. It persists for the duration of ACDS1. This
event is stored by causing the ADHS to become ac·
tive which inhibits the transition from ACDS2 to
AWNS. ADHS is cleared by 'dacr.' Table 19 shows the
response of the WD9914 to the various bus
commands.

ACCEPTOR HANDSHAKE
The WD9914 acceptor handshake is shown in Figure
5. The main variation from IEEE·488 to note is that the
device remains in AIDS while the controller function
is in CACS. The WD9914, therefore, does not monitor
the commands which it sends over the bus and this
places some restrictions on the user.
The accept data state of IEEE·488 (ACDS) is divided
into two states. The first, (ACDS1) is used to strobe
data into the Data In Register or to sequence the de·
coding of commands from the bus. All interrupts gen·
erated by the acceptor handshake (GET, MA, MAC,
DCAS, APT, UCG, BI, and END) are generated by this
state. The second (ACDS2) is used as a holding state
where the device will remain in the event of a DAC
holdoff.

If a GET command is received in ACDS1, then the TR
pin will be set high. This high condition persists
throughout ACDS1 and ACDS2, which means that if a
DAC hold off occurs, the TR pin will remain high until
the holdoff is released by a 'dacr' auxiliary command.
Two additional state diagrams are included to record

Certain of the commands will cause interrupts in

swrst.(ATN.(CIDS + CADS)
+ ATN.(LADS x LACS)

CwAs.DAV.
+ ANHS.AEHS.
rdin.rhdf.AXSS)

~

swrst + (ATN.CIDS.CADS)
(ATN.LADS.LACS)

daer.AXSS

'".'--E[B

DAV
te(O)

SWrSI.SAHF.ACDS1

(rhdf.AXSS) + shdw + (rdin.hdfa)

swrst

ATN.5t e(0) +
ATN.te(O)

swrst.ATN.ACDS1.Sfidw

rhdf.AXSS

Qb

swrst~

swrst.A TN.ACDS 1. hdfe.EOI

Figure 5.

WD9914 ACCEPTOR HANDSHAKE STATE DIAGRAM

354

the type of data received in ACDS1 when ATN is
false. ANHS indicates that a data byte has been received and that an RFD holdoff should be caused
before the next data byte is accepted. The holdoff
may be released by reading the Data In Register
Table 6.

unless the 'hdfa' feature is enabled in which case
'rhdf' must be used. AEHS shows that the last data
byte was accepted with the EOI message true and
the 'hdfe' feature set. This will cause an RFD holdoff
which can only be released by 'rhdf.'

ACCEPTOR HANDSHAKE MNEMONICS
STATES

MESSAGES

=
=
=
=
=
=

swrst
dacr
rhdf
shdw
rdin
hdfe

software reset
DAC release
release RFD holdoff

AIDS
ANRS
ACRS

shadow handshake
read data in register

ACDS1
ACDS2

enable RFD holdoff after EN 0 messages
received
enable RFD holdoff on all data

AWNS
ADHS

=
=
=
=
=

acceptor idle state
acceptor not ready state
acceptor ready state

acceptor wait for new cycle state
accept data holdoff state

data valid

ANHS
AEHS

end or identify state

CWAS

=
=
=
=
=

accept data state 1
accept data state 2

EOI

=
=
=
=

RFD

=

ready for data

AXSS

=

DAC

=

data accepted

LADS

=

listener addressed state (listener function)

SAHF

=
=

set accept data holdoff state
clock cycle time

LACS
CIDS

=
=

CADS

=

listener active state (listener function)
controller idle state (controller function)
controller addressed state (controller
function)

hdfa
ATN
DAV

tc(O)

Table 7.

attention

acceptor not ready holdoff state
acceptor not ready holdoff after 'END'
controller wait for ANRS state (controller function)
auxiliary command strobe state (auxiliary command register)

ACCEPTOR HANDSHAKE MESSAGE OUTPUTS
REMOTE MESSAGES SENT

STATE

RFD

DAC

AIDS

(l)
F
(l)
F

(l)

ANRS
ACRS
ACDS1

OTHER ACTIONS

F
F
F

ACDS2

F

F

AWNS

F

(l)

ATN False:

-

ATN true:

-

TR

-

355

data entered into Data In Register
BI interrupt generated
end interrupt generated if EOI is true.

commands decoded
command related interrupts set
sahf set if command requires a DAC
holdoff
- TR pin set true if GET message is
received
- 'pts' feature cleared after UNC interrupt set
pin set true if GET command was
received in ACDS1

not dependent on SHFS during a serial poll, that is,
while SPAS is active. By separately recording the
availability of a byte in the Data Out Register, a talker
sending data may be interrupted for a serial poll without risk of a byte being lost.

SOURCE HANDSHAKE
The WD9914 source handshake state diagram is
shown in Figure 6. IEEE-488 states SIWS and SWNS
have been removed. These record the false then true
transition of 'nba' (new byte available) as the old data
byte is removed and a new data byte is made ready.
Instead the WD9914 uses a separate state (SHFS) to
record the availability of a data byte in the Data Out
Register. This state is exited when a byte is written to
the Data Out Register which enables the transition
from SGNS to SDYS and the subsequent transmission of the byte. The SHFS is reentered as the byte is
sent in STRS, but if the handshake is interrupted
before this, then the fact that the byte has not been
sent is recorded until the source handshake again becomes active. If, however, the byte in the data out register is to be disregarded, then 'nbaf' may be used to
return the device to SHFS.
The status byte in the Serial Poll Register is contino
ually available. The transition from SGNS to SDYS is

The additional state SERS is included to detect an
error condition on the bus. This will be entered when
the source handshake tries to send a byte but finds
both the NRFD and NDAG lines false at the same
time. This condition will normally indicate for a controller that there are no devices powered up on the
bus, or for a talker that there are no devices
addressed to listen on the bus.
The state VSTS will be entered after the first data
byte of a talker has been sent if the 'vstdl' feature is
enabled. This enables a very short bus settling time
(4tc(O)) for all subsequent bytes until ATN next becomes true. The WD9914 will not use the short bus
settling time when it is an active controller.

RFD.DAC.
(12t c(0) + std
8t c(0) + VSTS.
4t c(0)

(ATN.CACS) + (ATN.(TACS +
SPAS)) + swrst

5wrst.wdot

~

swrst

DAC

nbaf.AXSS + STRS.SPAS
ATN.vstd1.STRS

e:=B
ATN.vstd1

Figure 6.
Table 8.

WD9914 SOURCE HANDSHAKE STATE DIAGRAM

SOURCE HANDSHAKE MNEMONICS
MESSAGES

swrst
nbaf

=
=

STATES

software reset
new byte available false

SIDS
SGNS

wdot

--

write to the data out register

SDYS

stdl
vstdl
ATN
RFD
DAG

=
=
=
=
=
=

enable short bus settling time
enable very short bus settling time
attention
ready for data

SERS

data accepted
clock cycle time

TAGS

tc(O)

STRS
SHFS
VSTS

source idle state

=
=
=
=
=
=

356

source error state
source transfer state
source holdoff state
very short bus settling time state
talker active state (talker function)
controller active state (controller
function)
serial poll active state (talker function)

GAGS
SPAS
AXSS

source generate state
source delay state

=

auxiliary command strobe state (auxiliary command registe~

Table 9.

SOURCE HANDSHAKE MESSAGE OUTPUTS

STATE

REMOTE MESSAGES SENT
DAV

SIDS
SGNS

(F)
F

SDYS
SERS
STRS

F
F
T

OTHER ACTIONS
BO interrupt and ACCRa set
true if SHFS is false and
SPAS is not true
ERR interrupt set true

TALKER AND LISTENER FUNCTIONS
Figures 7 and 8 show the WD9914 listener and talker
state diagrams, which serve the purpose of the listener and talker or extended listener and extended
talker functions of IEEE-488, depending on the state
of the APT interrupt mask bit.
The WD9914 does not recognize secondary addresses on-chip and these must be passed through
to the host MPU for verification. Secondary addressing is enabled by unmasking the APT interrupt.
A secondary address will cause this interrupt if the
last primary command received was a primary ad·
dress of the device, that is, it is in TPAS or LPAS. A
DAC holdoff will also occur. The host MPU must
respond to the interrupt by reading the secondary
from the Command Pass Through Register and iden·
tifying it as being valid or not valid. The holdoff may
then be released with a 'dacr' auxiliary command, the
sense of the 'es' bit being used to indicate a valid
(cs = 1) or not valid (cs = 0) secondary. If a valid
secondary address is indicated then the WD9914 will
enter TADS or LADS depending on whether it is in
TPAS or LPAS.
The 'Ion' and 'ton' auxiliary commands together with

the clear/set bit (cs) have a direct influence on the appropriate state diagrams. Therefore, although they
appear as ordinary clear/set auxiliary commands,
they can be effectively cleared by other bus events.
For example, if a WD9914 addresses itself as a listener via the 'Ion' command it may be returned to LIDS
by an UNL command from the bus at a later time.
The 'Ion' and 'ton' auxiliary commands are used to
implement two features of IEEE·488. First, talk only
and listen only are used in situations where there is
no active controller on the bus. Note that the 'Ion'
and 'ton' commands are linked with these features to
indicate to the user that these commands are not
enabled by CAS as are 'Itn' and 'Iun' of IEEE·488.
Second, the 'Ion' and 'ton' auxiliary commands are
used by an active controller to address itself. IEEE·
488 provides for a controller to address itself to listen
via the 'Itn' and 'Iun' message but there is no corres·
ponding message for the talker. Hence, when a con·
troller addresses itself to talk via 'ton,' it must send
its talk address over the bus and similarly, if it sends
another talk address over the bus then it must un·
address itself by writing 'ton' false.

LAF

swrst + dal + sic + IFelN +
10n.cs.AXSS

TAF + UNl.ACDS1

MLA.ACDS1

LAF

swrst

PCG.MLA.ACDS1

Figure 7.

= daI.lFCIN.

sic.(MLA.aptmk.
ACDS1 + LPAS.aptmk.
dacr.cs.AXSS + Ion.
cs.AXSS)

WD9914 LISTENER STATE DIAGRAM

357

A separate state diagram is included to control the
sending of the END message of IEEE-488. If the 'feoi'
auxiliary command is written followed by loading a
byte into the Data Out Register, the WD9914 will
enter ERAS, and the EOI line will be asserted as
'010(8-1)' begin to change. The function will enter
ENAS as soon as the source handshake begins to
send this byte, and EOI will be released when the
Data Out Register is next loaded. If it is desired to
send EOI true with the next byte as well, then 'feoi'
may be written before the Data Out Register returns
the device to ERAS.

When the WD9914 enters SPAS, the contents of the
serial poll register are sampled and presented on
010(8-1). These will remain unchanged until SPAS is
exited. The source handshake will, however, send
this status byte as many times as the controller will
accept it.
The intemallFC signal of the WD9914 (IFCIN) is suppressed when the device itself is sending IFC in
order to simplify implementation of the controller
function. Therefore, the send interface clear (SiC)
auxiliary command is included with IFCIN to return
the talker and listener functions to their idle states
and allow a system controller to clear its own
Interface.

ATN.SPMS

TAF

swrst + dat + sic +
ton.cs.AXSS +
IFCIN

ATN

(TPAS.aptmk.dacr.
cs.AXISS) + LAF +
OTA.ACDSI

MTA.ACDSI

ATN.SPMS

PCG.MTA.ACDSI

swrst

TAF

= dat.sic.IFCIN.(MTA.aptmk.ACDSl +
TPAS.aptmk.dacr.cs.AXSS + ton.CS.
AXSS)

=::e

IFCIN.SPE.ACDSI

r::r:-

LAF: See Figure 7.

~~+CIDS+CADS
IFCIN+
swrst

feoLAXSS

SDYS.S"PMS
swrst+
nbaf.AXSS
wdot

wdot
feoi.AXSS

SDYS.SPMS

Figure 8.

WD9914 TALKER STATE DIAGRAM

358

Table 10.

TALKER AND LISTENER MNEMONICS
STATES

MESSAGES
swrst
dal
dat
sic
Ion
ton
cs
dacr
aptmk
nbaf
feoi
wdot
ATN
IFCIN
EOI
PCG

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

TIDS

=
=
=
=
=
=

talker idle state

clear/set bit of the auxiliary command
register

TADS

=

talker addressed state

release 'DAC' holdoff

TACS

=

talker active state

address pass through interrupt mask

SPAS

=
=

serial poll active state

=
=
=

serial poll mode state

software reset

LIDS

disable listener

LADS

disable talker

LACS

send interface clear

LPIS

listen only

LPAS

talk only

new byte available false

SPIS

force 'EOI'

SPMS

write to the Data Out Register

TPIS

attention

TPAS

internal interface clear message (a
debounced signal, suppressed by 'sic')

ENIS

end or identify

ENRS
ERAS

primary command group

=
=
=
=
=
=
=

listener idle state
listener addressed state
listener active state
listener primary idle state
listener primary addressed state

serial poll idle state
talker primary idle state
talker primary addressed state
end idle state
end ready state
end ready and active state

my listen address

ENAS

my talk address

SDYS

other talk address

SPE

=
=

serial poll enable

CIDS
CADS

SPD

=

serial poll disable

ACDS1

=

accept data state 1 (acceptor hand·
shake)

UNL

=

unlisten

AXSS

=

auxiliary command strobe state (auxili·
ary command registe~

PCG

=

primary command group

MLA
MTA
OTA

Table 11.

end active state
source delay state (source handshake)
controller idle state (controller function)
controller addressed state (controller
function)

TALKER FUNCTION MESSAGE OUTPUTS
REMOTE MESSAGES SENT

STATE

QUALIFIER

TIDS

EOI

(F)

(F)
(F)

(NUL)

F

DATA OUT REG

TACS

ENIS.ENRS

TACS

ENAS.ERAS

(F)
(F)
(F)

SPAS

NPRS.SRQS

SPAS

APRS1.APRS2

TADS

OTHER ACTIONS
010(8·1)

RQS

(NUL)

T

DATA OUT REG

F

F

SERIAL POLL REG

T

F

SERIAL POLL REG

SERVICE REQUEST FUNCTION

Register, the second is the auxiliary command 'rsv2.'
These are simply ORed together to provide an input
to the service request function, and, in any particular
application, only one would normally be used, the
other being left in its hardware reset state.

Figure 9 shows the state diagram for the WD9914 ser·
vice request function. The device has two means of
implementing the request service (rsv) local message
of IEEE·488: the first, 'rsv1,' is bit 7 of the Serial Poll

359

The affirmative poll response state (APRS) of
IEEE-488 is split into two states on the WD9914 for
the following reason: Consider the case where a device has requested service, has been serial polled,
and then wishes to request service again. The host
MPU must clear the 'rsv' message and then set it true
again. Now suppose this temporary false condition
happens within one occurrence of SPAS. If the service request function has been implemented exactly
as per IEEE-488, it will not be recognized, and SRQ
will not be asserted a second time. Therefore, 'rsv'
may only be cleared when the device is known not to
be in SPAS, which can only happen if it is cleared as
a consequence of some pre-arranged action of the
controller. This action would normally be a part of the
service routine executed by the controller as a response to the request for service. For example, if service was requested by an instrument which had
some data to send for processing or to a printing device then 'rsv' could be cleared when it is addressed
to talk and send its data over the bus.
swrst.(rsv1

For many applications, the fact that the device has
been serial polled after requesting service is considered sufficient response from the controller. The
'rsv' local message therefore simply becomes a request for the controller to read its serial poll status
byte. It is then desirable to be able to clear and reassert 'rsv' at any time after the serial poll status byte
has been polled and the SPAS interrupt set. The
WD9914 is able to record a false transition of 'rsv1' or
'rsv2' by moving from APRS1 to APRS2 even if the device is in SPAS. This makes the above approach to
serial polling possible.
To further support this approach, the 'rsv2' auxiliary
command is automatically cleared when the serial
poll status byte is polled, ensuring that 'rsv2' is
cleared before a second serial poll can occur. If this
were not the case, then the same status byte might
be polled twice by the controller with the RQS bit
true, which may indicate that two reasons for requiring service have arisen.

+ rsv2).SPAS

swrst
(rsvi

+ rsv2).SPAS
SPAS

(rsv1

Figure 9.

+ rsv2)

SERVICE REQUEST STATE DIAGRAM

The WD9914 will only send one serial poll status byte
during each active period of SPAS. However, it will
send this status byte as many times as the controller
is prepared to accept it. Therefore, the controller
Table 12.

should only read the status byte once per serial poll;
otherwise, each time a status byte is sent with the
RQS message true, the SPAS interrupt will be generated and 'rsv2' will be cleared.

SERVICE REQUEST MNEMONICS
STATES

MESSAGES
swrst
srv1
rsv2

=

--

=

software reset
request service 1 (bit 7 of serial poll
register)
request service 2 (auxiliary command
register)

360

NPRS

=

negative poll response state

SRQS

=

service request state

APRS1
APRS2
SPAS

=
=
=

affirmative poll state 1
affirmative poll state 2
serial poll active state (talker function)

Table 13.

SERVICE REQUEST MESSAGE OUTPUTS

STATE

REMOTE MESSAGES SENT
SRQ

NPRS

(F)

OTHER ACTIONS

SROS

T

APRS1

(F)

-

rsv2 cleared if in SPAS and STRS
SPAS interrupt set if in SPAS when STRS is
exited

APRS2

(F)

-

same as APRS1
masked, the device will enter one of the remote
states in response to its listen address, but if
secondary addressing is enabled, then this will not
happen until 'dacr' is written with 'cs' true in
response to a valid secondary address. In addition,
the transition to one of the remote states will occur if
'Ion' is used to address the device to listen.

REMOTE/LOCAL FUNCTION
The WD9914 remote local state diagram is shown in
Figure 10. If differs little from that of IEEE-488.
The complete listener function (LAF) is used to effect
the transition from LOCS to REMS or from LWLS to
RWLS. This means that if the APT interrupt is

RENIN7tfLAF

RENIN.
LLO
ACDS1

GTL.LADS.ACDS1
r1l.(LLO.ACDS1)

+

LLO.
ACDS1

LAF

LAF: See Figure 7.

GTL.LADS.ACDS

Figure 10.
Table 14.

WD9914 REMOTE LOCAL STATE DIAGRAM

REMOTE/LOCAL MNEMONICS
MESSAGES

swrst
rtl
RENIN
GTL
LLO

=
=
=
=
=

STATES

software reset

LOCS

return to local

REMS

internal remote
(debounced)

enable

=
=

local state
remote state

message

go to local

LWLS

local lockout

LADS

=
=
=

ACDS1

=

RWLS

361

remote with lockout state
local with lockout state
listener addressed
function)

state

(listene

accept data state 1 (acceptor handshake)

dary (pts) auxiliary command should be written
before releasing the DAC holdoff. This will cause the
next command received to also set a UNC interrupt if
it is a secondary command. The secondary command
will be either the parallel poll enable command (PPE)
or the parallel poll disable command (PPO) and
should be read from the Command Pass Through
Register and identified. If it is the PPE command,
then the attendant bits (S, P1, P2, P3) should be
extracted and stored by the host MPU. The S bit
should then be matched against the individual status
of the instrument (represented by 'ist'), and if they are
the same, the bit corresponding to the parallel poll response, specified by P1, P2, P3, should be set true in
the Parallel Poll Register. If this is not the case, then
the Parallel Poll Register should be cleared if it is not
already clear. After this, each time the individual
status of the device changes, the 'ist' should again
be matched against the S bit and the Parallel Poll
Register updated accordingly until PPD or PPU is
received.
If a PPO command is passed through after the 'pts'
feature has been written, the Parallel Poll Register
should be cleared before the OAC holdoff is released.
The PPC command that precedes PPD is an address
command; it is a means of eliminating individual
members of a parallel poll. The parallel unconfigure
command is treated by the W09914 as an unrecognized universal command. When it is passed through,
the host MPU should clear its Parallel Poll Register
before releasing the DAC holdoff. This command will
clear all members of a parallel poll.

PARALLEL POLL FUNCTION
The parallel poll function of the W09914 only
nominally supports logically-configured parallel poll.
With a suitable software package, remotely-configured parallel poll may also be easily implemented.
The state diagram is shown in Figure 11.
When the EOI and ATN lines become true simultaneously (the Identify message), the contents of the
Parallel Poll Register are output to 010(8-1). If parallel
poll is to be used in a particular bus environment,
then the Pull-Up Enable (PE) input of the SN75160
must be held low so that the DI0(8-1) are driven by
open collector buffers. Parallel Poll, occurring when
the Parallel Poll Register is in the hardware reset condition of all zeros, will result in none of 010(8-1) being
pulled low. This corresponds to the parallel poll idle
state (PPIS). If it is desired to participate in a parallel
poll, then the bit corresponding to the desired parallel poll response is set true. This implements the
parallel poll standby state (PPSS), and, when the Identify message becomes true, the appropriate line of
DI0(8-1) is pulled low. This is equivalent to the
parallel poll active state (PPAS). Only one bit of the
parallel Poll Register should be set true at once.
Remotely Configured Parallel Poll
The parallel poll configure command (PPC) is treated
by the W09914 as an unrecognized addressed command. It is passed through when the WD9914 is in
LADS. If an instrument is to be remotely configured
for parallel poll, then the pass through next secon-

swrst.ATN. EOI.(CI DS + CADS)

swrst

Figure 11.
Table 15.

WD9914 PARALLEL POLL STATE DIAGRAM

PARALLEL POLL MNEMONICS
MESSAGES

swrst
ATN
EOI

=
=
=

STATES

software reset
attention
end or identify

PPSS
PPAS
CIDS
CADS

362

=
=
=
=

parallel poll standby state
parallel poll active state
controller idle state (controller function)
controller addressed state (controller
function)

Table 16.

PARALLEL POLL MESSAGE OUTPUTS
REMOTE MESSAGES SENT
OTHER ACTIONS

STATE

010(8·1)

PPSS
PPSS

(NUL)
PARALLEL POLL REG'

'If there is a true bit in the Parallel Poll Register, it must be sent active; any false bit must be sent passive.
When the controller is active, it uses 'ton' or 'Ion' to
address and unaddress itself. IEEE-488 provides for
the controller to locally address itself to listen, but
there is no corresponding local message for the talk·
er. The WD9914 should always accompany a 'ton'
auxiliary command with 'cs' true with its own talk
address or an UNT command sent over the bus. Simi·
larly, if the WD9914 sends the talk address of another
device over the bus, it should ensure that it is in TIDS
by writing the 'ton' auxiliary command false.

CONTROLLER FUNCTION
The controller function of the WD9914 is greatly sim·
plified compared with that of IEEE·488. It relies heavily on software support but, with suitable software, it
enables all subsets of the controller function to be
implemented. With this -approach the controller logic
is reduced to a small proportion of the chip area
which means that the device may be economically
used in situations where a talker/listener only is
required.
Figure 12 shows the controller function state diagram. With suitable software, it will perform the full
controller function, as described in the IEEE·488A
1980 supplement to the IEEE·488 1978. It therefore includes the additional state CSHS, which allows time
for DAV to be recognized false by all devices on the
bus before ATN is asserted. The 'tcs' local message
is implemented by an immediate execute auxiliary
command. The state CWAS is therefore added to
record the occurrence of this command until the ac·
ceptor handshake enters ANRS and the device can
enter CSHS. The 'tca' auxiliary command also causes
entry into CSHS although IEEE·488A 1980 allows it to
move directly from CSBS to CSWS. This is done for
convenience of implementation and results in the
'tca' auxiliary command taking an extra 1.6 microseconds to assert ATN.
The delay between CSWS and CAWS is slightly less
than specified in IEEE·488A 1980 but the total time
taken in moving from CSWS to CACS is still greater
than the specified minimum.
The Controller Parallel Poll State (CPPS) is not included on the WD9914. To conduct a parallel poll, a
WD9914 based controller must set the 'rpp' clear/set
auxiliary command true when it is in CACS, moving it
to CPWS which sends EOI true. The host MPU must
then wait 2 microseconds before reading back the
parallel poll responses via the Command Pass
Through Register. The 'rpp' auxiliary command can
then be cleared, EOI will go false, and the parallel poll
is complete. The host MPU will receive a BO interrupt
as soon as the WD9914 reenters CACS and the
source handshake becomes active.

Passing Control
As Figure 12 shows, the controller transfer state
(CTRS) of IEEE-488 is not present, and all transitions
associated with the TCT command have been reo
moved. Instead, two immediate execute auxiliary
commands are included. Request control (rqc) will
cause a transition from CIDS to CADS, and the reo
lease control command (ric) will return the function
to CIDS. The TCT command is treated similarly to an
unrecognized addressed command but will cause a
UNC interrupt if the device is in TADS.
Figure 13 is a representation of the sequence of
events involved in passing control from one WD9914
based device to another. The device passing control
must initially ensure that it is not in TADS; then it
should send out the talk address of the device to receive control. The receiving device will enter TADS,
and after any DAC holdoff has been released, the
host MPU of the device passing control will set a BO
interrupt indicating that it may then send the TCT
command. The TCT command will cause a UNC inter·
rupt to the host MPU of the receiving device, and also
a DAC holdoff will occur. The host MPU of the
receiving device must examine its Command Pass
Through Register, and upon identifying TCT, should
write the auxiliary command 'rqc' to put its WD9914
into CADS. The receiving device may then release
DAC with a 'dacr' auxiliary command causing anoth·
er BO interrupt at the device passing control. This
indicates that the 'ric' auxiliary command may then
be used by the host MPU of the device passing con·
trol to return its WD9914 to CIDS and allowing ATN to
go false. The receiving device then enters CACS,
asserts ATN, and its host MPU gets a BO interrupt as
the source handshake becomes active. The passing
of control is complete.

Controller Self Addressing
The acceptor handshake does not operate when the
controller is active. This means commands being
sent are not monitored, and special precautions are
required as a consequence of this when addressing
devices and when passing control.

363

sic

swrst+IFCIN+
rlc.AXSS

sre

SIC+
rqc.AXSS

sre

gts.AXSS.STRs.SDvS

Figure 12. WD9914 CONTROLLER STATE DIAGRAMS
Table 17.

CONTROLLER FUNCTION MNEMONICS
MESSAGES

swrst
sic

sre
rqc
ric
gts

STATES

=

software reset
send interface clear

CIDS
CADS

=

send remote enable
request control
release control

CACS

go to standby

CSWS

take control synchronously
take control asynchronously

CAWS

=
=
=

=

CSBS
CSHS

rpp

=
=
=

IFCIN

=

internal interface clear message (a
debounced signal which is suppressed
if 'sic' is true)

SDYS

ATN

=

attention

STRS

tc(O)

=

clock cycle time

AXSS

tcs
tca

CPWS
ANRS

request parallel poll

LWAS

364

=
=
=
=
=

=

controller idle state
controller addressed state
controller active state
controller standby state
controller standby hold state
controller synchronous wait state

=

controller active wait state

=

controller parallel poll wait state
acceptor not ready state (acceptor
handshake)

=

=
=
=
=

source delay state (source handshake)
source transfer state (source hand·
shake)
auxiliary command strobe state (auxili·
ary command registe~
controller wait for ANRS state

Table 18.

CONTROLLER FUNCTION MESSAGE OUTPUTS
REMOTE MESSAGE SENT

STATE

ATN

EOI

010(8·1)

CIOS

(F)
(F)

(F)
(F)

(NUL)

CADS
CACS

T

F

DATA OUT REG

CSBS

F

(F)

(NUL)

CWAS

F
F

(F)
(F)

(NUL)

CSHS
CSWS

T

F

(NUL)

CAWS

T

F

(NUL)

CPWS

T

T

(NUL)

OTHER ACTIONS

(NUL)
Data Out Reg. may contain any of the commands in Table 19

(NUL)

010(8-1) may be read via the Command Pass Through Register

REMOTE MESSAGES SENT
STATE

IFC

OTHER ACTIONS

SIIS'

(F)

SIIS

F

SIAS

T

Internal interface
clear message IF·
CIN
is held false

REMOTE MESSAGES SENT
STATE

REN

SRIS'

(F)

SRIS

F

SRAS

T

OTHER ACTIONS

• Buffers not configured for a system controller; otherwise, buffers are configured for system controller.

IFC are both debounced to prevent noise on these
lines from causing permanent state changes on the
WD9914. In addition, the intemal interface clear sig·
nal (IFCIN) is held false if the WD9914 is sending IFC.
Figure 12 shows the reason for this. If the device is
not a system controller, then the occurence of IFC
will return the controller function to CIOS. If, however,
the device is a system controller, when it asserts
IFC and is in CIDS, the 'sic' auxiliary command will
cause it to enter CADS. As IFCIN is suppressed, it
will not be forced back into CIDS, and there will be no
conflict.

The REN and IFC outputs of the WD9914 are con·
trolled by the auxiliary commands 'sre' and ·sic.'
These should never be used by the host MPU of a device unless it is the system controller. As may be
seen from Figure 14, the REN and IFC outputs of the
WD9914 are open drains with internal pull·ups. This
means that the outputs are capable of driving the in·
puts of the buffers if the device is a system controller.
If not, the buffers will drive into the REN and IFC pins
and override the pull·ups. Hence, no direction control
is required.
The false transition of REN and the true transition of

365

System Controller

:ec
CD
CD

.....

The WD9914 has no on-chip means of determining
whether or not it is the system controller. Instead,
this is determined by the software and by the configuration of the buffers to the IEEE-488 bus.

~

RECEIVES CONTROL

PASSES CONTROL

A

/
CPU

ton.Cs

II

~

A

/

"

WD9914

WD9914

II

"
CPU

CLEARS
TADS

TAG
MA

wdot

80

~

ENTERS
SGNS

wdot

-I

SENDS
TCT

I.I

DAC

TCT

RELEASE
ACDS
HOLD

~I

RECEIVES
TCT

ENTERS
CADS

ENTERS
CIDS

dacr

~

une

I

-

~

rqe

RELEASE
ACDS
HOLD

dacr

ATN

ENTERS
CACS&
SGNS

BO

ATN

Figure 13.

rept

DAC
BO

ric

L-

PASSING CONTROL BETWEEN WD9914

366

r

Vee

REW

Vee

-,

I - - - -....Osre

I

I
I

Vss

I
I

IFe'

I- - - - - 1--.....- - - - - 0 sic

D---o

RENIN

Vss
DELAY L-

D - - - O IFelN

*The REN and IFe signals are at the pins of the WD9914 and are therefore
negative logic signals. The remaining signals are conventional
positive logic signals.

Figure 14.

IFe AND REN PINS

367

Table 19.

MULTILINE INTERFACE MESSAGES
DAC(3)
HOlDOFF

SYMBOL

010
8·1

Addressed Command
Group
Device Clear

ACG
DCl

OOOXXXX
XOO10100

AC
UC

DCAS

Yes

Group Execute Trigger

GET

XOOO1000

AC

GET

Yes

Go To local

GTl

XOOOOOO1

AC

RlC

No

listen Address Group

LAG

X01XXXXX

AD

-

local Lockout
My Listen Address

LLO

XOO10001

UC

None

No

MLA

X01AAAAA

AD

MA,MAC,RLC

MAOnly

My Talk Address

MTA

X10AAAAA

AD

MA,MAC

MAOnly

4

My Secondary Address

MSA

X11SSSSS

SE

APT

Yes

Other Secondary Address

OSA

SCG.MSA-

SE

APT

Yes

5,6
6,7

Other Talk Address

OTA

TAG.MTA-

AD

MAC

No

Primary Command Group

PCG

ACG + UCG +
LAG + TAG

-

-

Parallel Poll Configure

PPC

XOOOO101

AC

UNC

Yes

8

SE
SE

UNC

Yes

9,10

UNC

Yes

9,11

UC

UNC

Yes

12

COMMAND

Parallel Poll Enable

PPE

Parallel Poll Disable

PPD

INTERRUPT
CLASS

X110SPPP
X111DDDD

(1,2)

-

-

PPU

XOO10101

Secondary Command
Group

SCG

X11XXXXX

SE

Selected Device Clear
Serial Poll Disable

SOC
SPD

XOOOO100
XOO11001

AC
UC

DCAS

Serial Poll Enable

SPE

XOO11000

UC

None

No

Take Control

TCT

XOOO1001

AC

UNC

Yes

Talk Address Group

TAG

X10XXXXX

AD

-

-

Unlisten

UNL

X0111111

AD

MAC

Untalk

UNT

X1011111

AD

-

Universal Command Group

UCG

XOO1XXXX

UC

None

Classes:

UC
AC
AD
SE

universal command
addressed command
address
secondary command

Symbols:

0

logical zero (high level on
GPIB)
logical one (lOW level on GPIB)
don't care (received message)

x

None

14

-

Parallel Poll Unconfigure

-

NOTE

4,14

Yes
No
13

No

No

NOTES:
4. AAAAA represents the primary address of a
device.

1. Interrupts listed are as a direct consequence of
the command received. They are set during
ACDS1 and will cause the INT pin to be pulled
low if unmasked.

5. SSSSS represents the secondary address of a
device.
6. Secondary addresses are handled via address
pass through (APT interrupt). The host MPU
should respond by writing the 'dacr' auxiliary
command with 'cs' false.

2. The addressed commands will only cause their
corresponding interrupt if the device is in LADS
with the exception of TCT.
3. A DAC holdoff will only be caused if the
corresponding interrupt is unmasked.

7. If OSA is passed through via the APT interrupt,

368

11. DODD specifies don't care bits which must be
sent as zeros but need not be decoded by the
host MPU of the receiving devices.
12. PPU is not recognized by the WD9914 and will
cause a UNC interrupt.
13. TCT is not recognized directly by the WD9914. It
will cause a UNC interrupt when the device is in
TAOS.
14. RLC is set if MLA or GTL causes an appropriate
transition in the Remote/Local function.

the host MPU should respond by writing the
'dacr' auxiliary command with 'cs' false.
8. PPC is not recognized by the WD9914 and is
therefore treated as an unrecognized addressed
command.
9. PPE and PPD are secondary commands. These
may be passed through to the host MPU using
the 'pts' auxiliary command. When the PPC
command is received the 'pts' auxiliary
command should be written. PPE or PPD will
then cause an APT interrupt.
10. SPPP specifies the sense bit, and the desired
parallel poll response is a remotely configured
parallel poll.

TYPICAL SEQUENCES OF EVENTS FOR THE CONTROLLER

I ,---I II~

U
L...---cP-----I

C0-----lNT

II~

S.H-----I'

OTH----JER

sic

sic

"" ...>- - -

I
t..~

_---IL..-_

ATN

BO

wdot

RFD.DAC
T1

DAV

DAC
BO

Figure 15.

CONTROLLER TAKING CONTROL

369

CPU

DAC
BO
gts

CSBS
ATN

RFD
DAV
RFD

BI

200 ns
DAC
DAV

rdin

·ASSUME NO
HOLDOFF

CSBS

LACS

SIDS

RFD
DAV

BI
(+END)
tes

DAC

1',
rdin

I

....

DAV

>- - - -

r-=~:;---+---t--'::::=f~----1

DAC

ATN
LADS
CAWS

RFD

+

SGNS

DAC

BO

·CWAS INHIBITS ANRS ~ ACRS, SO RDIN CAN OCCUR BEFORE ATN IS SET.

Figure 16.

CONTROLLER AS A LISTENER (GOING TO STANDBy)

370

CPU

II

II

CO NT

II

S.H.

TALKER

II

OTHER

=E

C

CO
CO

.....

.1::0
DAC

60
ATN

SGNS

60
wdot
Tl
RFD.DAC
STRS
DAV
DAC
SGNS

60

10
ATN
TADS
SIDS

SGNS

60
wdot

RFD.DAC

DAC
SGNS

60

·MOMENTARY TRANSITION FOLLOWING 60 INTERRUPT IS GUARANTEED ON THE WD9914.

Figure 17.

CONTROLLER AS A TALKER (GOING TO A STANDBy)

371

CPU

OTHER

S.H.

CO NT

-

, ...

--<.

..

I

~

OAC

BO

rpp

lOY

Figure 18.

CONTROLLER PARALLEL POLLING
*Stresses beyond those listed under "Absolute
Maximum Ratings" may cause permanent damage
to the device. This is a stress rating only and functional operation of the device at these or any other
conditions beyond those indicated in the "Recommended Operating Conditions" section of this
specification is not implied. Exposure to absolutemaximum-rated conditions for extended periods
may affect device reliability.

WD9914 ELECTRICAL SPECIFICATIONS
ABSOLUTE MAXIMUM RATINGS OVER
OPERATING FREE-AIR TEMPERATURE RANGE
(Unless otherwise noted)*
Supply Voltage, VCC (see Note 1) .... - 0.3V to 20V
All Input and Output Voltages .. . . . .. - 0.3V to 20V
Continuous Power Dissipation ............. 0.8 W
Operating Free-Air Temperature Range. O·C to 70·C
Storage Temperature Range. . . . .. - 55·C to 150·C

NOTE 1:
Under absolute maximum ratings voltage values are
with respect to VSS.

RECOMMENDED OPERATING CONDITIONS
MIN
4.75

Supply voltage, VCC
Supply voltage, VSS

NOM

MAX

UNIT

5

5.25

V
V

0

High-level input voltage, VIH

2

Low-level input voltage, VIL

Vss-D·3
0

Operating free-air temperature, TA

372

VCC+1
0.8
70

V
V
·C

ELECTRICAL CHARACTERISTICS OVER FULL RANGE OF RECOMMENDED OPERATING CONDITIONS
PARAMETER
VOH

=

-4oo1J.A
IOH
IOH - - 100llA

= 2mA
= 2VtoVCC

VOL

Low-level output voltage

IOL

II

Input current (any input)

VI

ICC
Ci

t

TEST CONDITIONS

High-level output voltage
Except REN,IFC,INT
REN,IFc only

MIN

TYPt

2.4
2.2
VSS

VCC supply current

=

Input capacitance
(any input)

All typical values are atTA

f
1 MHz, unmeasured
pinsatOV

MAX

UNIT

VCC
VCC
0.4

V
V

±10
150

IlA
mA

15

pF

MAX

UNIT
ns

V

= 25°C and nominal voltage.

TIMING CHARACTERISTICS AND REQUIREMENTS
Timing characteristics and requirements are given in
the following and relevant timing diagrams are
shown in Figure 10 through Figure 27.
Clock and Host Interface Timing Requirements Over Full Range of Operating Conditions
PARAMETER

MIN

TYP

tc(O)

Clock cycle time

200

2000

tw(OH)

Clock high pulse width

100

1955

tw(OL)

Clock low pulse width

45

ns

ns

tsu(AD)

Address setup time

0

ns

tsu(DBIN)

DBIN setup time

0

ns

tsu(CE)

CE setup time

100

ns

tsu(WE)

WE setup time

0

ns

tw(WE)

WE low pulse width

80

ns

tsu(DA)

Data setup time

60

ns

th(DA)

Data hold time

0

ns

th(AD)

Address hold time

0

ns

th(DBIN)

DBIN hold time

0

ns

th(CE)

CE hold time

tsu(GR)

ACCGR setup time

th(GR)

ACCGR hold time

80

ns

100

ns

80

ns

Host Interface Timing Characteristics Over Full Range of Operating Conditions
PARAMETER

MIN

TYP

MAX

UNIT

ta(CE)

Access time from CE

150

ns

ta(DBIN)

Access time from DBIN

150

ns

tsu(AD)

Address setup time to CE

tz(DBIN)

Hi-Z time from DBIN

50

100

ns

tz(CE)

Hi-Z time from CE

50

100

ns

ta(GR)

Access time from ACCGR

tz(GR)

Hi-Z time from ACCGR

td(GRlRO)

Delay of ACCRO high from ACCGR

ns

0

50

373

150

ns

100

ns

100

ns

Source Handshake Timing Characteristics Over Full Range of Operating Conditions (see Note 1)
PARAMETER,

TEST CONDITIONS

MIN

MAX

UNIT

12(0)t
8(O)t
4(0)f

121Q)t+310
8(O)f+310
4(0)f+310

ns
ns
ns

140

ns

Delay of BO interrupt from BO interrupt unmasked
'DACtrue

300

ns

td4

Delay of ACCRQ DAC true

300

ns

td5

Delay of DAV false from
DACtrue

160

ns

td1

Delay of DAV true from end Normal T 1 (see Note 2)
of write operation to data I short T1 (see Note 2)
out register
Very short 11 (see Note 2)

td2

Delay of valid GPIB data
lines from end of write
cycle

td3

NOTES:
is false if the 'vstd1' feature is set. A slightly longer
bus settling time takes place if 'std1' is set unless
there is a very short bus settling time. In all other
instances, a normal bus settling time occurs.

1. The timing of the source handshake is the same
whether ATN is true or false, i.e., whether the
device is in TACS, CACS, or SPAS.
2. A very short bus settling time (T1) occurs on the
second and subsequent data byte sent when ATN

Acceptor Handshake Timing Characteristics Over Full Range of Operating Conditions
TEST CONDITIONS

PARAMETER
td6

Delay of BI interrupt from
DAVtrue

BI interrupt unmarked ATN
false device is in LACS

td7

Delay of ACCRa from
DAVtrue

ATN
false device is
in LACS

td8

Delay of DNAC false from
DAVtrue

td9

Delay of N RFD false from
end of read operation of
Data In register

td10

=

=
ATN = false device is
in LACS
ATN = false device is
=

Delay of NDAC false
from DAV true

td12

Delay of NDAC false from
end of write operation

td13

Delay of N RFD false from
DAVfalse

MAX

UNIT

2(0)t

2(0)t+415

ns

2(0)t

2(0)t+290

ns

3(O)t

3(0)t+445

ns

220

ns

2(0)t

2(0)t+415

ns

5(O)t

5(0)t+415

ns

7(0)t

7(0)t+415

ns

230

ns

180

ns

in LACS

Delay of interface message ATN
true device not
in CACS all interface
interrupt from DAV true
message interrupts
except UNO)
UNU mterrupt only

td11

MIN

=

ATN
true device not in
CACS no DAC holdoff

=

ATN
true device not
inCACS

374

ATN, EOI, and IFC Timing Characteristics Over Full Range of Operating Conditions
PARAMETER

TEST CONDITIONS

MIN

MAX

UNIT

td14

Delay of NDAC true
from ATN true

Device is not in CACS

195

ns

td15

Delay of TE high
from EOI true

Device is not in CACS

125

ns

td16

Delay of valid data
from EOI true

Device is not in CACS

140

ns

td17

Delay of TE low from
EOI false

Device is not in CACS

125

ns

td18

Delay of NRFD true
from ATN false

Device is in LADS/LACS

140

ns

td19

Response time to IFC

3Ot9QL

ns

MIN

MAX

UNIT

16tc(0)

Controller Timing Characteristics Over Full Range of Operating Conditions
PARAMETER

TEST CONDITIONS

td20

Delay of ATN true from end
of tca aux command

8tc(0)

10(0)t+ 220

ns

td21

Delay of BO interrupt from
end of tca aux command

18tc(0)

22(0)t + 415

ns

td22

Delay of ATN true from end BO unmasked device is
inANRS
of tcs aux command

8tc(0)

10(0)t + 220

ns

td23

Delay of BO interrupt from BO unmasked device is
end of tcs aux command
inANRS

18tc(0)

22(0)t + 415

ns

td24

Delay of EOI true from
rpp aux command set

230

ns

td25

Delay of EOI false from
rpp aux command cleared

230

ns

td26

Delay of EOI from rpp
aux command cleared

BO unmasked

10(0)t + 415

ns

td27

Delay of ATN false from
sts aux command

Device is not in SDYS
orSTRS

210

ns

J1

\-

I..

8tc(0)

r

I I

tw(OH)

-I I..

tw(Ol)

1

te(O)

I"

Figure 19.

WD9914 CLOCK CYCLE TIMING

375

I 1
-I 1
1

·1

~

c

co
co
..A.

ifI..

DBIN

J:iIo

\

~:

ta(DBIN)

WE

, .. ~ltz(DBIN)

1

-'

~ tsu(WE)

CE

----!--'
'{

~I

,

a(CE)

/:

1

I.- tSU(AD)~

1

,
,1 )

00-07

I

/--.itz(CE)

I

C

~

VALID DATA

1

)(

RSO-RS2

VALID ADDRESS

Figure 20.

WD9914 READ CYCLE TIMING

~---tw(WE)
I"

______
\t-~
I

WE

I
~)f~----------

,~-+-----tsu(CE)
.. ,
I

'X-

DBIN

~th(AD)'-I

~I

1

I1.-----tW(CE),---I--...,~~1
..

I

1

",11-1-::___

------1"~'I;SU(DBIN)

1-o1
..

~

th(DBIN)

I

~th(AD)':

: x=

=x

i-tSU(AD):;j

RSO-RS2

I"

tSU(DA):.j·I--.~j.-th(DA):....j

~tSU(DA)'

00-07

/1

__----'x

~I"

th(DA)~

x=

tsu(DA), thIDA), AND th(AD) ARE ONLY APPLICABLE TO THE FIRST SIGNAL TO BECOME INACTIVE, WHETHER IT IS WE OR

Figure 21.

WD9914 WRITE CYCLE TIMING

376

CE_

ACCRO

\

ACCGR

=e

Ii

c

.a:..

ji

'\

DBIN

$....

I - tC(GR/RO)--i

I

\

I

/

I

I

I

I

WE--------~--I~------~\_,(~SE~E~/r.--------------

:

\~O~E3/:

I

I

:

DO·D7

I-

~~I------~:I-____~~~I---H-I.-Z--------

ta(DBIN)-I

tz(GR)-.j

~I

1
....
_--ta(GR)

NOTE 3: A WRITE ENABLE PULSE MAY OCCUR IN A DMA READ OPERATION. A WRITE ENABLE PULSE MAY THEREFORE BE
PROVIDED FOR SYSTEM MEMORY AND NEED NOT BE SUPPRESSED AT THE WD9914.

Figure 22.

WD9914 DMA READ OPERATION

t

I--tW(WE)~

WE------------------------~~

I

I

ACCGR----------------""'~~~~--~i-t-s-U(G-R-)-----~~:~;r
1..
_--th(GR)I-.......:....--I:J~i._th(DBIN)~
..

i--tsu(DBIN)-+j

DBIN

..

-------I

:!

I-- tsu(DA)· ~ I" I th(DA):""'"
I -tsu(DA)· ~ I.. th(DA)=.j
I

I
DO.D7 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _....)("

11"-'_ __

VALID DATA

X\..____

·tsu(DA) AND th(DA) ARE ONLY APPLICABLE TO THE FIRST SIGNAL TO BECOME INACTIVE, WHETHER IT IS WE OR ACCGR.

Figure 23.

WD9914 DMA WRITE OPERATION

377

WE~

1-1 td2
DI08'DI0-l------ki>{.,.I......._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __

s
o

00------7 :

U
R
C
E

\:-..___
~ td3"1

1

(SEE NOTE 4)

,,'--7"';";---------r-___\ _____
,

I
I,

td41---,

1

\ ___ 1,'

td5~

1\

1

I_ dl-J'I=

DAV

t

(,
NRFD

I

IIIIIf////

: /r------

I'
I

'-ltd9

:1\ '----+1----+I--J
I rj+'-td8~

NDAC

A
C
C
E
P
T

1\\..--+-__
-----------+:-~\- -----7
1
1

INT

o

r-td6--i

R

(SEE NOTE 5)

I

ACCRQ------------~:~~~_ _ _ _ ___J~~:~---~td7

I

ACCGR---------------------------~,~---7J--------

'- - --' I

CE---------------------------------~~~-------

NOTES:
4: THE INTERRUPT LINE IS TAKEN LOW BY A BO INTERRUPT,
5: THE INTERRUPT LINE IS TAKEN LOW BY A BI INTERRUPT.

Figure 24_

WD9914 SOURCE AND ACCEPTOR HANDSHAKE TIMING(S)

378

____ _______________________
~x~

S

o

U

R
C
E

DAV------------~~~____________________~;f

i -1d13- \

NRFD--------------~~~_____________________________J~~~----I

~ld11--J

I
NDAC

I-ld12~

,7f(SEENOTE6)1--

I

,

-T\- _______

I.

I

~.

I

INT
A
C
C
E
P
T

I

\

I
I

/

I-ld10-+-!

V'\lJ
V

CE

0
P

WE

I

READ INTERRUPT
STATUS

I
WRITE dacr TO
AUXILIARY
COMMAND REG

NOTES:
6: THE BROKEN LINE SHOWS THE WAVEFORM IF THERE IS NO DAC HOLDOFl=. THE SOLID LINES ASSUME THERE IS A DAC HOLDOFF.

Figure 25.

WD9914 ACCEPTOR HANDSHAKE TIMING "ATN" TRUE

379

--J(,

ATN--"""""\F_ _ _ _ _ _ _ _ _

I
I
EOI.---_,...._ _""\\"._ _ _ _"

~-.f!d15

:

I

I

TE------~------~;'~----:~~~~~:-------------------td17~

NRFD------T----~~".......~H~I.~Z_

I

(SEE NOTE

7)r-_______

:V
I!r--------

__';I

j..td18~

NDAC----+-'"

I

I

\

~td14

HI·Z
,..-..;.;;---""\

\\.-_---J I
I

DAV--------~I--J;I
HI·Z

I

~\.

~td16

DI08.DI01---------~~

_______

.J)

......._ _ _ _ _

t d19

~:-------

!
i

1--+j

IFC------------------(-SE-E-N-O-TE""\~~_~:-------­
-

I
I

INT----------------------~~~I~_ _ _ _ __
NOTES:

-

7: THIS ASSUMES THAT AN RFD HOLDOFF OCCURS.
8: IFC CAUSES THE WD9918 TO BE UNADDRESSED AND AN IFC INTERRUPT OCCURS.

Figure 26.

W09914 RESPONSE TO 'ATN' AND 'EOI'

380

f-oI---i td27

\

ATN

!.--i

J-I

td20, td22

I

\

EOI

I

I

~td24
INT

I

I

I
I
I
t d25

r

I
I

I
(SEE N,OTE 9)

td21,

f - l td26

11

WRITE
tcs or tea

I
I
I
I

I

I--td23~

,READ INT
STAT 0

SET
rpp

1--_...1 L-_ - - - '
CLEAR
WRITE
Sts
'pp

NOTE: 9: A BD INTERRUPT OCCURS AS THE WD9914 ENTERS CACS.

Figure 27.

WD9914 CONTROLLER TIMING

381

I

I

=E

C

(0
(0
...&.

J:a

i

i
I

See page 383 for ordering information.

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 notics.

382

Printed in U,S.A

ORDERING INFORMATION
OBSOLETE PACKAGE DESIGNATIONS

A
B
C
E
F
L
M
P
R
T
U
V
X
Y

CURRENT PACKAGE DESIGNATIONS

40 Lead DIP-Ceramic
40 Lead DIP-Relpak
24 Lead DIP-Ceramic
28 Lead DIP-Ceramic
28 Lead DIP-Relpak
18 Lead DIP-Ceramic
18 Lead DIP-Plastic (Totally Encapsulated)
40 Lead DIP-Plastic (Totally Encapsulated)
28 Lead DIP-Plastic (Totally Encapsulated)
48 Lead DIP-Ceramic
20 Lead DIP-Ceramic
20 Lead DIP-Plastic (Totally Encapsulated)
Ceramic Kit
Plastic Kit

PACKAGE TYPE:

LEAD COUNT:

A
C
P
D

A
B
C
D
E

G
H
J

Ceramic Side Braze
Cerdip
Plastic (Encap)
Ceramic Chip
Carrier-Lead less
Ceramic Chip
Carrier-Leaded
Plastic Chip
Carrier-Leadless
Plastic Chip
Carrier-Leaded

<14 Lead
14 Lead
16 Lead
18 Lead
20 Lead
F
22 Lead
G
24 Lead
H
28 Lead
40 Lead
L
M
44 Lead
N
48 Lead
S
64 Lead
T
68 Lead
Z
Kit

Example of current method:
WD1943PDOO Where PO = Double Digit
Package Designator (P = Plastic and D = 18 Lead)

Example of obsolete method:
WD1943MOO Where M = Single Digit
Package Designator (M = 18 Lead Plastic)

The following listing indicates the available packages for each product. The package diagrams are located on
page 384.
Product

Plastic

WD1510-00,01,02,03
UC1671-00

PL

Ceramic

CER-DIP

AH

CH

AL

TR1863-00,02,04

PL

AL

CL

TR1865-00,02,04

PL

AL

CL

WD1935-10,11 ,12, 13

PL

AL

WD1943-00

PD

AD

WD1943-02

PO

AD

WD1943-03

PD

AD

WD1943-04

PO

AD

WD1943-05

PD

AD

WD1943-06

PO

AD

WD1993-01,02,03

PH

AH

WD2001-05,20,30

PH

AH

WD2002-05,20,30

PL

AL

WD2123-00

PL

AL

WD2511-01,05,11

CL

AN

WD2840-01,05,11

AN

WD8250-00

PL

WD8275-00,02

AL

PL

WD8276-00,02

PL

CL

WD9914-00

PL

CL

CL

383

Package Diagrams

I

.310
MAX

r-

II~
--1
~ I

295
.325

I--

100
MAX

.015

l,~

.820

MIN

~MAX~-~l

~

.320

~t.-- ~!~

100
MAX

J.

.035 _
.055 ~

_

.120MIN

R

155MAx~1,
T
T120MIN

T~¥f9

.100TYP~ ~I
.014

.015

__ ~MIN

f-~l.j h-'
.035

~~
390

.100TYP...J .
014

.021

021

16 LEAD CERAMIC "AC"

16 LEAD PLASTIC "PC"

1--

.920

.015
MIN

~MAX---"l

~

.310

,_ _

L

155 MAX

I MAX

T~¥F9
-J I"'JI ~;;.j q -J -~~.~ k
~021

...-

920

: - - -..- -

j

~

.01 5MIN

MAX~

320

r

MAX

t~¥~~ZA

.100TYP

.014

.055

.100TYP

.120
MIN

--I

~~~ -~rc-

18 LEAD CERAMIC "AD"

--I34~
.390

5--.1
~I L
I-I i
T

.03
.055

1_ _ 11

k-

18 LEAD PLASTIC "PD"

t
t

.310
MAX

.015
MIN

1.020

1_

d

~--MAX~l

100MA>WDlmW

.,00TYP-.!

I

I.-IL
.
"'1
.014

~

L ,

FoMIN

m.5
- II .055 ~ ~

'.. -:325~1

T

"02-:"

20 LEAD CERAMIC "AE"

18 LEAD CERDIP "CD"

.015

.155 MAX

1

,~

1.040

.015 MIN

--.I

.320

I

rcJ1~~

T

II

150MAx~lt ~

=VWWWVWJl,~~~·
t
---. B-~-~

.,00TYP...!

.i..~~!~~MIN

·I.-.I~~·~~"'II.-"'t -J~:~ k-

I
100TYP~

.014

VoMIN

Ij~048
_ I I _ ::--T
I"'C.062~ ~
.014

:O21~

.021

20 LEAD PLASTIC "PE"

20 LEAD CERDIP "CE"

384

~

I _ .340 _ I
~~

Package Diagrams

.100 MAX

t

.015

-------.J MIN

1.425

1-

~ MAX---~I--,-

.155 MAX

J

i4-.610~
I_MAX
I

r-

.014

021

~
100TYP-J~l055---11-

.015

.1.

1_

1.460

MIN

150

.062

.100TYP

f.-:T
.120MIN

1:. ---i
610
MAX_1

.100 MAX

T'~L
~ U\lll!
-I j.-'00T~P ~

f.,.-~
.625

035-JQ
.055

.014

.021

40 LEAD CERAMIC "AL"

.480 ± .020

.1

D~""., !

.11

.155 MAX

I.e

.015 MIN

2.080

~

.620
MAX

r-

l~#~~~~
~ ~100~L035~ ~
.014

I~~

.055

.690

.021

,

--jJt11

~ 1~035MIN ---I

...

-J

n

i40MIN

~~
.690

28 LEAD CERDIP "CH"

.040
TYP

I-- .610--1
I:'" MAX--=-. I

.021

i

.055

.015
MIN

2.025

.014

-:065

.690

28 LEAD PLASTIC "PH"

TWM1WG¥ 9
~ ~L·048-..j

I

l.- .640 --J

.035

28 LEAD CERAMIC "AH"

-1-'------ MAX --~1

r---

:!~

.120
MIN

595--1
.625

.120 MIN

---1
I

.015 MIN

,WVWWWWVW-=lJ Pi

T~=¥ I I
-.I .~ ~I ~;;-l ~'f I.-

.100 TYP

1.460

L~MAX-----.jl

!---.100MAX

40 LEAD PLASTIC "PL"

.020
-TYP

40 LEAD CERAMIC CHIP CARRIER "DL"
.100
MAX

2.430
MAX

~l~

[.,50MAX

.015MIN

t-----~~~i'~610MAX

1-

T~~MIN~

-'~'~JL- I~
TYP

.062 ---

.015

~IMIN

.610
MAX

I~

-rmmmmmmmffl¥F1
~;;...jl-m4

~-I

.JL-l ~;~

!1~::~~1

.021

.690

.014

.021

48 LEAD CERAMIC "AN"

40 LEAD CERDIP "CL"

385

M~

l
64 LEAD CERAMIC CHIP CARRIER "OS"

48 LEAD CERAMIC CHIP CARRIER "ON"

COMMUNICATION PIN/FUNCTIONAL COMPATIBILITY GUIDE
WESTERN DIGITAL

AMI

SMC

INTEL

SSS

01

HARRIS

INTERSll

SCRt854

AY·3·1014A

H06402

IM64025

NYL

TI

FUJITSU

VIDEO DISPLAY
PROCESSORS
W08275

8275

WDB276

8276

PROTOCOL
CONTROLLERS
TRI863

51602

COMI863

TRtOOS

S6850

eMB018

UCt671

WB8868A

AY·3·1015

INS,S71

COM'67,

W08250

INS8250

TMS9914A

W09914

BAUD RATE

GENERATOR
WDt943

GQM5016
COMBtt6

386

STORAGE MANAGEMENT PRODUCTS
Part
Number

Floppy Disk
Controller
Components

Technical

Power

Package

__ ~nformation______ ..£l~9.lJ~ElIT!Ell'l.t~_§i~ __ .. __

FDI771
WDI770

Inverted data bus
Single chip

+ 5V, - 5V, + 12V
+ 5V

40 pins
28 pins

WDI772

Single chip

+5V

28 pins

WDI773

Single chip

+5V

28 pins

FD1791
FD1793
FD1795
FD1797
WD277X

+5V,
+5V,
+5V,
+5V,
+5V

WD2791

Inverted data bus
True data bus
Inverted data bus
True data bus
Improved data
separation
Inverted data bus

+5V

40 pins

WD1000·05

Board

+5V

5.75X8

WD1002·05

Board

+5V

5.75X8

WD1002·HDO

Board

+5V

5,75X8

WD1002·SAS
WD1002·SHD
WD1002WX2
WD1002·MTB

Board
Board
Board
Board
Sing-Ie-c-hi-p- -

+5V
+5V
+5V, -12V, + 12V
+5V

5.75X8
5.75X8
3.85X13
12X7

+5V

68 pins

+5V

68 pin_s_ _ _D"'y_n_a_m_ic_R_A_M_co_n_tr_ol_le_r._____

+12V
+12V
+ 12V
+12V

40 pins
40 pins
40 pins
40 pins
40 pins

Single density, IBM compatible
FD179X functionality with built·in
Digital Data Separator and Write
Precompensation.
WDI770 with enhanced stepping rates of
2, 3, 5, and 6 msec.
WD1770 with software compatibility to
FDI79X.
Single/double density, IBM compatible.
Single/double density, IBM compatible.
Single/double density, double sided.
Single/double density, double sided.
WD279X with improved data separator.

FD179X with built·in analog data separator
and write precompensation, single/double
density, and internal clock divide.
WD2793
True data bus
40 pins
FD179X with built·in analog data separator
+5V
and write precompensation, single/double
density, and internal clock divide.
WD2795
FD179X with built·in analog data separator
Inverted data bus
40 pins
+5V
and write precompensation, single/double
density, and side select out.
WD2797
True data bus
40 pins
FD179X with built·in analog data separator
+5V
and write precompensation, single/double
._________________ ..___.___ _.<:iEln~Yc.~~ige sele<:~ ________ _
WD1691
8" or 5.25 11 drives
20 pins
Floppy disk data separation/write
+5V
Floppy Disk
precompensation.
Support Devices
18 pins
Four phase clock generator.
WD2143
2.5 MHz
+ 5V
___ ._._._._._____.__ WD9~ ____.J>ingle chie. ___ ._~!;~ _____. ______!ljlins _ . __FloPPLdisk data separa~..r... _____..___ _
Winchester Disk
WD10l0
5 MHz
+ 5V
40 pins
5.25" and 8" Winchester Controlier chip.
Controller Devices
WD1050
Single chip
+ 5V
68 pins
SMD Controller.
WDll00
Chip Series
+ 5V
20 pins
5.25" and 8" Winchester Controller chips.
_. ________________ W_D_2_()1Q...
5 MHz
+5V
40 pins ___
W_D_l()1Q.w_it_h_E_CC.
Winchester Disk
WD10ll
CMOS
+ 5V
16 pins
Data separator de-v"-ic-e-c-om-p-at'C'ib'C'le with the
Support Devices
WD10l0.
+ 5V
18 pins
Write precompensation device compatible
WD1012
CMOS
with the WD10l0.
WD1014
Single chip
40
pins
Winchester error correction device.
+5V
WD1015
Single chip
Winchester Buffer Manager Control
40 pins
+5V
Processor.
Single chip
WDll00·13
20 pins
ECC Support device compatible with the
+5V
WD10l0.
Single chip
WDll00·21
14 pins
Winchester Buffer Manager Support
+5V
Device.

Winchester Board
Products

Main Memory
Devices

WD8206

WD8207 _ _ _S_in~g~le_c_h~ip~_ __

387

5.25" Winchester Controller board with
CRC.
5.25" Winchester/Floppy Controller board
with ECC.
5.25" Winchester-only controlier board
with ECC.
WD1002 with SASI interface.
WD1002·SASI interfaceWinchester only.
WD1002 with IBM PC compatible interface.
WD1002 w/Multibus interface.
Error detection and correction device for
main memory units (static and dynamic).

I

1-.

388

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.

F.O.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 installments, 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 sale 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.

S.

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 termination or back off in scheduling witl 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.

389

Corita Kent, the cover artist, is an American whose work presents an optimistic,
yet philosophical vievv of the world 'vve 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.

390

WESTERN DIGITAl.
CORPORA

TION

2445 McCabe Way, Irvine, CA 92714
(714) 863·0102' TWX 910-595-1139



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 10:54:21-08:00
Modify Date                     : 2012:12:14 17:14:15-08:00
Metadata Date                   : 2012:12:14 17:14:15-08:00
Producer                        : Adobe Acrobat 9.52 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:269c2cca-a665-4925-b165-870798651783
Instance ID                     : uuid:109eff72-956d-4e66-8f36-49463bcab25f
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 402
EXIF Metadata provided by EXIF.tools

Navigation menu