Address assignment system and method for surgical lighthead components

A method and apparatus for assigning addresses to components sharing a common bus. In one embodiment, an iterative elimination process is used to assign the addresses to each component. In another embodiment, each component includes a distance sensor that detects a distance to a front face of a calibration plank. Addresses are assigned to the components based upon the distance readings of the sensors.

FIELD OF THE INVENTION

The present invention relates generally to a system and method for address assignment, and more particularly, to a system and method for assigning addresses to components of a surgical lighthead that share a common communication bus.

BACKGROUND OF THE INVENTION

A typical computer system is comprised of a control system (e.g., microprocessor or microcontroller) and one or more components. The components are connected with the control system to allow the transfer of information (e.g., instructions and/or data) therebetween. In the implementation of some computer systems, each component is directly wired to the control system. Accordingly, a separate wired connection is provided for each component. This allows the control system to independently communicate with each component. However, separate wiring of each component to the control system can be complex, time consuming, and error prone.

In order to simplify the wiring, the control system and all the associated components are connected to a common bus (also referred to as a “shared bus”). When a common bus is used, each component must have an assigned address, so that each component can recognize which instructions from the control system are intended for that component. In other words, since all of the information communicated between the control system and the components travels through the common bus, each of the components must be able to distinguish which information is intended for that component.

In the implementation of some computer systems, jumpers and dip switches on each component are used to establish an address in a hardware setting for that component. For example, the jumpers or dip switches on a first component may be set to address 0001 to establish a first address, while the jumpers or dip switches on a second component may be set to address 0010, to establish a second address. However, if there are many components in the computer system, it can be time consuming to set jumpers or dip switch settings for each component. Also, an error in setting the jumpers or dip switches will result in malfunctioning of the computer system.

Surgical lighting systems used in a surgical suite are typically comprised of a computer system that includes a main computer control unit and one or more lightheads, wherein each lighthead has a plurality of light modules. Each light module may include a control unit, one or more LED strings, and one or more sensors (e.g., light sensors, distance sensors, and the like). In order to simplify the manufacturing process, the main computer control unit and the plurality of light modules may be connected to a common bus, as described above. For proper communication between the main computer control system and the light modules, each light module must have an assigned address for identifying a specific light module on the common bus. As indicated above, there are some significant drawbacks to using jumpers and/or dip switches to assign an assigned address to each component in hardware.

The present invention provides an address assignment system and method that overcomes these and other drawbacks of the prior art.

SUMMARY OF THE INVENTION

In accordance with the present invention, there is provided a method for assigning addresses to a plurality of components sharing a common bus, wherein each component has at least two operating states, said method comprising: (a) establishing all components needing an address assignment as active components; (b) selecting a target component among the plurality of components that is to be assigned an address for communication therewith; (c) setting all active components to a random state by transmitting an instruction to the plurality of components to select a random state; (d) detecting the current state of the target component, wherein the current state is established as state X; (e) deactivating all of the components that do not match state X, wherein deactivated components are removed from evaluation for address assignment; and (f) determining if the target component is the only remaining active component among the plurality of components, wherein (i) if the target component is the only remaining active component, then assigning an address to the target component, deactivating the target component, and repeating steps (a)-(f) for components still needing an address assignment, and (ii) if the target component is not the only remaining active component, then repeating steps (c)-(f).

In accordance with another aspect of the present invention, there is provided a method for assigning addresses to a plurality of components connected to a common bus, each component having a respective distance sensor, said method comprising: locating the sensors of the plurality of components relative to a calibration plank having a sloped front face, wherein each sensor is a different distance from the sloped front face; instructing the plurality of components to have the respective sensors take a distance reading indicative of the distance to the front face of the calibration plank; instructing the plurality of components to self-assign an address based upon the distance reading indicative of the distance to the front face of the calibration plank.

