Bus address assignment
First Claim
1. A controller device comprising:
- a bus interface for communicating over a bus based on addresses assigned to a plurality of devices which communicate over the bus, the devices comprising a plurality of second devices and a plurality of controller devices including said controller device, wherein each of the controller devices is responsible for assigning one or more of the addresses including at least the address of each of a respective one or more of said second devices;
address allocation logic configured to assign an address to each of said controller device'"'"'s respective one or more second devices, by;
searching for a currently unassigned address to assign to each of its respective one or more second devices, and if an unassigned address for one of the one or more respective second devices cannot be found, to issue a request to at least one other of said controller devices requesting that the other controller device changes one of the one or more addresses which that other controller device is responsible for assigning; and
wherein the address allocation logic is configured to perform said search for a currently unassigned address by;
sending a message to a candidate address over the bus, and determining that the candidate address is already assigned if an acknowledgment is received back from the candidate address in response, and determining that the candidate address is currently unassigned if an acknowledgement is not received back from the candidate address in response.
3 Assignments
0 Petitions
Accused Products
Abstract
A plurality of devices communicate over a bus, the devices comprising a plurality of controller devices and a plurality of second devices. Each of the controller devices is responsible for assigning one or more of the addresses including at least the address of each of a respective one or more of the second devices. A controller device comprises address allocation logic configured to assign an address to each of that controller device'"'"'s respective one or more second devices, by: searching for a currently unassigned address to assign to each of the respective one or more second devices, and if an unassigned address for one of those one or more second devices cannot be found, to issue a request to at least one other of the controller devices requesting that the other controller device changes one of the one or more addresses which that other controller device is responsible for assigning.
8 Citations
14 Claims
-
1. A controller device comprising:
-
a bus interface for communicating over a bus based on addresses assigned to a plurality of devices which communicate over the bus, the devices comprising a plurality of second devices and a plurality of controller devices including said controller device, wherein each of the controller devices is responsible for assigning one or more of the addresses including at least the address of each of a respective one or more of said second devices; address allocation logic configured to assign an address to each of said controller device'"'"'s respective one or more second devices, by;
searching for a currently unassigned address to assign to each of its respective one or more second devices, and if an unassigned address for one of the one or more respective second devices cannot be found, to issue a request to at least one other of said controller devices requesting that the other controller device changes one of the one or more addresses which that other controller device is responsible for assigning; andwherein the address allocation logic is configured to perform said search for a currently unassigned address by;
sending a message to a candidate address over the bus, and determining that the candidate address is already assigned if an acknowledgment is received back from the candidate address in response, and determining that the candidate address is currently unassigned if an acknowledgement is not received back from the candidate address in response. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13)
-
-
12. A controller device comprising:
-
a bus interface for communicating over a bus based on addresses assigned to a plurality of devices which communicate over the bus, the devices comprising a plurality of second devices and a plurality of controller devices including said controller device, wherein each of the controller devices is responsible for assigning one or more of the addresses including at least the address of each of a respective one or more of said second devices; and address allocation logic configured to assign an address to each of said controller device'"'"'s respective one or more second devices, by;
searching for a currently unassigned address to assign to each of its respective one or more second devices, and if an unassigned address for one of the one or more respective second devices cannot be found, to issue a request to at least one other of said controller devices requesting that the other controller device changes one of the one or more addresses which that other controller device is responsible for assigning; and
wherein the address allocation logic is operable to receive a request from at least one other of the controller devices comprising a proposed address that the other controller device proposes to use for one of its respective one or more second devices; and
the address allocation logic is configured, in response, if the proposed address has already been assigned by said controller device, to determine whether it can free the proposed address by changing one of the one or more addresses that said controller device is responsible for assigning.
-
-
14. A non-transitory computer-readable medium storing one or more programs, including instructions, which when executed on a controller device causes the controller to perform operations of:
-
communicating over a bus based on a scheme of addresses assigned to a plurality of devices which communicate over the bus, the devices comprising a plurality of second devices and a plurality of controller devices including said controller device, wherein each of the controller devices is responsible for assigning one or more of the addresses including at least the address of each of a respective one or more of said second devices; searching for a currently unassigned address to assign to each of said controller device'"'"'s respective one or more second devices; and if an unassigned address for one of the one or more respective second devices cannot be found, issuing a request to at least one other of said controller devices requesting that the other controller device changes one of the one or more addresses which that other controller device is responsible for assigning; and performing said search for a currently unassigned address by;
sending a message to a candidate address over the bus, and determining that the candidate address is already assigned if an acknowledgment is received back from the candidate address in response, and determining that the candidate address is currently unassigned if an acknowledgement is not received back from the candidate address in response.
-
Specification