What is the difference between a Logic Analyzer and an Oscilloscope?

TL;DR -
Oscilloscopes are the best tools for measuring and viewing analog electronic signals, and for evaluating signal integrity and analog circuit performance.

Logic analyzers are the best tools for measuring and viewing digital electronic signals, and digital protocols like I2C, SPI, and Serial.

I2C on an Oscilloscope

I2C on a Logic Analyzer

In the real world, all signals are analog -- even "digital" ones.

You use an oscilloscope when you care about the analog aspects of a signal - its voltage, and how that voltage changes over time.

You use a logic analyzer if you only care about the digital aspect of a signal - whether the signal represents a one or a zero over time.

Oscilloscopes typically do not record analog data continually, instead they "trigger" on a certain feature of the analog signal, and make a small recording of what happened around that time. This small recording is what is displayed on the screen. With each new recording, the screen is updated. This is particularly ideal for signals that are repetitive.

Because digital information is usually changing much to quickly to see, logic analyzers typically record the signal, so you can take your time inspecting it.

The primary functions of an oscilloscope are to:

  • Repeatedly record a small snapshot of the signal based on the trigger setting.
  • Display these captures, typically in real time.
  • Provide a way to measure the amplitude, timing, and similar aspects of a wave shape.
  • Potentially provide special functions such as FFT and mathematical operations, typically in real time.

The primary functions of a logic analyzer are to:

  • Record a digital signal and move it to a computer.
  • Display the digital signal, and provide a way to navigate a potentially very long recording.
  • Provide a way to measure the time between different points in the displayed signal and other similar functions.
  • Interpret the contents of the digital signal via a “protocol analyzer” depending on what format the communication is using, such as SPI, I2C, Serial, CAN, etc.