In accordance with still another aspect of the present invention, there is provided a system for assigning addresses to a plurality of light modules sharing a common bus, said system comprising: a calibration unit having a control system and a sensing device for detecting at least one lighting parameter of the plurality of light modules, the calibration unit programmed to: (a) establish all light modules needing an address assignment as active light modules; (b) select a target light module among the plurality of light modules that is to be assigned an address for communication therewith; (c) set all active light modules to a random state by transmitting an instruction to the plurality of light modules to select a random state, wherein each state includes one or more lighting parameters; (d) detect the current state of the target light module, wherein the current state is established as state X; (e) deactivate all of the light modules that do not match state X, wherein deactivated light modules are removed from evaluation for address assignment; and (f) determine if the target light module is the only remaining active light module among the plurality of light modules, wherein (i) if the target light module is the only remaining active light module, then assigning an address to the target light module, deactivating the target light module, and repeating steps (a)-(f) for light modules still needing an address assignment, and (ii) if the target light module is not the only remaining active light module, then repeating steps (c)-(f).

An advantage of the present invention is the provision of an address assignment system and method that is fast and accurate.

Another advantage of the present invention is the provision of an address assignment system and method that can be automated.

A still further advantage of the present invention is the provision of an address assignment system and method that facilitates the manufacture and servicing of devices having components that are connected to a common communication bus.

Yet another advantage of the present invention is the provision of an address assignment system and method that does not add complexity to existing devices in order to assign addresses.

These and other advantages will become apparent from the following description of illustrated embodiments taken together with the accompanying drawings and the appended claims.

DETAILED DESCRIPTION OF THE INVENTION

Referring now to the drawings wherein the showings are for the purposes of illustrating an embodiment of the invention only and not for the purposes of limiting same,FIG. 1shows a block diagram of an address assignment system10for assigning addresses to a plurality of devices D1-D5that are connected to a common bus8. This illustrated embodiment is a general application of the address assignment system of the present invention. Address assignment system10includes a calibration unit60having a control system64. Control system64includes a microprocessor or microcontroller and memory storage. Calibration unit60is connected to common bus8to communicate with a plurality of devices D1-D5. Instructions and/or data transmitted via common bus8are used to assign addresses to each device D1-D5, as will explained in detail with reference to the embodiments discussed below. The assignment of addresses allows each device D1-D5to be identified in an instruction intended for that device, and allows each device to identify data transmitted by that device. In this way, information can be transmitted to a specific device, and each device can identify the information transmitted by that device.

Referring now toFIG. 2, there is shown a block diagram of an address assignment system12for assigning addresses to a plurality of light modules41-45of a surgical lighthead20that are connected to a common bus30. Address assignment system12is comprised of a calibration unit100that includes a control system104and a sensing device106connected thereto. Control system104is substantially the same as control system64described above. Sensing device106is used to detect the state of light modules, as will be described below. In the illustrated embodiment, sensing device106takes the form of a machine vision camera having one or more image sensors (e.g., CCD or CMOS image sensor).

Lighthead20includes a plurality of light modules41-45. Each light module41-45includes a control unit and a plurality of LEDs (e.g., an LED string) connected thereto. Each control unit has a microcomputer or microcontroller, and memory storage. Light modules41-45may also include other components, including, but not limited to, an LED driver, a power regulation circuit, and one or more sensors (e.g., light and/or distance sensors). Each control unit controls lighting parameters of respective LEDs (e.g., light intensity, color, color temperature, and the like).

In an illustrated embodiment, light modules41-45are connected to common bus30. More specifically, the control units of light modules41-45are connected to common bus30in a daisy chain wiring scheme. It is contemplated that light modules41-45may be connected to common bus30using alternative wiring configurations. Furthermore, it should be appreciated that the number of light modules shown inFIG. 2is solely for the purpose of illustrating an embodiment of the present invention. Thus, it is contemplated that lighthead20may have a larger or smaller number of light modules.

An address assignment method150that uses an iterative elimination process to assign addresses to the light modules will now be described with reference toFIGS. 3-4 and 5-10.FIG. 3provides a flow chart of method150andFIG. 4provides a sequence diagram of method150. For greater clarity, the step numbers shown inFIG. 3are also referenced inFIG. 4.FIGS. 5-10illustrate the state of each light module of a lighthead using method150to assign an address to light module45.

For the purpose of describing address assignment method150, it is assumed solely for the sake of simplicity that light modules41-45have only two (2) operating states (i.e., OFF and ON). However, as will be discussed in detail below, it should be appreciated that light modules41-45may have more than two (2) operating states.

