Measurement devices include such items as oscilloscopes, logic analyzers, network analyzers, and spectrum analyzers. Since oscilloscopes are the most prevalent of these devices, the following discussion will focus on the oscilloscope with the understanding that most of the following discussion equally applies to the other measurement devices.
Modern oscilloscopes are powerful general purpose tools for engineers and technicians working in a wide variety of jobs across many industries. While their generality is often an advantage, there are situations where customers desire to extend the functionality of a general purpose oscilloscope into a specific application-focused measurement solution. One example of such a situation is Universal Serial Bus (USB) pre-compliance testing. In order to achieve USB interoperability certification, a new USB device must pass a series of performance tests specified by an industry consortium. Official compliance testing is time consuming and expensive, and device manufacturers prefer to ascertain whether their new product is ready for full compliance testing via an easy pretest operation that they can perform themselves using an oscilloscope. Another example is a disk drive read-channel analysis. In order to achieve higher bit densities on magnetic media, disk manufacturers are turning to PRML (Partial Response Maximum Likelihood) approaches. In these approaches, data is stored such that individual bits intentionally overlap with adjacent bits, creating inter-symbol interference. Rather than reading and interpreting individual bits based on simple threshold detection, the read-channel processes the head signal from a stream of consecutive bits and uses statistical techniques to determine the best binary interpretation of the bit stream. In this application, customers desire to process the basic volts versus time oscilloscope data in a way that is PRML-aware, so they can verify various aspects of the processing chain with respect to the intended signals. Other current examples may include jitter analysis and power signal analysis. Still other applications will emerge in the future.
While it is sometimes feasible to include certain application-specific measurements or functions into the oscilloscope, full solutions are often best accomplished through the use of a separate program to further process the data acquired by the oscilloscope. Such application programs typically require deep knowledge of the target industry and involve complex and/or proprietary measurement algorithms. They may be developed by different individuals and under different schedules than the oscilloscope itself. Applications that are unknown at the time of the oscilloscope development may be created by third parties to capitalize on new market opportunities.
Application programs may be executed on external computers, or on the oscilloscope itself in the case where the oscilloscope is based on an open standard computing platform such as an X86 compatible personal computer (PC).
Prior application approaches using separate programs have been developed for prior systems. However, in these approaches the operation is centered on the application program and not the oscilloscope. The user interacts with the application program, which may reside on a different machine than the oscilloscope, and the application program controls the oscilloscope via a programmatic interface such as general purpose interface bus (GPIB) (EEE 488). This approach captures the benefits of de-coupling the application software from the oscilloscope, but is disadvantageous in that it requires users to change their “home base” from the oscilloscope to the application program. If it involves the use of an external PC, it is even less desirable from the standpoint of delivering a single box, turnkey solution.
There are also existing approaches based on incorporating the entire application into the oscilloscope software. This approach has been practiced extensively by LeCroy Corp. in their jitter analysis and disk drive analysis/verification packages. While it maximizes the integration attribute, this approach presents other difficulties. One of these is that the user interface (UI) to the application must be presented within the basic UI framework of the oscilloscope. For example, if the oscilloscope UI is based on softkeys, the application must fundamentally conform to a softkey paradigm. This may compromise the utility of the application. Another difficulty is that it may not be possible to develop applications independently from the oscilloscope software. Support for a new application generally requires a new revision of the oscilloscope software.
LeCroy Corp. also has a “user-defined” measurement system that allows the user to access a Visual Basic (VB) script window from within the oscilloscope application. The user then types in a VB script for a custom measurement/math function, closes the VB script window, and then runs the custom measurement function on the oscilloscope.
Another prior art alternative is based on the Component Object Model (COM) system supported by Microsoft Inc. and other software vendors. In this alternative, the oscilloscope software is developed with a COM interface that provides for rich interaction possibilities with applications that may be developed in the future. This alternative provides de-coupling of the application software from the oscilloscope while theoretically allowing for an integrated user interface via menus, dialog boxes and other controls. The main disadvantage of this alternative is its complexity, both in terms of setting up the oscilloscope with a COM interface, and in terms of the work application developers would have to do to connect their applications to the oscilloscope system. Application developers would have to learn about the COM interface and would have to compile their systems using header files that were provided by the oscilloscope manufacturer. The oscilloscope manufacturer would likely have to provide means to support multiple application development languages and tool chains.