COM20020
COM20020 ULANC
Universal Local Area Network Controller with 2K x 8 On-Board RAM
FEATURES
∙24-Pin Embedded Network Controller/ Transceiver/RAM
∙Ideal for Industrial/Factory Automation and Automotive Applications
∙Deterministic, 2.5 Mbps, Token Passing ARCNET Protocol
∙Minimal Microcontroller and Media Interface Logic Required
∙Flexible Microcontroller Interface for Use with 80XX, 68XX, etc.
∙Automatically Detects Type of Microcontroller Interface:
-Non-Multiplexed or Multiplexed Bus
-Separate nRD & nWR Lines or DIR & nDS Lines
∙Full 2Kx8 On-Chip RAM
∙Command Chaining for Top Performance
∙Reduced Reconfiguration Times
∙Sequential Access to Internal RAM
∙Software Programmable Node ID
∙Duplicate Node ID Detection
∙Powerful Diagnostics
∙Receive All Mode
∙Data Rates from 2.5 Mbps to 156.25 Kbps
∙24-Pin DIP or 28-Pin PLCC Package
∙Flexible Media Interface:
-Traditional Hybrid Interface for Long Distances
-RS485 Differential Driver Interface for Low Cost, Low Power, High Reliability
-Backplane Mode for Direct Connection to Media in Short Distance Applications
∙Eight, 256-Byte Pages Allow 4 Pages TX and RX Plus Scratch-Pad Memory
∙No Wait-State Arbitration
∙Programmable TXEN Polarity
∙Next ID Readable
∙Internal Clock Prescaler for Slower Network Speed without Slowing Arbitration
∙Operating Temperature Range of -40oC to +85oC, or 0oC to +70oC
∙Self-Reconfiguration Protocol
∙Supports up to 255 Nodes
∙Supports Various Network Topologies (Star, Tree, Bus...)
∙CMOS, Single +5V Supply
GENERAL DESCRIPTION
SMSC's COM20020 is a member of the family of Industrial Network Controllers from Standard Microsystems Corporation. The device is a special purpose communications controller for networking microcontrollers and intelligent peripherals in industrial, automotive, and
embedded control environments using an ARCNET® protocol engine. The small 24-pin package, flexible microcontroller and media interfaces, eight-page message support, and extended temperature range of the COM20020 make it the only true network
TABLE OF CONTENTS |
|
FEATURES ........................................................................................................................................ |
1 |
GENERAL DESCRIPTION ................................................................................................................. |
1 |
PIN CONFIGURATION....................................................................................................................... |
3 |
DESCRIPTION OF PIN FUNCTIONS ................................................................................................. |
4 |
PROTOCOL DESCRIPTION .............................................................................................................. |
8 |
NETWORK PROTOCOL .................................................................................................................... |
8 |
DATA RATES ..................................................................................................................................... |
8 |
NETWORK RECONFIGURATION ...................................................................................................... |
8 |
BROADCAST MESSAGES ................................................................................................................. |
9 |
EXTENDED TIMEOUT FUNCTION..................................................................................................... |
9 |
LINE PROTOCOL ............................................................................................................................ |
10 |
SYSTEM DESCRIPTION.................................................................................................................. |
12 |
MICROCONTROLLER INTERFACE ................................................................................................. |
12 |
TRANSMISSION MEDIA INTERFACE .............................................................................................. |
15 |
FUNCTIONAL DESCRIPTION.......................................................................................................... |
19 |
MICROSEQUENCER ....................................................................................................................... |
19 |
INTERNAL REGISTERS................................................................................................................... |
22 |
INTERNAL RAM ............................................................................................................................... |
32 |
COMMAND CHAINING..................................................................................................................... |
37 |
INITIALIZATION SEQUENCE........................................................................................................... |
40 |
IMPROVED DIAGNOSTICS ............................................................................................................. |
40 |
OPERATIONAL DESCRIPTION ....................................................................................................... |
43 |
MAXIMUM GUARANTEED RATINGS*.............................................................................................. |
43 |
DC ELECTRICAL CHARACTERISTICS ............................................................................................ |
43 |
TIMING DIAGRAMS ........................................................................................................................ |
46 |
COM20020 ERRATA SHEET ........................................................................................................... |
59 |
For more details on the ARCNET protocol engine and traditional dipulse signalling schemes, please refer to the ARCNET Local Area Network Standard, available from Standard Microsystems Corporation or the ARCNET Designer's Handbook, available from Datapoint Corporation.
For more detailed information on cabling options including RS485, transformer-coupled RS485 and Fiber Optic interfaces, please refer to the following technical note which is available from Standard Microsystems Corporation: Technical Note 7-5 - Cabling Guidelines for the COM20020 ULANC.
2
controller optimized for use in industrial and automotive applications. Using an ARCNET protocol engine is the ideal solution for factory automation applications because it provides a token-passing protocol, a highly reliable and proven networking scheme, and a data rate of up to 2.5 Mbps when using the COM20020.
A token-passing protocol provides predictable response times because each network event occurs within a predetermined time interval, based upon the number of nodes on the
network. The deterministic nature of ARCNET is essential in mission critical applications. The integration of the 2Kx8 RAM buffer on-chip, the Command Chaining feature, the 2.5 Mbps maximum data rate, and the internal diagnostics make the COM20020 the highest performance industrial communications device available.
With only one COM20020 and one microcontroller, a complete communications node may be implemented.
ARCNET is a registered trademark of Datapoint Corporation
PIN CONFIGURATION
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
N |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I |
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
E |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
E |
|
|
|
|
|
|
N |
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R |
|
|
S |
|
|
|
|
|
|
N |
|
|
S |
|
|
||||||||
|
|
|
|
24 |
|
VDD |
|
|
|
|
|
|
S |
|
T |
|
|
E |
|
|
S |
|
|
E |
|
|
L |
|
|
||||||||||
A0/nMUX |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
X |
I |
|
|
U |
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
C |
|
N |
|
|
R |
|
|
S |
|
|
X |
|
|
P |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I |
|
|
n |
|
|
V |
|
|
T |
R |
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
n |
|
|
|
|
|
|
n |
|
|
n |
|
|
||||||||||||
A1 |
|
|
2 |
23 |
|
nRD/nDS |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A2/ALE |
|
3 |
22 |
|
nWR/DIR |
|
|
|
25 |
|
24 |
|
23 |
|
22 |
|
21 |
|
20 |
|
19 |
|
|
|
|
||||||||||||||
AD0 |
|
|
|
21 |
|
nCS |
nWR/DIR |
|
|
26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
|
nPULSE 1 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
4 |
|
nRD/nDS |
|
|
27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
|
XTAL2 |
|||||||||
AD1 |
|
|
|
20 |
|
nINTR |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
VDD |
|
|
28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
|
XTAL1 |
||||||||||
AD2 |
|
|
|
19 |
|
nRESET IN |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
D3 |
|
|
|
18 |
|
nTXEN |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
|
VDD |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
7 |
|
A0/nMUX |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
D4 |
|
|
|
17 |
|
RXIN |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
A1 |
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
|
VSS |
|||||||||
D5 |
|
|
|
16 |
|
nPULSE2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
9 |
|
A2/ALE |
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
|
N/C |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
15 |
|
nPULSE1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
D6 |
|
10 |
|
AD0 |
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
D7 |
||||||||
|
|
|
|
14 |
|
XTAL2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
D7 |
|
11 |
|
|
|
|
5 |
|
6 |
|
7 |
8 |
|
9 |
|
10 |
11 |
|
|
|
|
||||||||||||||||||
|
|
|
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
VSS |
|
12 |
|
XTAL1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
1 |
2 |
|
|
S |
3 |
4 |
5 |
6 |
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
D |
|
D |
|
|
S |
|
|
D |
|
|
D |
|
D |
|
|
D |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
A |
|
A |
|
|
V |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Packages: 24-Pin DIP or 28-Pin PLCC
Ordering Information:
COM20020 P
PACKAGE TYPE: P = Plastic, LJP = PLCC
TEMP RANGE: (Blank) = Commercial: 0°C to +70°C
I = Industrial: -40°C to +85°C
DEVICE TYPE: 20020 = Universal Local Area Network Controller (with 2K x 8 RAM)
3
DESCRIPTION OF PIN FUNCTIONS
DIP PIN |
PLCC PIN |
NAME |
|
|
|
NO. |
NO. |
SYMBOL |
|
DESCRIPTION |
|
|
|
|
|
|
|
|
|
MICROCONTROLLER INTERFACE |
|||
|
|
|
|
|
|
1-3 |
1-3 |
Address |
A0/nMUX, |
Input. |
On a non-multiplexed bus, these |
|
|
0-2 |
A1,A2/ALE |
signals are directly connected to the low bits |
|
|
|
|
|
of the host address bus. On a multiplexed |
|
|
|
|
|
address/data bus, A0/nMUX is tied low, A1 |
|
|
|
|
|
is left open, and A2 is tied to the Address |
|
|
|
|
|
Latch Enable signal of the host. A1 is |
|
|
|
|
|
connected to an internal pull-up resistor. |
|
|
|
|
|
|
|
4-11 |
4-6,8-12 |
Data 0-7 |
AD0-AD2, |
Input/Output. On a non-multiplexed bus, |
|
|
|
|
D3-D7 |
these signals are used as the data lines for |
|
|
|
|
|
the device. On a multiplexed address/data |
|
|
|
|
|
bus, AD0-AD2 act as the address lines |
|
|
|
|
|
(latched by ALE) and as the low data lines |
|
|
|
|
|
for the device. D3-D7 are always used for |
|
|
|
|
|
data only. These signals are connected to |
|
|
|
|
|
internal pull-up resistors. |
|
|
|
|
|
|
|
23 |
27 |
nRead/nData |
nRD/nDS |
Input. |
On a 68XX-like bus, this active low |
|
|
nStrobe |
|
signal is issued by the microcontroller as the |
|
|
|
|
|
data strobe signal to strobe the data onto |
|
|
|
|
|
the bus. On a 80XX-like bus, this active low |
|
|
|
|
|
signal is issued by the microcontroller to |
|
|
|
|
|
indicate a read operation. In this case, a |
|
|
|
|
|
logic "0" on this pin, when the COM20020 is |
|
|
|
|
|
accessed, enables data from the device to |
|
|
|
|
|
the data bus to be read by the |
|
|
|
|
|
microcontroller. |
|
|
|
|
|
|
|
22 |
26 |
nWrite/ |
nWR/DIR |
Input. |
On a 68XX-like bus, this signal is |
|
|
Direction |
|
issued by the microcontroller as the |
|
|
|
|
|
Read/nWrite signal to determine the |
|
|
|
|
|
direction of data transfer. In this case, a |
|
|
|
|
|
logic "1" selects a read operation, while a |
|
|
|
|
|
logic "0" selects a write operation. In this |
|
|
|
|
|
case, data is actually strobed by the nDS |
|
|
|
|
|
signal. On an 80XX-like bus, this active low |
|
|
|
|
|
signal is issued by the microcontroller to |
|
|
|
|
|
indicate a write operation. In this case, a |
|
|
|
|
|
logic "0" on this pin, when the COM20020 is |
|
|
|
|
|
accessed, enables data from the data bus to |
|
|
|
|
|
be written to the device. |
|
|
|
|
|
|
|
4
DIP PIN |
PLCC PIN |
NAME |
|
|
NO. |
NO. |
SYMBOL |
DESCRIPTION |
|
|
|
|
|
|
19 |
23 |
nReset in |
nRESET IN |
Input. This active low signal issued by the |
|
|
|
|
microcontroller executes a hardware reset. |
|
|
|
|
It is used to activate the internal reset |
|
|
|
|
circuitry within the COM20020. |
|
|
|
|
|
20 |
24 |
nInterrupt |
nINTR |
Output. This active low signal is generated |
|
|
|
|
by the COM20020 when an enabled |
|
|
|
|
interrupt condition occurs. nINTR returns to |
|
|
|
|
its inactive state when the interrupt status |
|
|
|
|
condition or the corresponding interrupt |
|
|
|
|
mask bit is reset. |
|
|
|
|
|
21 |
25 |
nChip Select |
nCS |
Input. This active low signal issued by the |
|
|
|
|
microcontroller selects the COM20020 for |
|
|
|
|
an access. |
|
|
|
|
|
TRANSMISSION MEDIA INTERFACE
16,15 |
19,18 |
nPulse 2, |
nPULSE2, |
Output. |
In Normal Mode, these active low |
|
|
|
nPulse 1 |
nPULSE1 |
signals carry the transmit data information, |
||
|
|
|
|
encoded in pulse format, from the |
||
|
|
|
|
COM20020 to the media driver circuitry. |
||
|
|
|
|
When the device is in Backplane Mode, the |
||
|
|
|
|
nPULSE1 signal driver is programmable |
||
|
|
|
|
(push/pull or open-drain), while the |
||
|
|
|
|
nPULSE2 signal provides a clock with |
||
|
|
|
|
frequency of crystal/4. |
nPULSE1 is |
|
|
|
|
|
connected to a weak internal pull-up resistor |
||
|
|
|
|
in backplane mode. |
|
|
|
|
|
|
|
|
|
17 |
20 |
Receive In |
RXIN |
Input. |
This signal carries the receive data |
|
|
|
|
|
information from the line receiver circuitry to |
||
|
|
|
|
the COM20020. |
|
|
|
|
|
|
|
|
|
18 |
21 |
nTransmit |
nTXEN |
Output. |
This signal is used prior to the |
|
|
|
nEnable |
|
Power-up to enable the line drivers for |
||
|
|
|
|
transmission. The polarity of the signal is |
||
|
|
|
|
programmable by grounding the nPULSE2 |
||
|
|
|
|
pin. |
|
|
|
|
|
|
nPULSE2 floating before Power-up: nTXEN |
||
|
|
|
|
active low (Default option) |
|
|
|
|
|
|
nPULSE2 grounded before Power-up: |
||
|
|
|
|
nTXEN active high (This option is only |
||
|
|
|
|
available in Backplane Mode) |
|
|
|
|
|
|
|
|
|
|
|
|
MISCELLANEOUS |
|
|
|
|
|
|
|
|
||
13,14 |
16,17 |
Crystal |
XTAL1, |
An external crystal should be connected to |
||
|
|
Oscillator |
XTAL2 |
these pins. If an external TTL clock is used |
||
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
DIP PIN |
PLCC PIN |
NAME |
|
|
NO. |
NO. |
SYMBOL |
DESCRIPTION |
|
|
|
|
|
|
|
|
|
|
instead, it must be connected to XTAL1 with |
|
|
|
|
a 390Ω pull-up resistor, and XTAL2 should |
|
|
|
|
be left floating. |
|
|
|
|
|
24 |
15,28 |
Power |
VDD |
+5 Volt Power Supply pin. |
|
|
Supply |
|
|
|
|
|
|
|
12 |
7,14,22 |
Ground |
VSS |
Ground pin. |
|
|
|
|
|
6
|
|
|
Power On |
|
|
Reconfigure |
|
|
|
||
Send |
|
||||
Timer has |
|
|
|
||
|
|
Reconfigure |
|
||
Timed Out |
Burst |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
Read Node ID
|
|
|
Write ID to |
|
|
|
|
|
|
|
|
|
|
|
|
RAM Buffer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
Set NID=ID |
|
|
|
|
|
|
|
|
|
|
Start |
Y |
Invitation |
N |
|
|
|
|
|
|
|
|
Reconfiguration |
|
to Transmit to |
|
|
|
|
|
|
|
|
|
|
Timer (840 mS) |
|
this ID? |
|
|
|
|
|
|
|
|
|
|
N |
Y |
|
Y |
Free Buffer |
N |
|
|
|
|
|
|
|
|
TA? |
|
|
|
|
|
|
|
||||
|
|
|
|
Enquiry to |
|
|
|
|
|
|
|
|
|
|
|
|
this ID? |
|
Y |
|
N |
|
|
|
|
|
|
Transmit |
Y |
N |
|
|
SOH? |
|
|
|
|
|
|
|
NAK |
RI? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Y |
N |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
RI? |
|
|
|
|
|
|
|
|
Transmit |
|
|
|
|
Write SID |
|
|
|
|
|
|
Broadcast? |
ACK |
|
|
|
|
|
|
No Activity |
N |
||
|
|
|
|
|
to Buffer |
|
|
|||||
|
N |
|
Transmit |
|
|
|
|
|
|
for 82 |
|
|
|
|
|
|
|
|
|
|
uS? |
|
|||
|
Y |
|
Free Buffer |
|
|
|
|
|
|
|
||
|
Send |
|
Enquiry |
No |
Y |
DID |
Y |
|
Y |
|
||
|
|
|
|
=0? |
|
|
|
|
||||
|
Packet |
|
|
|
Activity |
|
|
|
|
|
|
|
|
|
|
N |
for 74.7 |
|
|
|
|
|
Set NID=ID |
|
|
|
|
|
|
|
N |
|
|
N |
|
|||
|
|
|
Y |
N |
us? |
|
|
Broadcast |
|
|
||
|
|
|
ACK? |
|
|
DID |
|
Enabled? |
|
Start Timer: |
|
|
|
|
Y |
|
Y |
N |
|
=ID? |
|
Y |
|
|
|
|
Was Packet |
|
Set TA |
Y |
N |
|
T=(255-ID) |
|
||||
|
|
|
|
|
||||||||
|
Broadcast? |
|
|
NAK? |
|
|
x 146 us |
|
||||
|
|
|
|
|
|
|
|
|
||||
|
N |
|
|
|
1 |
|
Write Buffer |
|
|
|
|
|
|
|
|
|
|
|
with Packet |
|
|
Activity |
Y |
||
|
No |
|
|
|
|
|
|
|
|
|
On Line? |
|
|
|
|
|
|
Pass the |
|
|
|
|
|
|
|
|
Y |
Set TA |
|
|
|
|
|
|
|
|
|
|
|
Activity |
|
|
|
Token |
|
|
|
|
N |
|
|
|
for 74.7 |
|
|
|
|
|
|
|
|
|
||
|
us? |
|
|
|
|
|
|
|
|
|
N |
|
|
|
|
|
|
|
|
CRC |
|
N |
|
|
|
|
N |
|
|
|
|
|
|
|
T=0? |
|
||
|
|
|
|
No |
|
OK? |
|
|
|
|
||
|
|
|
Increment |
Y |
N |
|
|
|
Y |
|
||
|
|
|
Activity |
|
|
|
|
|
||||
N |
Y |
|
NID |
|
|
Y |
|
|
|
|
|
|
|
|
for 74.7 |
|
|
|
|
|
|
||||
Set TMA |
|
|
|
|
|
|
|
|
|
|||
|
ACK? |
|
|
us? |
|
|
|
N |
|
|
|
|
|
|
|
|
|
|
|
LENGTH |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
OK? |
|
|
|
|
|
|
|
|
|
|
|
|
Y |
|
|
|
|
|
|
|
|
|
|
|
|
|
Y |
|
|
|
|
ID refers to the identification number of the ID assigned to this node. |
DID |
|
|
|
Set RI |
|
||
|
|
|
|
|
|||||
- |
=0? |
|
|
|
|
|
|
||
- |
NID refers to the next identification number that receives the token after |
N |
|
|
|
|
|
|
|
|
after this ID passes it. |
DID |
N |
|
|
||||
- |
SID refers to the source identification. |
|
|
||||||
|
|
|
|
|
|
||||
- |
DID refers to the destination identification. |
=ID? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
- |
SOH refers to the start of header character; preceeds all data packets. |
Y |
|
|
|
|
|
|
|
|
|
SEND ACK |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
FIGURE 1 - COM20020 OPERATION
7
PROTOCOL DESCRIPTION
NETWORK PROTOCOL
Communication on the network is based on a token passing protocol. Establishment of the network configuration and management of the network protocol are handled entirely by the COM20020'sinternal microcoded sequencer. A processor or intelligent peripheral transmits data by simply loading a data packet and its destination ID into the COM20020's internal RAM buffer, and issuing a command to enable the transmitter. When the COM20020 next receives the token, it verifies that the receiving node is ready by first transmitting a FREE BUFFER ENQUIRY message. If the receiving node transmits an ACKnowledge message, the data packet is transmitted followed by a 16-bit CRC. If the receiving node cannot accept the packet (typically its receiver is inhibited), it transmits a Negative AcKnowledge message and the transmitter passes the token. Once it has been established that the receiving node can accept the packet and transmission is complete, the receiving node verifies the packet. If the packet is received successfully, the receiving node transmits an ACKnowledge message (or nothing if it is not received successfully) allowing the transmitter to set the appropriate status bits to indicate successful or unsuccessful delivery of the packet. An interrupt mask permits the COM20020 to generate an interrupt to the processor when selected status bits become true. Figure 1 is a flow chart illustrating the internal operation of the COM20020 connected to a 20 MHz crystal oscillator.
DATA RATES
The COM20020 is capable of supporting data rates from 156.25 Kbps to 2.5 Mbps. The
following protocol description assumes a 2.5 Mbps data rate. For slower data rates, an internal clock divider scales down the clock frequency. Thus all timeout values are scaled up as shown in the following table:
|
|
TIMEOUT |
|
DATA RATE |
SCALING |
CLOCK |
W/20MHz |
FACTOR |
PRESCALER |
XTAL |
(MULTIPLY BY) |
|
|
|
÷8 |
2.5 Mbps |
1 |
÷16 |
1.25 Mbps |
2 |
÷32 |
625 Kbps |
4 |
÷64 |
312.5 Kbps |
8 |
÷128 |
156.25 Kbps |
16 |
|
|
|
|
|
|
Example: IDLE LINE Timeout @ 2.5 Mbps = 82 μs. IDLE LINE Timeout for 156.2 Kbps is 82 μs * 16 = 1.3 ms
NETWORK RECONFIGURATION
A significant advantage of the COM20020 is its ability to adapt to changes on the network. Whenever a new node is activated or deactivated, a NETWORK RECONFIGURATION is performed. When a new COM20020 is turned on (creating a new active node on the network), or if the COM20020 has not received an INVITATION TO TRANSMIT for 840mS, or if a software reset occurs, the COM20020 causes a NETWORK RECONFIGURATION by sending a RECONFIGURE BURST consisting of eight marks and one space repeated 765 times. The purpose of this burst is to terminate all activity on the network. Since this burst is longer than any other type of transmission, the burst will interfere with the next INVITATION TO TRANSMIT, destroy the token and keep any other node from assuming control of the line.
8
When any COM20020 senses an idle line for greater than 82μS, which occurs only when the token is lost, each COM20020 starts an internal timeout equal to 146μs times the quantity 255 minus its own ID. The COM20020 starts network reconfiguration by sending an invitation to transmit first to itself and then to all other nodes by decrementing the destination Node ID.
If the timeout expires with no line activity, the COM20020 starts sending INVITATION TO TRANSMIT with the Destination ID (DID) equal to the currently stored NID. Within a given network, only one COM20020 will timeout (the one with the highest ID number). After sending the INVITATION TO TRANSMIT, the COM20020 waits for activity on the line. If there is no activity for 74.7μS, the COM20020 increments the NID value and transmits another INVITATION TO TRANSMIT using the NID equal to the DID. If activity appears before the 74.7μS timeout expires, the COM20020 releases control of the line. During NETWORK RECONFIGURATION, INVITATIONS TO TRANSMIT are sent to all NIDs (1-255).
Each COM20020 on the network will finally have saved a NID value equal to the ID of the COM20020 that it released control to. At this point, control is passed directly from one node to the next with no wasted INVITATIONS TO TRANSMIT being sent to ID's not on the network, until the next NETWORK RECONFIGURATION occurs. When a node is powered off, the previous node attempts to pass the token to it by issuing an INVITATION TO TRANSMIT. Since this node does not respond, the previous node times out and transmits another INVITATION TO TRANSMIT to an incremented ID and eventually a response will be received.
The NETWORK RECONFIGURATION time depends on the number of nodes in the network, the propagation delay between nodes, and the highest ID number on the network, but is typically within the range of 24 to 61 ms.
9
BROADCAST MESSAGES
Broadcasting gives a particular node the ability to transmit a data packet to all nodes on the network simultaneously. ID zero is reserved for this feature and no node on the network can be assigned ID zero. To broadcast a message, the transmitting node's processor simply loads the RAM buffer with the data packet and sets the DID equal to zero. Figure 8 illustrates the position of each byte in the packet with the DID residing at address 0X01 or 1 Hex of the current page selected in the "Enable Transmit from Page fnn" command. Each individual node has the ability to ignore broadcast messages by setting the most significant bit of the "Enable Receive to Page fnn" command (see Table 6) to a logic "0".
EXTENDED TIMEOUT FUNCTION
There are three timeouts associated with the COM20020 operation. The values of these timeouts are controlled by bits 3 and 4 of the Configuration Register and bit 5 of the Setup Register.
Response Time
The Response Time determines the maximum propagation delay allowed between any two nodes, and should be chosen to be larger than the round trip propagation delay between the two furthest nodes on the network plus the maximum turn around time (the time it takes a particular COM20020 to start sending a message in response to a received message) which is approximately 12.7μS. The round trip propagation delay is a function of the transmission media and network topology. For a typical system using RG62 coax in a baseband system, a one way cable propagation delay of 31μS translates to a distance of about 4 miles. The flow chart in Figure 1 uses a value of 74.7μS (31 + 31 + 12.7) to determine if any node will respond.
Idle Time
The Idle Time is associated with a NETWORK RECONFIGURATION. Figure 1 illustrates that during a NETWORK RECONFIGURATION one node will continually transmit INVITATIONS TO TRANSMIT until it encounters an active node. All other nodes on the network must distinguish between this operation and an entirely idle line. During NETWORK RECONFIGURATION, activity will appear on the line every 82μS. This 82μS is equal to the Response Time of 74.7μS plus the time it takes the COM20020 to start retransmitting another message (usually another INVITATION TO TRANSMIT).
Reconfiguration Time
If any node does not receive the token within the Reconfiguration Time, the node will initiate a NETWORK RECONFIGURATION. The ET2 and ET1 bits of the Configuration Register allow the network to operate over longer distances than the 4 miles stated earlier. The logic levels on these bits control the maximum distances over which the COM20020 can operate by controlling the three timeout values described above. For proper network operation, all COM20020's connected to the same network must have the same Response Time, Idle Time, and Reconfiguration Time.
LINE PROTOCOL
The ARCNET line protocol is considered isochronous because each byte is preceded by a start interval and ended with a stop interval.
Unlike asynchronous protocols, there is a constant amount of time separating each data byte. On a 2.5 Mbps network, each byte takes exactly 11 clock intervals of 400ns each. As a result, one byte is transmitted every 4.4μS and the time to transmit a message can be precisely determined. The line idles in a spacing (logic "0") condition. A logic "0" is defined as no line activity and a logic "1" is defined as a negative pulse of 200nS duration. A transmission starts with an ALERT BURST consisting of 6 unit intervals of mark (logic "1"). Eight bit data characters are then sent, with each character preceded by 2 unit intervals of mark and one unit interval of space. Five types of transmission can be performed as described below:
Invitations To Transmit
An Invitation To Transmit is used to pass the token from one node to another and is sent by the following sequence:
∙An ALERT BURST
∙An EOT (End Of Transmission: ASCII code 04H)
∙Two (repeated) DID (Destination
ID) characters
ALERT |
EOT DID |
DID |
BURST
Free Buffer Enquiries
A Free Buffer Enquiry is used to ask another node if it is able to accept a packet of data. It is sent by the following sequence:
∙An ALERT BURST
∙An ENQ (ENQuiry: ASCII code 85H)
∙Two (repeated) DID (Destination ID) characters
ALERT |
ENQ |
DID |
DID |
BURST |
|
|
|
|
|
|
|
10
Data Packets
A Data Packet consists of the actual data being sent to another node. It is sent by the following sequence:
∙An ALERT BURST
∙An SOH (Start Of Header--ASCII code 01H)
∙An SID (Source ID) character
∙Two (repeated) DID (Destination ID) characters
∙A single COUNT character which is the 2's complement of the number of data bytes to follow if a short packet is sent, or 00H followed by a COUNT character if a long packet is sent
∙N data bytes where COUNT = 256-N (or 512- N for a long packet)
∙Two CRC (Cyclic Redundancy Check)
characters. The CRC polynomial used is: X16 + X15 + X2 + 1.
ALERT |
SID |
DID |
DID |
COUNT |
data |
data |
CRC CRC |
SOH |
|||||||
BURST |
|
|
|
|
|
|
|
Acknowledgements
An Acknowledgement is used to acknowledge reception of a packet or as an affirmative response to FREE BUFFER ENQUIRIES and is sent by the following sequence:
∙An ALERT BURST
∙An ACK (ACKnowledgement--ASCII code 86H) character
ALERT ACK
BURST
Negative Acknowledgements
A Negative Acknowledgement is used as a negative response to FREE BUFFER ENQUIRIES and is sent by the following sequence:
∙An ALERT BURST
∙A NAK (Negative Acknowledgement--ASCII code 15H) character
ALERT NAK
BURST
11
SYSTEM DESCRIPTION
MICROCONTROLLER INTERFACE
The top halves of Figures 2 and 3 illustrate typical COM20020 interfaces to the microcontrollers. The interfaces consist of an 8- bit data bus, an address bus, and a control bus. In order to support a wide range of microcontrollers without requiring glue logic and without increasing the number of pins, the COM20020 automatically detects and adapts to the type of microcontroller being used. Upon hardware reset, the COM20020 first determines whether the read and write control signals are separate READ and WRITE signals (like the 80XX) or DIRECTION and DATA STROBE (like the 68XX). To determine the type of control signals, the device requires the software to execute at least one write access to external memory before attempting to access the COM20020. The device defaults to 80XX-like signals. Once the type of control signals are determined, the COM20020 remains in this interface mode until the next hardware reset occurs. The second determination the COM20020 makes is whether the bus is multiplexed or non-multiplexed. To determine the type of bus, the device requires the software to write to an odd memory location followed by a read from an odd location before attempting to access the COM20020. The signal on the A0 pin during the odd location access tells the COM20020 the type of bus. Since multiplexed operation requires A0 to be active low, activity on the A0 line tells the COM20020 that the bus is non-multiplexed. The device defaults to multiplexed operation. Both determinations may be made simultaneously by performing a WRITE followed by a READ operation to an odd location within the COM20020 Address space 20020 registers. Once the type of bus is determined, the COM20020 remains in this interface mode until hardware reset occurs. Whenever nCS and nRD are activated, the preset determinations are assumed as final and
will not |
be |
changed until hardware reset. |
Refer |
to |
Description of Pin |
Functions section for details on the related signals. All accesses to the internal RAM and the internal registers are controlled by the COM20020. The internal RAM is accessed via a pointer-based scheme (refer to the Sequential Access Memory section), and the internal registers are accessed via direct addressing. Many peripherals are not fast enough to take advantage of high-speed microcontrollers. Since microcontrollers do not typically have READY inputs, standard peripherals cannot extend cycles to extend the access time. The access time of the COM20020, on the other hand, is so fast that it does not need to limit the speed of the microcontroller. The COM20020 is designed to be flexible so that it is independent of the microcontroller speed.
The COM20020 provides for no wait state arbitration via direct addressing to its internal registers and a pointer based addressing scheme to access its internal RAM. The pointer may be used in auto-increment mode for typical sequential buffer emptying or loading, or it can be taken out of auto-increment mode to perform random accesses to the RAM. The data within the RAM is accessed through the data register. Data being read is prefetched from memory and placed into the data register for the microcontroller to read. It is important to notice that only by writing a new address pointer (writing to an address pointer low), one obtains the contents of COM20020 internal RAM. Performing only read from the Data Register does not load new data from the internal RAM.
During a write operation, the data is stored in the data register and then written into memory. Whenever the pointer is loaded for reads with a new value, data is immediately prefetched to prepare for the first read operation.
12
XTAL1 |
COM20020 |
|
|
|
|
||
XTAL2 |
|
|
|
AD0-AD7 |
AD0-AD2, D3-D7 |
|
|
ALE |
A2/BALE |
RXIN |
|
A15 |
nCS |
|
|
|
|
||
RESET |
nRESET IN |
nTXEN |
75176B or |
Equiv. |
|||
|
|
nPULSE1 |
|
nRD |
nRD/nDS |
nPULSE2 |
|
nWR |
nWR/DIR |
GND |
|
nINT1 |
nINTR |
|
|
|
|
||
|
|
|
Differential Driver |
|
A0/nMUX |
|
Configuration |
|
|
|
|
|
XTAL1 |
XTAL2 |
*Media Interface |
|
may be replaced |
||
|
|
|
|
8051 |
|
|
with Figure A, B or C. |
27 pF |
27 pF |
|
|
|
|
FIGURE 2 - MULTIPLEXED, 8051-LIKE BUS INTERFACE WITH RS-485 INTERFACE
|
|
+5V |
|
|
|
2 |
|
RXIN |
+5V |
6 |
Receiver |
|
|
RXIN |
HFD3212-002 |
|
|
|
|
|
|
7 |
|
|
100 Ohm |
|
|
TXEN |
|
|
|
nPULSE1 |
|
|
Transmitter |
|
|
3 |
HFE4211-014 |
nPULSE2 |
|
nPULSE1 |
|
|
|
+5V |
|
GND |
|
2 |
|
|
|
6 |
|
|
|
7 |
|
|
|
2 Fiber Interface |
|
|
|
(ST Connectors) |
|
|
BACKPLANE CONFIGURATION |
NOTE: COM20020 must be in backplane mode |
|
|
FIGURE A |
FIGURE B |
|
13
XTAL1 |
COM20020 |
|
|
|
|
|
|
||
XTAL2 |
|
|
|
|
D0-D7 |
D0-D7 |
|
|
|
A0 |
A0/nMUX |
|
RXIN |
|
A1 |
A1 |
|
|
|
|
|
|
||
A2 |
A2/BALE |
|
|
75176B or |
A7 |
nCS |
|
|
|
|
TXEN |
Equiv. |
||
|
|
|
||
nRES |
nRESET IN |
|
nPULSE1 |
|
|
nPULSE2 |
|
||
|
|
|
|
|
nIOS |
nRD/nDS |
|
GND |
|
|
|
|
||
R/nW |
nWR/nDIR |
|
|
Differential Driver |
nIRQ1 |
nINTR |
|
|
|
|
|
Configuration |
||
|
XTAL1 |
XTAL2 |
|
* Media Interface |
|
|
may be replaced |
||
|
|
|
|
with Figure A, B or C. |
6801
27 pF
20MHz XTAL
27 pF
FIGURE 3 - NON-MULTIPLEXED, 6801-LIKE BUS INTERFACE WITH RS-485 INTERFACE
|
|
+5V |
|
|
|
HYC9068 or |
10 |
+ |
0.47 |
|
HYC9088 |
|||
|
uF |
|
uF |
|
|
|
|
||
RXIN |
RXIN |
6 |
|
|
|
|
|
||
|
|
12 |
|
|
nTXEN |
N/C |
11 |
|
0.01 uF |
|
|
5.6K |
||
|
|
|
||
nPULSE1 |
nPULSE1 |
|
1KV |
|
|
1/2W |
|||
|
|
|
|
|
nPULSE2 |
nPULSE2 |
|
5.6K |
|
GND |
17, 19, |
|
1/2W |
|
|
|
|
||
4, 13, 14 |
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
0.47 |
|
Traditional Hybrid |
|
|
-5V |
Configuration |
||
|
uF |
|||
|
|
+ 10 |
|
|
|
|
uF |
|
|
FIGURE C
14
TRANSMISSION MEDIA INTERFACE
The bottom halves of Figures 2 and 3 illustrate the COM20020 interface to the transmission media used to connect the node to the network. Table 1 lists different types of cable which are suitable for ARCNET applications.1 The user may interface to the cable of choice in one of three ways:
Traditional Hybrid Interface
reception of data consisting of 1, 1, 0.
Backplane Configuration
The Backplane Open Drain Configuration is recommended for cost-sensitive, short-distance applications like backplanes and instrumentation. This mode is advantageous because it saves components, cost, and power.
The Traditional Hybrid Interface is that which is used with previous ARCNET devices. The Hybrid Interface is recommended if the node is to be placed in a network with other HybridInterfaced nodes. The Traditional Hybrid Interface is for use with nodes operating at 2.5 Mbps only. The transformer coupling of the Hybrid offers isolation for the safety of the system and offers high Common Mode Rejection. The Traditional Hybrid Interface uses circuits like SMSC's HYC9068 or HYC9088 to transfer the pulse-encoded data between the cable and the COM20020. The COM20020 transmits a logic "1" by generating two 100nS non-overlapping negative pulses, nPULSE1 and nPULSE2. Lack of pulses indicates a logic "0". The nPULSE1 and nPULSE2 signals are sent to the Hybrid, which creates a 200nS dipulse signal on the media. A logic "0" is transmitted by the absence of the dipulse. During reception, the 200nS dipulse appearing on the media is coupled through the RF transformer of the LAN Driver, which produces a positive pulse at the RXIN pin of the COM20020. The pulse on the RXIN pin represents a logic "1". Lack of pulse represents a logic "0". Typically, RXIN pulses occur at multiples of 400nS. The COM20020 can tolerate distortion of plus or minus 100nS and still correctly capture and convert the RXIN pulses to NRZ format. Figure 5 illustrates the events which occur in transmission or
1 Please refer to TN7-5 - Cabling Guidelines for the COM20020 ULANC, available from
SMSC, for recommended cabling distance, termination, and node count for ARCNET nodes.
15
Since the Backplane Configuration encodes data differently than the traditional Hybrid Configuration, nodes utilizing the Backplane Configuration cannot communicate directly with nodes utilizing the Traditional Hybrid Configuration.
The Backplane Configuration does not isolate the node from the media nor protects it from Common Mode noise, but Common Mode Noise is less of a problem in short distances.
The COM20020 supplies a programmable output driver for Backplane Mode operation. A push/pull or open drain driver can be selected by programming the P1MODE bit of the Setup Register (see register descriptions for details.) The COM20020 defaults to an open drain output.
The Backplane Configuration provides for direct connection between the COM20020 and the media. Only one pull-up resistor (in open drain configuration of the output driver) is required somewhere on the media (not on each individual node). The nPULSE1 signal, in this mode, is an open drain or push/pull driver and is used to directly drive the media. It issues a 200nS negative pulse to transmit a logic "1". ote that when used in the open-drain mode, the COM20020 does not have a fail/safe input on the RXIN pin. The nPULSE1 signal actually contains a weak pull-up resistor. This pull-up should not take the place of the resistor required on the media for open drain mode.
RT |
+VCC |
|
RT |
|
|
|
|
|
+VCC |
+VCC |
|
75176B or |
RBIAS |
RBIAS |
RBIAS |
|
|||
|
|
||
|
|
|
|
Equiv. |
|
|
|
COM20020 |
COM20020 |
COM20020 |
|
FIGURE 4 - COM20020 NETWORK USING RS-485 DIFFERENTIAL TRANSCEIVERS |
|||
1 |
1 |
|
0 |
20MHZ |
|
|
|
CLOCK |
|
|
|
(FOR REF. |
|
|
|
ONLY) |
|
|
|
100ns |
|
|
|
nPULSE1 |
|
|
|
100ns |
|
|
|
nPULSE2 |
|
|
|
200ns |
|
|
|
DIPULSE |
|
|
|
400ns |
|
|
|
RXIN |
|
|
|
FIGURE 5 - DIPULSE WAVEFORM FOR DATA OF 1-1-0 |
|
||
|
16 |
|
|
In typical applications, the serial backplane is terminated at both ends and a bias is provided by the external pull-up resistor.
The RXIN signal is directly connected to the cable via an internal Schmitt trigger. A negative pulse on this input indicates a logic "1". Lack of pulse indicates a logic "0". For typical singleended backplane applications, RXIN is connected to nPULSE1 to make the serial backplane data line. A ground line (from the coax or twisted pair) should run in parallel with the signal. For applications requiring different treatment of the receive signal (like filtering or squelching), nPULSE1 and RXIN remain as independent pins. External differential drivers/receivers for increased range and common mode noise rejection, for example, would require the signals to be independent of one another. When the device is in Backplane Mode, the clock provided by the nPULSE2 signal may be used for encoding the data into a different encoding scheme or other synchronous operations needed on the serial data stream.
Differential Driver Configuration
The Differential Driver Configuration is a special case of the Backplane Mode. It is a dc coupled configuration recommended for applications like car-area networks or other cost-sensitive applications which do not require direct compatibility with existing ARCNET nodes and do not require isolation.
17
The Differential Driver Configuration cannot communicate directly with nodes utilizing the Traditional Hybrid Configuration. Like the Backplane Configuration, the Differential Driver Configuration does not isolate the node from the media.
The Differential Driver interface includes a RS485 Driver/Receiver to transfer the data between the cable and the COM20020. The nPULSE1 signal transmits the data, provided the Transmit Enable signal is active. The nPULSE1 signal issues a 200nS negative pulse to transmit a logic "1". Lack of pulse indicates a logic "0". The RXIN signal receives the data, the transmitter portion of the COM20020 is disabled during reset and the nPULSE1, nPULSE2 and nTXEN pins are inactive.
Programmable TXEN Polarity
To accommodate transceivers with active high ENABLE pins, the COM20020 contains a programmable TXEN output. To program the TXEN pin for an active high pulse, the nPULSE2 pin should be connected to ground. To retain the normal active low polarity, nPULSE2 should be left open. The polarity determination is made at power on reset and is valid only for Backplane Mode operation. The nPULSE2 pin should remain grounded at all times if an active high polarity is desired.
A0/nMUX A1 A2/BALE
ADDRESS
DECODING
CIRCUITRY 2K x 8 RAM
ADDITIONAL
REGISTERS
AD0-AD2,
D3-D7
nINTR |
STATUS/ |
|
|
|
COMMAND |
|
|
nPULSE1 |
|
|
REGISTER |
MICRO- |
TX/RX |
nPULSE2 |
|
|
SEQUENCER |
nTXEN |
|
|
|
LOGIC |
||
|
|
AND |
||
|
|
|
RXIN |
|
|
|
WORKING |
|
|
|
|
|
|
|
nRESET IN |
RESET |
REGISTERS |
|
|
LOGIC |
|
|
|
|
|
|
|
|
|
|
|
|
OSCILLATOR |
XTAL1 |
|
|
|
XTAL2 |
|
|
|
|
|
|
nRD/nDS |
|
|
|
|
nWR/DIR |
BUS |
|
|
|
|
|
|
|
|
nCS |
ARBITRATION |
|
|
|
|
CIRCUITRY RECONFIGURATION |
NODE ID |
|
|
|
|
TIMER |
LOGIC |
|
FIGURE 6 - INTERNAL BLOCK DIAGRAM
18