Assignment of an address to a selected target light module (i.e., light module45) will now be described. As an initialization step (step152), control system104of calibration unit100transmits an instruction to lighthead20commanding all light modules41-45to the OFF state (FIG. 5), followed by transmission of an instruction to lighthead20commanding all of the light modules41-45to the ON state (FIG. 6). Instructions sent to lighthead20via common bus30are received by the control unit of each light module41-45, which in turn, controls the LEDs (i.e., turns the LEDs OFF and then ON). Sensing device106of calibration unit100is used to verify that all light modules41-45are in the commanded OFF or ON state, thereby confirming that all of the light modules41-45are operating properly.

Next, all of the light modules that need address assignments are made active (step153). Light modules are active if they are considered for address assignment by control system104of calibration unit100. In step154, control system104transmits an instruction to lighthead20commanding each active light module41-45to select a random operating state (i.e., ON state or OFF state). Accordingly, the control units of each light module41-45receives the instruction from control system104, and commands all of LEDs associated therewith to either an ON state or an OFF state (FIG. 7). InFIG. 7, light modules41and43have been randomly set to the OFF state (i.e., all associated LEDs are turned OFF), while light modules42,44, and45have been randomly set to the ON state (i.e., all associated LEDs are turned ON).

Sensing device106detects the current operating state (State X) of light module45(step156). In the illustrated example shown inFIG. 7, State X is in the ON state. All active light modules41-45that do not match State X (i.e., the ON state) are deactivated and thereby removed from consideration in address assignment process150(step158). Deactivated light modules are shown in the figures with an “X.” When a light module is deactivated, control system104no longer considers the state of the associated LEDs as detected by sensing device106. Accordingly, light modules that are deactivated are removed from consideration in the address assignment method.

Next, it is determined whether the target light module (i.e., light module45) is the only remaining active light module of lighthead20(step160). In the illustrated example, there remain three (3) active light modules, i.e., light modules42,44, and45. Therefore, address assignment method150returns to step154, and all active light modules are again set to a random state. As shown inFIG. 8, the target light module (i.e., light module45) and light module42have been randomly set to the OFF state, while light module44has been randomly set to the ON state. The current state (State X) of light module45is detected (step156), and State X is determined to be the OFF state. Accordingly, light module44, which does not match State X, is deactivated (step158). At step160it is determined whether the target light module (i.e., light module45) remains the only active light module. Since two light modules (i.e., light modules42and45) remain active, address assignment method150returns once again to step154.

The light modules42and45are again set to a random state. As shown inFIG. 9, the target light module (i.e., light module45) has been randomly set to the OFF state, while light module42has been randomly set to the ON state. The current state (State X) of light module45is detected (step156), and State X is determined to be the OFF state. Accordingly, light module42, which does not match State X, is deactivated (step158), as shown inFIG. 10.

At step160, it is determined that the target light module (i.e., light module45) is the only active light module of lighthead20. Accordingly, address assignment method150proceeds to step162, where address Y is assigned to light module45. In this regard, address Y is stored in non-volatile memory of the control unit of light module45. Next, the address assignment of light module45is verified by first setting all of the light modules41-45to the OFF state, and then setting only light module45to the ON state by sending an instruction with address Y. If sensing device106only detects light module45as being in the ON state, then the address assignment has been successful. At step166, light module45is deactivated for the purpose of any further address assignments. Accordingly, as each target light module is assigned an address, it is deactivated to remove it from any subsequent processing steps for assigning addresses to the other light modules.

If it is determined at step168that all of the light modules41-45have been assigned addresses, then address assignment method150ends. Otherwise, address assignment method150returns to step153to assign an address to another target light module. Accordingly, steps153-168of address assignment method150are repeated to assign addresses to the remaining light modules41-44.

As mentioned above, light modules41-45may have more than two (2) operating states. These additional operating states may involve various lighting parameters of the light modules, including, but not limited to, light intensity level, color, color temperature, blinking rate, and pulsing frequency. Therefore, it is contemplated that address assignment method150may be implemented using a combination of the operating states relating to various lighting parameters. For example, the operating states used in the address assignment method150could include the following nine (9) operating states:STATE 1: OFFSTATE 2: ON/light intensity level 1/warm colorSTATE 3: ON/light intensity level 1/cool colorSTATE 4: ON/light intensity level 2/warm colorSTATE 5: ON/light intensity level 2/cool colorSTATE 6: ON/light intensity level 3/warm colorSTATE 7: ON/light intensity level 3/cool colorSTATE 8: ON/light intensity level 4/warm colorSTATE 9: ON/light intensity level 4/cool color

