![](http://datasheet.mmic.net.cn/370000/TSB14C01AI_datasheet_16743161/TSB14C01AI_25.png)
TSB14C01A, TSB14C01AI, TSB14C01AM
5-V IEEE 1394-1995 BACKPLANE TRANSCEIVER/ARBITER
SGLS107A – FEBRUARY 1999 – REVISED NOVEMBER 1999
25
POST OFFICE BOX 655303
DALLAS, TEXAS 75265
PRINCIPLES OF OPERATION
urgent arbitration
The backplane environment enhances the fair priority algorithm by splitting access opportunities among nodes
based on two priority classes: fair and urgent. Nodes using an urgent priority can use up to three-fourths of the
access opportunities, with the remaining ones equally shared among nodes using the fair priority. All nodes are
required to implement the fair priority class, while the urgent priority class is optional. Packets are labeled as
urgent when that priority class was used.
The fair/urgent allocation uses the same fairness interval described in fair arbitration but accompanies the
arbitration_enable flag with an urgent_count. The fair/urgent method works as follows:
When the bus is idle for longer than an arbitration reset gap, a fairness interval begins and all nodes set
their arbitration_enable flags, while nodes implementing urgent priority set their urgent_count to three.
A node that is waiting to send a packet using the fair priority class should begin arbitrating after detecting
a subaction gap as long as its arbitration_enable flag is set. When its arbitration_enable flag is cleared, it
waits for an arbitration reset gap before it begins arbitrating. When such a node wins an arbitration contest,
it sends a packet without the urgent label and its arbitration_enable flag is cleared.
A node that is waiting to send a packet with urgent priority begins arbitrating after detecting a subaction gap
if its urgent_count is nonzero. When its urgent_count is zero, it waits for an arbitration reset gap before it
begins arbitrating. Whenever such a node wins an arbitration contest, it sends a packet with the urgent label.
A node implementing urgent priority sets its urgent_count to three whenever an unlabeled (i.e., fair) packet
is transmitted or received. This includes received packets that are addressed to other nodes.
A node decrements its urgent_count whenever a packet with the urgent label is transmitted or received. This
includes received packets that are addressed to other nodes. This ensures that there is at most three urgent
packets for every fair packet. This does not ensure that every node using urgent priority obtains the bus
three times for each fairness interval. The node arbitrating with the highest priority always obtains the bus
before other nodes arbitrating with an urgent, but lower, priority.
In the presence of urgent nodes, a fairness interval ends after the final fair node and up to three remaining urgent
nodes have successfully accessed the bus. Since all fair nodes now have their arbitration_enable signals reset
and all urgent nodes have their urgent_count decremented to zero, none of the nodes can access the bus. The
bus remains idle until an arbitration reset gap has occurred, re-enabling arbitration on all nodes and starting the
next fairness interval. This process is illustrated in Figure 13, which illustrates a situation where there are three
nodes arbitrating for the bus with physical_IDs such that A has the highest priority, B is in the middle priority,
and C has the lowest priority, with nodes A and C using fair priority and B using urgent: