Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
AN ADAPTIVE CONTROL DEVICE
Document Type and Number:
WIPO Patent Application WO/2003/067457
Kind Code:
A1
Abstract:
The present invention provides a single−chip adaptive control device that can be used for monitoring and controlling various operating units in homes and offices. When used in an integrated control or monitoring system, the device may communicate with other control devices to monitor and control one or more operating units. The adaptive control device comprises a programmable I&sol O for receiving and sending signals to and from the operating unit, a micro−controller, a memory for storing the status information and one or more application programs for processing the status information, a runtime environment for interpreting the application program and a communication unit for updating the application program remotely or for communicating with other control devices. In a preferred embodiment, the control device is implemented as an ASIC, uses a Java virtual machine for processing Java application programs, and implements the Bluetooth protocol for wireless communication.

Inventors:
FREY JAN-ERIK (SE)
ROSVALL ANDERS (SE)
Application Number:
PCT/SE2003/000212
Publication Date:
August 14, 2003
Filing Date:
February 07, 2003
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ABB AB (SE)
FREY JAN-ERIK (SE)
ROSVALL ANDERS (SE)
International Classes:
G05B23/02; (IPC1-7): G06F15/46; G05B13/00; G05B19/042
Domestic Patent References:
WO2000036492A22000-06-22
WO1999055071A21999-10-28
WO1999005823A11999-02-04
Foreign References:
US6002104A1999-12-14
EP0942554A21999-09-15
US5687325A1997-11-11
Attorney, Agent or Firm:
ABB GROUP SERVICES CENTER AB (Forskargränd 8, Västerås, SE)
Download PDF:
Claims:
What is claimed is:
1. A single chip control device suitable for monitoring and controlling an operating unit comprising: a. a microcontroller ; b. a programmable hardware 1/0 for receiving status information from the operating unit and sending control signals to the operating unit; c. a memory comprising: i. an application program encoding control logic, the control signals being generating according to the control logic; and ii. a runtime environment for interpreting the application program to be executed on the microcontroller ; and d. means for updating the application program stored in the memory, e. whereby the programmable hardware 1/0 receives the status information and the application program is executed on the microcontroller to generate control signals to control the operating unit.
2. The device as recited in claim 1, wherein the microcontroller is a RISC processor.
3. The device as recited in claim 1, wherein the microcontroller is based on the ARM Javelle0 technology.
4. The device as recited in claim 1, wherein the programmable hardware 1/0 provides support for a Peripheral Component Interface (PCI) bus.
5. The device as recited in claim 1, wherein the programmable hardware I/O provides support for a network adapter to connect to the operating unit over a wired network.
6. The device as recited in claim 1, wherein the programmable hardware 1/0 provides support for an analog input signal.
7. The device as recited in claim 1, wherein the programmable hardware 1/0 provides support for a digital input signal.
8. The device as recited in claim 1, wherein the programmable hardware 1/0 provides support for an analog output signal.
9. The device as recited in claim 1, wherein the programmable hardware I/O provides support for a digital output signal.
10. The device as recited in claim 1, wherein the memory further comprises: a. a read only memory comprising the runtime environment; and b. a random access memory comprising the application program.
11. The device as recited in claim 10, wherein the read only memory comprises algorithms for processing the status information.
12. The device as recited in claim 1, wherein the application program is a JAVA application program, the runtime environment being a JAVA runtime environment.
13. The device as recited in claim 1, wherein the updating means comprises radio hardware and a wireless communication protocol to connect to a wireless network, the application program being downloaded over the wireless network.
14. The device as recited in claim 13, wherein the updating means uses Bluetooth communication protocol.
15. The device as recited in claim 13, wherein the updating means uses IEEE 802.11 wireless protocol.
16. The device as recited in claim 13, wherein the updating means uses HomeRF protocol.
17. The device as recited in claim 13, wherein the updating means uses wireless ATM protocol.
18. The device as recited in claim 13, wherein the updating means uses wireless IP.
19. The device as recited in claim 1, wherein the updating means comprises a network adapter to connect to a wired network, the application program being downloaded over the wired network.
20. The device as recited in claim 1, wherein the updating means comprises a keyboard and a memorymanaging unit to allow an operator to update the application program.
21. An industrial control system for controlling one or more operating units comprising: a. a communication network; and b. a plurality of single chip control devices, each control device comprising: i. a micro controller ; ii. a programmable hardware 1/0 for receiving status information from the operating unit and sending control signals to the operating unit; iii. a memory comprising: 1. an application program encoding control logic, the control signals being generating according to the control logic ; and 2. a runtime environment for interpreting the application program to be executed on the microcontroller ; and iv. a communication unit to exchange information over the communication network.
22. The industrial control system as recited in claim 21, wherein the control device uses a RISC processor.
23. The industrial control system as recited in claim 21, wherein the programmable hardware I/O of the control device provides support for a Peripheral Component interface (PCI) bus.
24. The industrial control system as recited in claim 21, wherein the programmable hardware 1/0 of the control device provides a network adapter to connect to the operating unit over a wired network.
25. The industrial control system as recited in claim 21, wherein the programmable hardware 1/0 of the control device provides support for an analog input signal.
26. The industrial control system as recited in claim 21, wherein the programmable hardware I/O of the control device provides support for a digital input signal.
27. The industrial control system as recited in claim 21, wherein the programmable hardware 1/0 of the control device provides support for an analog output signal.
28. The industrial control system as recited in claim 21, wherein the programmable hardware 1/0 of the control device provides support for a digital output signal.
29. The industrial control system as recited in claim 21, wherein the memory in the control device further comprises: a. a read only memory comprising the runtime environment; and b. a random access memory comprising the application program.
30. The industrial control system as recited in claim 29, wherein the read only memory comprises algorithms for processing the status information.
31. The industrial control system as recited in claim 21, wherein the application program in the memory of the control device is a JAVA application program, the runtime environment being a JAVA runtime environment.
32. The industrial control system as recited in claim 21, wherein the communication unit of the control device comprises radio hardware and a wireless communication protocol to connect to a wireless network.
33. The industrial control system as recited in claim 32, wherein the communication unit of the control device uses a Bluetooth communication protocol.
34. The industrial control system as recited in claim 32, wherein the communication unit of the control device uses a IEEE 802. 11 wireless protocol.
35. The industrial control system as recited in claim 32, wherein the communication unit of the control device uses a Home RF protocol.
36. The industrial control system as recited in claim 32, wherein the communication unit of the control device uses a wireless ATM protocol.
37. The industrial control system as recited in claim 32, wherein the communication unit of the control device uses wireless IP.
38. The industrial control system as recited in claim 21, wherein the communication unit of the control device comprises a network adapter to interface with a wired communication network.
39. A method for configuring a control device to monitor and control an operating unit, the method comprising: a. configuring a programmable hardware 1/0 of the control device for receiving status information from the operating unit; b. configuring the programmable hardware 1/0 of the control device for sending control signals to the operating unit; c. composing an application program for implementing control logic used for processing the status information to generate the control signals, the application program being interpreted by a runtime environment, the runtime environment executing instructions on a microcontroller of the control device to generate the control signals; and d. configuring an updating means of the control device for downloading the application program to the control device, the application program being stored in a memory of the control device.
40. The method as recited in claim 39, wherein the step of composing an application program further comprises: a. developing software modules to implement the control logic ; and b. linking software modules obtained from a predefined library to the developed software modules.
41. The method as recited in claim 39, wherein the step of configuring the updating means further comprises: a. establishing a communication link between the control device and an external source, the external source providing the application program; and b. downloading the application program over the communication link to the control device.
42. The method as recited in claim 41, wherein the step of establishing a communication link comprises establishing a wireless communication link.
43. The method as recited in claim 39, wherein the step of configuring the programmable hardware 1/0 comprises establishing a wireless communication link between the control device and the operating unit.
44. The method as recited in claim 39, wherein the step of configuring the programmable hardware 1/0 comprises interfacing an input device with the control device to receive status information from the operating unit, the input device being interfaced by implementing an interface protocol.
45. The method as recited in claim 39, wherein the step of configuring a programmable hardware 1/0 comprises interfacing an output device with the control device to send control signals to the operating unit, the output device being interfaced by implementing an interface protocol.
46. An apparatus formed on a printed circuit board suitable for monitoring and controlling an operating unit comprising: a. a microcontroller ; b. a programmable hardware I/O for receiving status information from the operating unit and sending control signals to the operating unit; c. a memory comprising: i. an application program encoding control logic, the control signals being generating according to the control logic ; and ii. a runtime environment for interpreting the application program to be executed on the microcontroller ; d. means for updating the application program stored in the memory; and e. wherein the programmable hardware 1/0 receives the status information and the application program is executed on the microcontroller to generate control signals to control the operating unit.
47. An apparatus formed on a printed circuit board suitable for monitoring and controlling an operating unit comprising: a. a microcontroller ; b. a programmable hardware 1/0 for receiving status information from the operating unit and sending control signals to the operating unit; c. a memory comprising: i. an application program encoding control logic, the control signals being generating according to the control logic ; and ii. a runtime environment for interpreting the application program to be executed on the microcontroller ; d. means for updating the application program stored in the memory; e. wherein the programmable hardware)/0 receives the status information and the application program is executed on the microcontroller to generate control signals to control the operating unit; and f. wherein at least two of the microcontroller, the programmable hardware I/O, the memory, and the updating means are formed on a single semiconductor chip.
48. A single chip control device suitable for monitoring and controlling an operating unit comprising: a. a microcontroller ; b. a programmable hardware 1/0 for receiving status information from the operating unit and sending control signals to the operating unit; c. a memory comprising: i. an application program encoding control logic, the control signals being generating according to the control logic ; and ii. a runtime environment for interpreting the application program to be executed on the microcontroller ; and d. wireless means for updating the application program stored in the memory, e. whereby the programmable hardware 1/0 receives the status information and the application program is executed on the microcontroller to generate control signals to control the operating unit.
49. A method of data processing in a control device, the control device receiving status information from an operating unit, the control device sending control signals to the operating unit, the method comprising: a. interpreting an application program stored in a memory of the control device by a runtime environment; and b. executing instructions received from interpreting the application program on a microcontroller of the control device, the instructions leading to generation of control signals.
50. A method for communication between two control devices in an industrial control system, the control device comprising a micro controller, a memory, a programmable hardware 1/0 and a communication unit, the control device receiving status information from an operating unit, the control device processing the status information to generate control signals for the operating unit, the method comprising: a. establishing a communication link between a first control device and a second control device, the communication link being established using a communication protocol ; and b. exchanging status information between the first control device and the second control device using the established communication link.
51. The method as recited in claim 50, wherein the step of establishing a communication link comprises: a. sending a signal from the communication unit of the first control device to the communication unit of the second control device, the signal being transmitted using the communication protocol ; and b. sending an acknowledgement signal from the second control device to the first control device.
52. A wireless controller for monitoring and controlling an operating unit comprising: a. a microcontroller ; b. a programmable hardware 1/0 interface for receiving status information from the operating unit and sending control signals to the operating unit; c. a memory comprising: i. an application program encoding control logic, the control signals being generating according to the control logic ; and ii. a runtime environment for interpreting the application program to be executed on the microcontroller ; and d. means for updating the application program stored in the memory, comprising radio hardware and a wireless communication protocol to connect to a wireless network, whereby the programmable hardware)/0 receives the status information and the application program is executed on the microcontroller to generate control signals to control the operating unit.
Description:
AN ADAPTIVE CONTROL DEVICE BACKGROUND Field of the Invention This invention relates to control devices used in industrial automation. More particularly, the invention relates to a single-chip adaptive control device having programmable Input/Output (I/O) and a communication interface used in industrial and process control systems.

Description of Related Art Control devices are ubiquitous today; such devices monitor and control one or more parameters of a system in order to ensure its proper functioning. One example of such a device is a thermostat; it can be found in warehouses, homes, offices, refrigerators, and many other places. Another example occurs in vehicles wherein the control device controls the mixture of fuel and air for the vehicle's engine; indeed, this device is a bit more complicated and it often takes as input, the speed of the car, the selected gear and other such information, and then maximizes the efficiency of the engine (or some other performance measure of the car). Today, control devices also occur routinely in manufacturing plants, industrial systems, warehouses, machines and gadgets, aircrafts, ships, spacecraft, submarines, and various mobile and immobile systems.

Some control devices may be equipped with significant processing power in order to handle complex control logic or to implement mathematical algorithms. For example, in a power-generation plant, a sophisticated control device is used for vibration control of rotors. This device processes the vibration signature of rotors, determines any problems associated with these rotors, and issues control signals to offset any such problems. For the analysis of the vibration signature, this device usually uses signal-processing techniques and may perform many complex mathematical operations (including the computation of Fourier Transforms).

Furthermore, this device may rely on an embedded expert system to determine problems that correspond to a characteristic vibration signature. Hence, such a

device needs to be equipped with significant processing power and needs to contain "hard-coded"mathematical algorithms (so that it can perform real-time signal processing and control).

Most control devices are made up of several distinct units. The first unit is an Input/Output (I/O) processing unit that receives input electrical signals from various sensors and that sends appropriate output signals to actuators and other devices.

The second unit is a data processing unit. This unit processes the input signals and produces the signals that are sent to the 1/0 processing unit. A third unit is a communications unit and this unit is optional ; it allows the control device to be interconnected with other control devices or with other systems or sub-systems.

The data processing unit consists of a microprocessor and a programmable memory. This allows the control device to process data (in the form of input signals) and carry out complex functions according to the instructions in a control program (that may be"hard-coded"in the memory). For example, in a power generation plant, the control device that analyses vibration signatures of rotors may implement certain mathematical algorithms in its non-volatile memory. Further, the control device may store, in its programmed memory, a table of characteristic vibration signatures and a set of characteristic rotor faults that correspond to the vibration signature. In order to achieve this, such control devices may have significant computing power and memory.

Clearly, there is significant commercial utility in being able to interconnect multiple control devices. This networking is often achieved using wired and wireless networks spanning an entire plant. Using these networks, many control devices are linked together and connected to form an Industrial Control System. One such example is the Industrial IT system manufactured by ABB of Vasteras, Sweden. This industrial control system gathers information from a variety of control devices and processes this information at one or more central stations so that it can monitor and control various systems or subsystems appropriately ; of course, for gathering this information, the system contains a variety of sensors, actuators, and other similar devices.

The communication unit of the control device may employ either a wired or a wireless communication link to share information. In a network, the communication units of various control devices interact through a common communication protocol.

Due to the ease of implementation, in some situations, wireless communication links may be preferred over wired links, and wireless protocols such as IEEE 802. 11, Bluetooth and HomeRF have been developed in order to facilitate setting up of wireless networks. Also, for many situations, independent companies and organizations have provided proprietary networks that enable specific control devices to be connected to each other (or to other parts of specific systems). Indeed, because there is no standardization among disparate networks, many communication protocols present in the current implementations of control devices hamper the integration of these devices into contemporary industrial control systems.

In a control device, the)/0 processing unit, the data processing unit and the optional communication unit are usually integrated on a Printed Circuit Board (PCB).

These units are made up of various components that are connected together in a pre-determined fashion (in order to execute a particular function of the unit). For example, components of a data processing unit such as a microprocessor, a read only memory, and other units are mounted in various slots provided on a PCB and then connected on the PCB through a network of resistors and capacitors. Also, in many cases, various control logics are hard-coded in memory to permit faster execution speeds, and consequently, to allow real-time operation of control devices.

However, this model of designing control devices may render such devices obsolete if the requirements or the scope of the control problem changes or if better solutions for solving the control problem emerge. For example, a faster algorithm for computing Fourier Transforms in the control device that processes the vibration signature of rotors may render the older unit useless.

Many contemporary control devices also include the communications unit in their underlying PCB. One example of such a device is the Embedded Wireless System F2M05 from Free2move technologies, located in Halmstad, Sweden. This embedded device also incorporates a 100 MIPS (i. e., Million Instructions Per Second) Reduced Instruction Set Computer (RISC) that runs a Linux-based Operating System, has a flash memory, 8-16 MB (Megabyte) Random Access Memory (RAM), a serial interface, a parallel interface, an Analog to Digital Converter,

a Digital to Analog Converter, a general purpose Input/Output interface and a Universal Serial Bus (USB). This embedded system can communicate wirelessly and has in-built support for the Bluetooth protocol. Thus, this device provides communication hardware that can be adapted for multiple kinds of applications.

Technology that allows various components or units to be integrated on a single silicon chip is also being developed; the corresponding chips are known as Application Specific Integrated Circuits (ASICs) and these are designed for a special application, such as a particular mathematical computation or a specific control logic.

The digital circuit for implementing such a computation is hard coded in the microchip. This kind of a hardware implementation on a single chip improves the performance of the computation. Hence, significant gains in computational performance may be achieved by incorporating multiple components on an ASIC.

Furthermore, an ASIC provides a cost effective way of implementing a large number of logic function blocks to carry out a particular computation or an application. These logic function blocks, integrated and fabricated on a single silicon chip, provide a huge advantage in terms of reducing the size of the control device. A reduced size is critical in many cases where space is a constraint. For example, in control devices that are often used in satellites and airplanes, the weight and dimensions of the control device are critical.

With the rapid growth of semiconductor technology, the design and fabrication of ASICs has continued to improve. For example, ASIC mask dimensions have decreased from 0.5 microns to 0.18 microns, thereby permitting more components to be embedded on the same silicon chip. Further, an ASIC for a particular application can now be manufactured using functional blocks that are drawn from an available library of functional blocks. Consequently, ASIC designers are increasingly relying on pre-designed functional blocks to design and test prototype ASIC designs. This technique has reduced the time required to test and develop a particular ASIC.

However, a fully hard-wired ASIC suffers from the drawbacks of inflexibility and non- adaptability. Consequently, ASIC designs have been developed which combine a programmable logic block on the same silicon chip. One such ASIC design has been disclosed in US Patent No. 6,260, 087, which is titled"Embedded Configurable Logic ASIC". This patent discloses an ASIC with a Programmable Logic Block (PLB) that can be programmed for performing a function that complements the functions

performed by non-programmable hardware units on the ASIC. ASIC technology has also been developed that allows dedicated hardware components to be integrated on the same silicon chip. For example, BlueCore2, a product manufactured by CSR of Cambridge, United Kingdom, incorporates a micro-controller, a base-band Digital Signal Processor and the Bluetooth protocol for radio communication. The BlueCore2 device, with the embedded Bluetooth protocol, is ideally suited for audio applications such as cordless telephone base-stations, audio gateway applications and conference calling equipment.

The existing control devices rely on dedicated or hard-coded implementation of control logics and algorithms. Hence, these devices are not suitable for incorporating changes in the control logic. On the other hand, there exist multiple manufacturers for various control applications and, new and improved algorithms and implementations are emerging every day. Since the design of the control device is a highly skilled and time-consuming art, it seems hard to incorporate changes in a cost- effective manner (in the existing control devices). In addition to the problems associated with changing pre-programmed or hard-wired control logic in a control device, problems also exist with respect to communicating data among control devices. One problem frequently encountered in industrial and commercial plants and installations is that there exists a plurality of bus, data-bus and field-bus standards and hence many communication protocols are currently in use. Further, new communication protocols are also frequently being proposed. Standards covering analog and digital communication have evolved over time and although they have converged somewhat, many distinct and non-interoperable standards are still in use. However, it is difficult, time-consuming and often uneconomical to change the communication protocol that a control device uses for data communication.

SUMMARY It is an aim of the invention to provide a single-chip adaptive control device that can be adapted for a control application in a home, an office or an industry.

To attain the abovementioned aim, the adaptive control device comprises a micro-controller, a programmable hardware unit for interfacing inputs and outputs with an operating unit in a home, an office or an industry, a memory for storing information received from the operating unit, the memory storing an application

program for processing the information, the application program interpreted by a run- time environment and executed by the micro-controller, the processing of the application program leading to generation of control signals, and a communication unit that enables the updating of the application program (whenever required).

It is a further aim of the invention to provide a control device that can be networked to other control devices using a communication protocol in order to operate in an industrial control system. In order to attain this aim, a plurality of control devices are networked to other control devices using a wireless communication link, the communication link being established by the communication unit of the control device, and the communication link being implemented using a communication protocol.

BRIEF DESCRIPTION OF THE DRAWINGS The preferred embodiments of the invention will hereinafter be described in conjunction with the appended drawings provided to illustrate and not to limit the invention, wherein like designations denote like elements, and in which: FIG. 1 is a block diagram showing an adaptive control device according to the present invention; FIG. 2 shows a preferred embodiment of the control device according to the present invention; FIG. 3 is a block diagram showing an industrial control system according to the present invention.

DESCRIPTION OF PREFERRED EMBODIMENTS Control devices that are presently being used in control applications in homes, offices and industries are designed for specific applications. These devices often embed control logic in their hardware to ensure real time operation of these devices.

However, the hardwired implementation is often undesirable. For instance, in cases where the control logic needs to be updated or modified slightly, the hardware in these control devices needs to be substantially reprogrammed or replaced. In particular, these control devices cannot adapt to slight modifications in the environment. Further, these devices are often sourced from a plurality of

manufacturers. Each of these control devices may be based on a different communication protocol. A control device that supports only one kind of protocol will thus not be able to network with other devices. Thus, there is a need for a control device that is readily adaptable for a variety of control applications and, at the same time, is able to interact with other devices, with each device possibly implementing a different kind of protocol.

FIG. 1 shows one such adaptive control device that may be configured for a variety of control applications, including homes, offices, and industries. A control device 100 monitors and controls an operating unit 102 in a home, an office or an industry. Control device 100 receives status information 104 from operating unit 102, processes the status information 104 according to predefined control logic and generates control signals 106 to control operating unit 102. Control device 100 may operate either in a real-time mode or in an off-line mode. Thus, control device 100 may continuously monitor operating unit 102, and process status information 104 in real-time. However, in certain control applications, control device 100 may simply process status information 104 that has been collected over a period of time, in the off-line mode. Accordingly, the control device may be configured for either situation.

Consider an operating unit 102 such as a Heating Ventilation and Air Conditioning (HVAC) unit typically found in a home or an office. Status information 104 received from operating unit 102 may be obtained from various sensors associated with operating unit 102. For instance, for operating unit 102, temperature, humidity and other parameters of the quality of air may be measured using appropriate sensors. These sensors would then send the information, such as the measured temperature, to control device 100. Control device 100 then processes status information 104 and generates control signals. For instance, control device 100 may compare the measured temperature against a preset desired temperature.

Next, control device 100 may generate one or more control signals 106 to control operating unit 102. Typically, in offices, control device 100 may only process status information 104 at periodic intervals. In either case, control device 100 may be configured accordingly.

Control device 100 has a programmable hardware 1/0 108 to interface with operating unit 102. Control device 100 receives status information 104 from operating

unit 102 and sends control signals 106 to operating unit 102 using programmable hardware 1/0 108. Programmable hardware 1/0 108 may be equipped with a variety of standard interfaces for this purpose. For instance, programmable hardware I/0 108 may provide support for a Peripheral Components Interconnect (PCI) Bus interface, a serial input and output, a parallel input and output, or other such standard interfaces. In addition, various proprietary standards and interfaces that have been developed by manufacturers may be supported by programmable hardware 1/0 108.

