USB oscilloscopes capture analog and digital signals. Through software, engineers can analyze protocols and logic signals. By adding a D/A converter, a USB oscilloscope can also become a waveform generator.
A USB oscilloscope consists of the signal capture and conditioning electronics package, a personal computer (PC) that can be a laptop or tablet unit, or sometimes even a mobile phone handset and the software that runs on the PC. The availability of application-specific specialist software is a key differentiator between various USB oscilloscopes.
This FAQ looks at how USB oscilloscopes can be used as protocol analyzers, logic analyzers, and the wide range of software development kits (SDKs) available. Part two looks at software that can synchronize multiple ‘scopes, perform mathematical functions, and transform a basic USB ‘scope into multiple instruments.
Protocol analyzers are used for the development and troubleshooting of communication buses. They examine the signals and decode the information. Depending on the platform, the decoded information can be displayed as a graph, a segmented display, or as alphanumeric values in a table. USB oscilloscopes are available with software for analyzing these common protocols, among others:
- CAN bus
- I2C / I3C
- UART / SerialS
Logic analyzer software can be used with serial communication protocol analysis and for logic signal timing analysis. It can capture and display multiple digital signals (Figure 1). Advanced triggering capabilities can be an important feature when analyzing the timing relationships between numerous signals in a digital system. In addition to looking into timing relationships, logic analyzer software can enable deep packet decoding and inspection. A logic analyzer on a mixed-signal USB oscilloscope can use analog channels to view logic signals and identify underlying hardware faults not visible to a logic analyzer that may be causing subtle errors in a digital system.
Arbitrary waveform generator
Signals with arbitrary waveforms can be powerful tools for testing circuit performance. A USB oscilloscope-based arbitrary waveform generator can simulate abnormal operating conditions on demand. Two other common uses for an arbitrary waveform generator include:
- Generating reference signals with precise tolerances needed for industry standards testing procedures
- Replicating signals captured from real-world conditions and using them under controlled laboratory conditions
One of the big advantages of USB oscilloscopes is their ability for users to develop custom software. USB oscilloscopes come with powerful signal-analysis software. Standard software packages, however, have their limitations. When additional functionality is needed, users can turn to the software development kits (SDKs) that are available with many USB oscilloscopes. The SDKs are designed for use when the programming complexity exceeds the capabilities of the standard scripting tools included with USB oscilloscopes (Figure 2).
SDKs make USB oscilloscopes highly adaptable, and they are available with a wide range of application programming interfaces (APIs) and drivers for a range of embedded platforms. Many are hosted on GitHub for ease of use. Examples of supported programming languages include:
- Microsoft Visual Basic
- Excel VBA
- C, C++ and C#
Drivers are available for a range of environments including:
- Intel/AMD 32/64 bit
- Raspberry Pi
- Wandboard Dual
Finally, the SDKs often include support for third-party software packages such as Excel, LabVIEW, and MATLAB.
Specialist software can turn USB oscilloscopes into protocol analyzers, logic analyzers, and arbitrary function generators. The availability of SDKs is an especially powerful tool available with USB oscilloscopes and is available for use across a range of programming languages and operating environments. The second FAQ in this series looks at software that can synchronize multiple oscilloscopes, perform mathematical functions, and transform a basic USB oscilloscope into multiple instruments.