Protocols

Most communication interfaces use streams of bytes to transfer data. This is enough for single data values of 8-bit precision, but when multiple values are required to be transmitted over the same interface, data must be packed in a protocol. The Data Visualizer supports two such protocols.

The Data Stream protocol is using a light-weight framing format to pack several numerical values over one interface. It is only capable of handling incoming data and it only supports synchronous streams (i.e., every data packet must contain one sample from each data stream).

The Atmel Data Protocol (ADP) enables streaming of data in both directions. ADP is, in general, more flexible than the Data Stream protocol and it also supports asynchronous streams (i.e., data samples from each data stream can be sent independently).

Both protocols can be automatically detected and used to automatically configure the Data Visualizer by defining data streams, configuring a Dashboard and connect the data streams to the Dashboard elements. The main difference is that for the Data Stream protocol, the configuration settings reside in configuration files on the host computer while for ADP the configuration settings are sent from the target application to the host computer. In addition, ADP can configure Graph and Terminal views. The Graph element in the Dashboard view is supported by both protocols.

Table 1. Protocol Comparison
  Data Stream Protocol Atmel Data Protocol (ADP) Comment
Complexity Simple/Lightweight Complex/Flexible  
Start/Stop individual streams - X  
Data input X X Data transmission from target application to host computer
Data output - X Data transmission from host computer to target application
Support String data type - X Various length strings
Configuration settings stored on host computer X - Configuration of Data Visualizer GUI
Configuration settings stored in target application - X Configuration of Data Visualizer GUI
Dashboard View configuration X X  
Graph View configuration - X  
Terminal View configuration - X  
Data bursts - X More than one sample of a data stream can be sent in one package
Asynchronous data streams - X Samples from different data streams can be sent independently
X = Supported

- = Not supported