For instance, programmable hardware 1/0 108 may provide support for a wireless communication link between control device 100 and operating unit 102. A wireless communication link may be introduced in cases where operating unit 102 is located in a remote area, and it is not economically feasible to set up a wired communication link. Therefore, it will be apparent to one skilled in the art that the programmable 1/0 unit may be suitably manufactured to support a wide variety of interfaces. Thus, control device 100 may be suitably adapted to monitor and control a wide variety of operating units 102.

Control device 100 processes status information 104 according to pre-defined control logic. This control logic is designed for a particular control application. It may involve mathematical and logical transformation of status information 104 to generate appropriate control signals. For instance, the control logic employed in the above example of HVAC unit 102 may be a simple instruction of comparing status information 104 against a desired value. Accordingly, an appropriate control signal may need to be generated if status information 104 does not tally with the desired value. Thus, the control logic represents the steps that are used for the transformation of status information 104 to control signals 106.

Control device 100 is adapted for a particular control application by suitably coding application program 118 to encode the control logic. Application program 118 is fetched from a Random Access Memory (RAM) 116 of control device 100 and executed on a micro-controller 110. In case there are multiple application programs running simultaneously, each application program is dynamically assigned a separate execution area in RAM 116. RAM 116 also stores the status information for each of the application programs running. Control device 100 may also comprise a Read Only Memory (ROM) 114 in memory 112. ROM 114 may comprise hard coded algorithms or other frequently used instructions or application programs.

Preferably, application program 118 is developed in a high level programming language such as Java. There are several advantages to coding application program 118 in a high level language. For instance, coding in a popular high-level language ensures availability of a large number of pre-tested software routines that may be linked together to form a robust application program 118. Thus, the time to develop application program 118 for a particular control application can be significantly reduced. Secondly, it may be easier to debug, test and develop a new application program 118 if a high level language is used during the development stage. Thus, control device 100 has application program 118 developed in a high level language.

In certain control devices known in prior art, the application program is compiled into such a form in which it may be directly executed (on a particular micro-controller).

However, this requires a high-level language compiler that is specific to the instruction set of the particular micro-controller. Consequently, in cases where the control logic would need to be changed, application program 118 would have to be modified and recompiled using the same micro-controller specific compiler. This is often an expensive process, in terms of both money and time required, and is therefore undesirable. Thus, control device 100 does not directly compile application program 118 into the instruction set of micro-controller 110. Instead, it accepts a compiled version of the application program. This compiled version is independent of the underlying hardware and the micro-controller. A runtime environment 120 relying on a concept of a virtual machine interprets this compiled format. The pre-defined virtual machine represents an abstraction of a physical processing device, such as micro-controller 110. Application program 118 is then interpreted by runtime environment 120. As a result, application program 118 is converted into instructions that are in turn executed on micro-controller 110. Thus, a general-purpose compiler may be used to convert application program 118 coded in a high level language into instructions that may be executed on the virtual machine. Runtime environment 120 provides the implementation of the virtual machine and generates instructions to be executed on micro-controller 110. Typically, runtime environment 120 may be micro- code embedded in ROM 114. Alternatively, a dedicated hardware such as a Field Programmable Gate Array (FPGA) may be used to directly implement the virtual machine by mapping the virtual machine instruction set to the instruction set of micro- controller 110.

Control device 100 also has a communication unit 122 to allow it to be accessed and configured. Communication unit 122 may employ either a wired or a wireless communication link. In the case of a wired implementation, communication unit 122 may connect to a wired network, and send and receive information over the wired network. In a wireless implementation, communication unit 122 has a radio hardware 126 that implements a communication protocol 128. Therefore, control device 100 may also wirelessly communicate with any other device using the same communication protocol 128. Communication protocol 128 may be one of the various popular protocols such as Bluetooth, IEEE 802.11, HomeRF, wireless TCP/IP or wireless ATM. The primary purpose of communication unit 122 in standalone control device 100 is to update application program 118 stored in memory 112. The application program may need to be updated for a variety of reasons. Firstly, the control logic for the control application may need to be modified and consequently, application program 118 may need to be updated. Secondly, the application program may be changed to reconfigure programmable hardware 1/0 108. In either case or in any other case where the application program needs to be updated, control device 100 may receive the updated application program using communication unit 122.

Control device 100 may be configured for a particular control application.

Firstly, programmable hardware 1/0 108 of control device 100 is configured to receive status information 104 from operating unit 102. The configuration of programmable hardware 1/0 108 may require configuring one or more interfaces to accept status information 104 from operating unit 102. Typically, various operating units 102 manufactured by various vendors, may provide information using varied standards.