In the foregoing example, the random state for each light module is selected from one of nine (9) unique operating states. As will be appreciated, with a sufficiently large number of unique operating states, the number of iterations needed to assign addresses to each light module can be significantly reduced, thereby speeding the address assignment process.

Referring now toFIG. 11, an alternative embodiment of the present invention will be described. Address assignment system14is comprised of a calibration unit100having a control system104, and a calibration plank110having a sloping front face112.

As indicated above, each light module of a lighthead20may also include one or more sensors (e.g., light and/or distance sensors). In the embodiment shown inFIG. 11, each light module41-45of lighthead20includes a respective distance sensor81-85. Each distance sensor81-85is connected to the respective control unit of the light module. As can be seen inFIG. 11, a unique distance is provided between front face112of calibration plank110and each sensor81-85. The distances detected between sensors81-85and front face112of calibration plank100are used to assign an address to each light module41-45.

In accordance with this embodiment of the present invention, control system104of calibration unit100stores an assigned address in the non-volatile memory of the control units of light modules41-45based upon the distance sensed by the associated distance sensor81-85. Accordingly, unique readings from distance sensors81-85are used to assign addresses to light modules41-45.

Referring now toFIG. 12, there is shown a flow chart illustrating the steps of address assignment method180according to the alternative embodiment of the present invention. Control system104transmits instructions via common bus30that are received by the control units of light modules41-45. A first instruction is broadcast to the control units of light modules41-45commanding the control units to have respective sensors81-85take a distance reading (step182). At step184, control system104broadcasts an instruction to the control units that commands the control units to self-assign an address based upon the value of the distance reading detected by the sensors81-85. For example, the instruction may command the control units to self-assign an address, as follows:If sensor detects a distance of 2.5 m+/−0.1 m to front face112, then self-assign address1by storing address 0000 in the non-volatile memory of the control unit (steps186,196).If sensor detects a distance of 2.0 m+/−0.1 m to front face112, then self-assign address2by storing address 0001 in the non-volatile memory of the control unit (steps188,198).If sensor detects a distance of 1.5 m+/−0.1 m to front face112, then self-assign address3by storing address 0010 in the non-volatile memory of the control unit (steps190,200).If sensor detects a distance of 1.0 m+/−0.1 m to front face112, then self-assign address4by storing address 0011 in the non-volatile memory of the control unit (steps192,202).If sensor detects a distance of 0.5 m+/−0.1 m to front face112, then self-assign address5by storing address 0100 in the non-volatile memory of the control unit (steps194,204).

The distances from the sensor to front face112of calibration plank110are pre-stored in the memory of control system104. These pre-stored distances are inserted into the instruction broadcast to the control units for self-assigning addresses to light modules41-45.

It should be appreciated that the distance values provided above are solely for the purpose of illustrating an embodiment of the present invention, and are not intended to limit same. Moreover, the number of light modules in lighthead20may vary from those shown in the illustrated embodiment shown inFIG. 11. Furthermore, the same address can be self-assigned to multiple light modules by physically modifying front face112of calibration plank110, and thereby provide the same distance to multiple sensors. By assigning the same address to more than one light module, a group of two or more light modules will respond to an instruction identifying that address.

In the embodiments of the present invention illustrated inFIGS. 2 and 11light modules41-45are shown as being directly connected to common bus30. It should be appreciated that lighthead20may also include a supervisory controller that is connected between light modules41-45and common bus30. Accordingly, light modules41-45are not directly connected to common bus30, and calibration unit100communicates with light modules41-45via the supervisory controller.

The foregoing describes specific embodiments of the present invention. It should be appreciated that these embodiments are described for purposes of illustration only, and that numerous alterations and modifications may be practiced by those skilled in the art without departing from the spirit and scope of the invention. For example, it is contemplated that the address assignment system and method of the present invention may be used to assign addresses to components other than those of a surgical lighthead. The present invention finds utility in any system where a common bus is shared for communications with a plurality of components. It is intended that all such modifications and alterations be included insofar as they come within the scope of the invention as claimed or the equivalents thereof.