IP Library Granted Patent US 7,788,416
Granted Patent B2
US 7,788,416 · App. 10/538,458 · Granted Aug 31, 2010

Encapsulated hardware configuration/control

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,788,416
App. No.
10/538,458
Granted
Aug 31, 2010
Kind
B2
Abstract

A technique is provided for configuring and controlling complex hardware subsystems that relieves the burden placed on the system programmer and that is, by comparison to present methods, safe and error-free. In accordance with one aspect of the invention, configuration of a hardware subsystem ( 110 ) is accomplished by providing in hardware a configuration controller including a controller portion ( 113 ) and a storage portion ( 115 ) storing configuration parameters. The configuration controller ( 113 ) is activated, for example in response to a Configuration/Control ID, and thereupon performs configuration of the hardware subsystem ( 110 ), including storing at least one configuration parameter in a register ( 111 ) of the hardware subsystem. Typically, the configuration controller hardware ( 113 ) and storage ( 115 ) are embedded within the hardware subsystem to be configured or controlled. The configuration/control functionality is thus “encapsulated” within the hardware subsystem ( 110 ) itself such that the system programmer need not be concerned with details.

Claims (21)

1. A method of performing configuration or control of a hardware-based subsystem that includes multiple hardware registers that define multiple configurations of the hardware-based subsystem and that are connected to a processor via a system bus, the method comprising:

providing together with the subsystem a configuration/control unit having a controller portion and a read-only storage portion storing multiple sets of configuration data, each of the sets of configuration data including configuration parameters for each of the multiple registers, and each of the sets of configuration data defining a respective one of the multiple configurations; and

the configuration/control unit, in response to a single register write that identifies one of the sets of configuration data, encapsulating the multiple hardware registers by performing configuration, reconfiguration, initialization or control of the subsystem, and by including storing writing, the configuration parameters of the identified set of configuration data, from the read-only storage portion to each of the multiple registers of the hardware subsystem.

2. The method of claim 1 , wherein the subsystem is a universal serial bus (USB) block, and the multiple configurations include Control mode, Interrupt mode, Isochronous mode, and Bulk mode, each of the modes encapsulated by a single write to a common register location, and wherein the configuration/control unit is a hardware configuration/control unit.

3. The method of claim 2 , wherein the hardware subsystem and the hardware configuration/control unit are provided together within the same integrated circuit.

4. The method of claim 1 , wherein the writing of the configuration parameters of the identified set in the multiple registers is implemented using a bus having a width sufficient to simultaneously store the configuration parameters of the identified set.

5. The method of claim 1 , wherein the configuration/control unit is responsive to multiple different values for the single register write for performing different corresponding configuration or control actions with respect to the subsystem, each of the different values identifying one of the sets of configuration data.

6. A hardware-based subsystem having self-configuration capabilities and a processor connected to a system bus, comprising:

a hardware register section that is connected to the system bus and including multiple hardware registers that define multiple configurations of the hardware subsystem; and

a configuration/control unit having a controller portion and a read-only storage portion storing multiple sets of configuration data, each of the sets of configuration data including configuration parameters for each of the multiple registers, and each of the sets of configuration data defining a respective one of the multiple configurations; wherein the configuration/control unit is configured, responsive to a single register write that identifies one of the sets of configuration data, to encapsulate the multiple hardware registers by performing configuration, reconfiguration, initialization or control of the subsystem, including storing the configuration parameters of the identified set in the multiple hardware registers of the subsystem.

7. The subsystem of claim 6 , wherein the subsystem is a universal serial bus (USB) block, and the multiple configurations include Control mode, Interrupt mode, Isochronous mode, and Bulk mode, each of the modes encapsulated by a single write to a common register location, and wherein the configuration/control unit is a hardware configuration/control unit.

8. The subsystem of claim 7 wherein the hardware subsystem and the hardware configuration/control unit are provided together within the same integrated circuit.

9. The subsystem of claim 6 , further comprising a bus having a width sufficient to simultaneously store the configuration parameters of the identified set in the multiple registers.

10. The subsystem of claim 6 , wherein the configuration/control unit is responsive to multiple different values for the single register write for performing different corresponding configuration or control actions with respect to the subsystem, each of the different values identifying one of the sets of configuration data.

11. For use in a system that includes a processor coupled to a hardware subsystem via a system bus, the hardware subsystem including a configuration/control unit and a plurality of hardware registers that define multiple configurations of the subsystem, a method of configuring the subsystem comprising:

storing a plurality of sets of configuration data in a read-only memory of the configuration/control unit, each of the sets of configuration data including configuration parameters for each of the plurality of registers, and each of the sets of configuration data defining a respective one of the multiple configurations; and

responsive to the configuration/control unit receiving, from the processor, a single register write that identifies one of the sets of configuration data, encapsulating the plurality of registers by writing the configuration parameters of the identified set from the read-only memory to the plurality of registers wherein the encapsulating includes configuration, reconfiguration, initialization or control of the hardware subsystem.

12. The method of claim 11 , wherein the configuration/control unit is a state machine.

13. The method of claim 11 , wherein the subsystem is a USB block comprising a plurality of ports that can operate in different modes responsive to which of the sets of configuration data is written to the plurality of registers.

14. The method of claim 11 , wherein the storing of the configuration parameters of the identified set in the plurality of registers is implemented using a bus having a width sufficient to simultaneously store the configuration parameters of the identified set.

15. The method of claim 11 , wherein the configuration/control unit is responsive to multiple different values for the single register write for performing different corresponding configuration or control actions with respect to the subsystem, each of the different values identifying one of the sets of configuration data.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2014
From: PARTNERS FOR CORPORATE RESEARCH INTERNATIONAL
To: FUTURE LINK SYSTEMS
Reel/Frame 032399/0965 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2013
From: NXP B. V.
To: PARTNERS FOR CORPORATE RESEARCH INTERNATIONAL
Reel/Frame 031334/0449 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2008
From: KONINKLIJKE PHILIPS ELECTRONICS N.V.
To: NXP B.V.
Reel/Frame 021085/0959 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2005
From: GOFF, LONNIE
To: KONINKLIJKE PHILIPS ELECTRONICS N.V.
Reel/Frame 017413/0445 →