Thus, programmable hardware 1/0 108 is suitably programmed to interface with varied operating units. Similarly, programmable hardware)/0 108 is programmed to send outputs or control signals to operating unit 102. In the next step in configuring control device 100, the control logic for the particular control application is coded as application program 118. This coding may be done in a high level language. The language used for coding application program 118 would correspond to the virtual machine for which runtime environment 120 has been incorporated. Thus, runtime environment 120 and the high level language are preferably selected prior to marketing control device 100. Once the application program has been developed, usually by an offsite developer, it is downloaded to control device 100. Therefore,

control device 100 is also usually marketed with a pre-configured communication unit 122. This communication unit 122 may implement a communication protocol that is most relevant for the particular control application. Thus, the Bluetooth or the HomeRF communication protocol may be implemented in control devices 100 used in homes or offices. Similarly, the IEEE 802.11 protocol may be implemented in control devices 100 used in industries. In either case, application program 118 may be downloaded to control device 100 once control device 100 has been configured for wireless communication.

A preferred embodiment of present invention has been shown in FIG 2. A control device 200 comprises of a micro-controller 202, a wireless communication unit 204, a programmable hardware 1/0 206 and a memory 208. Further, in the preferred embodiment, control device 200 is fabricated on the same silicon chip, leading to significant benefits in terms of cost, power consumption and reliability.

In the preferred embodiment, Java is used to develop the high-level application program implementing the control logic. Correspondingly, a Java virtual machine is implemented to execute the Java application programs. The Java application programs are implemented by the control device using the micro- controller. Thus, micro-controller 202 comprises a 32-bit Reduced Instruction Set Computer (RISC) microprocessor, a memory management unit, a read only memory unit 214, a random access memory unit 216, support for the Java runtime environment and support for connecting input and output devices to the microprocessor. Further, micro-controller 202 may provide for an interface with a programmable hardware component such as a Field Programmable Gate Array (FPGA).

Further, in the preferred embodiment, the micro-controller 202 is based on ARM Jazelle (g) technology. The ARM JazelleE technology provides a combination of a 32-bit embedded RISC microprocessor and a Java runtime Environment (JRE) on a single silicon surface. Therefore, the ARM JazelleW technology allows a Java application program to execute directly on the microprocessor. The JazelleS) technology further provides for an architectural extension of the 32-bit ARM microprocessor. The application program is compiled into a byte code before it is to be executed for the control application. These Java byte codes are then directly

executed on the microprocessor. The technology also provides for an extension of the native instruction set of the microprocessor. This is enabled by adding instructions to the native instruction set of the microprocessor. As a result, nearly 95% of instructions of Java application program 218 are executed directly on the microprocessor. The Jazelle-enabled ARM micro-controller 202 further requires no memory overhead in the form of storing runtime instructions and results in low power consumption as compared to earlier implementations of Java virtual machines.

Further, ARM Jazelle0 micro-controller 202 also provides for instructions that allow the microprocessor to handle interrupts in real-time. Thus, if new status information 104 is available, an interrupt could be sent to ARM Jazelle0 micro-controller 202, and status information 104 could be processed immediately. Thus, the adaptive control device based on the ARM JazelleS) technology can be used for real time control applications.

In the preferred embodiment, control device 200 is a fully integrated microprocessor and a communication unit 204 fabricated on a single silicon surface.

Such devices are generally referred to as Application Specific Integrated Circuits (ASICs). An ASIC is a microelectronic integrated circuit designed specifically for an application or product, in this case for a control application. Since the ASIC is customized for control applications, significant advantages are available compared to discrete electronic solutions, which utilize numerous standard electronic chips and components. Therefore, in the preferred embodiment, the control device is implemented as a fully customized ASIC. Hence, the ASIC is optimized for control applications in terms of size, cost and real time performance. The ASIC is fabricated using Complementary Metal Oxide Semiconductor (CMOS) technology, which is the prevalent integrated circuit technology. The CMOS technology offers both reduced cost of fabrication and good performance for merging analog and digital circuits. The ASIG solution for implementing the control device is preferred since it offers the advantages of lower cost, reduced dimensions and lower power consumption as compared to a discrete component solution. Further, the ASIC solution also offers the advantage of reliability of operation since fewer components are interconnected.

Moreover, specific features can be added to the ASIC to enhance runtime and real time performance of the control device. For example, a dedicated hard-wired circuit can be set up within an ASIC to implement a particular algorithm, say a mathematical

algorithm for the transformation of status information 104 into control signals.

However, if this feature has to be added to a control device made up of discrete components, it will be an expensive proposition since additional components will have to be separately fabricated thereby and hence increasing design, fabrication and implementation costs.

