Dynamically allocating I2C addresses using self bus switching device
AssigneeInternational Business Machines Corporation
InventorsMichael Anton Barenys, Robert Allan Faust, Joel Gerald Goodwin
Life of this patent
Estimating the term…
Abstract
A method, apparatus and program for dynamically allocating addresses to computer devices connected to Inter Integrated Circuit (I2C) buses are provided. Upon resetting a I2C bus, the invention uses a bus driver to turn on the first bus switch on the bus. The invention then accesses the first device downstream of the switch and allocates a new value to the device's address. The invention proceeds to turn on the next switch downstream. A new address is then allocated to the device downstream from the second switch. This process continues until all of the devices connected to the bus have unique addresses.
Claims12
A method for dynamically allocating addresses to electronic components coupled to a segmented bus, comprising:
- resetting addresses of each of a plurality of devices, coupled to an integrated circuit bus, to a default address;
- controlling, by a bus driver that is coupled to said integrated circuit bus, a position of each one of a plurality of bus switches;
- each one of said plurality of bus switches switching on and off in response to commands received on said bus from said bus driver, said bus driver communicating with all of said plurality of bus switches and controlling a position of each one of said plurality of bus switches regardless of a current position of any of said plurality of bus switches;
- turning off, by said bus driver, said plurality of bus switches and disconnecting all of the plurality of devices from the bus;
- turning on a first bus switch, using said bus driver;
- assigning a first address to a first device connected to the bus downstream of the first bus switch;
- turning on a second bus switch downstream from the first bus switch, using the bus driver;
- and
- assigning a second address to a second device connected to the bus downstream of the second bus switch, wherein the second address is different from the first address.
A system for dynamically allocating addresses to electronic components coupled to a segmented bus, comprising:
- a bus master processor that resets addresses of each of a plurality of devices, coupled to an integrated circuit bus, to a default address;
- a bus driver to turn on a first and second ones of a plurality of bus switches;
- said bus driver coupled to said integrated circuit bus and for controlling a position of each one of said plurality of bus switches;
- each one of said plurality of bus switches switching on and off in response to commands received on said bus from said bus driver, said bus driver communicating with all of said plurality of bus switches and controlling a position of each one of said plurality of bus switches regardless of a current position of any of said plurality of bus switches;
- wherein the bus driver assigns a first address to a first device connected to the bus downstream of the first bus switch;
- and
- wherein the bus driver assigns a second address to a second device connected to the bus downstream of the second bus switch, wherein the second address is different from the first address.
Dependencies are inferred from the claim text.