DYNAMICALLY RECONFIGURABLE HARDWARE SYSTEM FOR REAL-TIME CONTROL OF PROCESSES

Abstract: A dynamically reconfigurable hardware system provides real-time control of an external device. The system has a configuration memory (19), a reconfigurable logic module (13) and a processor (17), and a communication port (31). The configuration memory (19) stores a hardware configuration of the reconfigurable logic module (13). The reconfigurable logic module (13) in communication with the configuration memory (19), establishes the hardware configuration in the module (13) on receipt of a configuration signal. The processor (17) is in communication over a data bus (27) with the reconfigurable logic module (13), the configuration memory (19), and sends the configuration signal to the reconfigurable logic module (13) and establishes the hardware configuration in the configuration memory (19). The communication port (31), coupled to the reconfigurable logic module (13) independently of signals on the data bus (27), controls the external device.

Description: Dynamically Reconfigurable Hardware System for Real-Time Control of Processes DESCRIPTION Technical Field This invention relates to virtual computing environments utilizing reconhgurable logic modules, such as gate arrays and the real-time control ol external devices. Background Art Although there can be many different implementations ot virtual computing devices which make use ol held programmable gate arrays ("FPGAs " ) an example ol a prior art version ol such system is US patent 5.497,498. FPGAs are discussed in Villasenor and Mangione-Smith '"Contigurable Computing' " . Scientific Ameπcan. June. 1997, pages 67-71 These relerences are incorporated herein by reference. A recent trend in lactory automation is to replace dedicated and propπetary computers within the lactory with an open architecture control system based on general purpose personal computers (PC) Major control vendors now have business plans at least partially impacted by the PC. Some maior control equipment suppliers are already pursuing strategies based entirely on PC control. Towards lacihtating the transition trom specialized computers to general purpose computers, the Open Modular Architecture lor Control (OMAC) specilication was developed and adopted by several maior corporations Maintaining compatibility with the past standards, however, is very important. Consequently, previous attempts to improve control systems while maintaining full compatibility has resulted in relatively minor improvements. Ol special note are attempts to replace pπor networking schemes lor distributing real-time control with methods designed to operate on the general purpose PCs With the specialized hardware, real-time control was feasible since a dedicated machine had little overhead beyond simply functioning as it was designed to do. That is. network-distributed real-time control requires last hardware and a fast communications link in order to effectively control devices in real-time. In the prior art, such real-time control was feasible due to the dedicated nature of the equipment. So long as the dedicated svstem could process the data quickly enough, and perform as designed, then real- time control worked. When using generic PCs as the controlling computer, it must be assured that the system can still maintain network-distributed real-time control. Current pπor art attempts have been unable to manage effective network-distributed real-time control. The reason is that the bandwidth of the physical layer on which the pπor art systems rely is too slow due to their relying on communication over the host computer ' s internal I/O bus. Summary Of the Invention The present invention supplies a solution to the need lor allowing network-distπbuted real-time control and also allows the controller to be dynamically reconfigurable in real-time in response to input received lrom a controlled device that is linked to the controller Configuration occurs parallel to and in a manner independent of the host computer " s processor. In a preferred embodiment of the invention is provided a dynamically reconfigurable hardware system for real-time control of an external device. The system has a configuration memory, a reconfigurable logic module and a controller, and a communication port. The configuration memory is tor stoπng a hardware configuration of the rcconligurable logic module. The reconfigurable logic module in communication with the configuration memory, establishes the hardware configuration in the module on receipt of a configuration signal. The controller is in communication over a data bus with the reconfigurable logic module, the configuration memory, and sends the configuration signal to the reconfigurable logic module and establishes the hardware configuration in the configuration memory. The communication port, coupled to the reconfigurable logic module independently of signals on the data bus, controls the external device because the communication port is coupled to the reconfigurable logic module, a device may be controlled in real-time in parallel to and in a manner independent of a processor within a host computer. The term "rcconligurable logic module", as used in this description and the following claims, means any digital processing module having a hardware configuration that is held programmable, such as a held programmable gate array (FPGA) or a system programmable gate array (SPGA). In a further embodiment of the invention the data bus is in communication with a network, such as the Internet, allowing receipt of hardware configuration data from remote networked locations. In further embodiment, the configuration memory may be dual-ported - λ - random access memory or electronically erasable programmable read-only memory. In another related embodiment, the controller is in communication with a network, and at least a portion ol the hardware configuration is referable from a remote location on the network. In a still further embodiment, the system also has a computer having a central processing unit in communication with the data bus. a graphics display tor a user interface, and a process executing on the central processing unit that send user interlace data to the display, wherein the reconfigurable logic module performs computations in parallel with the process executing on the central processing unit. The network may be the Internet, the user interlace may be an Internet browser, and the browser retrieves the hardware configuration, or a part of such configuration, through the Internet. The system may also include a digital signal processor that includes the controller. The network may utilize the IEEE PI 394 protocol. In a related method according to an employment of the present invention, there are provided the steps of (a) storing hardware configuration in a configuration memory: (b) providing a rcconligurable logic-module in communication with the configuration in the module: (c) establishing the hardware configuration in the reconfigurable logic module: and (d) utilizing the reconfigurable logic module to control an external device in real time. In a lurther embodiment, step (c) includes providing at least a portion of the hardware configuration to the reconfigurable logic module over a network. Brief Description of the Drawings The foregoing invention will be more readily understood by reference to the following detailed description, taken with the accompanying drawing, in which FIG 1 is a block diagram of a preferred embodiment of the invention. Detailed Description of Specific Embodiments A preferred embodiment of the invention embraces the Open Modular Architecture f or Control specification, through installing the invention within host PC systems, with communications between the invention and the host computer performed through the computer ' s data bus. To overcome the bandwidth concerns of the prior an systems, the embodiment avoids using the host computer ' s I/O sub-system, removing from the host's I/O sub-system the strain ol supporting a protocol-intensive application as demanding as real-time control. In addition, by avoiding the host computer ' s I/O sub-system, the embodiment is insulated from interrupts generated by other processes running on the host, interrupts that could interfere with critical real-time control operations. The embodiment utilizes a dedicated I/O port tor connecting to a device to be controlled, thus preventing the unpredictable performance inherent in using the host computer ' s I/O sub-system The embodiment also implements an optimized communication protocol adapted to controlling applications under cπtical hard real-time constraints, allowing for high-precision, high-bandwidth real-time distπbuted computation and control High-precision is provided through use of 16 bit analog-to-digital (A/D) and digital-to-analog (D/A) conversion based upon 18-bit calibration, instead ot the more common 12-bit to 14-bit A/D-D/A conversion. In a preferred embodiment communication protocol will preferably be implemented over a control network capable ol sustaining a data transtcr rate ol at least 200 Megabits per second (Mbits/sec), to allow tor coupling real-time control with transmission ot video signals or high-density graphics images The embodiments ot the invention are designed to allow control ol devices located within the host computer, as well as to control devices located upon a distπbuted network FIG 1 shows the pπnciplc components ot a reconfigurable hardware system 11 in accordance with a preferred embodiment ol the invention The systems comprise a field programmable gate array (gate array) 13, a random access memory 15, a processor 17. a configuration memory 19. and a dedicated I/O port 31. The processor 17 accesses the conligurauon memory 19. liejd programmable gate array 13. the random access memory 15, and the I/O port 31. all over data bus 27. In one embodiment ol the invention, the processor 17 and the random access memory 15 may be implemented as a single digital signal processor 21. Alternatively, the processor 17 may be a suitable controller In prelerred embodiments, the system 11 will be installed within a host computer system 25 having a PCI bus 31. and communication with the system will be through a data connection 29 linking the system 11 to the PCI bus In a preferred embodiment ot the invention, the components 11 will be manufactured as part of an expansion card to be plugged directly into a PCI expansion slot within the host computer 25 In the expansion-card embodiment, the communication path 29 will be through the edge connectors ot the expansion card within the PCI expansion slot In practice, the embodiment of FIG. 1 is used to perform real-time control ot one or more devices attached to the embodiment. In prelerred embodiments, there will be a direct - 1 connection between the field programmable gate array 13 and a dedicated I/O port 31 The dedicated I/O port will allow the gate array to control devices 41 directly attached to the invention, as well as to communicate through a data network 23 to control computers 33, 35 or other devices 37 located remotely Irom the invention. Since in preferred embodiments the gate array has its own dedicated I/O port, the invention will be able to communicate and control devices in a manner independent ol and parallel to the operation ot the host computer. In order lor real-time control to be feasible, preferred embodiments ot the invention will require that for controlling more than a tew simple devices, or if controlling devices located tar from the invention, that the network 23 be a high-speed network having a data throughput of at least 200 Megabit/sec. In addition, the network should have guaranteed latencies that are sufficiently depending on the application A suitable network, tor example, may be operate din accordance with IEEE standard PI 394. which is marketed commercially by licensees ol Apple Computer Systems ot Cupertino California, under the FIREWIRE trademark For a device 41 attached directly to the invention, a low-speed liber-optic connection may be utilized tor communication to the invention. For remote devices and computers, preferred embodiments will have a hub 43 at the remote site tor coordinating communication with the invention over the high-speed network 23 For a device 37 or computers 33, 35 attached to the high-speed network 23 via the hub 43, lower speed fiber¬ optic connections 39 may be utilized. The basic issue lor all methods of connecting to the embodiment and thereby to the field programmable gate array 13 is to ensure that there is sufficient bandwidth over the lower speed fiber-optic connections 39 to allow tor real-time control ot attached devices, as well as sufficient bandwidth over the high-speed network 23 tor carrying all ot the control data back to the gate array 13 A simpler prelerred embodiment of the invention may be used to control remote devices over low cost plastic optical fiber When the low cost plastic optical fiber is insufficient to meet the communication needs of the attached devices, or when the distance between the devices and the controlling host computer are too long to allow use ot low cost plastic optical fiber, a more sophisticated embodiment of the invention may be used. In this embodiment, a high-speed network link is used to attach the host computer to a hub located at a remote location, from which the low cost plastic optical fiber may then be used to connect to the hub devices that use local to it In prelerred embodiments, hubs may also be daisy- chained via the high-speed communication links, so that devices very distant from the host computer may still be controlled. That is. hubs may be used to connect several distance- limited high-speed links. Embodiments of the present invention may support such topologies and embodiments are designed to allow tor controlling devices in a fully distributed environment over wide area networks (WANS). In preferred embodiments, the state ol the field programmable gate array remains constant as long as power is applied to the gate array ' s circuitry Therelore, during power-on ot the host computer, which preterably supplies power to the embodiment, the embodiment will automatically test and reset the gate array to a known start state. In a preferred embodiment, a specialized software compiler is provided to conven a computer program into instructions suitable for programming the state ot the gale array The programming language may be C. C++ or some other high-level programming language. Through the specialized software, the gate array is programmed to perform a specihc hardware Junction that would otherwise have been executed much more slowly in soltware. In addition, the gate array may itself be programmed to reprogram itsell (in whole or in pan) without turther intervention depending on conditions experience in the course ol control This sell-reprogramming could be due to the gate array ' s 13 presently loaded hardware configuration, or in response to an action performed by a device under control. Programming the held programmable gate array 13 is achieved by sending the gate array a conligurauon signal. In response to this signal, the gate array ' s internal gates are set according to the contents ot the conligurauon memory 19. After the contents ot the conligurauon memory 19 have been loaded, the gate array 13 now has a new hardware configuration. In a prelerred embodiment, there will be little or no interaction between the host computer 25 and the embodiment, and thereby little drain upon the host's resources, except tor programming the gate array into a new hardware conligurauon. In a lurther embodiment ot the invention, there is provided a digital signal processor 21 (DSP) having its own central processing unit 17 and random access memory 15 local to the DSP. so that the DSP can act as a parallel processor tor the host computer 25 and coordinate and control the programming ol the gate array 13 In a turther embodiment, in addition to receiving hardware conligurauon data Irom the conligurauon memory 19. the held programmable gate array may also retrieve conligurauon data trom remote network locations, such as from remote computers 33, 35, or Irom remote world wide web sites In two prelerred embodiments ol remote interlace modules, the first embodiment has one acquisition and one interlace card The interlace card provides the conhguration/control 5 support, a digital I/O port, and a low bandwidth optical link interlace. The acquisition card provides two 16-bit A/D converters and 16 channels with programmable gains. There are also two additional true dilterential high-impedance channels: The maximum sampling rate tor each channel is 200k samples per second A second embodiment has the same characteπstics as the lirst model except that an additional card is provided. This additional card provides 16 10 18-bit D/A channels in voltage mode and two additional channels with voltage or current outputs A Digital Signal Processing (DSP) card is also available, which provides 40 or 50 MFLOPS (million floating point operations/sec), and several DSP cards can be installed within a hub when distπbuted computing power is required at the remote sites.