In the preferred embodiment, control device 200 has a wireless communication unit 204 that implements the Bluetooth protocol. The Bluetooth protocol has been adopted since Bluetooth enabled devices, such as control device 200, can remain networked even in very noisy environments. This is a particularly useful feature of the Bluetooth technology since there may be various disruptions in a wireless link in an industrial environment. Further, the Bluetooth protocol allows for higher data transfer rates than other wireless protocols. The high data transfer rates may be successfully exploited in a control application. For example, voluminous status information may be quickly extracted from control device 200 and processed offline on another device, should the need arise. Another advantage of the Bluetooth protocol is the low energy consumption of corresponding wireless, communication unit 204. Thus, control device 200 may correspondingly have a low power requirement.

In an alternative embodiment, control device 100 has a runtime environment 120 that interprets application program 118 in a sequential manner. Thus, every time application program 118 is run, the virtual machine instructions are converted into instructions to be executed on micro-controller 110. This implementation of the virtual machine is usually a complete software implementation, and consequently, may be slow compared to other implementations. However, this implementation often has cost advantages compared to other implementations of the virtual machine.

Moreover, the complete software implementation of the virtual machine may be preferred if an existing micro-controller chip has to be reconfigured into adaptive control device 100. Thus, this implementation may permit the control device to be manufactured easily.

In another alternative embodiment, control device 100 has a runtime environment 120 that implements a virtual machine in conjunction with a Just-in-Time (JIT) compiler. The JIT compiler enables the virtual machine instructions to be

translated only once into instructions for micro-controller 110. For each subsequent execution of the application program, the same compiled code is used. Hence, the JIT compiler improves the speed of execution of application program 118, and thereby improves the applicability of control device 100 for real time applications.

In addition to the adaptive control device 100 operating alone, control device 100 may also be used in industries. In industries, multiple such control devices may be connected together to form an industrial control system as shown in FIG 3. One example of such an industrial control system is Industrial IT manufactured by ABB, of Vasteras, Sweden. In such an industrial control system, control device 100 works in conjunction with other control devices to monitor and control one or more operating units 102.

In the industrial control system shown in FIG 3, control device 100 may need to access status information 104 from another control device 100. This information may be acquired either directly from another control device 100 or may be routed through a central repository of information, not shown in FIG 3. In many industries, there is a central repository of information gathered from operating units 102 or from remote control devices 100. In such industries, control device 100 may query the central repository over a communication link 300. Control device 100 would be equipped with a suitably configured communication unit 122 that establishes communication link 300. A communication protocol stack 128 may accordingly be configured to interface with other control devices or with one or more central repositories of information. Typically, the communication between control device 100 and another device is initiated by establishing communication link 300 between the two devices. This communication link may be either a wired communication link or a wireless communication link. Preferably, wireless communication link 300 is based on the Bluetooth protocol. Once communication link 300 has been established between the devices, information can be exchanged between the control devices.

Control device 100 which implements a popular wireless protocol may be of significant utility in industrial automation systems. For instance, adaptive control device 100 may be suitably configured to interface with an established industrial control system. Therefore, adaptive control device 100 may be readily integrated with existing industrial control systems. The full features of control device 100 can best be

utilized by implementing the present invention in conjunction with Industrial IT manufactured by ABB, Vasteras, Sweden.

In another alternative embodiment, control device 100 is fabricated on a printed circuit board. In this embodiment, the micro-controller, the programmable hardware I10, the memory and the communication unit are assembled on a printed circuit board. Alternatively, a more compact and modularized arrangement may be obtained by manufacturing two or more of the above components on a single semiconductor chip and integrating this chip with the remaining components on a printed circuit board. For example, the micro-controller and the communication unit may be manufactured on the same semiconductor chip and may be integrated with the memory and the programmable hardware I/O on a printed circuit board. Such a combination on a single chip may be suitable for a wide variety of control applications since different control applications typically have different memory requirements and/or different 1/0 interface requirements. Therefore, for a particular control application, such encapsulated components may be suitably selected and assembled to form control device 100.

The current state of ASIC technology provides the following types of functional blocks to aid in rapid development of an ASIC : a Dynamic Random Access Memory (DRAM) block, a Digital Signal Processing (DSP) block, a Peripheral Component Interconnect (PCI) block, a serial data 1/0 block, a Flash memory block, a Reduced Instruction Set Computer (RISC) microprocessor block, an Electrically Erasable Programmable Read Only Memory (EEPROM) block, a USB and other such blocks While the preferred embodiments of the invention have been illustrated and described, it will be clear that the invention is not limited to these embodiments only.

Numerous modifications, changes, variations, substitutions and equivalents will be apparent to those skilled in the art without departing from the spirit and scope of the invention as described in the claims.