Plug and play I2C slave
First Claim
1. A electronic device, comprising:
- at least one controller;
at least one slave unit;
a bus connecting the at least one controller and the at least one slave unit and functioning in accordance with a protocol that supports individual addressing and acknowledging; and
a secondary memory containing software drivers for a plurality of different types of slave units;
wherein the at least one controller initializes each at least one slave unit by sending a query over the bus for each type of slave unit in a predetermined group of types of slave units, retrieving a corresponding software driver for each at least one slave unit that responds to the query, and performing initialization operations using the software driver; and
the at least one controller and the at least one slave unit are connected only by the bus.
6 Assignments
0 Petitions
Accused Products
Abstract
In accordance with embodiments of the invention, an electronic device including one or more controllers and one or more slave units is provided with a bus such as an I2C serial bus that connects the controllers and the slave units. The device further includes a secondary memory containing software drivers for a variety of different types of slave units, which can be present on the bus. The controller determines which types of slave units are actually present on the bus by sending, for each type of slave unit represented by a corresponding software driver in the secondary memory, a command via the bus using an address for the type. After determining which types of slave units are present on the bus, the controller loads corresponding software drivers from the secondary memory into a RAM, and using the loaded software drivers to initialize the slave units present on the bus.
57 Citations
23 Claims
-
1. A electronic device, comprising:
-
at least one controller;
at least one slave unit;
a bus connecting the at least one controller and the at least one slave unit and functioning in accordance with a protocol that supports individual addressing and acknowledging; and
a secondary memory containing software drivers for a plurality of different types of slave units;
whereinthe at least one controller initializes each at least one slave unit by sending a query over the bus for each type of slave unit in a predetermined group of types of slave units, retrieving a corresponding software driver for each at least one slave unit that responds to the query, and performing initialization operations using the software driver; and
the at least one controller and the at least one slave unit are connected only by the bus. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for configuring an electronic device including at least one controller, at least one slave unit, a bus connecting the at least one controller and the at least one slave unit, and a secondary memory containing software drivers for a plurality of different types of slave units, comprising the steps of:
-
sending a command via the bus using an address for a type of slave unit;
receiving an acknowledge signal from a slave unit on the bus when the slave unit is of the type indicated by the address;
repeating the steps of sending and receiving using an address for a different type of slave unit;
loading a software driver from the secondary memory for each type of slave unit from which an acknowledge signal was received into a random access memory in the at least one controller; and
initializing each slave unit on the bus using the loaded software drivers. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
Specification