What is ArcNet?
Attached Resource Computer Network is a communication protocol widely used in build automation. This protocol is very efficient in Local Area Network, wherein multiple devices want to share information at a faster phase. Core functionality of this protocol relies on token passing between nodes. Better analogy could be, consider network as a shared object and token as the key to the object.
What are the Other Features?
- Data speeds up to 10Mpbs
- Variable packet lengths
- Supports Bus or star topology
- Uni-cast and broadcast messages
Let's dive into each message type in the protocol.
RECON - Reconfiguration
This is another important message or feature to keep track of the network changes. This message can be triggered in the following cases:
- When a node joins the network
- When a node leaves the network
- For high performance, it can be triggered every 20 - 30ms
ITT: Invitation to Transmit
Token is the identifier for the node or the device in the network. When node enters the network, it sends a
RECON message. This message will inform the network about change in configuration of the network and re-start the token passing.
Let's take a simple example of a network.
Now node 1 starts the token passing, it will send out ITT message to destination nodes starting from next address of its current address. In our case, it would be 0x0B. It keeps on sending ITT until it receives the response from any node in the network.
Now as you can see, 0x02 node has responded to the request from 0x0a. Now the token is with 0x02 node, so it starts its token parsing to find out another node in the network.
When ITT message reached the destination as 0x05, node three responds takes on the task of token parsing. Then it identifies another node that is i.e 0x0a. So token passing happens until all nodes in the network are identified. For our setup, the initial token passing is completed, we have a network 0x0A <-> 0x02 <-> 0x05 <-> 0x0a.
After accomplishing the network and identifying the nodes in the network, the token passing keeps on continuing as shown below for efficient data transfer.
How? Say for example, 0x0a wants to send some data to 0x05. It can send the data only when it has the token. As I said earlier, token is a kind of key to the network infrastructure and resources.
FBE - Free Buffer Enquiry
Before a node sends a packet to another node, it needs to know if the receiver can accept incoming packets.
When the node has the token, it would send a FBE request to the receiving node. The receiver can choose to send ACK or NAK.
FBE with NAK/ACK is shown below:
This is the message protocol to send data frames to the receiving node. The data could be anything.
The frame contains Source address node, destination node, length and the actual data. The receiver can ACK or NAK the transmission.
PAC sequence is shown below:
- Sent by receiving node to the sender about accepting the information sent
NAK: Negative Acknowledgement
- Sent by receiving node to the sender about rejecting the information sent