Com20020i3v HT
Com20020i3v HT
Com20020i3v HT
3V
5Mbps ARCNET (ANSI
878.1) Controller with
2K x 8 On-Chip RAM
Datasheet
Product Features
New Features: Eight, 256 Byte Pages Allow Four Pages TX and
RX Plus Scratch-Pad Memory
- Data Rates up to 5 Mbps
Next ID Readable
- Programmable Reconfiguration Times
Internal Clock Scaler and Clock Multiplier for
28 Pin PLCC and 48 Pin TQFP Packages; Adjusting Network Speed
Lead-free RoHS Compliant Packages also o o
Operating Temperature Range of -40 C to +85 C
available
Self-Reconfiguration Protocol
Ideal for Industrial/Factory/Building Automation
and Transportation Applications Supports up to 255 Nodes
Deterministic, (ANSI 878.1), Token Passing Supports Various Network Topologies (Star, Tree,
ARCNET Protocol Bus...)
Minimal Microcontroller and Media Interface CMOS, Single +3.3V Supply
Logic Required
Duplicate Node ID Detection
Flexible Interface For Use With All
Powerful Diagnostics
Microcontrollers or Microprocessors
Receive All Packets Mode
Automatically Detects Type of Microcontroller
Interface Flexible Media Interface:
2Kx8 On-Chip Dual Port RAM - Traditional Hybrid Interface For Long
Distances up to Four Miles at 2.5Mbps
Command Chaining for Packet Queuing
- RS485 Differential Driver Interface For Low
Sequential Access to Internal RAM
Cost, Low Power, High Reliability
Software Programmable Node ID
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
ORDERING INFORMATION
Order Numbers:
80 Arkay Drive
Hauppauge, NY 11788
(631) 435-6000
FAX (631) 273-3123
Circuit diagrams and other information relating to SMSC products are included as a means of illustrating typical applications. Consequently, complete
information sufficient for construction purposes is not necessarily given. Although the information has been checked and is believed to be accurate, no
responsibility is assumed for inaccuracies. SMSC reserves the right to make changes to specifications and product descriptions at any time without
notice. Contact your local SMSC sales office to obtain the latest specifications before placing your product order. The provision of this information does
not convey to the purchaser of the described semiconductor devices any licenses under any patent rights or other intellectual property rights of SMSC
or others. All sales are expressly conditional on your agreement to the terms and conditions of the most recently dated version of SMSC's standard
Terms of Sale Agreement dated before the date of your order (the "Terms of Sale Agreement"). The product may contain design defects or errors
known as anomalies which may cause the product's functions to deviate from published specifications. Anomaly sheets are available upon request.
SMSC products are not designed, intended, authorized or warranted for use in any life support or other application where product failure could cause
or contribute to personal injury or severe property damage. Any and all such uses without prior written approval of an Officer of SMSC and further
testing and/or modification will be fully at the risk of the customer. Copies of this document or other SMSC literature, as well as the Terms of Sale
Agreement, may be obtained by visiting SMSC’s website at http://www.smsc.com. SMSC is a registered trademark of Standard Microsystems
Corporation (“SMSC”). Product names and company names are the trademarks of their respective holders.
SMSC DISCLAIMS AND EXCLUDES ANY AND ALL WARRANTIES, INCLUDING WITHOUT LIMITATION ANY AND ALL IMPLIED WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND AGAINST INFRINGEMENT AND THE LIKE, AND ANY AND
ALL WARRANTIES ARISING FROM ANY COURSE OF DEALING OR USAGE OF TRADE. IN NO EVENT SHALL SMSC BE LIABLE FOR ANY
DIRECT, INCIDENTAL, INDIRECT, SPECIAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES; OR FOR LOST DATA, PROFITS, SAVINGS OR
REVENUES OF ANY KIND; REGARDLESS OF THE FORM OF ACTION, WHETHER BASED ON CONTRACT; TORT; NEGLIGENCE OF SMSC
OR OTHERS; STRICT LIABILITY; BREACH OF WARRANTY; OR OTHERWISE; WHETHER OR NOT ANY REMEDY OF BUYER IS HELD TO
HAVE FAILED OF ITS ESSENTIAL PURPOSE, AND WHETHER OR NOT SMSC HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
TABLE OF CONTENTS
2.0 GENERAL DESCRIPTION..............................................................................................................................5
LIST OF FIGURES
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
LIST OF TABLES
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
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 real time applications. The integration of the 2Kx8 RAM buffer on-chip, the Command Chaining feature, the
5 Mbps maximum data rate, and the internal diagnostics make the COM20020I the highest performance embedded
communications device available. With only one COM20020I and one microcontroller, a complete communications node
may be implemented.
For more details on the ARCNET protocol engine and traditional dipulse signaling 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 RS-485 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 COM20020I ULANC.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
nRESET IN
nPULSE2
nTXEN
nINTR
RXIN
24
VSS
nCS
A0/nMUX 1 VDD
A1 2 23 nRD/nDS
A2/ALE 3 22 nWR/DIR 25 24 23 22 21 20 19
nWR/DIR 26 18 nPULSE 1
AD0 4 21 nCS
nRD/nDS 27 17 XTAL2
AD1 5 20 nINTR
D4 8 17 RXIN A1 2 14 VSS
D5 9 16 nPULSE2
A2/ALE 3 13 N/C
D6 10 15 nPULSE1
AD0 4 12 D7
D7 11 14 XTAL2 5 6 7 8 9 10 11
VSS 12 13 XTAL1
D3
D4
D5
D6
AD1
AD2
VSS
Package: 28-Pin PLCC
Packages: 24-Pin DIP or 28-Pin PLCC
Ordering Information:
Ordering Information:
COM20020 I P
COM20019 I P
PACKAGE TYPE: P = Plastic, LJP = PLCC
PACKAGE TYPE: P = Plastic, LJP = PLCC
TEMP
TEMPRANGE:
RANGE: (Blank) = Commercial:
1 = Industrial: -40° C to0°C
75°toC+70°C
I = Industrial: -40°C to +85°C
DEVICETYPE:
DEVICE TYPE: 20019
20020==Universal
UniversalLocal
LocalArea
Area Network
Network Controller
(with 2K x 8 RAM)
(with 2K x 8 RAM)
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
A0/nMUX
nRD/nDS
nWR/DIR
A2/ALE
VDD
VDD
VSS
N/C
N/C
N/C
N/C
A1
48
47
46
45
44
43
42
41
40
39
38
37
AD0 1 36 nCS
AD1 2 35 VDD
N/C 3 34 nINTR
AD2 4 33 N/C
COM20020I
N/C 5 32 VDD
VSS 6 48 PIN TQFP 31 nRESET
D3 7 30 VSS
VDD 8 29 nTXEN
D4 9 28 RXIN
D5 10 27 N/C
VSS 11 26 BUSTMG
D6 12 25 nPULSE2
13
14
15
16
17
18
19
20
21
22
23
24
XTAL1
XTAL2
N/C
N/C
N/C
N/C
N/C
VDD
nPULSE1
D7
VSS
VSS
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
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 (420 mS)* this ID?
N Y
TA? Y Free Buffer N
Enquiry to
this ID? Y N
Transmit Y N SOH?
NAK RI?
Y N
RI?
Transmit
ACK Write SID N
Broadcast? to Buffer No Activity
N Transmit for 41
Y Free Buffer uS?
Enquiry DID Y
Send No Y Y
Activity =0?
Packet
N for 37.4 Set NID=ID
us? N N
Y N Broadcast
ACK? Enabled?
DID Start Timer:
Y =ID?
Was Packet Y N N Y T=(255-ID)
NAK? Set TA Y x 73 us
Broadcast?
1 Write Buffer
N with Packet Activity Y
On Line?
No Y
Activity Set TA Pass the
for 37.4 Token N
us?
N N
N CRC T=0?
No OK?
Increment Y Activity N Y
NID for 37.4 Y
N Y
ACK? Set TMA us?
LENGTH N
OK?
Y
Y
DID Set RI
- ID refers to the identification number of the ID assigned to this node. =0?
- NID refers to the next identification number that receives the token N
after this ID passes it.
- SID refers to the source identification. DID N
- DID refers to the destination identification. =ID?
- SOH refers to the start of header character; preceeds all data packets. Y
* Reconfig timer is programmable via setup2 register bits 1, 0. SEND ACK
Note - All time values are valid for 5 Mbps.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
Example: IDLE LINE Timeout @ 5 Mbps = 41 μs. IDLE LINE Timeout for 156.2 Kbps is 41 μs * 32 = 1.3 ms
INTERNAL
CLOCK CLOCK TIMEOUT SCALING
FREQUENCY PRESCALER DATA RATE FACTOR (MULTIPLY BY)
40 MHz Div. by 8 5 Mbps 1
20 MHz Div. by 8 2.5 Mbps 2
Div. by 16 1.25 Mbps 4
Div. by 32 625 Kbps 8
Div. by 64 312.5 Kbps 16
Div. by 128 156.25 Kbps 32
This clock multiplier is powered-down (bypassed) on default. After changing the CKUP1 and CKUP0 bits, the
ARCNET core operation is stopped and the internal PLL in the clock generator is awakened and it starts to generate
the 40 MHz. The lock out time of the internal PLL is 8uSec typically. After more than 8 μsec (this wait time is defined
as 1 msec in this data sheet), it is necessary to write command data '18H' to the command register to re-start the
ARCNET core operation. This clock generator is called “clock multiplier”.
Changing the CKUP1 and CKUP0 bits must be one time or less after releasing hardware reset.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
The EF bit in the SETUP2 register must be set when the data rate is over 5 Mbps.
When any COM20020I senses an idle line for greater than 41μS, which occurs only when the token Is lost, each
COM20020I starts an internal timeout equal to 73μs times the quantity 255 minus its own ID. The COM20020I 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 COM20020I starts sending INVITATION TO
TRANSMIT with the Destination ID (DID) equal to the currently stored NID. Within a given network, only one
COM20020I will timeout (the one with the highest ID number). After sending the INVITATION TO TRANSMIT, the
COM20020I waits for activity on the line. If there is no activity for 37.4μS, the COM20020I increments the NID value
and transmits another INVITATION TO TRANSMIT using the NID equal to the DID. If activity appears before the
37.4μS timeout expires, the COM20020I releases control of the line. During NETWORK RECONFIGURATION,
INVITATIONS TO TRANSMIT are sent to all NIDs (1-255).
Each COM20020I on the network will finally have saved a NID value equal to the ID of the COM20020I 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 12 to 30.5 mS.
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 COM20020I to start sending a message in response to a
received message) which is approximately 6.4 μ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 15.5 μS translates to a distance of about 2 miles. The flow chart in Figure 1 uses a value of 37.4
S (15.5 + 15.5 + 6.4) to determine if any node will respond.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
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 41 μS. This 41 μS is equal to the Response
Time of 37.4 μS plus the time it takes the COM20020I 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 2 miles stated earlier. The logic levels on these bits control the maximum distances over which the
COM20020I can operate by controlling the three timeout values described above. For proper network operation, all
COM20020I's connected to the same network must have the same Response Time, Idle Time, and Reconfiguration
Time.
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
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)
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
Two CRC (Cyclic Redundancy Check) characters. The CRC polynomial used is: X16 + X15 + X2 + 1.
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
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
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
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 FOR TQFP section for details on the related signals. All
accesses to the internal RAM and the internal registers are controlled by the COM20020I. 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 COM20020I, on the other hand, is so fast that it does not need to limit the speed of the
microcontroller. The COM20020I is designed to be flexible so that it is independent of the microcontroller speed.
The COM20020I 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 COM20020I 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.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
XTAL1 COM20020I
XTAL2
AD0- AD0-AD2, D3-
27 pF 27 pF
20 MHz
XTAL
+5V
RXIN +3.3V 2
Receive
6 HFD3212-
RXIN
3.3V-5V Converter
100 7
TXEN
nPULSE Transmitte
3 HFE4211-
nPULSE nPULSE
+5V
GND 2
6
7
2 Fiber
(ST
FIGURE A FIGURE B
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
XTAL1
COM2002
XTAL2
D0-D7 D0-D7
A0 A0/nMUX
RXIN
A1 A1
A2 A2/BALE LTC1480 or
TXEN Equiv.
A7 nCS
nPULSE1
nRES nRESET
nPULSE2
nIOS nRD/nDS
GND
R/nW nWR/nDIR
nIRQ1 nINTR Differential Driver
Configuration
6801
* Media Interface
may be replaced
XTAL1 XTAL2 with Figure A, B or C.
27 pF 20MHz 27 pF
XTAL
+5V
HYC9068 or
10 + 0.47
HYC9088 uF
3.3V-5V Converter uF
RXIN RXIN 6
12
nTXEN N/C
11 0.01 uF
5.6K
nPULSE1 nPULSE1 1KV
1/2W
nPULSE2 nPULSE2 5.6K
1/2W
GND 17, 19,
4, 13, 14
3
Traditional Hybrid
0.47
uF -5V Configuration
+ 10
*Valid for 2.5 Mbps only.
uF
FIGURE C
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
In addition, the Diagnostic Status (DIAG) register is cleared automatically by reading itself. The internal DIAG register
read signal is generated by decoding the Address (A2-A0), Chip Select (nCS) and Read (nRD) signals. The decoder
will generate a noise spike at the above tight timing. The DIAG register is cleared by the spike signal without reading
itself. This is unexpected operation. Reading the internal RAM and Next Id Register have the same mechanism as
reading the DIAG register.
Therefore, the address decode and host interface mode blocks were modified to fit the above CPU interface to
support high speed CPU bus timing. In Intel CPU mode (nRD, nWR mode), 3 bit I/O address (A2-A0) and Chip
Select (nCS) are sampled internally by Flip-Flops on the falling edge of the internal delayed nRD signal. The internal
real read signal is the more delayed nRD signal. But the rising edge of nRD doesn't delay. By this modification, the
internal real address and Chip Select are stable while the internal real read signal is active. Refer to Figure 4 below.
nRD
Delayed nRD
(nRD1)
The I/O address and Chip Select signals, which are supplied to the data output logic, are not sampled. Also, the nRD
signal is not delayed, because the above sampling and delaying paths decrease the data access time of the read
cycle.
The above sampling and delaying signals are supplied to the Read Pulse Generation logic which generates the
clearing pulse for the Diagnostic register and generates the starting pulse of the RAM Arbitration. Typical delay time
between nRD and nRD1 is around 15nS and between nRD1 and nRD2 is around 10nS.
Longer pulse widths are needed due to these delays on nRD signal. However, the CPU can insert some wait cycles
to extend the width without any impact on performance.
The RBUSTMG bit was added to Disable/Enable the High Speed CPU Read function. It is defined as: RBUSTMG=0,
Disabled (Default); RBUSTMG=1, Enabled.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
In the MOTOROLA CPU mode (DIR, nDS mode), the same modifications apply.
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
COM20020I. 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 COM20020I 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
reception of data consisting of 1, 1, 0.
Please refer to TN7-5 – Cabling Guidelines for the COM20020I ULANC, available from SMSC, for recommended
cabling distance, termination, and node count for ARCNET nodes.
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.
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 COM20020I 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 1 Register (see register descriptions for details). The
COM20020I defaults to an open drain output.
The Backplane Configuration provides for direct connection between the COM20020I 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". Note that when used in the open-drain mode, the COM20020I
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.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
RT +3.3V RT
+3.3V +3.3V
RBIAS RBIAS
LTC1480 or RBIAS
Equiv.
1 1 0
20MHZ
CLOCK
(FOR REF.
ONLY)
100ns
nPULSE1
100ns
nPULSE2
200ns
DIPULSE
400ns
RXIN
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
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 single-ended 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.
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
COM20020I. The nPULSE1 signal transmits the data, provided the Transmit Enable signal is active. The nPULSE1
signal issues a 200nS (at 2.5Mbps) 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 COM20020I is disabled during reset and the nPULSE1, nPULSE2
and nTXEN pins are inactive.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
A0/nMUX
A1
A2/BALE ADDRESS
DECODING 2K x 8
CIRCUITRY
RAM
ADDITIONAL
REGISTERS
AD0-AD2,
D3-D7
STATUS/
nINTR COMMAND nPULSE1
REGISTER nPULSE2
MICRO- TX/RX
nTXEN
SEQUENCER LOGIC RXIN
AND
WORKING
RESET
nRESET REGISTERS
LOGIC
XTAL1
OSCILLATOR XTAL2
nRD/nDS
nWR/DIR BUS
nCS ARBITRATION
CIRCUITRY RECONFIGURATION NODE ID
TIMER LOGIC
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
Note: For more detailed information on Cabling options including RS-485, transformer-coupled RS-485 and Fiber Optic
interfaces, please refer to TN7-5 – Cabling Guidelines for the COM20020I ULANC, available from Standard
Microsystems Corporation.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
The COM20020I derives a 10 MHz and a 5 MHz clock from the output clock of the Clock Multiplier. These clocks
provide the rate at which the instructions are executed within the COM20020I. The 10 MHz clock is the rate at which
the program counter operates, while the 5 MHz clock is the rate at which the instructions are executed. The
microprogram is stored in the ROM and the instructions are fetched and then placed into the instruction registers.
One register holds the opcode, while the other holds the immediate data. Once the instruction is fetched, it is
decoded by the internal instruction decoder, at which point the COM20020I proceeds to execute the instruction.
When a no-op instruction is encountered, the microsequencer enters a timed loop and the program counter is
temporarily stopped until the loop is complete. When a jump instruction is encountered, the program counter is
loaded with the jump address from the ROM. The COM20020I contains an internal reconfiguration timer which
interrupts the microsequencer if it has timed out. At this point the program counter is cleared and the MYRECON bit
of the Diagnostic Status Register is set.
READ
REGISTER MSB LSB ADDR
STATUS RI/TRI X/RI X/TA POR TEST RECON TMA TA/ 00
TTA
DIAG. MY-RECON DUPID RCV- TOKEN EXC- TENTID NEW X 01
STATUS ACT NAK NEXT
ID
ADDRESS RD-DATA AUTO- X X X A10 A9 A8 02
PTR HIGH INC
ADDRESS A7 A6 A5 A4 A3 A2 A1 A0 03
PTR LOW
DATA D7 D6 D5 D4 D3 D2 D1 D0 04
SUB ADR (R/W)* 0 0 0 (R/W)* SUB- SUB- SUB- 05
AD2 AD1 AD0
CONFIG- RESET CCHE TXEN ET1 ET2 BACK- SUB- SUB- 06
URATION N PLANE AD1 AD0
TENTID TID7 TID6 TID5 TID4 TID3 TID2 TID1 TID0 07-0
NODE ID NID7 NID6 NID5 NID4 NID3 NID2 NID1 NID0 07-1
SETUP1 P1 MODE FOUR X RCV- CKP3 CKP2 CKP1 SLOW- 07-2
NAKS ALL ARB
NEXT ID NXT ID7 NXT NXT NXT NXT NXT NXT NXT 07-3
ID6 ID5 ID4 ID3 ID2 ID1 ID0
SETUP2 RBUS-TMG X CKU CKUP0 EF NO- RCN- RCM- 07-4
P1 SYNC TM1 TM2
Note*: (R/W) This bit can be Written or Read. For more information see Appendix B.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
WRITE
ADDR MSB LSB REGISTER
00 RI/TR1 0 0 0 EXCNAK RECO NEW TA/ INTERRUPT
N NEXTID TTA MASK
01 C7 C6 C5 C4 C3 C2 C1 C0 COMMAND
02 RD- AUTO- 0 0 0 A10 A9 A8 ADDRESS
DATA INC PTR HIGH
03 A7 A6 A5 A4 A3 A2 A1 A0 ADDRESS
PTR LOW
04 D7 D6 D5 D4 D3 D2 D1 D0 DATA
05 (R/W)* 0 0 0 (R/W)* SUB- SUB- SUB- SUBADR
AD2 AD1 AD0
06 RESE CCHEN TXEN ET1 ET2 BACK- SUB- SUB- CONFIG-
T PLANE AD1 AD0 URATION
07-0 TID7 TID6 TID5 TID4 TID3 TID2 TID1 TID0 TENTID
07-1 NID7 NID6 NID5 NID4 NID3 NID2 NID1 NID0 NODEID
07-2 P1- FOUR 0 RCV- CKP3 CKP2 CKP1 SLOW- SETUP1
MODE NAKS ALL ARB
07-3 0 0 0 0 0 0 0 0 TEST
07-4 RBUS- 0 CKUP CKUP0 EF NO- RCN- RCN- SETUP2
TMG 1 SYNC TM1 TM0
Note*:(R/W) This bit can be Written or Read. For more information see Appendix B.
The six maskable status bits are ANDed with their respective mask bits, and the results are ORed to produce the
interrupt signal. An RI or TA interrupt is masked when the corresponding mask bit is reset to logic "0", but will reappear
when the corresponding mask bit is set to logic "1" again, unless the interrupt status condition has been cleared by this
time. A RECON interrupt is cleared when the "Clear Flags" command is issued. An EXCNAK interrupt is cleared when
the "POR Clear Flags" command is issued. A New Next ID interrupt is cleared by reading the Next ID Register. The
Interrupt Mask Register defaults to the value 0000 0000 upon hardware reset.
Data Register
This read/write 8-bit register is used as the channel through which the data to and from the RAM passes. The data is
placed in or retrieved from the address location presently specified by the address pointer. The contents of the Data
Register are undefined upon hardware reset. In case of READ operation, the Data Register is loaded with the contents
of COM20020I Internal Memory upon writing Address Pointer low only once.
Tentative ID Register
The Tentative ID Register is a read/write 8-bit register accessed when the Sub Address Bits are set up accordingly
(please refer to the Configuration Register and SUB ADR Register). The Tentative ID Register can be used while the
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
node is on-line to build a network map of those nodes existing on the network. It minimizes the need for operator
interaction with the network. The node determines the existence of other nodes by placing a Node ID value in the
Tentative ID Register and waiting to see if the Tentative ID bit of the Diagnostic Status Register gets set. The network
map developed by this method is only valid for a short period of time, since nodes may join or depart from the network at
any time. When using the Tentative ID feature, a node cannot detect the existence of the next logical node to which it
passes the token. The Next ID Register will hold the ID value of that node. The Tentative ID Register defaults to the
value 0000 0000 upon hardware reset only.
Node ID Register
The Node ID Register is a read/write 8-bit register accessed when the Sub Address Bits are set up accordingly (please
refer to the Configuration Register and SUB ADR Register). The Node ID Register contains the unique value which
identifies this particular node. Each node on the network must have a unique Node ID value at all times. The Duplicate
ID bit of the Diagnostic Status Register helps the user find a unique Node ID. Refer to the Initialization Sequence section
for further detail on the use of the DUPID bit. The core of the COM20020I does not wake up until a Node ID other than
zero is written into the Node ID Register. During this time, no microcode is executed, no tokens are passed by this node,
and no reconfigurations are caused by this node. Once a non-zero NodeID is placed into the Node ID Register, the core
wakes up but will not join the network until the TXEN bit of the Configuration Register is set. While the Transmitter is
disabled, the Receiver portion of the device is still functional and will provide the user with useful information about the
network. The Node ID Register defaults to the value 0000 0000 upon hardware reset only.
Next ID Register
The Next ID Register is an 8-bit, read-only register, accessed when the sub-address bits are set up accordingly (please
refer to the Configuration Register and SUB ADR Register). The Next ID Register holds the value of the Node ID to
which the COM20020I will pass the token. When used in conjunction with the Tentative ID Register, the Next ID
Register can provide a complete network map. The Next ID Register is updated each time a node enters/leaves the
network or when a network reconfiguration occurs. Each time the microsequencer updates the Next ID Register, a New
Next ID interrupt is generated. This bit is cleared by reading the Next ID Register. Default value is 0000 0000 upon
hardware or software reset.
Status Register
The COM20020I Status Register is an 8-bit read-only register. All of the bits, except for bits 5 and 6, are software
compatible with previous SMSC ARCNET devices. In previous SMSC ARCNET devices the Extended Timeout status
was provided in bits 5 and 6 of the Status Register. In the COM20020I, the COM20020I, the COM90C66, and the
COM90C165, COM20020I-5, COM20051 and COM20051+ these bits exist in and are controlled by the Configuration
Register. The Status Register contents are defined as in TABLE 4, but are defined differently during the Command
Chaining operation. Please refer to the Command Chaining section for the definition of the Status Register during
Command Chaining operation. The Status Register defaults to the value 1XX1 0001 upon either hardware or software
reset.
Command Register
Execution of commands are initiated by performing microcontroller writes to this register. Any combinations of written
data other than those listed in TABLE 5 are not permitted and may result in incorrect chip and/or network operation.
Configuration Register
The Configuration Register is a read/write register which is used to configure the different modes of the COM20020I.
The Configuration Register defaults to the value 0001 1000 upon hardware reset only. SUBAD0 and SUBAD1 point to
the selection in Register 7.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
Sub-Address Register
The sub-address register is new to the COM20020I, previously a reserved register. Bits 2, 1 and 0 are used to select
one of the registers assigned to address 7h. SUBAD1 and SUBAD0 already exist in the Configuration register on the
COM20020IB. They are exactly same as those in the Sub-Address register. If the SUBAD1 and SUBAD0 bits in the
Configuration register are changed, the SUBAD1and SUBAD0 in the Sub-Address register are also changed.
SUBAD2 is a new sub-address bit. It Is used to access the 1 new Set Up register, SETUP2. This register is selected
by setting SUBAD2=1. The SUBAD2 bit is cleared automatically by writing the Configuration register.
Setup 1 Register
The Setup 1 Register is a read/write 8-bit register accessed when the Sub Address Bits are set up accordingly (see the
bit definitions of the Configuration Register). The Setup 1 Register allows the user to change the network speed (data
rate) or the arbitration speed independently, invoke the Receive All feature and change the nPULSE1 driver type. The
data rate may be slowed to 156.25Kbps and/or the arbitration speed may be slowed by a factor of two. The Setup 1
Register defaults to the value 0000 0000 upon hardware reset only.
Setup 2 Register
The Setup 2 Register is new to the COM20020I. It is an 8-bit read/write register accessed when the Sub Address Bits
SUBAD[2:0] are set up accordingly (see the bit definitions of the Sub Address Register). This register contains bits for
various functions. The CKUP1,0 bits select the clock to be generated from the 20 MHz crystal. The RBUSTMG bit is
used to Disable/Enable Fast Read function for High Speed CPU bus support. The EF bit is used to enable the new
timing for certain functions in the COM20020I (if EF = 0, the timing is the same as in the COM20020I Rev. B). See
Appendix “A”. The NOSYNC bit is used to enable the NOSYNC function during initialization. If this bit is reset, the
line has to be idle for the RAM initialization sequence to be written. If set, the line does not have to be idle for the
initialization sequence to be written. See Appendix “A”.
The RCNTM[1,0] bits are used to set the time-out period of the recon timer. Programming this timer for shorter time
periods has the benefit of shortened network reconfiguration periods. The time periods shown in the table on the
following page are limited by a maximum number of nodes in the network. These time-out period values are for
5Mbps. For other data rates, scale the time-out period time values accordingly; the maximum node count remains the
same.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
Reconfig
Response Idle Time Time
ET2 ET1 Time (μS) (μS) (mS)
0 0 596.6 656 840
0 1 298.4 328 840
1 0 149.2 164 840
1 1 37.4 41 420
Note: These values are for 5Mbps and RCNTMR[1,0]=00.
Reconfiguration time is changed by the RCNTMR1 and
RCNTMR0 bits.
2 Backplane BACK- A logic "1" on this bit puts the device into Backplane Mode
PLANE signaling which is used for Open Drain and Differential Driver
interfaces.
1,0 Sub Address 1,0 SUBAD These bits determine which register at address 07 may be
1,0 accessed. The combinations are as follows:
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
Data Register
I/O Address 04H Memory
Data Bus
2K x 8
D0-D7 8
INTERNAL
RAM
Address Pointer Register
I/O Address 02H I/O Address 03H
High Low
Memory
Address Bus
11-Bit Counter
11
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
Access Speed
The COM20020I is able to accommodate very fast access cycles to its registers and buffers. Arbitration to the buffer
does not slow down the cycle because the pointer based access method allows data to be prefetched from memory and
stored in a temporary register. Likewise, data to be written is stored in the temporary register and then written to
memory.
For systems which do not require quick access time, the arbitration clock may be slowed down by setting bit 0 of the
Setup1 Register equal to logic "1". Since the Slow Arbitration feature divides the input clock by two, the duty cycle of the
input clock may be relaxed.
SOFTWARE INTERFACE
The microcontroller interfaces to the COM20020I via software by accessing the various registers. These actions are
described in the Internal Registers section. The software flow for accessing the data buffer is based on the Sequential
Access scheme. The basic sequence is as follows:
Disable Interrupts
Write to Pointer Register High (specifying Auto-Increment mode)
Write to Pointer Register Low (this loads the address)
Enable Interrupts
Read or Write the Data Register (repeat as many times as necessary to empty or fill the buffer)
The pointer may now be read to determine how many transfers were completed.
The software flow for controlling the Configuration, Node ID, Tentative ID, and Next ID registers is generally limited to
the initialization sequence and the maintenance of the network map.
Additionally, it is necessary to understand the details of how the other Internal Registers are used in the transmit and
receive sequences and to know how the internal RAM buffer is properly set up. The sequence of events that tie these
actions together is discussed as follows.
When the Offset bit "f" (bit 5 of the "Enable Transmit (Receive) from (to) Page fnn" command word) is set to logic "1", an
offset of 256 bytes is added to the page specified. For example: to transmit from the second half of page 0, the
command "Enable Transmit from Page fnn" (fnn=100 in this case) is issued by writing 0010 0011 to the Command
Register. This allows a finer resolution of the buffer pages without affecting software compatibility. This scheme is useful
for applications which frequently use packet sizes of 256 bytes or less, especially for microcontroller systems with limited
memory capacity. The remaining portions of the buffer pages which are not allocated for current transmit or receive
packets may be used as temporary storage for previous network data, packets to be sent later, or as extra memory for
the system, which may be indirectly accessed.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
If the device is configured to handle both long and short packets (see "Define Configuration" command), then receive
pages should always be 512 bytes long because the user never knows what the length of the receive packet will be. In
this case, the transmit pages may be made 256 bytes long, leaving at least 512 bytes free at any given time. Even if the
Command Chaining operation is being used, 512 bytes is still guaranteed to be free because Command Chaining only
requires two pages for transmit and two for receive (in this case, two 256 byte pages for transmit and two 512 byte
pages for receive, leaving 512 bytes free). Please note that it is the responsibility of software to reserve 512 bytes for
each receive page if the device is configured to handle long packets. The COM20020I does not check page boundaries
during reception. If the device is configured to handle only short packets, then both transmit and receive pages may be
allocated as 256 bytes long, freeing at least 1KByte at any given time.
Even if the Command Chaining operation is being used, 1KByte is still guaranteed to be free because Command
Chaining only requires two pages for transmit and two for receive (in this case, a total of four 256 byte pages, leaving 1K
free).
The general rule which may be applied to determine where in RAM a page begins is as follows:
Address = (nn x 512) + (f x 256).
Transmit Sequence
During a transmit sequence, the microcontroller selects a 256 or 512 byte segment of the RAM buffer and writes into it.
The appropriate buffer size is specified in the "Define Configuration" command. When long packets are enabled, the
COM20020I interprets the packet as either a long or short packet, depending on whether the buffer address 2 contains a
zero or non-zero value. The format of the buffer is shown in Figure 9. Address 0 contains the Source Identifier (SID);
Address 1 contains the Destination Identifier (DID); Address 2 (COUNT) contains, for short packets, the value 256-N,
where N represents the number of information bytes in the message, or for long packets, the value 0, indicating that it is
indeed a long packet. In the latter case, Address 3 (COUNT) would contain the value 512-N, where N represents the
number of information bytes in the message.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
The SID in Address 0 is used by the receiving node to reply to the transmitting node. The COM20020I puts the local
ID in this location, therefore it is not necessary to write into this location. Please note that a short packet may contain
between 1 and 253 data bytes, while a long packet may contain between 257 and 508 data bytes. A minimum value
of 257 exists on a long packet so that the COUNT is expressible in eight bits. This leaves three exception packet
lengths which do not fit into either a short or long packet; packet lengths of 254, 255, or 256 bytes. If packets of
these lengths must be sent, the user must add dummy bytes to the packet in order to make the
packet fit into a long packet.
Once the packet is written into the buffer, the microcontroller awaits a logic "1" on the TA bit, indicating that a previous
transmit command has concluded and another may be issued. Each time the message is loaded and a transmit
command issued, it will take a variable amount of time before the message is transmitted, depending on the traffic on
the network and the location of the token at the time the transmit command was issued. The conclusion of the Transmit
Command will generate an interrupt if the Interrupt Mask allows it. If the device is configured for the Command Chaining
operation, please see the Command Chaining section for further detail on the transmit sequence. Once the TA bit
becomes a logic "1", the microcontroller may issue the "Enable Transmit from Page fnn" command, which resets the TA
and TMA bits to logic "0". If the message is not a BROADCAST, the COM20020I automatically sends a FREE BUFFER
ENQUIRY to the destination node in order to send the message. At this point, one of four possibilities may occur.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
The first possibility is if a free buffer is available at the destination node, in which case it responds with an
ACKnowledgement. At this point, the COM20020I fetches the data from the Transmit Buffer and performs the transmit
sequence. If a successful transmit sequence is completed, the TMA bit and the TA bit are set to logic "1". If the packet
was not transmitted successfully, TMA will not be set. A successful transmission occurs when the receiving node
responds to the packet with an ACK. An unsuccessful transmission occurs when the receiving node does not respond
to the packet.
The second possibility is if the destination node responds to the Free Buffer Enquiry with a Negative AcKnowledgement.
A NAK occurs when the RI bit of the destination node is a logic "1". In this case, the token is passed on from the
transmitting node to the next node. The next time the transmitter receives the token, it will again transmit a FREE
BUFFER ENQUIRY. If a NAK is again received, the token is again passed onto the next node. The Excessive NAK bit
of the Diagnostic Status Register is used to prevent an endless sending of FBE's and NAK's. If no limit of FBE-NAK
sequences existed, the transmitting node would continue issuing a Free Buffer Enquiry, even though it would
continuously receive a NAK as a response. The EXCNAK bit generates an interrupt (if enabled) in order to tell the
microcontroller to disable the transmitter via the "Disable Transmitter" command. This causes the transmission to be
abandoned and the TA bit to be set to a logic "1" when the node next receives the token, while the TMA bit remains at a
logic "0". Please refer to the Improved Diagnostics section for further detail on the EXCNAK bit.
The third possibility which may occur after a FREE BUFFER ENQUIRY is issued is if the destination node does not
respond at all. In this case, the TA bit is set to a logic "1", while the TMA bit remains at a logic "0". The user should
determine whether the node should try to reissue the transmit command.
The fourth possibility is if a non-traditional response is received (some pattern other than ACK or NAK, such as noise).
In this case, the token is not passed onto the next node, which causes the Lost Token Timer of the next node to time
out, thus generating a network reconfiguration.
The "Disable Transmitter" command may be used to cancel any pending transmit command when the COM20020I next
receives the token. Normally, in an active network, this command will set the TA status bit to a logic "1" when the token
is received. If the "Disable Transmitter" command does not cause the TA bit to be set in the time it takes the token to
make a round trip through the network, one of three situations exists. Either the node is disconnected from the network,
or there are no other nodes on the network, or the external receive circuitry has failed. These situations can be
determined by either using the improved diagnostic features of the COM20020I or using another software timeout which
is greater than the worst case time for a round trip token pass, which occurs when all nodes transmit a maximum length
message.
Receive Sequence
A receive sequence begins with the RI status bit becoming a logic "1", which indicates that a previous reception has
concluded. The microcontroller will be interrupted if the corresponding bit in the Interrupt Mask Register is set to logic
"1". Otherwise, the microcontroller must periodically check the Status Register. Once the microcontroller is alerted to the
fact that the previous reception has concluded, it may issue the "Enable Receive to Page fnn" command, which resets
the RI bit to logic "0" and selects a new page in the RAM buffer. Again, the appropriate buffer size is specified in the
"Define Configuration" command. Typically, the page which just received the data packet will be read by the
microcontroller at this point. Once the "Enable Receive to Page fnn" command is issued, the microcontroller attends to
other duties. There is no way of knowing how long the new reception will take, since another node may transmit a
packet at any time. When another node does transmit a packet to this node, and if the "Define Configuration" command
has enabled the reception of long packets, the COM20020I interprets the packet as either a long or short packet,
depending on whether the content of the buffer location 2 is zero or non-zero. The format of the buffer is shown in
Figure 10. Address 0 contains the Source Identifier (SID), Address 1 contains the Destination Identifier (DID), and
Address 2 contains, for short packets, the value 256-N, where N represents the message length, or for long packets, the
value 0, indicating that it is indeed a long packet. In the latter case, Address 3 contains the value 512-N, where N
represents the message length. Note that on reception, the COM20020I deposits packets into the RAM buffer in the
same format that the transmitting node arranges them, which allows for a message to be received and then
retransmitted without rearranging any bytes in the RAM buffer other than the SID and DID. Once the packet is received
and stored correctly in the selected buffer, the COM20020I sets the RI bit to logic "1" to signal the microcontroller that
the reception is complete.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
MSB LSB
Through the use of a dual two-level FIFO, commands to be transmitted and received, as well as the status bits, are
pipelined.
In order for the COM20020I to be compatible with previous SMSC ARCNET device drivers, the device defaults to the
non-chaining mode. In order to take advantage of the Command Chaining operation, the Command Chaining Mode
must be enabled via a logic "1" on bit 6 of the Configuration Register.
The following is a list of Command Chaining guidelines for the software programmer. Further detail can be found in the
Transmit Command Chaining and Receive Command Chaining sections.
The device is designed such that the interrupt service routine latency does not affect performance.
Up to two outstanding transmissions and two outstanding receptions can be pending at any given time. The
commands may be given in any order.
Up to two outstanding transmit interrupts and two outstanding receive interrupts are stored by the device, along with
their respective status bits.
The Interrupt Mask bits act on TTA (Rising Transition on Transmitter Available) for transmit operations and TRI
(Rising Transition of Receiver Inhibited) for receive operations. TTA is set upon completion of a packet
transmission only. TRI is set upon completion of a packet reception only. Typically there is no need to mask the
TTA and TRI bits after clearing the interrupt.
The traditional TA and RI bits are still available to reflect the present status of the device.
When the processor issues the first "Enable Transmit to Page fnn" command, the COM20020I responds in the usual
manner by resetting the TA and TMA bits to prepare for the transmission from the specified page. The TA bit can be
used to see if there is currently a transmission pending, but the TA bit is really meant to be used in the non-chaining
mode only. The TTA bits provide the relevant information for the device in the Command Chaining mode.
In the Command Chaining Mode, at any time after the first command is issued, the processor can issue a second
"Enable Transmit from Page fnn" command. The COM20020I stores the fact that the second transmit command was
issued, along with the page number.
After the first transmission is completed, the COM20020I updates the Status Register by setting the TTA bit, which
generates an interrupt. The interrupt service routine should read the Status Register. At this point, the TTA bit will be
found to be a logic "1" and the TMA (Transmit Message Acknowledge) bit will tell the processor whether the
transmission was successful. After reading the Status Register, the "Clear Transmit Interrupt" command is issued, thus
resetting the TTA bit and clearing the interrupt. Note that only the "Clear Transmit Interrupt" command will clear the TTA
bit and the interrupt. It is not necessary, however, to clear the bit or the interrupt right away because the status of the
transmit operation is double buffered in order to retain the results of the first transmission for analysis by the processor.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
This information will remain in the Status Register until the "Clear Transmit Interrupt" command is issued. Note that the
interrupt will remain active until the command is issued, and the second interrupt will not occur until the first interrupt is
acknowledged. The COM20020I guarantees a minimum of 200nS (at EF=1) interrupt inactive time interval between
interrupts. The TMA bit is also double buffered to reflect whether the appropriate transmission was a success. The
TMA bit should only be considered valid after the corresponding TTA bit has been set to a logic "1". The TMA bit never
causes an interrupt.
When the token is received again, the second transmission will be automatically initiated after the first is completed by
using the stored "Enable Transmit from Page fnn" command. The operation is as if a new "Enable Transmit from Page
fnn" command has just been issued. After the first Transmit status bits are cleared, the Status Register will again be
updated with the results of the second transmission and a second interrupt resulting from the second transmission will
occur. The COM20020I guarantees a minimum of 200ns (at EF=1) interrupt inactive time interval before the following
edge.
The Transmitter Available (TA) bit of the Interrupt Mask Register now masks only the TTA bit of the Status Register, not
the TA bit as in the non-chaining mode. Since the TTA bit is only set upon transmission of a packet (not by RESET),
and since the TTA bit may easily be reset by issuing a "Clear Transmit Interrupt" command, there is no need to use the
TA bit of the Interrupt Mask Register to mask interrupts generated by the TTA bit of the Status Register.
In Command Chaining mode, the "Disable Transmitter" command will cancel the oldest transmission. This permits
canceling a packet destined for a node not ready to receive. If both packets should be canceled, two "Disable
Transmitter" commands should be issued.
After the first packet is received into the first specified page, the TRI bit of the Status Register will be set to logic "1",
causing an interrupt. Again, the interrupt need not be serviced immediately. Typically, the interrupt service routine will
read the Status Register. At this point, the RI bit will be found to be a logic "1". After reading the Status Register, the
"Clear Receive Interrupt" command should be issued, thus resetting the TRI bit and clearing the interrupt. Note that only
the "Clear Receive Interrupt" command will clear the TRI bit and the interrupt. It is not necessary, however, to clear the
bit or the interrupt right away because the status of the receive operation is double buffered in order to retain the results
of the first reception for analysis by the processor, therefore the information will remain in the Status Register until the
"Clear Receive Interrupt" command is issued. Note that the interrupt will remain active until the "Clear Receive Interrupt"
command is issued, and the second interrupt will be stored until the first interrupt is acknowledged. A minimum of
200nS (at EF=1) interrupt inactive time interval between interrupts is guaranteed.
The second reception will occur as soon as a second packet is sent to the node, as long as the second "Enable Receive
to Page fnn" command was issued. The operation is as if a new "Enable Receive to Page fnn" command has just been
issued. After the first Receive status bits are cleared, the Status Register will again be updated with the results of the
second reception and a second interrupt resulting from the second reception will occur.
In the COM20020I, the Receive Inhibit (RI) bit of the Interrupt Mask Register now masks only the TRI bit of the Status
Register, not the RI bit as in the non-chaining mode. Since the TRI bit is only set upon reception of a packet (not by
RESET), and since the TRI bit may easily be reset by issuing a "Clear Receive Interrupt" command, there is no need to
use the RI bit of the Interrupt Mask Register to mask interrupts generated by the TRI bit of the Status Register. In
Command Chaining mode, the "Disable Receiver" command will cancel the oldest reception, unless the reception has
already begun. If both receptions should be canceled, two "Disable Receiver" commands should be issued.
RESET DETAILS
The COM20020I supports two reset options; software and hardware reset. A software reset is generated when a logic
"1" is written to bit 7 of the Configuration Register. The device remains in reset as long as this bit is set. The software
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
reset does not affect the microcontroller interface modes determined after hardware reset, nor does it affect the contents
of the Address Pointer Registers, the Configuration Register, or the Setup1 Register. A hardware reset occurs when a
low signal is asserted on the nRESET input. The minimum reset pulse width is 5TXTL. This pulse width is used by the
internal digital filter, which filters short glitches to allow only valid resets to occur.
Upon reset, the transmitter portion of the device is disabled and the internal registers assume those states outlined in the
Internal Registers section. After the nRESET signal is removed the user may write to the internal registers. Since writing
a non-zero value to the Node ID Register wakes up the COM20020I core, the Setup1 Register should be written before
the Node ID Register. Once the Node ID Register is written to, the COM20020I reads the value and executes two write
cycles to the RAM buffer. Address 0 is written with the data D1H and address 1 is written with the Node ID. The data
pattern D1H was chosen arbitrarily, and is meant to provide assurance of proper microsequencer operation.
Bus Determination
Writing to and reading from an odd address location from the COM20020I's address space causes the COM20020I to
determine the appropriate bus interface. When the COM20020I is powered on the internal registers may be written to.
Since writing a non-zero value to the Node ID Register wakes up the core, the Setup1 Register should be written to
before the Node ID Register. Until a non-zero value is placed into the NID Register, no microcode is executed, no
tokens are passed by this node, and no reconfigurations are generated by this node. Once a non-zero value is placed in
the register, the core wakes up, but the node will not attempt to join the network until the TX Enable bit of the
Configuration Register is set.
Before setting the TX Enable bit, the software may make some determinations. The software may first observe the
Receive Activity and the Token Seen bits of the Diagnostic Status Register to verify the health of the receiver and the
network.
Next, the uniqueness of the Node ID value placed in the Node ID Register is determined. The TX Enable bit should still
be a logic "0" until it is ensured that the Node ID is unique. If this node ID already exists, the Duplicate ID bit of the
Diagnostic Status Register is set after a maximum of 420mS (or 840mS if the ET1 and ET2 bits are other than 1,1). To
determine if another node on the network already has this ID, the COM20020I compares the value in the Node ID
Register with the DID's of the token, and determines whether there is a response to it. Once the Diagnostic Status
Register is read, the DUPID bit is cleared. The user may then attempt a new ID value, wait 420mS before checking the
Duplicate ID bit, and repeat the process until a unique Node ID is found. At this point, the TX Enable bit may be set to
allow the node to join the network. Once the node joins the network, a reconfiguration occurs, as usual, thus setting the
MYRECON bit of the Diagnostic Status Register.
The Tentative ID Register may be used to build a network map of all the nodes on the network, even once the
COM20020I has joined the network. Once a value is placed in the Tentative ID Register, the COM20020I looks for a
response to a token whose DID matches the Tentative ID Register. The software can record this information and
continue placing Tentative ID values into the register to continue building the network map. A complete network map is
only valid until nodes are added to or deleted from the network. Note that a node cannot detect the existence of the next
logical node on the network when using the Tentative ID. To determine the next logical node, the software should read
the Next ID Register.
A high level on the My Reconfiguration (MYRECON) bit indicates that the Token Reception Timer of this node expired,
causing a reconfiguration by this node. After the Reconfiguration (RECON) bit of the Status Register interrupts the
microcontroller, the interrupt service routine will typically read the MYRECON bit of the Diagnostic Status Register.
Reading the Diagnostic Status Register resets the MYRECON bit. Successive occurrences of a logic "1" on the
MYRECON bit indicates that a problem exists with this node. At that point, the transmitter should be disabled so that the
entire network is not held down while the node is being evaluated.
The Duplicate ID (DUPID) bit is used before the node joins the network to ensure that another node with the same ID
does not exist on the network. Once it is determined that the ID in the Node ID Register is unique, the software should
write a logic "1" to bit 5 of the Configuration Register to enable the basic transmit function. This allows the node to join
the network.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
The Receive Activity (RCVACT) bit of the Diagnostic Status Register will be set to a logic "1" whenever activity (logic "1")
is detected on the RXIN pin.
The Token Seen (TOKEN) bit is set to a logic "1" whenever any token has been seen on the network (except those
tokens transmitted by this node).
The RCVACT and TOKEN bits may help the user to troubleshoot the network or the node. If unusual events are
occurring on the network, the user may find it valuable to use the TXEN bit of the Configuration Register to qualify
events. Different combinations of the RCVACT, TOKEN, and TXEN bits, as shown indicate different situations:
Normal Results:
RCVACT=1, TOKEN=1, TXEN=0: The node is not part of the network. The network is operating properly without this
node.
RCVACT=1, TOKEN=1, TXEN=1: The node sees receive activity and sees the token. The basic transmit function is
enabled. Network and node are operating properly.
RCVACT=1, TOKEN=0, TXEN=X: The node sees receive activity, but does not see the token. Either no other nodes
exist on the network, some type of data corruption exists, the media driver is malfunctioning, the topology is set up
incorrectly, there is noise on the network, or a reconfiguration is occurring.
RCVACT=0, TOKEN=0, TXEN=1: No receive activity is seen and the basic transmit function is enabled. The
transmitter and/or receiver are not functioning properly.
RCVACT=0, TOKEN=0, TXEN=0: No receive activity and basic transmit function disabled. This node is not connected
to the network.
The Excessive NAK (EXCNAK) bit is used to replace a timeout function traditionally implemented in software. This
function is necessary to limit the number of times a sender issues a FBE to a node with no available buffer. When the
destination node replies to 128 FBEs with 128 NAKs or 4 FBEs with 4 NAKs, the EXCNAK bit of the sender is set,
generating an interrupt. At this point the software may abandon the transmission via the "Disable Transmitter"
command. This sets the TA bit to logic "1" when the node next receives the token, to allow a different transmission to
occur. The timeout value for the EXNACK bit (128 or 4) is determined by the FOUR-NAKS bit on the Setup1 Register.
The user may choose to wait for more NAK's before disabling the transmitter by taking advantage of the wraparound
counter of the EXCNAK bit. When the EXCNAK bit goes high, indicating 128 or 4 NAKs, the "POR Clear Flags"
command maybe issued to reset the bit so that it will go high again after another count of 128 or 4. The software may
count the number of times the EXCNAK bit goes high, and once the final count is reached, the "Disable Transmitter"
command may be issued.
The New Next ID bit permits the software to detect the withdrawal or addition of nodes to the network.
The Tentative ID bit allows the user to build a network map of those nodes existing on the network. This feature is
useful because it minimizes the need for human intervention. When a value placed in the Tentative ID Register matches
the Node ID of another node on the network, the TENTID bit is set, telling the software that this NODE ID already exists
on the network. The software should periodically place values in the Tentative ID Register and monitor the New Next ID
bit to maintain an updated network map.
OSCILLATOR
The COM20020I contains circuitry which, in conjunction with an external parallel resonant crystal or TTL clock, forms an
oscillator.
If an external crystal is used, two capacitors are needed (one from each leg of the crystal to ground). No external
resistor is required, since the COM20020I contains an internal resistor. The crystal must have an accuracy of 0.020% or
better. The oscillation frequency range is from 10 MHz to 20 MHz.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
The crystal must have an accuracy of 0.010% or better when the internal clock multiplier is turned on. The oscillation
frequency must be 20MHz when the internal clock multiplier is turned on.
The XTAL2 side of the crystal may be loaded with a single 74HC-type buffer in order to generate a clock for other
devices.
The user may attach an external TTL clock, rather than a crystal, to the XTAL1 signal. In this case, a 390Ω pull-up
resistor is required on XTAL1, while XTAL2 should be left unconnected.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
*Stresses above those listed may cause permanent damage to the device. This is a stress rating only and functional
operation of the device at these or any other condition above those indicated in the operational sections of this
specification is not implied.
Note: When powering this device from laboratory or system power supplies, it is important that the Absolute Maximum
Ratings not be exceeded or device failure can result. Some power supplies exhibit voltage spikes or "glitches" on their
outputs when the AC power is switched on or off. In addition, voltage transients on the AC power line may appear on
the DC output. If this possibility exists it is suggested that a clamp circuit be used.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
Inputs: Outputs:
t
t
2.4V 2.0V
1.4V 50%
0.4V 0.8V
t
2.4V 2.0V
1.4V
0.4V 50%
0.8V
t
Inputs are driven at 2.4V for logic "1" and 0.4 V for logic "0" except XTAL1 pin.
Outputs are measured at 2.0V min. for logic "1" and 0.8V max. for logic "0".
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
AD0-AD2,
VALID VALID DATA
D3-D7
t1 t2,
nCS t4
t3 t12
ALE t11
t6 t7
t5 t13
nDS
t14
Note 2
t8
t9 t10
DIR
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
AD0-AD2,
VALID VALID DATA
D3-D7
t1 t2,
t4
nCS
t3 t10
ALE
t9
t6
nRD t7
t5
t8
nWR t13 Note 3 t11
t12
Note 2
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
t3 t12
ALE t11
t5 t7
nDS t6
Note 2
t8**
t13 t8
DIR t14
t9 t10
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
t3
t10
t9
ALE
t5 t7
nWR t6
Note 2
t8**
t12 t8
Note 3 t11
nRD t13
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
A0-A2 VALID
t1 t2
nCS
t4
t3
Note 3 t5
nRD
t10 t8 t9
Note 2
nWR t6 t7
** nCS may become active after control becomes active, but the access time (t6)
will now be 45nS measured from the leading edge of nCS.
Note 1: The Microcontroller typically accesses the COM20020 on every other cycle.
Therefore, the cycle time specified in the microcontroller's datasheet
should be doubled when considering back-to-back COM20020 cycles.
**Note 2: Read cycle for Address Pointer Low/High Registers occurring after a read from
Data Register requires a minimum of 5TARB from the trailing edge of nRD to the
leading edge of the next nRD.
Note 3: Read cycle for Address Pointer Low/High Registers occurring after a write to
Data Register requires a minimum of 5TARB from the trailing edge of nWR to the
leading edge of nRD.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
A0-A2 VALID
t1 t2
nCS
t4
t3
Note 3 t5
nRD t10 t8 t9
Note 2
nWR t6 t7
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
A0-A2 VALID
t1 t2
nCS
t3 t4
DIR t7
t5
t6
nDS
t10 t11
Note 2
t8 t9
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
A0-A2 VALID
t1 t2
nCS
t3 t4
DIR t7
t5
t6
nDS
t10 t11
Note 2
t8 t9
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
A0-A2
VALID
t1 t2
nCS
t4
t3
Note 3 t8 t9
nRD t10 t5
nWR
Note 2
t6 t5**
t7
D0-D7 VALID DATA
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
A0-A2 VALID
t1 t2
nCS
t4
DIR t3
t5 t7
nDS t10 t11
Note 2
t8 t6**
t9 t6
D0-D7 VALID DATA
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
nTXEN
t4
t2 t5
t1
nPULSE1
LAST BIT
(400 nS BIT TIME)
t3
t2
t1
nPULSE2
t6 t8
RXIN
t7
t1 t2 t3
4.0V
50% of VDD
XTAL1 1.0V
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
t1
nRESET
nINTR
t2
t1
nRESET
nINTR
t2
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
G
E PIN N O. J
1 A
B1
D3 D2
J J C
D1
A1
D
Seating
Plane
Plane
Base
D IM 28L
A .160-.180
A1 .090-.120
B .013-.021
B1 .026-.032
C .020-.045
D .485-.495
D1 .450-.456
D2 .390-.430
D3 .300 R EF
E .050 BSC
F .042-.056
G .042-.048
J .000-.020
R .025-.045
N OTES:
1. A ll dim ensions are in inches.
2. C ircle indicating pin 1 can appear on a top surface as show n on the draw ing or
right above it on a beveled edge.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
11.0 APPENDIX A
This appendix describes the function of the NOSYNC and EF bits.
NOSYNC Bit
The NOSYNC bit controls whether or not the RAM initialization sequence requires the line to be idle by enabling or
disabling the SYNC command during initialization. It is defined as follows:
NOSYNC: Enable/Disable SYNC command during initialization. NOSYNC=0, Enable (Default): the line has to be idle
for the RAM initialization sequence to be written, NOSYNC=1, Disable: the line does not have to be idle for the RAM
initialization sequence to be written.
During initialization, after the CPU writes the Node ID, the COM20020I will write "D1"h data to Address 000h and
Node-ID to Address 001h of its internal RAM within 6uS. These values are read as part of the diagnostic test. If the
D1 and Node-ID initialization sequence cannot be read, the initialization routine will report it as a device diagnostic
failure. These writes are controlled by a micro-program which sometimes waits if the line is active; SYNC is the micro-
program command that causes the wait. When the micro-program waits, the initial RAM write does not occur, which
causes the diagnostic error. Thus in this case, if the line is not idle, the initialization sequence may not be written,
which will be reported as a device diagnostic failure.
However, the initialization sequence and diagnostics of the COM20020I should be independent of the network status.
This is accomplished through some additional logic to decode the program counter, enabled by the NOSYNC bit.
When it finds that the micro-program is in the initialization routine, it disables the SYNC command. In this case, the
initialization will not be held up by the line status.
Thus, by setting the NOSYNC bit, the line does not have to be idle for the RAM initialization sequence to be written.
EF Bit
The EF bit controls several modifications to internal operation timing and logic. It is defined as follows:
EF: Enable/Disable the new internal operation timing and logic refinements. EF=0: (Default) Disable the new internal
operation timing (the timing is the same as in the COM20020I Rev. B); EF=1: Enable the new internal operation
timing.
While the interrupt is active (nINTR pin=0), the interrupt is disabled by writing the Clear Tx/Rx interrupt and Clear Flag
command and by reading the Next-ID register. This minimum disable time is changed by the Data Rate. For
example, it is 200 nS at 2.5 Mbps and 100 nS at 5 Mbps. The 100 nS width will be too short to for the Interrupt to be
seen.
Setting the EF bit will change the minimum disable time to always be more than 200 nS even if the Data Rate is 5
Mbps . This is done by changing the clock which is supplied to the Interrupt Disable logic. The frequency of this clock
is always less than 20MHz even if the data rate is 5 Mbps.
The Pre-Scalar is used to change the data rate. The output clock is selected by CKP3-1 bits in the Set-Up register.
The CKP3-1 bits are changed by writing the Set-Up register from outside the CPU. It's not synchronized between the
CPU and COM20020I. Thus, changing the CKP3-1 timing does not synchronize with the internal clocks of Pre-Scalar,
and changing CKP3-1 may cause spike noise to appear on the output clock line.
Setting the EF bit will include flip-flops inserted between the Configuration register and Pre-Scalar for synchronizing
the CKP3-1 with Pre-Scalar’s internal clocks.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
Never change the CKP3-1 when the data rate is over 5 Mbps. They must all be zero.
The COM20020I limits the write interval time for continuous writing to the Command register. The minimum interval
time is changed by the Data Rate. It's 100 nS at the 2.5 Mbps and 1.6 μS at the 156.25 Kbps. This 1.6 μS is very long
for CPU.
Setting the EF bit will change the clock source from OSCK clock (8 times frequency of data rate) to XTAL clock
which is not changed by the data rate, such that the minimum interval time becomes 100 nS.
D) Eliminate The Write Prohibition Period For The Enable Tx/Rx Commands
The COM20020I has a write prohibition period for writing the Enable Transmit/Receive Commands. This period is
started by the TA or RI bit (Status Reg.) returning to High. This prohibition period is caused by setting the TA/RI bit
with a pulse signal. It is 3.2 μS at 156.25 Kbps. This period may be a problem when using interrupt processing. The
interrupt occurrs when the RI bit returns to High. The CPU writes the next Enable Receive Command to the other
page immediately. In this case, the interval time between the interrupt and writing Command is shorter than 3.2 μS.
Setting the EF bit will cause the TA/RI bit to return to High upon release of the pulse signal for setting the TA/RI bit,
instead of at the start of the pulse. This is illustrated in Figure 27.
EF=0
Tx/Rx completed
TA/RI bit
Setting Pulse
nINTR pin
prohibition period
EF=1
Tx/Rx completed
TA/RI bit
Setting Pulse
nINTR pin
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
The EF bit also controls the resolution of the following issues from the COM20020I Rev. B:
Tentative ID is used for generating the Network MAP, but it sometimes detects a non-existent node. Every time the
Tentative-ID register is written, the effect of the old Tentative-ID remains active for a while, which results in an
incorrect network map. It can be avoided by a carefully coded software routine, but this requires the programmer to
have deep knowledge of how the COM20020I works. Duplicate-ID is mainly used for generating the Network MAP.
This has the same issue as Tentative-ID.
A minor logic change clears all the remaining effects of the old Tentative-ID and the old Duplicate-ID, when the
COM20020I detects a write operation to Tentative-ID or Node-ID register. With this change, programmers can use
the Tentative-ID or Duplicate-ID for generating the network MAP without any issues. This change is Enabled/Disabled
by the EF bit.
The Mask register is reset by a soft reset in the COM20020I Rev. A, but is not reset in Rev. B. The Mask register is
related to the Status and Diagnostic register, so it should be reset by a soft reset. Otherwise, every time the soft
reset happens, the COM20020I Rev. B generates an unnecessary interrupt since the status bits RI and TA are back
to one by the soft reset.
This is resolved by changing the logic to reset the Mask register both by the hard reset and by the soft reset. The soft
reset is activated by the Node-ID register going to 00h or by the RESET bit going to High in the Configuration
register. This solution is Enabled/Disabled by the EF bit.
DATASHEET
5Mbps ARCNET (ANSI 878.1) Controller with 2K x 8 On-Chip RAM
12.0 APPENDIX B
12.1 Software Identification of the COM20020I Rev B, Rev C and Rev D
In order to properly write software to work with the COM20020I Rev B, C and D it is necessary to be able to identify
the different revisions of the part.
* If the value read from Register-6 is 0x98 then the part is a COM20020I Rev B or earlier
* If the value read from Register-6 is 0x9A then go to next step below
* If the value read from Register-5 is 0x00 then the part is a COM20020I Rev C
• If the value read from Register-5 is 0x80 then the part is a COM20020I Rev D
DATASHEET