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. SMS C is a re gis te red 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.
Revision 0.1 (06-07-07)Page 2SMSC TMC2072
DATASHEET
Peripheral Mode CircLink™ Controller
Datasheet
TABLE OF CONTENTS
Chapter 1 General Description.............................................................................................................6
1.1 About CircLink.....................................................................................................................................6
1.2 About the TMC2072............................................................................................................................7
1.4 Pin Description by Functions.............................................................................................................14
1.4.1 CPU Interface (27)..................................................................................................................................14
1.4.4 External Output or Input/output (10) .......................................................................................................15
1.4.5 Other Input (5) ........................................................................................................................................15
1.5 User Setup Pins ................................................................................................................................16
1.5.1 CPU Type Selection ...............................................................................................................................16
1.5.5 Data Bus Width Selection.......................................................................................................................21
1.5.6 Data Bus Byte Swap...............................................................................................................................21
1.5.7 Data Strobe Polarity Specification ..........................................................................................................21
1.5.9 MAXID Number Setup ............................................................................................................................21
1.5.10 Node ID Setup.....................................................................................................................................22
1.5.22 Test Pins.............................................................................................................................................24
2.5.3 Packet Data Structure............................................................................................................................. 32
2.6 CPU Interface....................................................................................................................................33
2.6.1 CPU Identification and Compatibility Between Intel and Motorola Processors........................................33
2.7.2 Communication Mode.............................................................................................................................36
2.8 Sending in Peripheral Mode..............................................................................................................38
2.8.1 Example of Sending Control from CPU in Free Format Mode ................................................................38
2.8.2 TX Control from CPU in Remote Buffer Mode........................................................................................39
SMSC TMC2072 Page 3 Revision 0.1 (06-07-07)
DATASHEET
Peripheral Mode CircLink™ Controller
Datasheet
2.9 Receive in Peripheral Mode..............................................................................................................39
2.9.1 Temporary Receive and Direct Receive .................................................................................................41
2.9.2 Example of Receive Flow in Free Format Mode.....................................................................................43
2.9.3 Example of Receive Flow in Remote Buffer Mode..................................................................................44
2.9.4 Warning Timer (WT) at Remote Buffer Receive .....................................................................................44
Table 2 - Number of Nodes and RAM Page Size....................................................................................................28
Table 3 - CPU Type ................................................................................................................................................33
Table 4 - Distinction and Matching of the CPU type................................................................................................33
Table 5 - Page Format of Packet Buffer..................................................................................................................42
The CircLink networking controller was developed for small control-oriented local network data
communication based on ARCNET’s token-passing protocol that guarantees message integrity and
calculatable maximum delivery times.
In a CircLink network, when a node receives the token it becomes the temporary master of the network for
a fixed, short period of time. No node can dominate the network since token control must be relinquished
when transmission is complete. Once a transmission is completed the token is passed on to the next node
(logical neighbor), allowing it to be come the master.
Because of this token passing scheme, maximum waiting time for network access can be calculated and
the time performance of the network is predictable or deterministic. Industrial network applications require
predictable performance to ensure that controlled events occur when required.
However, reconfiguration of a regular ARCNET network becomes necessary when the token is missed due
to electronic and magnetic noise. In these cases, the maximum wait time for sending datagrams cannot be
guaranteed and the real-time characteristic is impaired. CircLink makes several modification to the original
ARCNET protocol (such as maximum and consecutive node ID assignment) to avoid token missing as
much as possible and reduce the network reconfiguration time.
Peripheral Mode CircLink™ Controller
Datasheet
CircLink implements other enhancements to the ARCNET protocol including a smaller-sized network ,
shorter packet size, and remote buffer mode operation that enable more efficient and reliable small,
control-oriented LANs. In addition, CircLink introduces several unique features for reducing overall system
cost while increasing system reliability.
CircLink can operate under a special mode called “Standalone” or “I/O” mode. In this mode, CircLink does
not need an administrating CPU for each node. Only one CPU is needed to manage a CircLink network
composed of several nodes, reducing cost and complexity.
In a CircLink network, the data sent by the source node is received by all other nodes in the network and
stored according to node source ID. For the target node the received data is executed per ARCNET flow
control and the data is stored in its buffer RAM. The receiving node processes the data while the remaining
nodes on the network discard the data when the receiving node has completed. This memory-mirroring
function assures higher reliability and significantly reduces network traffic.
Network Standard Time (NST) is also a unique CircLink feature. NST is realized by synchronizing the
individual local time on each network node to the clock master in the designated node from which the
packet is sent. CircLink also uses CMI code for transmitting signals, rather than the dipulse or bipolar
signals that are the standard ARCNET signals. Since CMI encoding eliminates the DC element, a simple
combination of a standard RS485 IC and a pulse transformer can be used to implement a transformercoupled network.
Revision 0.1 (06-07-07) Page 6 SMSC TMC2072
DATASHEET
Peripheral Mode CircLink™ Controller
Datasheet
1.2 About the TMC2072
The TMC2072 network controller is CircLink technology’s flagship product. The TMC2072’s flexibility and
rich feature set enable a high-reliability and high-performance, real-time and control-oriented network
without the cumbersome middle layer protocol stacks and complex packet prioritization schemes typically
required.
TMC2072 operates at network data transfer rates up to 5 Mbps. Its embedded 1k Byte RAM can be
configured into a maximum of 32 pages to implement a 31-node network where each node in the network
has the same local memory.
TMC2072 supports “Peripheral Mode” operation, which includes two selectable communication modes:
“Free Format Mode” and “Remote Buffer Mode”. Free Format mode, retained from ARCNET, is “packet
oriented” communication. Remote Buffer mode communication is a CircLink-specific feature, and is a
token oriented communication, which includes automatic data transmission when the token arrives.
The TMC2072 has a flexible 8-bit or 16-bit data bus to interface various CPU types including X86, 68XX,
and SHx with multiplexed or non-multiplexed address/data. When operating in Peripheral mode, the
TMC2072 has 8-bit programmable I/O available. When operating in Standalone mode, the TMC2072’s I/O
configuration is16-bit. The TMC2072 also integrates a 3-port hub (two ports for external connection) to
accommodate various network topologies (Bus, Star, etc.) and combinations.
nTEST0 IN Nothing T-NRM --- -- nTEST1 IN Nothing T-NRM --- -- nTEST2 IN Nothing T-NRM --- -- nTEST3 IN Nothing T-NRM --- -- nTMODE IN Internal T-NRM --- ---
Total 5
Revision 0.1 (06-07-07)Page 12SMSC TMC2072
DATASHEET
Peripheral Mode CircLink™ Controller
Datasheet
PIN
COUNT PIN NO.
Power Pins
3, 9,
1-8
9-16
Total 16
Total Pin = 100
28, 41,
53, 62,
78, 86
14, 15,
30, 40,
60, 65,
90, 100
PIN NAME DIRECTION
VDD PWR
PERIPHERAL MODE
VSS PWR
(High) : Connect to VDD
(Open) : Not connected
INPUT BUFFER
PULL-
UP TYPE DRIVE TYPE
--- --- --- ---
--- --- --- ---
--- --- --- ---
--- --- --- ---
--- --- --- ---
--- --- --- ---
--- --- --- ---
--- --- --- ---
T-NRM TTL Level Input w/o Schmitt
3s/O Tri-state Output or Normal Output
3s.O Tri-state Output
OUTPUT BUFFER
SMSC TMC2072Page 13Revision 0.1 (06-07-07)
DATASHEET
1.4 Pin Description by Functions
NOTE: * A pin name starting with “n” indicates an active-low pin.
1.4.1 CPU Interface (27)
D[15:6]/ Data Bus (bit15-6)
D[5:0]/AD[5:0] Data Bus / Address Data Bus (bit5-0)
nCS Chip Select Input
nWR/DIR Write Signal Input / Access Direction
nRD/nDS Read Signal Input / Data strobe
A[5:4] Address Input
A[3]/ALEPOL Address Input / ALE Designate Polarity
Peripheral Mode CircLink™ Controller
Datasheet
A[2]/ALE Address Input / ALE
A[1:0] Address (bit1-0)
nINTR Interrupt Output (Active Low)
nRESET Reset Input (Active Low)
1.4.2 Transceiver Interface (5)
RXIN Port1 Receive Data Input
TXEN Port1 Transmit Enable Output
TXD Transmit Data Output (Port1, 2 Common)
RXIN2 Port2 Receive Data Input
TXEN2 Port2 Tr ansmit Enable Output
1.4.3 Setup Pin (33)
nMUX Select Address Multiplex Mode
nRWM Select R/W Mode
W16 Select Data Bus Width
nSWAP Select Swap Mode
Revision 0.1 (06-07-07) Page 14 SMSC TMC2072
DATASHEET
Peripheral Mode CircLink™ Controller
Datasheet
nDSINV nDS Designate Polarity
PS[1:0] Determine Page Size (*1)
NID[4:0] Determine MyID Number (*1)
MAXID[4:0] Determine MAXID Number (*1)
CKP[2:0] Determine Data Rate (*1)
NSTPRE[2:0] NST Resolution
WPRE[1:0] Select Warning Timer Resolution
nDIAG Select Diagnostics Mode
ET1 Determine ARCNET Extended Timer (*1)
nEHWR Select Enhanced Write Mode
nEHRD Select Enhanced Read Mode
TXENPOL TXEN,TXEN2 Designate Polarity
nOPMD Select Optical Transceiver Mode
nCMIBYP Bypass CMI Modem
nHUBON ON/OFF Determine of Internal HUB function
NOTE: (*1) Could be also determined by the register at the Peripheral Mode
1.4.4 External Output or Input/output (10)
nNSTCOUT NST Carry Output
FLASHO Outside Output for FLASH
GPIO[7:0] General-purpose I/O port (bit7-0)
1.4.5 Other Input (5)
nTEST[3:0] Test Pins
nTMODE Test Mode
SMSC TMC2072 Page 15 Revision 0.1 (06-07-07)
DATASHEET
1.4.6 Clock (3)
X1 Crystal Oscillator
X2 Crystal Oscillator
MCKIN Master Clock Input
X1
Peripheral Mode CircLink™ Controller
Datasheet
X2
MCKIN
- Using an external clock :
X1 is connected to GND with MCKIN connected to the input of the external clock
- Using XTAL :
MCKIN is connected to VDD with X1, X2 connected to the Crystal Oscillator
1.5 User Setup Pins
Setup pins are strapped high or low to configure options according to system design. For low, strap to
ground. Many pins have internal pullups on their input buffers. These pins can be left unconnected to keep
them in high state.
1.5.1 CPU Type Selection
(nRWM: Pin)
MCK
(Internal MasterClock)
In Peripheral mode, this pin selects the CPU type; in this case, the definition of nWR/DIR (pin) and
nRD/nDS (pin) are selected. (Refer to Figure 3 - MOTOROLA CPU Mode (68hXX) and Figure 4 - INTEL
CPU MODE (86XX).
Revision 0.1 (06-07-07) Page 16 SMSC TMC2072
DATASHEET
Peripheral Mode CircLink™ Controller
Datasheet
[nRWM=H, nDSINV=H]
DIR
nDS
nWR
nRD
Read Cycle
Figure 3 - MOTOROLA CPU Mode (68hXX)
[nRWM=L, nDSINV=L or H]
Read Cycle
Figure 4 - INTEL CPU MODE (86XX)
Write C ycle
Write Cycle
1.5.2 Address Multiplex Selection
(nMUX: Pin)
In Peripheral mode, this pin specifies the system data bus from bit 5 to 0 and whether the addresses are
multiplexed (Refer to Figure 5 - Non-multiplex Bus, Figure 6 - Multiplex (ALE falling-edge Type) and Figure
7 - Multiplex (ALE rising-edge Type). When the multiplexing bus option is selected, the polarity of A2/ALE
is specified based on A3/ALEPOL.
SMSC TMC2072 Page 17 Revision 0.1 (06-07-07)
DATASHEET
[In case of nMUX=H]
Peripheral Mode CircLink™ Controller
Datasheet
D15-8
D7-0
A5-0
Figure 5 - Non-multiplex Bus
[In Case of nMUX=L, ALEPOL=H]
D ata High B yte
D ata L o w By te
Address
1 Bus C ycle
D15-8
D7-6
AD5-0
Address
Data High Byte
D a ta bit7- 6
D a ta b it5 - 0
ALE
Figure 6 - Multiplex (ALE falling-edge Type)
[In case of nMUX=L, ALEPOL=L]
1 Bus C ycle
D15-8
D7-6
AD5-0
ALE
Address
Figure 7 - Multiplex (ALE rising-edge Type)
Revision 0.1 (06-07-07) Page 18 SMSC TMC2072
D a ta High Byte
D a ta b it7 - 6
D a ta b it5 - 0
DATASHEET
Peripheral Mode CircLink™ Controller
Datasheet
1.5.3 Write Timing Selection
(nEHWR: Pin)
In Peripheral mode, this pin selects the write timing.
[ Example: nMUX=H,nEHWR=H ]
nCS
Write Signal
Tie to Hi for CPU’s where nCS goes Hi before the write signal goes Hi.
[ Example: nMUX=H,nEHWR=L ]
nCS
Write Signal
Tie to Low for CPUs where nCS goes Hi after the write signal goes Hi.
The write signal differs depending on the CPU types.
nRWM = H: nDS signal at DIR = L
nRWM = L: nWR signal
NOTE:Refer to the AC timing specifications (in another document) for details (setup time, hold time, etc.).
Compare timing specifications for nEHWR=L and nEHWR=H.
SMSC TMC2072 Page 19 Revision 0.1 (06-07-07)
DATASHEET
1.5.4 Read Timing Selection
(nEHRD: Pin)
In Peripheral mode, this pin selects the read timing type.
[ In case of nMUX=H,nEHRD=H ]
A[5:0]
nCS
Read Signal
Address Samplin g
timing
Tie to Hi for CPUs with valid address before nCS and the read signal go low.
Peripheral Mode CircLink™ Controller
Datasheet
[ Example: nMUX = H and nEHRD = L ]
A[5:0]
nCS
Read Signal
Address Sampling
timing
Tie to L for the CPU’s where nCS is enabled and addresses are valid after the read signal goes low.
NOTE:Address acquisition timing in the CircLink delays about 50 ns (with 20 MHz-XTAL).
The read signal differs depending on the CPU type:
nRWM = H: nDS signal at DIR = H
nRWM = L: nRD signal
NOTE:Refer to the AC timing specifications (in another document) for details (setup time, hold time, etc.).
Compare timing specifications for nEHRD=L and nEHRD=H.
Revision 0.1 (06-07-07) Page 20 SMSC TMC2072
DATASHEET
Peripheral Mode CircLink™ Controller
Datasheet
1.5.5 Data Bus Width Selection
(W16: Pin)
This pin selects the bit width of the data bus in Peripheral mode; H: 16-bit mode, L: 8-bit mode. In the 16bit mode, the LSB address in the CircLink is fixed to 0.
1.5.6 Data Bus Byte Swap
(nSWAP: Pin)
In Peripheral mode, this pin selects the data order at 8-bit access. CircLink registers are defined as 16-bit
width, but 8-bit access is available and in this case the assignment of lower/upper byte of registers and
odd/even numbers of the address can be changed. nSWAP=L assigns the lower byte to even number
address and the upper byte to odd number address, and nSWAP=H assigns the lower byte to odd number
address and the upper byte to even number address.
1.5.7 Data Strobe Polarity Specification
(nDSINV: pin)
In Peripheral mode, this pin selects the pin polarity of data strobe (nDS). It is active low with nDSINV = H
and active high with nDSINV = L.
1.5.8 Page Size Selection
(PS[1:0]: Pin/Register)
Selects page size per packet. The maximum number of nodes depends on the page size selection since
the packet buffer size is limited to 1 kBytes. There are two methods to specify the page size: either through
pin or register settings depending on INIMODE (bit 9); 0: selects pin, 1: selects register (The default is 0).
The maximum node ID is set based on the number of nodes on the network. All nodes in a CircLink
network, therefore, should have the same maximum node ID. This optimizes the time required to
reconfigure the network. There are two methods to specify the maximum node ID, Either through pin or
register settings depending on INIMODE (bit 9); 0: selects pin, 1: selects register (The default is 0). If the
nDIAG pin is set to L as the exception, however, the maximum node ID is automatically set to the largest
value. For more details, refer to section 2.10 - Diagnostic Mode.
SMSC TMC2072 Page 21 Revision 0.1 (06-07-07)
DATASHEET
Peripheral Mode CircLink™ Controller
Datasheet
1.5.10 Node ID Setup
(NID[4:0]: Pin/Register)
Sets node ID. A unique number must be assigned to each node in the network in ascending order starting
from ID=01. However, ID = 00 and an ID that is larger than the maximum node ID are not valid. There are
two methods to assign the node ID, either through pin or register, settings depending on INIMODE (bit 7)
0: selects pin, 1: select register (The default is 0).
MAXID[4:0] determines the maximum node ID value. The token will only be passed around the nodes
whose IDs are equal to or less than the maximum ID value. In the CircLink network, a node whose
MAXID[4:0] and NID[4:0] matches is the node initiating the token passing.. Even if this particular node is
absent from the network, the network reconfiguration time is greatly reduced because the network will be
reconfigured only for the nodes with IDs less than MAXID[4:0]. Also, given that the maximum number of
nodes is fixed to 31 in a CircLink network, the original priority time of ARCNET, (255 – ID) x 146 μs* ,
which determines the waiting time for network reconfiguration initiation, is modified to (31-ID) x 146 μs,
greatly reducing reconfiguration time.Refer to section 2.4.2 - Reduction of Network Reconfiguration Time
for more details.
NOTE: * 146 μs is defined under operation at 2.5 Mbps based on the ARCNET protocol. The time is half at 5
Mbps.
1.5.11 NST Resolution Setup
(NSTPRE[2:0]: Pin)
Selects the resolution of the network standard time counter (NST). Refer to section 2.11 - Network
Standard Time (NST) for details.
These pins select the warning timer resolution in Peripheral mode. Refer to section 2.9.4 - Warning Timer
(WT) at Remote Buffer Receive for more details.
1.5.14 Diagnosis Mode
(nDIAG: Pin)
This pin sets CircLink to the diagnosis mode. nDIAG to 0 forcibly fixes the MAXID to “1Fh”. Refer to
section 2.10 - Diagnostic Mode for details.
Revision 0.1 (06-07-07) Page 22 SMSC TMC2072
DATASHEET
Peripheral Mode CircLink™ Controller
Datasheet
1.5.15 Prescaler Setup for Communication Speed
(CKP[2:0]: Pin/Register)
CKP2-0 Prescale
40MH z XTA L 20M H z XTAL 32MH z XTA L 16MH z XTA L
Com m unication Speed
00085M bps2.5Mbps4Mbps2Mbps
001162.5Mbps1.25Mbps2Mbps1Mbps
010321.25Mbps625Kbps1M bps500Kbps
01164625Kbps312.5Kbps500Kbps250Kbps
100128312.5Kbps156.25Kbps250Kbps125Kbps
101256156.25Kbps78.125Kbps125K bps62 .5K bps
11 0res erv edres erv edre se rve dres erv edre s erve d
11 1res erv edres erv edre se rve dres erv edre s erve d
Communication speed (transfer rate) selection for CircLink. There are two methods to determine the
communication speed, either through pin or register settings, depending on the specification of INIMODE
(bit 9); 0: pin, 1: register (Default is 0).
1.5.16 CPU Interface Bus Timing Selection
(nEHWR, nEHRD: Pin)
For the functions using Peripheral mode, refer to sections 1.5.3 and 1.5.4.
1.5.17 CMI Bypass Specification
(nCMIBYP: Pin)
Selects bypassing the CMI code/encoding. nCMIBYP = L bypasses the CMI coding/decoding circuit so that
encoding is RZ form signal interface, equivalent to the ARCNET back plane mode.
1.5.18 ON/OFF of HUB Function
(nHUBON: Pin)
Selects ON/OFF ; nHUBON=H selects the HUB function OFF, nHUBON=L selects the HUB function ON
and enables the port 2 (RXIN2 and TXEN2) available. ( in nHUBON = H, RXIN2 should be fixed to High.)
Refer to section 2.13 - HUB Function for the detailed operations.
SMSC TMC2072 Page 23 Revision 0.1 (06-07-07)
DATASHEET
1.5.19 Optical Transceiver Mode
(nOPMD: Pin)
Selects the output mode of the sending-enable; nOPMD = H makes the optical transceiver mode
unavailable and allows the TXEN and TXEN2 output pins to function as “sending-enable”. Setting nOPMD
= L allows TXEN and TXEN2 output pins to function as “sending-enable and sending pulse” to be able to
be directly connected to the TTL input pin of the optical transceiver.
1.5.20 TXEN Polarity Select
(TXENPOL: Pin)
Selects the output polarities of the TXEN and TXEN2 signals. TXENPOL = L selects negative logic and
TXENPOL = H selects positive logic.
1.5.21 Extension Timer Setting 1
(ET1: Pin/Register)
Peripheral Mode CircLink™ Controller
Datasheet
Refer to section 2.13 - HUB Function for operational details.
1.5.22 Test Pins
(nTEST[3:0], nTMODE: Pin)
All pins must be connected to VDD.
Revision 0.1 (06-07-07) Page 24 SMSC TMC2072
DATASHEET
Peripheral Mode CircLink™ Controller
Datasheet
Chapter 2 Functional Description
2.1 Communication Specification
- Data transfer bit rate 78.125 kbps to 2.5 Mbps (at 20 MHz Xtal), (5 Mbps at 40-MHz Xtal)
- The max. number of nodes 31 (ID = 00 is not available for user)
- Data transfer check Only the destination node can check data transfer. Other nodes,
however, can receive(monitor) the same data.
- Protocol Enhanced version of ARCNET (token passing)
The following five classes of messages are identical to those in the ARCNET protocol. Refer to the
ARCNET Controller COM20020 Rev. D Datasheet for more details.
ITT (Token)
ALERT EOT
DID
FBE (Free Buffer Enquiries)
ALERT ENQ
DID
ACK (Acknowledgements)
ALERT ACK
NAK (Negative Acknowledgements)
ALERT NAK
PACKET (Data Packets)
ALERT SOH
SID
DID
DID
DID
DIDCPCRCCRC
DATA X n
N : MAX253
(ARCNET Layer)
SMSC TMC2072 Page 25 Revision 0.1 (06-07-07)
DATASHEET
Peripheral Mode CircLink™ Controller
2.3 CircLink Network Communication Protocol Overview
CircLink is derived from the ARCNET protocol. This section explains the ARCNET basic communication
protocol.
A token (ITT Invitation to Transmit) is a unique signaling sequence that is passed in an orderly fashion
among all the active nodes in the network. When a particular node receives the token, it has the sole right
to initiate a transmission sequence or it must pass the token to it’s logical neighbor. This neighbor can be
physically located anywhere on the network and has the 2nd highest address. Once the token is passed to
the recipient, it has the right to initiate transmission. This token-passing sequence continues in a logical
ring fashion serving all nodes equally. Node addresses must be unique and can range from 0 – 255 with 0
reserved for broadcast messages. In a transmission sequence the node with the token becomes the
source node and any other node selected becomes the destination node. First the source node inquires if
the destination node is in a mode to receive a transmission by sending out a free buffer enquiry (FBE). The
destination node responds by returning an Acknowledgement (ACK) meaning that the buffer is available or
by returning a negative Acknowledgement (NAK) meaning that no buffer is available. Upon receiving the
ACK, the source node sends out the data transmission (PAC) with either 0 – 507 bytes of data (PAC). If
the data was properly received by the destination node as evidenced by a successful CRC test, the
destination node sends another ACK. If the transmission was unsuccessful, the destination node does
nothing causing the source node to timeout. The source node will therefore, infer that the transmission
failed and will retry after it receives the token on the next token pass. The transmission sequence
terminates and the token is passed to the next node. If the desired message exceeds 507 bytes the
message is sent in a series of packets-one packet every token pass.
Datasheet
The ARCNET protocol comprises the reconfiguration process to ensure the complete token passing for
every node linked to the network.
ARCNET has the ability to reconfigure the network automatically if a node is either added or removed from
the network. If a node joins the network it does not automatically participate in the token passing
sequence. Being excluded from receiving the token the new node will generate a reconfiguration burst that
destroys the token passing sequence. Once the token is lost all nodes will cease transmitting and begin a
timeout sequence (Priority Timer, (255-ID) x 146 μs , based on their own node address. The node (Node
ID=N) with the highest address will timeout first and pass the token to the next higher address (Node
ID=N+1).. If that node does not respond, it is assumed that node does not exist. Then the destination node
address is incremented (Node ID=N+2) and the token resent. This process is repeated until a node
responds. At that time the token is released to the responding node and the address of the responding
node is noted as the logical neighbor of the originating node. This process is repeated by all nodes until
each node learns its logical neighbor. This eliminates wasting time in sending datagrams to absent
addresses once the network has been re-established.
When a node leaves the network the reconfiguration process is slightly different. When a node releases
the token to its logical neighbor, it expects its logical neighbor will respond within the respond timeout
window (78 μs) either a token pass or the start of a transmission sequence. If no response within the
response time out window, it assumes that its neighbor has left the network and immediately begins a
search for a new logical neighbor by incrementing the node address of its logical neighbor and initiating a
token pass. Network activity is again monitored and the increment process and resending of the token
continues until a new logical neighbor is found. Once found the network returns to the normal logical ring
routine of passing token to logical neighbors.
These reconfiguration sequences of the network are automatic and seamless without software intervention
required.
Revision 0.1 (06-07-07) Page 26 SMSC TMC2072
DATASHEET
Peripheral Mode CircLink™ Controller
Datasheet
2.4 CircLink Protocol Enhancement
Since the communication of ARCNET is controlled by a token, a token loss and the corresponding
reconfiguration significantly reduce the throughput of the network. In order to maintain the throughput,
modification of the ARCNET protocol is required to realize even higher real-time performance.
2.4.1 Reducing Token Loss
The primary source of token loss is caused by the burst signal. The burst signal is part of the sequence for
new nodes joining the network as described in section 2.3. In the CircLink, however, any new nodes do not
join because all nodes join to the network at the system start-up. In exceptional cases, the node leaves the
network due to token loss and a burst signal sent to r re-join the network. In order to avoid this burst signal,
the ARCNET protocol has been modified to specify node IDs as consecutive numbers starting from 01.
When a node other than the node having the largest node ID (NID [4:0] and MAXID[4:0]) sends a token
with the starting address being the node ID +1, this avoids sending a burst because a token can be
received in the next polling, even if a node has accidentally dropped out from the network.
The token retry function has been added to CircLink such that the possibility of not receiving the response
from the logical neighbor is greatly reduced due to token corruption . . Since the node ID in the CircLink is
consecutive and the retry does not occur in normal conditions, the token retry function does not degrade
the total performance. This function can be set to ON or OFF using software settings. (The default is ON)
Another cause of the token loss is the corruption of ACK/NAK. In the ARCNET flow (refer to page 12 in the
ARCNET controller COM20020I datasheet), if the node receives other signals other than the anticipated
ACK/NAK response (such as noise or, data-deformed ACK/NAK and the like), this node returns to the
receive-wait state with a token being held by the node. The network considers this as a token loss because
the token disappears from the network. To avoid this problem, ARCNET protocol has been modified to
send a token even after the detection of ACK/NAK corruption This function against the ACK/NAK
deformation can be set to ON or OFF. (The default is ON.)
2.4.2 Reduction of Network Reconfiguration Time
To reduce the waiting duration of (255 - ID) x 146 μs* during the network reconfiguration time, CircLink
designates a the node with the maximum ID as the maximum node (MAX_NODE). The node designated to
the maximum node immediately starts sending a token. The destination number starts from 00. The token
sending to 00 is not received by any node but triggers the other nodes to enter into the receive state out of
the (255 - ID) x 146 μs* timer. In addition, the 255 of (255 - ID) x 146 μs* timer formula, derived from
ARCNET, the is modified to
(The maximum number of nodes –ID) x 146 μs depending on the maximum number of nodes, which is
specified by the MAXID [4:0] pin. This modification makes significant reduction of the time required for
network reconfiguration even in the absence of the node set as MAX_NODE.
NOTE: * 146 μs is the time under operation at 2.5 Mbps. The time is half at 5 Mbps..
SMSC TMC2072 Page 27 Revision 0.1 (06-07-07)
DATASHEET
Peripheral Mode CircLink™ Controller
A
Datasheet
2.4.3 Reduction of Reconfiguration Burst Signal Send Time.
Since the CircLink maximum packet size is smaller than for ARCNET, the reconfiguration burst signal is of
shorter duration, reducing the time required for network reconfiguration as listed in the table below:
NOTE: Above “Burst Signal Sending Time” is the time for operation at 2.5 Mbps. The time is half at 5 Mbps.
2.5 RAM Page Expansion
The original ARCNET buffer RAM is divided into 256 or 512-byte per a page. This configuration has a
maximum of four pages available in 1 kByte increments, leaving the majority of the RAM unused when
small data packets are used The CircLink RAM addressing has been modified to significantly expand the
available RAM page numbers and to store pages corresponding to the node IDs on the network as listed in
the table below.
Table 2 - Number of Nodes and RAM Page Size
PAGE SIZE PS[1:0] NODE ID (MIN)
256 Byte 00 01h 03h 100h X ID
128 Byte 01 01h 07h 80h X ID
64 Byte 10 01h 0Fh 40h X ID
32 Byte 11 01h 1Fh 20h X ID
NOTE: *1 : Node ID = 00 is used only for the system development and is not available for users.
*1
NODE ID(MAX) PAGE ADDRESS
Revision 0.1 (06-07-07)Page 28SMSC TMC2072
DATASHEET
Peripheral Mode CircLink™ Controller
.
Datasheet
2.5.1 RAM Access
The CPU accesses the packet buffer (RAM) through the COMR4 register. Prior to access, a read or write
and page number need to be specified using the COMR2 register, as well as the address specification in
the page using the COMR3 register. The accessing method varies depending on the bit width of data bus,
word mode, and swap mode.
NOTE:In word mode = ON, to preserve the upper and lower bytes of word data as in the identical packet, COMR4
must be accessed in order of 08h first and 09h second. This restriction applies to both read and write.
Moreover, it is impossible to independently access CP (address = 02h) in RAM independently To access
the CP, a dummy cycle is necessary. Refer to section 2.5.3 - Packet Data Structure for detail.
Revision 0.1 (06-07-07) Page 30 SMSC TMC2072
DATASHEET
Loading...
+ 76 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.