For the purposes of the present discussion, a synthetic instrument will be defined to be an instrument that processes an instrument input signal to arrive at an instrument output by applying a plurality of component modules to the input signal or signals derived therefrom. Each component module has a component input and a component output. The instrument input signal is applied to the component input of one of the component modules. The output of that component module can form the input of another component module and so on. The synthetic instrument can also include component modules that provide other inputs to one or more of the other component modules. In addition, the output of one or more of the modules could be a visual display. Finally, it should be noted that a component module could have a plurality of inputs and outputs, and these inputs and outputs could be digital, analog, or a combination of both digital and analog.
The sequence of input and output signals discussed above will be referred to as the signal path in the following discussion. This path can be a linear path consisting of the nodes between the component modules or a branched path. In addition to this signal path, the synthetic instrument includes a local network that connects some or all of the component modules. This network is used to communicate information that is generated by, or to be used by, one or more of the component modules.
In a synthetic instrument according to the present invention, at least one of the component modules generates data that could be displayed. This module will be referred to as a data source module in the following discussion. There may be more than one such module in an instrument. Each data source module broadcasts the data on the network together with information describing the data when the data is ready for display. Any component module on the network, or on another network connected to the internal network, can receive the data and display it or provide other forms of data processing. The information broadcast by the data source module includes information that will allow a receiving module to identify the data, and hence, provide at least one display mode if that receiving module is programmed to display the data or process it further. The data that is broadcast on the network may also include a code module that can be used by the receiving module to display the data. The data that is broadcast on the network may also include information that defines a default display format, allowing the receiving module to display the data even though the receiving module is not specifically programmed to display the specific type of data that it receives.
The manner in which the present invention provides its advantages can be more easily understood with reference to
In this example, either digitizer 23 or controller 24 could be a data source module that broadcasts the data on network 26. The data is displayed by a display processor 34 that is part of analyzer 20. It should be noted that if a new instrument is designed in which digitizer 23, for example, is replaced by a new type of digitizer, none of the other components need to be altered if the new digitizer broadcasts data in the same format as the old digitizer. If this condition is not met, then display processor 34 needs to be updated; however, the remaining modules can function in the same manner as those modules functioned in the old analyzer design. Hence, the present invention significantly reduces the expense and turn around time associated with providing updated versions of existing test instruments.
Analyzer 20 also includes a network interface 35 that interfaces internal network 26 to an external network 31 that could include the Internet and other forms of networks. This enables external display processors such as display processors 32 and 33 to receive the data and display the data at locations that are remote from analyzer 20. Each external display processor can display the data in a format that is customized for the users of that display processor. For example, analyzer 20 could be located in a laboratory and display processor 32 could be located in a classroom that is far from the laboratory. As measurements are made on a signal source in the laboratory, students in the classroom can view the results without any changes to analyzer 20.
Display processor 32 could utilize a default data display to simplify the initial setup of the display processor. For example, if the data source module outputs data in an HTML format, display processor 32 could use a web browser to view the data in a standard format, and hence, the external display feature can be easily implemented without altering the internal functions of analyzer 20. If more sophisticated display or data processing is desired, the default program on display processor 32 can be enhanced to provide the desired functionality. Furthermore, the display programs used by each external display processor can be different from the others. In addition, these external display processors can utilize proprietary software that is sold separately either by the manufacturer of analyzer 20 or third parties. For example, the display software could also include proprietary data processing algorithms that transform the raw data into data that is corrected for errors. Users of this more sophisticated software can be charged for the added functionality without increasing the cost of the basic analyzer.
It should be noted that the data source module could broadcast its data in a number of different formats in a series of separate transmissions. The different formats can be chosen to provide an increased range of display processors that can receive the data and display it. Hence, an upgrade in a digitizer that requires a new data format to provide additional data can be made while maintaining backward compatibility with display processors that utilize the previous data formats. In addition, the data content of the different transmissions can be different. Hence, one format could include only the basic data to be displayed. A second data transmission could include calibration data that can be utilized by a display processor to correct the data for known errors in the data source module. Hence, display processors that do not have the error correction programs would merely display the raw data while more sophisticated display processors would display the corrected data. One or more of the data formats can utilize encryption protocols to limit the use of the more detailed data to display processors that utilize proprietary software. For example, display processor 32 could utilize only a display program that displays the raw data. Data processor 33, on the other hand, could include a proprietary software package that utilizes data sent in an encrypted format to correct for known errors in the raw data prior to that data being displayed.
In addition to providing an improved method for displaying the normal output data of the instrument, an instrument according to the present invention can provide improved diagnostic functionality. In many cases, a number of modules within the instrument will be data source modules even though only one of these modules generates the data that is normally displayed on the display processor. One of the advantages of synthetic instruments is the ability to use one component module in a number of different instruments. Hence, a synthetic instrument could include a number of modules that are the generators of the displayed data in some other instruments in which those modules were utilized.
To reduce traffic on the internal network, the component modules whose data is not needed for display purposes are typically placed in a state in which those modules do not broadcast data during the normal operation of the synthetic instrument. In general, the data is broadcast during the testing phase and picked up by a display computer or other processor to assure that the instrument has been assembled correctly and does not include any defective modules. Whether or not this broadcast function is used during the normal operation of an instrument will, in general, depend on the particular synthetic instrument in which the module is utilized. However, in one embodiment of the present invention, one or more of the component modules can include a broadcast function that can be turned on or off by commands received by that module on the internal network. During the normal operation of the synthetic instrument, the data broadcast function could be utilized to provide some enhanced data display at one of the display processors or to debug an instrument that is not operating correctly, and hence, provide increased functionality at little additional cost.
Various modifications to the present invention will become apparent to those skilled in the art from the foregoing description and accompanying drawings. Accordingly, the present invention is to be limited solely by the scope of the following claims.