In the world of test and measurement instruments, 'Analyzers', 'Loggers' and 'Slave' are 3 distinct devices with a different functionality and usage scenario.
Analyzers, Loggers and Slaves are all used to collect data and information from a system - they are 'Input' devices, as opposed to 'Output devices', which generate some kind of signal or data.
Because all kinds of usages are useful for embedded system debug and test, some instruments sometimes show multiple capabilities, such as logging/analysis capabilities. Here is an attempt to find a definition for each type of use.
We shall limit to digital types of instruments.
- An analyzer - typically a logic analyzer - is a device able to sample multiple digital data lines. Typical features and parameters are:
* The maximum sample width: this is the width of each collected sample - that is, the number of bits the device collects at each sampling frequency period.
* The maximum sampling frequency: this is the maximum rate at which the device is able to collect the samples.
* The trigger definition engine: it defines the conditions upon which the device starts collecting the samples.
* The total sampling memory: the maximum amount of memory where the collected samples are stored.
Typically, an analyzer waits until a predefined trigger pattern is recognized, then collects sample once each period of the sampling frequency and stores them into its memory until this internal memory is full, then stops operation.
The rough collected data is then available for further analysis - for example, if the collected samples come from a SPI bus, a subsequent analysis of the rough samples can lead to distinguish when a SPI transaction occured from when the bus was idle.
- A logger - also called 'recorder' or 'monitor' differs from the analyzer on the following aspects:
* It only collects data that 'match some criteria'.
For example, if a logger is used on a SPI bus, it can be programmed to collect only 'valid SPI transactions' and discard idle information or bus toggling that does not comply with the SPI protocol.
* It can be 'always on'. As opposed to the analyzer, which starts upon occurrence of a trigger and stops when its memory is full, a logger aims at selecting and recording only pre-defined relevant data, and hence, spare its memory space when no relevant data is detected on the bus. Simply put: using a logger requires some 'a priori knowledge' of what is sought, while an analyzer is use for collecting raw samples.
It might occur that the logger memory gets full. In such a case, where an analyzer would stop operating, a logger would suspend storing data until some space is free again (for example, from the user's interface) to store fresh data.
* To log digital data, a logger also defines a sampling frequency, some engine used to recognize the relevant data to be collected and a memory where it stores the collected.
Usually, a logger is used for isolating functional data over a long time period, while analyzers are used to collect raw low-level digital data over a shorter 'sampling window'.
- Unlike the logger and the analyzer, a slave is not formally a kind of test and measurement device.
A slave always relates to a bus protocol that defines a 'master' as the counterpart of the slave.
Simply put, a master sends requests on the bus (typically, write or read requests), which are received by one or more slaves on this bus, which provide an answer - often receiving data written by the master and/or providing data for a read request. The scheme depends on the protocol.
For instance, taking the SPI protocol as reference, the master on the SPI bus initiates the SPI transaction by selecting a slave with its 'slave select' line and providing serial data on the MOSI line (Master-Out, Slave-In). Simultaneously, the designated slave provides its answer onto the MISO line (Master-In, Slave-Out).
While analyzers and loggers are types of equipment used to get visibility over a system - and hence, are not formally part of this system, a slave is an integral part of a system.
Some pieces of equipment may emulate the behaviour of a slave for testing and debugging. Formally, this type of equipment often reduces to a simple protocol-compliant memory, that pre-stores the 'expected behavior' of the emulated slave.
What about Byte Paradigm's devices?
If we take the above definitions as reference:
LOG Storm is a general purpose high speed digital data logger. Specific buses built-in analysis for SPI and I²C are planned.
SPI Xpress is a SPI Master and SPI Analyzer.
I2C Xpress is a I²C Master and I²C Analyzer.
GP-22050 and GP-24100 behave like:
- Logic Analyzer with Analyser mode of operation.
- SPI Master and SPI Analyzer in SPI mode of operation.
- I²C Master and I²C Analyzer in I2C mode of operation.
For more information about modes of operation, please go to 8PI Control Panel software page.