Plug-ins have many uses ranging from serial protocol analyzers to soft triggers. Each application might have different terms for the data generated. We will use the following terms throughout this discussion.
The raw data gathered from the hardware at its sample rate.
These are the physical connections to the target. Our Logic Analyzers have 9,18 or 36 channels.
The physical channels that are assigned to active signals. These are the channels the hardware is monitoring.
A higher level abstraction. It maps physical channels to specific purposes in the signal. All displays, searches, triggers, etc are defined in terms of Signals; not channels. You can reassign a signal to a different channel without changing anything else. Multiple signals can use the same channel where appropriate (e.g.: several SYNC signals could use the same channel for their CLOCK function.)
This refers to the routines used to translate the raw captured data into the representation in the waveforms and list views. The signal parser uses the channel mapping and signal configuration options to extract data from the raw capture data, interpret it and format it for display.
Pre-processor and Post-processor
All signal parsers consist of 2 parts; a pre-processor and a post-processor. The pre-processor interprets the raw capture data and sends this information to the post-processor. The post-processor analyzes this data to generate the display formatting, colors and framing.
The output from the pre-processor (input to the post-processor) is called an EVENT. Events consist of a time-stamp, some data and possibly some flags. These represent higher level activities than raw signal transitions. Typical events will indicate errors in the protocol, start and stop framing (if part of the protocol), a completed field of data or perhaps a single bit of data. The exact contents of an event vary with each pre-processor.
Similar to events, except the data portion of the event contains the raw channel levels at this timestamp, rather than processed data from a pre-parser.
The final post-processor outputs a series of field definitions. Fields are stored in the signal's internal state table. A field definition represents a single cell of data. It is displayed as a rectangle with its value printed inside. In some serial protocols, the field widths could vary. In others, they are consistent. In the basic ASYNC interpreter, each character is a field. In the STATE interpreter, each STATE is a field. In I2C, there are a number of predefined fields of varying length.
Some protocols group fields into Frames (sometimes called packets). A frame might represent a complete command or transaction. In other cases, the data might be arbitrarily grouped into fixed length pieces for easier viewing. We display a FRAME as a series of connected fields with the first field starting with '<' and the final field ending with a '>'. In I2C, the frame is delimited by specific start/stop conditions on the physical lines. Other systems might use sync signals, field counts, timeouts, or specific characters to mark frame boundaries. Frames' start/end conditions are specially tagged/formatted fields.