Abstract: Technologies for dynamic address assignment include a computing device with a host controller and a data bus. The host controller receives device information from a peripheral device over the data bus. The device information includes a provisional identifier. The host controller determines an instance identifier as a function of the provisional identifier and determines whether an entry of a device address table matches the instance identifier. If so, the host controller determines whether the matching entry is available for assignment. If so, the host controller assigns a dynamic address to the peripheral device from the device address table. If no entry matches or if the matching entry is not available for assignment, the host controller assigns a dynamic address to the peripheral device from an initial address register. The data bus may be embodied as a two-line, multi-drop bus such as an I3C bus. Other embodiments are described and claimed.
Claims:1. A computing device for dynamic address assignment, the computing device comprising a data bus and a host controller, wherein the host controller is to:
receive device information from a peripheral device via the data bus, wherein the device information comprises a provisional identifier, a bus characteristic register, and a device characteristic register;
determine an instance identifier as a function of the provisional identifier;
determine whether an entry of a device address table of the host controller matches the instance identifier;
determine whether the entry is available for assignment in response to a determination that the entry matches the instance identifier; and
assign a dynamic address to the peripheral device, (i) wherein the dynamic address is assigned from the entry in response to a determination that the entry is available for assignment and (ii) wherein the dynamic address is assigned from an initial address register of the host controller in response to a determination that an entry of the device address table does not match the instance identifier or a determination that the entry is not available for assignment.
, Description:BACKGROUND
[0001] Current mobile devices such as smart phones, tablets, and other computing devices include an increasing number of sensors and other peripheral devices and integrated circuits. Typical sensors and other peripheral devices may be connected to a computing device via a variety of I/O interfaces, such as the I2C interface, the serial peripheral interface (SPI) bus, UART serial ports, or other interfaces. The MIPI® Alliance is currently developing a specification for a two-wire interface known as MIPI I3C™. The I3C specification may support communications with multiple sensors or other peripheral devices connected to the bus. Additionally, the I3C specification may support hot-joining peripheral devices to the bus after it is initially started.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] The concepts described herein are illustrated by way of example and not by way of limitation in the accompanying figures. For simplicity and clarity of illustration, elements illustrated in the figures are not necessarily drawn to scale. Where considered appropriate, reference labels have been repeated among the figures to indicate corresponding or analogous elements.
[0003] FIG. 1 is a simplified block diagram of at least one embodiment of a computing device for predictable dynamic address assignment;
[0004] FIG. 2 is a simplified block diagram of at least one embodiment of an environment of the computing device of FIG. 1;
[0005] FIG. 3 is a schematic diagram of at least one embodiment of a data bus of the computing device of FIGS. 1-2;
[0006] FIG. 4 is a simplified flow diagram of at least one embodiment of a method for predictable dynamic address assignment that may be executed by the computing device of FIGS. 1 and 2; and
[0007] FIG. 5 is a simplified flow diagram of at least one embodiment of a method for assigning a dynamic address that may be executed by a host controller of the computing device of FIGS. 1 and 2.
| # | Name | Date |
|---|---|---|
| 1 | Form2 Title Page_Complete_31-12-2016.pdf | 2016-12-31 |
| 2 | Drawing_As Filed_31-12-2016.pdf | 2016-12-31 |
| 3 | Description Complete_As Filed_31-12-2016.pdf | 2016-12-31 |
| 4 | Claims_As Filed_31-12-2016.pdf | 2016-12-31 |
| 5 | Abstract_As Filed_31-12-2016.pdf | 2016-12-31 |
| 6 | Form18_Normal Request_03-01-2017.pdf | 2017-01-03 |
| 7 | Form 26 [16-01-2017(online)].pdf | 2017-01-16 |
| 8 | Correspondence by Agent_Power Of Attorney_19-01-2017.pdf | 2017-01-19 |
| 9 | Other Patent Document [01-02-2017(online)].pdf | 2017-02-01 |
| 10 | Correspondence by Agent_Proof of Right_06-02-2017.pdf | 2017-02-06 |
| 11 | Form 3 [29-06-2017(online)].pdf | 2017-06-29 |
| 12 | 201641045168-FER.pdf | 2020-04-29 |
| 13 | 201641045168-OTHERS [29-10-2020(online)].pdf | 2020-10-29 |
| 14 | 201641045168-FER_SER_REPLY [29-10-2020(online)].pdf | 2020-10-29 |
| 15 | 201641045168-CLAIMS [29-10-2020(online)].pdf | 2020-10-29 |
| 16 | 201641045168-US(14)-HearingNotice-(HearingDate-08-12-2023).pdf | 2023-11-15 |
| 17 | 201641045168-Correspondence to notify the Controller [21-11-2023(online)].pdf | 2023-11-21 |
| 18 | 201641045168-FORM-26 [01-12-2023(online)].pdf | 2023-12-01 |
| 19 | 201641045168-FORM 3 [18-12-2023(online)].pdf | 2023-12-18 |
| 20 | 201641045168-Written submissions and relevant documents [22-12-2023(online)].pdf | 2023-12-22 |
| 21 | 201641045168-Annexure [22-12-2023(online)].pdf | 2023-12-22 |
| 22 | 201641045168-PatentCertificate05-02-2024.pdf | 2024-02-05 |
| 23 | 201641045168-IntimationOfGrant05-02-2024.pdf | 2024-02-05 |
| 1 | 7_Searchstrategy201641045168E_29-04-2020.pdf |