
Virtual Token Passing
Each P-NET master is given a node
address (NA), between 1 and the number of masters
expected within a system.
All masters contain an idle
bus bit period counter which increments for each
bit period the bus is idle, but is reset to zero when the
bus becomes active. Each master also has an access
counter, which is incremented when the idle bus bit
period counter reaches 40, 50, 60, ...
When the access counter in a master
is equal to its node address, that master holds the
token, and is allowed access to the bus. When the access
counter exceeds the maximum number of masters, it is
preset to 1.

Figure 12: Vitual token passing.
The diagram in fig. 12
shows an example of the token principles in P-NET, within
a system configured for 4 masters.
First, master 3 has
the token, and is receiving a response from a slave. Then
the bus becomes idle.
When 40 idle bit
periods have been counted, all access counters are
incremented by 1, and master 4 is allowed access to the
bus. Since master 4 does not have anything to send, and
after 50 bit periods, master 1 is allowed access to the
bus.
Master 1 does not need
bus use either (it may not even be present), so the
virtual token is passed to master 2, when the idle bus
bit period counter reaches 60.
Since masters 2 and 3
do not require access, the token is eventually passed on
to master 4, when the idle bus bit period counter is
equal to 80. This time, master 4 does require access.
Data appears on the bus, so all idle bus bit period
counters are reset to zero.
The passing of the
virtual token takes place within only 130 ìS or 10 bit
periods, and no data is actually sent over the bus. A
single network can have up to 32 masters with equal
priority, and no hierarchy needs to be managed.
Consequently, P-NET
does not require any bus arbitrator functions. Virtual
token passing is much more efficient than passing the
token by message.
|