Communication link contention resolution system
AssigneePhillips Petroleum Company
InventorsMartin H. Beauford, Thomas V. Fritts
Life of this patent
Estimating the term…
Abstract
Each of a plurality of programmable master devices having access to a data communication link is assigned a unique address based on the priority of that master device. Each of the plurality of programmable master devices is also interfaced to an access channel. Each of the plurality of programmable master devices can try to gain control of the data link by activating the access channel. The unique address of each programmable master device provides a means by which the highest priority master devices can lock out the lower priority master devices so as to prevent simultaneous transmission on the data link and also prevent loss of high priority data even when a lower priority programmable master device is the device which has activated the access channel.
Claims10
Apparatus for sychronizing access to a data communication link between a plurality of programmable master devices which each have the capability of initiating a data transaction on said data communication link, said apparatus comprising:
- an access channel communication link;
- means for interfacing each one of said programmable master devices to said access channel in such a manner that each one of said programmable master devices can both determine the state of said access channel and control the state of said access channel, wherein said access channel has a first state when any one of said programmable master devices desires to initiate a data transaction and has a second state when none of said programmable master devices desires to initiate a data transaction;
- a plurality of timer means, each one of said plurality of timer means being associated with a respective one of said programmable master devices;
- means for setting each one of said plurality of timer means to a different time when any one of said programmable master devices desires to initiate a data transaction and drives said access channel to said first state, the time to which each one of said plurality of timer means is set being determined by the priority of the programmable master device with which the timer means is associated;
- means for supplying a clock signal to each one of said timer means, all of said clock signals having the same frequency, all of said timer means counting at the same rate when said access channel is released to said second state after being driven to said first state to set each one of said plurality of timer means to a different time;
- means for informing each one of said programmable master devices when its associated timer means has timed out, wherein the different times at which said plurality of timer means were set provides a unique time slot for each one of said programmable master devices to gain control of said data communication link to execute a data transaction if a higher priority programmable master device has not already gained control of said data communication link.
A method for synchronizing access to a data communication link between a plurality of programmable master devices which each have the capability of initiating a data transaction on said data communication link, wherein each one of said programmable master devices has a unique priority address representative of the priority of that programmable master device, and wherein each one of said programmable master devices is interfaced to an access channel communication link, said method comprising the following sequential steps which are performed by a programmable master device which desires to initiate a data transaction:
- (a) determining if another programmable master device is trying to gain control of said data communication link or has gained control of said data communication link;
- (b) driving said access channel to a first state if another programmable master device has not gained control and is not trying to gain control of said data communication link to thereby preset a timer associated with each one of said programmable master devices to a time representative of the unique priority address for the associated programmable master device;
- (c) releasing said access channel to a second state wherein each one of said timers begin to count at the same time and at the same rate when said access channel is released to said second state;
- (d) waiting until the associated timer has timed out and then determining if a higher priority programmable master device has driven said access channel to said first state;
- and
- (e) driving said access channel to said first state and executing a data transaction if a higher priority programmable master device has not driven said access channel to said first state.
Dependencies are inferred from the claim text.