The present invention relates to lighting control networks, and more particularly, to an improved communication port control module (“CPCM”) that acts as a serial interface to a network control computer for a lighting system. The present invention also relates to a system that offloads much of the processing normally required of a microprocessor at the lighting device being controlled, instead performing such processing in hardware contained in an interface device interposed between the lighting device being controlled and the control computer controlling said lighting device.
Centralized lighting control systems are known in the art. Typically, the central computer controls the lighting system throughout a building or other facility, such as is defined by the DALI standard, a well-known lighting control standard. The lighting device being controlled interfaces to the central computer through a serial interface. A microprocessor at the lighting device usually performs serial to parallel conversion of incoming commands and data, error detection, and arbitration control between incoming and outgoing data and commands.
One problem with prior art systems such as that of
In view of the foregoing, there exists a need in the art for an improved technique of interfacing with a central lighting control computer that controls one or more lighting devices using a standard set of commands and a predetermined protocol.
There also exists a need in the art for an improved technique of minimizing the processing load presented to the basic capability microprocessors typically employed by a DALI compliant lighting device being controlled by a control computer.
The above and other problems of the prior art are overcome in accordance with the present invention, which relates to an improved method and apparatus for interfacing a central lighting control computer to a lighting device. In accordance with the invention, a separate hardware device is interposed between the microprocessor located at the lighting device, and the control computer controlling the device.
The separate device is implemented in hardware to perform error detection, noise filtering, and optionally other functions previously performed by the microprocessor, such as parallel to serial conversion, serial to parallel conversion, edge detection, arbitration control, and possibly others. The hardware device interposed between the lighting device and the control computer offloads much of the functionality from the microprocessor, providing faster operating speeds and permitting better use of less expensive microprocessors typically employed at such lighting devices. In a preferred embodiment, the serial to parallel conversion is implemented as a preshift register and a shift register, and the error detection is implemented in common hardware with serial to parallel conversion.
A decoder 219 and address lines 216 serve to permit communications to and from CPCM 201 over a parallel computer bus as is known in the art. More specifically, CPCM 201 is at a particular address known to microprocessor 202 and that address is asserted on the bus when communications with CPCM 201 are desired by the microprocessor. Several of the address lines are used for a chip select signal 218 and the remainder utilized as signal 216 in order to select the appropriate location within CPCM 201. Typically the most significant bits are utilized to decode as a chip select signal, and any remaining bits of the address are used to identify a location within the CPCM.
Signals 214 and 215 represent the data bus exchanging data between microprocessor 202 and CPCM 201. Also in a conventional fashion, read and write signals 213 and 212, respectively, are utilized, and an interrupt signal 211 advises microprocessor 202 when the CPCM 201 wishes to transfer data. A reset signal 201 and clock signal 221 are also used conventionally. Note that preferably clock signal 221 is the same clock signal utilized for both CPCM 201 and microprocessor 202 in order to synchronize the system.
Serial interfaces 230 and 231, to and from the control computer respectively, serve to interface the lighting device to the control computer so that the control computer may be configured as in the prior art. More particularly, the control computer need not have any knowledge that the CPCM hardware device 201 has been interposed between the control computer and the lighting device microprocessor 202. Thus, the standard commands that control intensity, timing, etc., as set forth in the exemplary DALI standard described below herein, may be used. Such an arrangement permits the control computer to operate with the same software that it uses in conventional systems, not being concerned with the fact that a separate hardware device has been placed between the light being controlled and the control computer.
Preferably, the arrangement of
In operation, data is received serially from the control computer and entered into a preshift register 301. The error detection noise filtering and serial to parallel conversion is implemented in conjunction with the pre-shift and shift registers 301 and 302, respectively. The error detection is a hardware circuit 313 that detects particular bit patterns in the incoming data, which violate rules of parity or other error detection techniques.
An edge detection circuit 304 helps to further detect certain errors. More specifically, in the exemplary embodiment utilizing the DALI Standard, each bit must have an edge since the data is encoded in a manner that a change of state takes place within each bit. Logical ones have a state transition in a first direction, and logical zeroes in a second direction. The failure to detect such an edge represents an error which should be detected by edge detect circuit 304. A straight forward arrangement of logic circuitry can detect the absence of such an edge, or latch its presence, to ascertain whether an error has occurred.
Additionally, the start of data is noted in the DALI Standard by a filling edge which is also detected by an edge detect circuit 304, and conveyed to an arbitration control logic 306. The arbitration control logic 306 ensures that data being held in locations 321 through 327 is not overwritten by new data before it is read out by the microprocessor. Conventional logic may be used to implement such a system wherein no new data is rewritten into any register 321 through 327 until the previous data is real out. A clock divider 340 serves to operate the CPCM 201 at a rate sufficient to allow for the parallel to serial conversion.
Registers 321 through 327 are special function registers. Register 321 is the clocking register and is used to set or adjust the data rate in order to provide for signals being read and written to and from the microprocessor and the control computer at different rates. More specifically, the serial to parallel conversion requires that the serial interface operate at many times the speed of the parallel interface in order to keep up with data being sent in parallel.
Register 322-324 stores DALI known commands such as address signals, standard data and other DALI commands. These commands and data would normally be stored in the microprocessor memory in prior systems, where no hardware CPCM is interposed between the control computer and the lighting device. The MOP register 325 is used to store a value indicative of manual dimming, in the event the manual dimming override is utilized to control the lighting device manually rather than via the control computer. Diagnostic computer 327 stores error codes and operating states in order to diagnose problems in a conventional fashion.
In operation, serial data arrives via line 351 and is shifted into preshift register 301. The data is not shifted into register 302 until it has been verified as correct via the error detection and P/S control block 303. Since the preshift register 301 is typically smaller that the shift register 302, the data from the preshift register 301 will be shifted to the shift register 302 plural times for each readout from the shift register 302. The error detection is performed in the smaller preshift register 301, and the data is only shifted to shift register 302 after passing the error detection testing in preshift register 301. Hardware device 303 is an error detection system which will substantially immediately detect signaling errors should such an error occur. The generation of such an error will be signaled back to the control computer, and the DALI protocol provides for the retransmission of such erroneously transmitted signals.
Additionally, if edge detector 304 detects a violation of the DALI protocol, such an error will also be conveyed to the microprocessor. In the exemplary DALI protocol, for example, a falling edge followed by a predetermined length “low” signal is required to being transmission of data, and an edge is required during each bit time. A violation of this rule indicates an error.
Note from interface 310 that only parallel data is transmitted to and from the microprocessor interface, and that such parallel data has already been checked for errors, and protocol violations, and is ready for decoding. Accordingly, the microprocessor at the lighting device may perform nothing more than the decoding of DALI commands and data. Such a system provides that the software in the microprocessor only perform a table lookup and basic control functions and does not require any error correction algorithms or arbitration control. This greatly increases speed.
While the above describes the preferred embodiment of the invention, various other modifications and additions will be apparent to those of skill in the art. Such modifications and additions are intended by the following claims.
Number | Name | Date | Kind |
---|---|---|---|
3671865 | Szumila et al. | Jun 1972 | A |
4133008 | Tisue | Jan 1979 | A |
4156280 | Griess | May 1979 | A |
4347499 | Burkman et al. | Aug 1982 | A |
4887261 | Roempp | Dec 1989 | A |
5070967 | Katzy et al. | Dec 1991 | A |
5406173 | Mix et al. | Apr 1995 | A |
5498931 | Bedocs | Mar 1996 | A |
5553083 | Miller | Sep 1996 | A |
5576700 | Davis et al. | Nov 1996 | A |
5612711 | Rose | Mar 1997 | A |
5698952 | Stebbins | Dec 1997 | A |
5790804 | Osborne | Aug 1998 | A |
5814902 | Creasy et al. | Sep 1998 | A |
5920156 | Carson et al. | Jul 1999 | A |
5946209 | Eckel et al. | Aug 1999 | A |
5974403 | Takriti et al. | Oct 1999 | A |
6012110 | Olson et al. | Jan 2000 | A |
6160426 | Lee | Dec 2000 | A |
6369524 | Sid | Apr 2002 | B1 |
Number | Date | Country | |
---|---|---|---|
20020099451 A1 | Jul 2002 | US |