Claims: What is claimed is: 1. A dynamically reconfigurable hardware system tor real-time control ot an external device compπsing: (a) a configuration memory for storing a hardware configuration; (b) a reconfigurable logic module, in communication with the configuration memory, for establishing the hardware configuration in the module on receipt ol a configuration signal: (c) a controller in communication over a data bus with reconfigurable logic module and the conligurauon memory tor sending the configuration signal to the rcconligurable logic module and lor establishing the hardware configuration in the configuration memory; and (d) a communication port coupled to the rcconligurable logic module independently ot signals on the data bus lor controlling the external device; 2. A hardware system as descnbed in claim 1. wherein the conligurauon memory is dual-poned random access memory. 3 A hardware system according to claim 1 , wherein the conligurauon memory is electrically erasable programmable read only memory 4 A hardware system according to claim 1. wherein the data bus is in communication with a network. 5. A hardware system according to claim 1. turther compπsing. (e) a network, wherein the controller is in communication a network, and at least a portion of the hardware conligurauon is retπcvablc from a remote location on the network. 6. A hardware system according to claim 1. turther compπsing: (e) a computer having a central processing unit in communication with the data bus: (f) a graphics display lor a user interlace; and (g) a process executing on the central processing unit that sends user interlace data to the display, wherein the rcconligurable logic module perlorms computations in parallel with the process executing on the central processing unit 7 A hardware system according to claim 6. wherein the network is the Internet, the user interlace is an Internet browser, and wherein the browser rctπeves at least a part ol the hardware conligurauon through the Internet 8. A hardware system according to claim 1. wherein the system lurther comprises a digital signal processor that includes the controller. 9 A hardware system according to claim 4, wherein the network utilizes the IEEE PI 394 protocol. 10. A method tor controlling an external device in red time compπsing: (a) storing a hardware configuration in a configuration memory: (b) providing a reconfigurable logic module in communication with the conligurauon memory lor establishing the hardware conligurauon in the module: (c) establishing the hardware configuration in the rcconligurable logic module: and (d) utilizing the rcconligurable logic module to control the external device 1 1 A method according to claim 10, wherein step (e) includes providing at least a ponion ot the hardware configuration to the rcconligurable logic module over a network. 47217

Inventors: HUNTER IAN W, LAFONTAINE SERGE R, MARTEL SYLVAIN, HUNTER, IAN, W., LAFONTAINE, SERGE, R., MARTEL, SYLVAIN
Applicants: MIRADA SOLUTIONS INC, MIRADA SOLUTIONS, INC.
Application year: 1997
Main classification: G06F15
IPC codes: G06F9, G06F15