U4421 D-PHY Analyzer and Exerciser

Online Help

Version 05.80.0000

Copyright © 2014 Agilent Technologies, Inc.

Warranty
Technology License
Restricted Rights Legend
Safety Notices
Trademarks

March 2014

Table of Contents

Introduction
Features
Usage Scenarios
Related Documents
Configuring U4421A Connection Settings
Selecting DSI or CSI Protocol
P roviding Stimulus to a D-PHY Component
Before you Start
Adjusting Output and Voltage Settings for Stimulus
Adjusting U4421A Stimulus Signal Timings
Creating Stimulus Files
Overview
Using the Image Inserter Application
Creating/Editing a CSV Stimulus File Manually
Inserting ECC and Checksum Errors in D-PHY Stimulus
Inserting a Bus Turnaround (BTA) Request in D-PHY Stimulus
Loading Stimulus Files and Starting Stimulus Transmission
Inserting Packets Dynamically in an Ongoing Stimulus Flow
Capturing D-PHY Data
Before you Start
Supported Acquisition Probes
Configuring Data Capture Settings
Setting up Triggers
Starting and Stopping the Data Capture
Viewing and Analyzing Captured Data
Overview
Viewing D-PHY Packet Data Using the Protocol Viewer Display
Overview
Color Coding used in the Protocol Viewer Window
Identifying HS and LP Data Transmissions
Viewing the Lane-wise Transmission of D-PHY Data
Viewing the Decoded Payload for a Packet
Viewing the Captured D-PHY Traffic Statistics
Extracting Images from the Packet Data
Viewing the Errored Packet Data
Comparing and Debugging D-PHY Packets
Viewing Packet and Raw Signal Data using the Waveform Viewer
Viewing Raw Signal Data in the Listing Window
Filtering Packet Data Displayed in Viewers
Using COM Commands for U4421A Module
Overview
Before you Start
Establishing Connection with the U4421A Module
Configuring D-PHY Stimulus Settings
LoadExerciserParameters
ApplyToHardware
Starting the Stimulus Transmission
Stopping the Stimulus Transmission
Changing U4421A Stimulus Related Settings at Runtime
Inserting Packets Dynamically in an Ongoing Stimulus Sequence
Loading Trigger Specifications for Data Capture
Starting the Data Capture
Stopping the Data Capture
Getting XML Format of a COM Command


Introduction

The U4421A MIPI D-PHY Analyzer and Exerciser module lets you:

  • capture and decode MIPI D-PHY data and view it in a Protocol Viewer or a Waveform Viewer window.

  • send D-PHY stimulus to a D-PHY component by emulating a master D-PHY component.

The U4421A module supports link widths from x1 to x4.

This module needs to be installed in an Agilent AXIe chassis (for example, the M9502A 2 slot chassis).

When a controller PC is connected to the AXIe chassis via an external PCIe interface and cable, the Agilent Logic and Protocol Analyzer application (running on the controller PC) lets you configure, control, and use the U4421A module for stimulus/analysis functions.

This online help describes how to use the U4421A module for stimulus and analysis, once the hardware and software components are installed.

See Also

  • Related Documents


Features

The U4421A module can act as an Exerciser to transmit D-PHY stimulus to a DUT or an Analyzer to acquire D-PHY protocol and signal level data from DUT or both Exerciser and Analyzer.

As an Exerciser

  • Can transmit in HS and LP modes.

  • Maximum data rate is 1.5 Gbps in HS mode transmission.

  • Provides an integrated application called Image Inserter to quickly generate CSV files from images in the CSI/DSI packet format.

  • Allows you to transmit a set of CSV files in a specified sequence. A CSV file transmission can be repeated for a user-defined number of times.

As an Analyzer

  • Can acquire protocol level data as well as raw signal level data.

  • Allows you to allocate memory separately for protocol level and raw signal level data acquisition.

  • Allows you to adjust timing parameters or use the default timing parameters set as per the D-PHY specifications.

  • Provides a number of viewers to view the acquired data.


Usage Scenarios

This topic describes some usage scenarios of the U4421A module. For a specific usage scenario, you need to:

  • obtain an appropriate license for the desired functionality.

  • set up the probing configurations as per the usage scenario.

  • select an appropriate Mode in the Connection Setup tab of the Setup dialog box.

Providing Stimulus to a DUT

In this scenario, U4421A can emulate a master D-PHY component and exercise and stimulate the DUT with various customized D-PHY control and data packets.

By emulating a D-PHY link partner, the module lets you test the DUT independently.

You need an Exerciser license for the U4421A module for this usage scenario.

Providing and Monitoring Stimulus

In this usage scenario, you can use the U4421A module to:

  • stimulate the connected DUT by transmitting D-PHY signals to the DUT.

  • monitor the stimulus output sent from the U4421A module to the DUT. To accomplish this, you do not need any external analysis probes. An internal loopback connection is used to monitor the stimulus output. In this mode, the U4421A module acquires only protocol level data. The Raw mode capture is not available in this mode.

You need an Exerciser license for the U4421A module for this usage scenario.

Acquiring D-PHY Data

In this usage scenario, you can use the U4421A module as an analyzer to passively probe and acquire data from the DUT. In this mode, U4421A can acquire both protocol level and raw signal level data simultaneously.

You need an Analyzer license for the U4421A module to use this connection mode.

Providing Stimulus and Acquiring D-PHY Data

Both the exerciser and analyzer capabilities of the U4421A module are available. In this usage scenario, you can:

  • either acquire data and provide stimulus to the same DUT

  • or connect the U4421A module to two different DUTs for acquiring data and providing stimulus.

You need an Analyzer and Exerciser license for the U4421A module for this usage scenario.


Related Documents

Besides using this U4421A online help, you can also access the following documents that provide related information about the U4421A module.

  • MIPI D-PHY Protocol Analyzer and Exerciser Hardware and Probing Guide - This guide provides information on the stimulus and acquisition probing options available for use with the U4421A module. This guide is available on www.agilent.com/find/dphy_analyzer and is also installed with the Logic and Protocol Analyzer software at <logic Analyzer Install location>\help\pdfs. It describes how to make probing connections from the DUT to the Agilent U4421A module for various probing situations.

  • AXIe Based Logic Analysis and Protocol Test Modules Installation Guide - This guide provides information on the Agilent AXIe chassis, the U4421A module, how to set up the chassis, module, and host computer and how to obtain and install the associated software components. This guide is available on www.agilent.com/find/dphy_analyzer and is also installed with the Logic and Protocol Analyzer software at <logic Analyzer Install location>\help\pdfs.

  • MIPI D-PHY Protocol Analyzer and Exerciser User Guide - The PDF version of the contents of this online help. This user guide describes how to configure and use the U4421A module to provide stimulus and capture D-PHY data. It also describes the usage of the set of APIs that allow you to control, manage, and use the U4421A module programmatically. This guide is available on www.agilent.com/find/dphy_analyzer and is also installed with the Logic and Protocol Analyzer software at <logic Analyzer Install location>\help\pdfs.

  • Context-sensitive help - A context-sensitive HTML help page is available with each window and dialog box of the U4421A module on clicking the Help button displayed within the GUI element.

  • Training and Tutorials - You can find training and tutorials PDF for the U4421A module in the Document Library tab on www.agilent.com/find/dphy_analyzer.


Configuring U4421A Connection Settings

Once you have connected the U4421A module, probing hardware, and DUT in the required configuration based on the module’s usage scenario, the next step is to configure the module’s connection setup in the Agilent Logic and Protocol Analyzer application. You use the Connection Setup tab of the U4421A module’s Setup dialog to configure its connection setup.

You specify the connection details on the basis of the stimulus/analysis functions that you want the U4421A module to perform. The connection setup details that you specify in this tab tells the Logic and Protocol Analyzer software how the U4421A module is connected to the DUT in terms such as the connection mode, probing option used and the link width needed. For instance, if you have connected the U4421A module hardware to the DUT only to capture data on all four D-PHY data lanes, then you need to select the Analyzer only as the connection mode and x4 as the link width in the Connection Setup tab to reflect the configured hardware setup.

To configure U4421A connection setup

  1. In the Logic and Protocol Analyzer GUI, access the Setup dialog box of the U4421A module by clicking Setup > Setup from the GUI’s menubar.

The Connection Setup tab is displayed in the Setup dialog box.

  2. Configure connection settings in this tab. The tab has the following fields.

Field

Description

Module - This group box displays read-only and editable fields for the U4421A module hardware.

Chassis

Read-only field that displays the AXIe chassis number in which you installed the U4421A hardware module.

Slot

Read-only field that displays the slot number of the AXIe chassis in which you installed the U4421A hardware module.

Select Protocol

Displays the protocol family that you selected at the time of starting up the Logic and Protocol Analyzer GUI session.

Mode

U4421A has four connection modes to ensure that an appropriate connection is configured based on the specific usage scenario. These modes are:

  • Analyzer Only - In this mode, the U4421A module can only be used as an analyzer to passively probe and acquire data from the DUT. This mode doesn’t allow the usage of the U4421A module as an Exerciser to stimulate the DUT. In this mode, U4421A can acquire both protocol level and raw signal level data simultaneously.

You need an Analyzer license of the U4421A module to use this connection mode.

  • Exerciser Only - In this mode, the U4421A module can only be used to stimulate the connected DUT by emulating the master D-PHY component. This mode doesn’t allow the usage of the U4421A module as an analyzer to acquire D-PHY data from the DUT.

You need an Exerciser license of the U4421A module to use this connection mode.

  • Exerciser plus Monitor - In this mode, you can use the U4421A module to:

    • stimulate the connected DUT by transmitting D-PHY signals to DUT.

    • monitor the stimulus output sent from the U4421A module to the DUT. To accomplish this, you do not need any external analysis probes. An internal loopback connection is used to monitor the output. In this mode, the U4421A module acquires only protocol level data. Raw mode capture is not available in this mode.

You need an Exerciser license of the U4421A module to use this connection mode.

  • Exerciser and Analyzer - In this mode, both the exerciser and analyzer capabilities of the U4421A module are available. This mode allows you to either acquire data and provide stimulus to the same DUT or connect the U4421A module to two different DUTs for acquiring data and providing stimulus. When using the U4421A module to provide stimulus and acquire data from two different DUTs, ensure that the same protocol and link width is used for both stimulus as well as analysis functions. However, you may adjust the input and output levels separately for the analysis and stimulus functions.

You need an Analyzer and Exerciser license of the U4421A module to use this connection mode.

Link

Displays U4421A module type and number.

License

Displays the type of U4421A license(s) installed on the system.

Help

Provides the Connection diagram... button. Clicking this button displays the hardware connection diagram depicting the hardware configuration as per the currently selected connection mode and link width settings.

Link Width

Select the link width for the D-PHY link you want to probe in the selected mode. Some of the options in the Link Width listbox are disabled if you do not have the appropriate link width license installed.

Link Naming and Lane Setup

Name

Name of the D-PHY link.

State Activity

Displays the current status of the four data lanes and one clock lane LEDs located on the front panel of the U4421A module. The following color coding is used for these LEDs to indicate the state activity on the associated lanes.

  • Red - This means that the lane is in the STOP state with LP11.

  • Blinking Red - This means that the lane is in the STOP state with LP00. This lane status usually indicates:

    • LP lines are not probed

    • ultra-low power mode

  • Green - This means that the lane has moved to LP00 via a HS request and it is waiting for the sync pattern. This lane status occurs when something is wrong, for instance, incorrect probing setup or the lane not receiving correct HS data.

  • Blinking Green - This means that the line is between HS sync and HS exit. and the lane is receiving HS data.

  • Yellow - This means that the lane is in the Escape mode and data is being transmitted from master to slave. Escape mode includes bus turn around (BTA), escape mode data transmission, and ULPM request.

  • Blinking Yellow - This means that the lane is in the Escape mode and data is being transmitted from slave to master. Escape mode includes bus turn around (BTA), escape mode data transmission, and ULPM request.

  • Off - This means that the lane is not configured/available. Based on the link width that you select in the U4421 Connection Setup tab of the Logic Analyzer GUI, the number of lanes on the U4421A module are used. The LEDs of only the used lanes glow. For example, if you are using the x2 link width, then the LEDs of only two lanes being used will glow and the rest of the LEDs will be off.

You can also refer to the LED Color Legend section at the bottom of the tab to know what each LED color represents.

Input Data Rate

Detects and displays the current input data rate of the U4421A module hardware. This value is updated automatically.

Probe(s) Type

Detects and displays the probing option that you have used in the U4421A hardware setup to probe the DUT.

Probing options

The following three probing options are available for use with the U4421A module:

For providing stimulus

  • U4422A SMA stimulus probe

For capturing D-PHY data

  • E5405A Differential Soft Touch probe

  • E5381A Differential Flying Lead probe

For detailed information on probes that you can use with U4421A, refer to the U4421A MIPI D-PHY Analyzer and Exerciser Hardware and Probing Guide. The guide is available on www.agilent.com/find/dphy_analyzer and also installed with the Agilent Logic and Protocol Analyzer software.

Lane Ordering

The Lane Ordering option lets you perform the ordering of the physical probe channels of the U4421A module with the logical data lanes probed by each of these channels. You can either retain the Default lane ordering which means channel 0 of the module maps to logical lane 0 and so on. If you want to change this default mapping of channels with logical lanes, then select the Custom option from Lane Ordering and click Specify to display the Custom Lane Ordering dialog box. In this dialog box, select the module’s channel with which you want to map a target logical lane.

You can also set the polarity inversion property for each data lane using the Custom Lane Ordering dialog box. The polarity of a data lane is not inverted when the positive and negative sides of the probe channel’s differential pair are connected to the positive and negative sides of the signal in the DUT.

LED Color Legend

This section displays a description for the various colors of the clock and data lanes LEDs on the front panel of the U4421A module. Each LED color represents a specific state activity on the associated lane. Refer to the State Activity field to know more about the state activity on lanes.


Selecting DSI or CSI Protocol

U4421A MIPI D-PHY Analyzer and Exerciser Online Help

Selecting DSI or CSI Protocol

If you have a single (CSI or DSI) protocol license for the U4421A module, then by default, the Logic and Protocol Analyzer GUI is started using that licensed protocol option when you launch this GUI.

If you have purchased both CSI and DSI protocol licenses for the U4421A module, then the Logic and Protocol Analyzer GUI is started using the currently selected protocol option. In situations when both CSI and DSI protocol licenses are available, you can choose the protocol license option with which you want to launch the Logic and Protocol Analyzer GUI. This feature allows you to switch between the CSI and DSI analysis when using the U4421A module with these multiple protocol license options.

You use the U4421A-U4431A-Protocol-Selector.bat script to select CSI or DSI protocol when accessing the Logic and Protocol Analyzer GUI.

The U4421A-U4431A-Protocol-Selector.bat script puts any active Logic and Protocol Analyzer GUI sessions to the offline mode during protocol change. Therefore, you must stop any ongoing analysis work and save your captured data/configurations before you start using this script.

To select D-Phy protocols (CSI or DSI)

1. Double-click the U4421A-U4431A-Protocol-Selector.bat script to launch it. The script is installed at the following location when you install the Agilent Logic and Protocol Analyzer software (version 5.80.0000 or later).

C:\Program Files (x86)\Agilent Technologies\Logic Analyzer\Contributed Files (for 64 bit OS installs)

or

C:\Program Files\Agilent Technologies\Logic Analyzer\Contributed Files (for 32 bit OS installs)

2. The script starts running in the Command window with warning messages displayed. Press any key to continue.

3. Specify the slot number in which you installed the U4421A module for which you want to select the protocol. Press <Enter>.

If an invalid slot is used or an input other than the number 1 to 5 is entered (for example - any string), the script will run as usual, but the background operation that the script performs will not succeed. The script will crash if any string with space is entered.

4. Specify the MIPI protocol that you want to select for the U4421A module. Specify D-PHY DSI to select the DSI protocol and D-PHY CSI to select the CSI protocol. Press <Enter>.

The M-PHY options are available for the U4431A MIPI M-PHY module and are ignored for the U4421A module.

5. The User Account Control dialog box is displayed. Click Yes to proceed.

The script runs to perform the protocol change as per your selections. The protocol change is successfully completed if you have specified the correct slot number for the U4421A module and appropriate license is available for the selected protocol.

If an invalid option is entered (other than the number 1 to 7), the script fails to execute and keeps on prompting until a valid choice is made.

6. When the protocol change completes, you need to bring any open offline sessions of the Logic and Protocol Analyzer GUI to the Online mode by clicking File > Go online to Local Host option in the GUI's menubar. If there are no existing open sessions of the GUI, launch the GUI in the Online mode.

The Logic and Protocol Analyzer GUI should now launch with the selected protocol.

To verify if protocol change is successful

  • Using the agNotificationCenter icon

1. Double-click the agNotificationCenter icon displayed in Window's taskbar.

2. In the Instrument Details dialog box, expand the U4421A module option for which you changed the protocol.

The protocol currently selected for the module is displayed.

  • Using the Logic and Protocol Analyzer GUI

1. Launch the Logic and Protocol Analyzer GUI in the Online mode.

2. Click Setup > Setup from the GUI's menubar to access the Setup dialog box of the U4421A module for which you changed the protocol.

3. In the Connection Setup tab, the currently selected protocol (CSI or DSI) for the module is displayed.


Providing Stimulus to a D-PHY Component

This chapter provides information on how to use the U4421A module to provide stimulus to a D-PHY target. It describes how to configure the module for stimulus settings, how to create a stimulus file, and how to start/stop the stimulus transmission.


Before you Start

Before you start configuring the settings needed for sending stimulus to DUT, ensure that the following tasks are performed.

  • You have connected the U4421A module to the DUT using the U4422A SMA stimulus probe in the required configurations.

  • You have the licenses required for the stimulus function of the U4421A module.

  • You have installed the Agilent Logic and Protocol Analyzer GUI, version 5.50.0000 or higher.

  • You have configured the U4421A module’s connection setup in the Agilent Logic and Protocol Analyzer GUI. Ensure that you select either Exerciser only or Exerciser and Analyzer as the Connection mode in this GUI.

Transmit Memory Depth available to Exerciser

The Exerciser and Analyzer functions of the U4421A module share the total memory depth available on the installed license of the U4421A module. For the Analyzer function, you allocate Raw Data Capture and Protocol Data Capture memory depth in the Analyzer Setup tab. After these two memory allocations, the memory remaining from the total available memory is allocated automatically to the Exerciser function. However, if you are using only the Exerciser function of the U4421A module, then the entire memory depth available on the installed license is allocated to the Exerciser function.

You can view the memory available to the Exerciser function of the module in the Run Sequence section of the Exerciser Data tab of the Setup dialog box.


Adjusting Output and Voltage Settings for Stimulus

You use the Exerciser Electrical tab in the U4421A module’s setup dialog box to adjust output and voltage settings for the module.

The fields in the Exerciser Electrical tab are enabled only when you select either Exerciser only or Exerciser and Analyzer connection mode in the Connection Setup tab.

To configure U4421A output voltage and stimulus signal level settings

  1. In the Logic and Protocol Analyzer GUI, access the Setup dialog box of the U4421A module by clicking Setup > Setup from the GUI’s menubar.

The Connection Setup tab is displayed in the Setup dialog box by default.

  2. Click the Exerciser Electrical tab.

  3. Configure voltage and signal level settings in this tab. The tab has the following fields.

Field

Description

Output Control

Target VDD

Set the threshold voltage for the Vsen (Voltage Sense) signal. The DUT sends the Vsen signal to the U4421A module on connecting the SMA stimulus cable for the Vsen signal to the DUT’s power supply, The Vsen signal indicates when the module can actively send D- Phy signals to the DUT.

The U4421A module sends D-PHY signals to the DUT if the Vsen signal is above the set threshold voltage setting divided by two. If the Vsen signal is below the set threshold voltage setting divided by two, the module will tri-state all the D-Phy signals.

Ignore Target VDD Safety Check

Select this checkbox to ignore the threshold voltage setting for the Vsen signal specified in the Target VDD field.

Selecting this checkbox is not recommended unless the target does not provide the Vsen signal.

SMA Outputs

Set the SMA Outputs to On or Off to enable or disable the SMA stimulus outputs from the U4421A module to DUT.

Set the output voltage levels of U4421A correctly in this tab before enabling the SMA outputs for U4421A. If the output voltage level is configured at a level too high for your board, your board may be damaged. It is recommended to keep the SMA Outputs to OFF while changing voltage settings to protect your circuit from any damage.

Slew Rate

The Slew Rate setting changes the slew rate (and therefore the rise time) of the output signal driven from the U4421A module.

In most situations, you may keep the Slew Rate at the Fast setting. Slower settings will help reduce Electro Magnetic radiation and allow checking the DUT receiver's response to slower rise time input signals.

Typical rise times for HS mode signals driven into a 50 Ohm load are:

Fast - 170ps

Medium - 180ps

Slow - 200 ps

Slowest - 350 ps

The signal integrity of the connection between the U4421A module and DUT receiver as well as the amount of input capacitance at the receiver input will affect the actual rise time that the receiver will see. The Slowest setting should not be used if the HS data rate is greater than 1Gbps.

The rise times of the signals when in LP mode is highly dependent on the total length and total capacitance of the connection between the U4421A module and DUT. Typically, the LP rise and fall times are less than 5ns even at the Slowest setting of Slew Rate.

Output Signal Levels - This section provides fields to adjust the voltage settings for low power and high speed modes. Set the voltage levels which should be present at the receiver. The U4421A module calculates the output voltages which are necessary to achieve those voltages.

Target Termination Type

Select the termination scheme used on the target board. The U4421A module supports the MIPI D-PHY standard for terminating the differential outputs (a 100 ohm resistor between the signals). It also supports static differential 100 Ohms as well as Open circuits as termination types.

Based on the target termination type you select, you must calculate the correct output voltages settings in the fields described below.

The MIPI D-PHY standard calls for 80-ohm to 125-ohm HS line termination at the receiver. In LP mode, the termination is “switched out” to make an un-terminated, single-ended receiver.

LP High

Select the output level for LP High termination.

LP Low

Select the output level for LP Low termination.

LP High Min

Auto-calculated on the basis of the voltage levels that you selected in the LP High and LP Low fields.

LP Low Max

Auto-calculated on the basis of the voltage levels that you selected in the LP High and LP Low fields.

HS High

Auto-calculated on the basis of the voltage levels that you selected in the HS Vod and HS Common Mode fields.

HS Low

Auto-calculated on the basis of the voltage levels that you selected in the HS Vod and HS Common Mode fields.

Default Levels

Clicking this button resets the output voltage setting fields in the Output Signal Levels group box to their default values.

Double-check the output voltage settings by using an external resistor connected to the U4421A stimulus outputs and verify that the Vhigh and Vlow values are correct.

If you enter wrong values for the output voltage settings, or if you think there is a termination resistor there but it isn't actually installed, you can drive voltages that can harm your device.


Adjusting U4421A Stimulus Signal Timings

Adjusting U4421A Stimulus Signal Settings

You use the Exerciser Timing tab in the U4421A module’s setup dialog box to adjust these timings for the module.

The fields in the Exerciser Timing tab are enabled only when you select either Exerciser only or Exerciser and Analyzer connection mode in the Connection Setup tab.

The Exerciser Timing tab has the following fields that you can modify to adjust the timings.

Field

Description

Clock Source - Select either External or Internal reference clock source for the U4421A module. Based on the type of clock source you select, the default values of some of the timing parameters and the adjusting range of the Lane Skew Control in this tab changes.

Internal

Select the Clock Source as Internal if you want the U4421A module to use the internal reference clock, selectable as either 750 Mbps or 1500 Mbps.

External

Select the Clock Source as External if you want the U4421A module to use an external reference clock.

Reference clock frequency - 1/10 the bit rate for bit rates < = 700mbps and 1/20 the bit rate for rates > 700mbps

NOTE: Make sure that you connect the Refp and Refn coaxial cables of the stimulus probe to accept the external reference clock input signals. Refer to the U4421A MIPI D-PHY Analyzer and Exerciser - Hardware and Probing guide for instructions on supplying an external reference clock to the U4421A module.

Measure

Clicking the Measure button displays the Measured Input Clock frequency when an External clock is selected.

Timing Parameters

The U4421A module, by default transmits stimulus signals with timings that comply with the MIPI D-PHY specifications.

The parameters that control these timings are displayed in the Timing Parameters section with their default values auto-calculated according to the MIPI D-PHY specifications.

You may want to adjust these default stimulus signal timings to test how the DUT responds to an input timing that doesn’t comply with the specifications or to accommodate a DUT that has timing requirements that do not comply with the standards. In such situations, you can edit the values of timing parameters.

Timing adjustments are made with multiples of 5 ns resolution. The value you enter will be rounded down to the value permitted by the resolution.

Clicking the Default button displayed in this section reverts the values of all timing parameters back to the default values for the selected frequency.

Lane Skew Control

You can control the lane-to-lane skew by adjusting the range on each data lane independently. You can specify a skew relative to the output clock for each data lane independently.

The limits and resolution of the adjustment range are displayed for each data lane.

You can adjust the lane skew dynamically as well during an ongoing stimulus flow.

Pause Control

The Pause Control section allows you to select the point at which you want the dynamically adjusted lane skew settings to be implemented during an ongoing stimulus flow.

When you adjust the lane skew settings at runtime, the U4421A module halts the main stimulus flow at the selected Pause Control point, implements the adjusted lane skew settings, and then resumes the main stimulus flow from the point at which it was halted.

The Pause Control section provides the following two options:

  • Any Stop State - Inserts the dynamically adjusted lane skew settings at the next stop state during an ongoing stimulus flow.

  • Only where insert bit is set - Inserts the dynamically adjusted lane skew settings at the next insertion point during an ongoing stimulus flow. If you select this option, you need to define insertion point(s) in the stimulus CSV file. You can define an insertion point by setting the Special bit to 1 in the CSV file. To know more about the Special bit and how to define an insertion point in a CSV file, refer to the topic Creating/Editing a CSV File Manually.

After you have configured the stimulus settings, you may save these settings in a Logic Analyzer configuration (.ala) file to be able to recall them in the future. To do this, click File > Save, select a location and name for the configuration file, select Standard Configuration (.ala) from the Save as type listbox and then click Save.


Creating Stimulus Files

In the Exerciser mode, the U4421A module can transmit both HS and LP data as stimulus, with 1.5 Gbps as the maximum bit rate for the HS transmissions. In this mode, it can only act as a master D-PHY component and send transmission in the Forward direction. (Sending stimulus in the Reverse direction is not supported.)

The task of generating D- PHY stimulus generally involves creating control data and payload packets that the U4421A module can send as stimulus in a user- specified sequence to the DUT. You must provide this control and payload data in CSV formatted files.

You can create CSV files in one of the following ways.

  • From Images (bitmap files) with specified parameters (Using the Image Inserter application)

  • By manually creating CSV files.

You can also send packets dynamically at runtime to DUT using the Packet Insertion feature of the U4421A module.

The topics that follow describe these ways of creating a stimulus CSV file.


Overview

In the Exerciser mode, the U4421A module can transmit both HS and LP data as stimulus, with 1.5 Gbps as the maximum bit rate for the HS transmissions. In this mode, it can only act as a master D-PHY component and send transmission in the Forward direction. (Sending stimulus in the Reverse direction is not supported.)

For generating D-PHY stimulus, you need to create control data and payload packets that the U4421A module can send as stimulus in a specific sequence to a DUT. You need to provide this data in a CSV format file.

You can create CSV files in one of the following ways.

  • From Images (bitmap files) with specified parameters (Using the Image Inserter application)

  • By manually creating CSV files.

You can also send packets dynamically at runtime to DUT using the Packet Insertion feature of the U4421A module.

The topics that follow describe these ways of creating a stimulus CSV file.


Using the Image Inserter Application

You can use the Image Inserter application to quickly build stimulus from bitmap files. This application is integrated with the Agilent Logic and Protocol Analyzer GUI. You can invoke it from this GUI if you have the appropriate U4421A software license.

The Image Inserter application supports the complete set of image formats defined in the CSI-2 and DSI specifications. In this application, you can load one or more images and specify the translation properties. The application converts the loaded images into a CSV file with image data in the CSI/DSI packet format. This CSV file can then be used as is or can be modified, to be used as stimulus.

You can save the output of the Image Inserter application in a new or an existing CSV file and then load this file in the Exerciser Data tab to send it as stimulus.

The Image Inserter application supports both CSI and DSI packet formats. When you invoke this application from a DSI setup, it supports burst mode, non-burst mode, command mode and initialization commands. It generates CSV files in three different formats depending on the mode you selected.

To create a CSV stimulus file from bitmap files

  1. Launch the Setup dialog box of the U4421A module in the Agilent Logic and Protocol Analyzer GUI.

  2. Click the Exerciser Data tab.

  3. Click the New File button.

The Image Inserter application is displayed.

  4. Specify the image translation parameters in the left pane.

    1. Select an appropriate tab on the left that matches the required image transfer mode (Burst mode, Non-Burst mode, or Command mode).

      • Burst mode - This mode is used to send data asynchronously so that the bus can either be shut down or shared with another device. It also allows low-resolution video (such as view finders) to be sent in LP data mode.

      • Non-Burst mode - This mode is used to send data in real-time. Synchronization can be achieved with sync pulses or synchronization events.

      • Command mode - This mode uses industry defined display commands to define how data is sent and interpreted. DSI has a 64k maximum word count. Therefore, these images must usually be broken into multiple packets.

    2. Some image translation parameters are automatically calculated in the left pane. If required, change these parameters.

A diagrammatic representation of these parameters is displayed in the right pane. The changes that you make to these parameters’ values are reflected automatically in this diagrammatic representation.

  5. Click Add from the Image Selection section to add one or more bitmap files from which the CSV file has to be created.

The images that you add to the Image Selection section must have the same dimensions. If you add images of different dimensions, an error message is displayed and the CSV file is not created.

  6. Repeat steps 4 and 5 for the different modes in which you want to create CSV file from bitmap files. The parameters relevant for each mode are grouped in various tabs displayed in the left pane.

  7. In the Output File field, specify or browse to the name and complete path of the CSV file that you want to generate from the selected bitmap files.

  8. Click Create File.

The CSV file is created at the specified location.


Creating/Editing a CSV Stimulus File Manually

You can either create a new CSV file manually or edit an existing CSV file (initially created using Image Inserter) to customize it as per your specific stimulus requirements.

While creating/editing a CSV file, you need to ensure that the structure of the file is as per the structure described below.

Structure of a CSV Stimulus File

Most of the rows in a CSV stimulus file correspond to packets to be sent as stimulus to DUT and contain specific fields in a specific sequence for a packet. Some of the rows, however, are also dedicated to setting bits of certain fields such as the Special field. Such rows do not correspond to packets.

The following screen displays a sample CSV file with the fields and their sequence highlighted in the 25th row. Field values in the 27th row have been used to set the Special field to 1. Field values for packets are specified from 28th row onwards.

The following table describes each of these fields of a CSV stimulus file.

Field

Description

nsTime

The time at which the packet should be sent as stimulus. This packet timing is useful when you want to time the Start of Packet (SoP) of one packet to the SoP of another packet. The packet timing is based on the following calculations:

  • If the time difference between nsTime (n+1) is greater than nsTime (n), time is considered to be absolute. (n represents packet number)

  • If the time difference between nsTime (n+1) is less than nsTime (n), time is considered to be relative to the previous packet. This is done to allow the concatenation of different frames or user-created / Image Inserter created CSV files, without having to recalculate time stamps.

Here are some examples of the packet timing calculations.

The time between packets can sometimes be different from the time stated by the nsTime field due to the following causes:

  • If the first packet takes longer to send than the wait time, then the second packet will be sent as soon as possible after the first packet.

  • Housekeeping operations related to, but not explicitly calculated in the CSV line. nsTime indicates the time at which the module should start sending the packet, that is, the time the module starts an HS or an LPDT request. The time from when the module starts the request to the time the first byte of the packet is sent can vary in some cases. For example, an HS packet is to be sent but the clock is not on. In this case, the module must start the clock before the HS burst can start. Therefore, the time from when the module starts to the time when the first byte is sent will include starting the clock.

LPS

The LPS field can accept either of the following two values:

  • 1- Indicates that the low-power state should be entered and the packet should begin with a new HS/LP frame. If the line does not have data, the link will return to the Stop state. If the line has data, the link will return to the Stop state before sending the packet.

  • 0 - Indicates that the packet should continue in the same HS/LP frame as the previous packet.

Escape

The Escape field can accept either of the following two values:

  • 1 - Indicates that the packet should be transmitted using the Escape mode.

  • If only one data byte is valid and it is a valid escape entry code (except LPDT), then the U4421A module will do an escape mode request followed by the entry code.

  • If there is more than one data byte, then the U4421A module assumes that the data should be sent using LPDT. In this case, the CSV must not include 0x87 before the packet data. The U4421A module interprets it as packet data and inserts 0x87, where required.

  • If the LPS and Escape bits are set and there is only 1 valid data byte and that data byte is 0xFF, then the U4421A module interprets it as a Bus Turnaround (BTA) request.

  • 0 - Indicates that the packet should be transmitted using High-Speed Data Transmission (HSDT).

ULPC

The ULPC field can accept either of the following two values:

  • 1 - Indicates entry of the clock to ultra-low power mode. ULPC only puts the clock into ultra-low power mode. If you want to set this field's value to 1, ensure that you dedicate a line in the CSV file for this purpose. The line then does not correspond to a packet. If you set this bit along with other packet data, ULPC will be executed the next time the bus reaches an LP state.

  • 0 - Do not enter ultra-low power mode.

Placing data lanes into the ULP mode

1. Set the Escape bit to 1.

2. Specify "78" as the Data Value in the same line.

Example:

0000010000, 1, 1, 0, 0, 0, 78

Placing both data lanes and clock into the ULP mode

To place both data lane and clock into the ULP mode, first place the clock into the ULP mode followed by the data lane.

Example:

0000010000, 1, 1, 1, 0, 0, 78

//wait 1ms and then send a packet which will pull the clock and data lane out of ULPS

0001010000, 1, 0, 0, 0, 1, 01, 00, 00, 00

NOTE: To place the clock into the ULPS mode, you must put the data lanes into ULPS or send Escape data. The clock cannot be put into ULPS by itself.

Example to put clock lanes into ULPS and send escape data:

0000010000, 1, 1, 1, 0, 0, 21, 00, 00, 00

Special

The Special field is used to set the insertion point for a dynamic packet insertion and transmission during an ongoing stimulus flow. Refer to the topic Inserting Packets Dynamically in an Ongoing Stimulus Flow to know more.

The Special field is used to set the insertion point for a:

  • dynamic packet insertion and transmission during an ongoing stimulus flow. Refer to the topic Inserting Packets Dynamically in an Ongoing Stimulus Flow to know more.

  • implementation of dynamic adjustment of lane skew settings during an ongoing stimulus flow. Refer to the topic Adjusting U4421A Stimulus Signal Settings to know more.

This field can accept either of the following two values:

  • 1 - Indicates an insertion point for a packet to be inserted and sent dynamically during the ongoing stimulus flow. At this point, the main stimulus flow is halted, the user-defined dynamic packet is sent, and the stimulus flow is resumed.

If you want to set this field’s value to 1, ensure that you dedicate a line in the CSV file for this purpose and also set the LPS bit to 1. The line then does not correspond to a packet. If you set this bit along with other packet data, DPI will be executed the next time the bus reaches an LP state. Following is an example of a line in a CSV file with the Special bit set separately in the line.

  • 0 - Indicates that a dynamic packet/dynamic lane skew adjustment cannot be inserted at this point in transmission.

NOTE: To avoid voltage glitches, you should ensure that the clock is not running when the dynamic lane skew change is executed. To do this, remove the Clock bit, then set the Special bit in the next line for the dynamic lane skew change, and finally reset the Clock bit later.

Clock

The Clock field is used to set the HS clock. It can accept either of the following two values:

  • 1 - Indicates that the HS clock is enabled.

  • 0 - Indicates that the HS clock is disabled.

You must set this bit in each line of the CSV file for continuous clocking.

For image traffic, requiring many frames and blanking periods, this can be accomplished more efficiently by defining the blanking period as "LP11" or "LP11 without clock" using the Image Inserter application.

Data

The value for the Data field starts from the seventh column in the CSV file. This value spans across multiple columns in the CSV file representing various parameters required in the data stream for a particular packet. The first parameter in the Data field is the packet type followed by the parameters required for that packet type. The parameters, therefore, vary with the type of packet that you want to send as stimulus.

Typically, the following set of parameters are applicable for the Data field.

VCI, Packet Type, WC, ECC, Data, CRC

Note: If you specify the value of ECC and CRC parameters as 00, then the ECC and Checksum are calculated automatically when you add the CSV file to the stimulus run sequence. If you specify a value other than 00, then the specified value is used instead.

Example: Consider the following value in the Data field:

39, 03, 00, 00, 37, 33, 44, 00, 00

In this value, 39 indicates that the packet type to be sent is DCS Long Write. For this packet type, the rest of the provided parameters indicate:

0 - Virtual channel 0

03 - MSB of Word Count = 03

00 - LSB of Word Count = 00

00 - ECC to be generated automatically

37 - DCS Command = set_scroll_start

33 - set_scroll_start parameter byte 0

44- set_scroll_start parameter byte 1

00 - CRC MSB automatically generated when both the MSB and LSB CRC bytes are 00

00 - CRC LSB automatically generated when both the MSB and LSB CRC bytes are 00

Refer to the table Packet types and their Packet Payload Parameters to get a list of packet types and a description of the parameters required in the Data field for different packet types.

Packet Types and Packet Payload Parameters

The following table lists various packet types that you can include in a CSV stimulus file and the payload parameters that you need to specify in the Data field for each of these packet types.

Packet Type (hex) | Description of the packet type | Packet Payload Parameters
DSI HS Short Packets
01 | Sync Event, V Sync Start | 01, VCI, Short Packet Data 0, Short Packet Data 1
11 | Sync Event, V Sync End | 11, VCI, Short Packet Data 0, Short Packet Data 1
21 | Sync Event, H Sync Start | 21, VCI, Short Packet Data 0, Short Packet Data 1
31 | Sync Event, H Sync End | 31, VCI, Short Packet Data 0, Short Packet Data 1
08 | End of Transmission packet (EoTp) | 08, 00 (VCI), FF (SPD0), FF (SPD1)
02 | Color Mode (CM) Off Command | 02, VCI, Short Packet Data 0, Short Packet Data 1
12 | Color Mode (CM) On Command | 12, VCI, Short Packet Data 0, Short Packet Data 1
22 | Shut Down Peripheral Command | 22, VCI, Short Packet Data 0, Short Packet Data 1
32 | Turn On Peripheral Command | 32, VCI, Short Packet Data 0, Short Packet Data 1
03 | Generic Short WRITE, no parameters | 03, VCI, Short Packet Data 0, Short Packet Data 1
13 | Generic Short WRITE, 1 parameter | 13, VCI, Short Packet Data 0, Short Packet Data 1
23 | Generic Short WRITE, 2 parameters | 23, VCI, Short Packet Data 0, Short Packet Data 1
04 | Generic READ, no parameters | Not applicable
14 | Generic READ, 1 parameter | Not applicable
24 | Generic READ, 2 parameters | Not applicable
05 | DCS Short WRITE, no parameter | 05, VCI, Short Packet Data 1, <DCS Command> For a list of DCS commands, refer to the table DCS Commands in this topic.
15 | DCS Short WRITE, 1 parameter | 15, VCI, Short Packet Data 1, <DCS Command> For a list of DCS commands, refer to the table DCS Commands in this topic.
06 | DCS READ, no parameters | Not applicable
37 | Set Maximum Return Packet Size | Not applicable
x0 | Reserved | Not applicable
xF | Reserved | Not applicable
DSI HS Long Packets
09 | Null Packet, no data | Not applicable
19 | Blanking Packet, no data | Not applicable
29 | Generic Long Write | Not applicable
39 | DCS Long Write/write_LUT Command Packet | Not applicable
0E | Packed Pixel Stream, 16-bit RGB, 5-6-5 Format | 0E, VCI, WC MSB, WC LSB, R, G, B, R, G, B … Note: Image inserter is highly recommended to manage frame timing.
1E | Packed Pixel Stream, 18-bit RGB, 6-6-6 Format | 1E, VCI, WC MSB, WC LSB, R, G, B, R, G, B … Note: Image inserter is highly recommended to manage frame timing.
2E | Loosely Packed Pixel Stream, 18-bit RGB, 6-6-6 Format | 2E, VCI, WC MSB, WC LSB, R, G, B, R, G, B … Note: Image inserter is highly recommended to manage frame timing.
3E | Packed Pixel Stream, 24-bit RGB, 8-8-8 Format | 3E, VCI, WC MSB, WC LSB, R, G, B, R, G, B … Note: Image inserter is highly recommended to manage frame timing.
x0 | Reserved | Not applicable
xF | Reserved | Not applicable

DCS Commands

For packet types such as DCS Short WRITE, no param and DCS Short WRITE, 1 param. the DCS Command is applicable. For such packets, you need to specify the DCS command as the last parameter in the Data field of the packet’s line in the CSV file.

The following table provides a list of DCS commands and a code (in hex) that you can specify for each of these commands.

Command | Code (hex) | Command | Code (hex)
enter_idle_mode | 39 | read_memory_continue | 3E
enter_invert_mode | 21 | read_memory_start | 2E
enter_normal_mode | 13 | set_address_mode | 36
enter_partial_mode | 12 | set_column_address | 2A
enter_sleep_mode | 10 | set_display_off | 28
exit_idle_mode | 38 | set_display_on | 29
exit_invert_mode | 20 | set_gamma_curve | 26
exit_sleep_mode | 11 | set_page_address | 2B
get_address_mode | 0B | set_partial_areacolumns | 31
get_blue_channel | 08 | set_partial_rows | 30
get_diagnostic_result | 0F | set_pixel_format | 3A
get_display_mode | 0D | set_scroll_area | 33
get_green_channel | 07 | set_scroll_start | 37
get_pixel_format | 0C | set_tear_off | 34
get_power_mode | 0A | set_tear_on | 35
get_red_channel | 06 | set_tear_scanline | 44
get_scanline | 45 | soft_reset | 01
get_signal_mode | 0E | write_LUT | 2D
nop | 00 | write_memory_continue | 3C
read_DDB_continue | A8 | write_memory_start | 2C
read_DDB_start | A1 |  |


Inserting ECC and Checksum Errors in D-PHY Stimulus

You can test how a DUT responds to error conditions such as a bad CRC or ECC in the received packet stream by sending packets with ECC/CRC errors as stimulus to the DUT.

To insert a CRC error in a D-PHY packet

  1. Open the CSV stimulus file for editing using any common text editor or a spreadsheet editor.

  2. To introduce a CRC error in a packet, set the value of the CRC bit in the Data field to any value other than 00. On setting this value to 00, CRC is automatically calculated. A value other than 00 ensures that the specified value is used as CRC.

Example of a bad CRC

To insert an ECC error in a D-PHY packet

  1. Open the CSV stimulus file for editing using any common text editor or a spreadsheet editor.

  2. To introduce an ECC error in a packet, set the value of the ECC bit in the Data field to any value other than 00. On setting this value to 00, ECC is automatically calculated. A value other than 00 ensures that the specified value is used as ECC.

Example of a bad ECC

See Also

Structure of a CSV Stimulus File


Inserting a Bus Turnaround (BTA) Request in D-PHY Stimulus

  1. Open the CSV stimulus file for editing using any common text editor or a spreadsheet editor.

  2. To insert a BTA request in stimulus:

  1. Set the LPS bit to 1.

  2. Set the Escape bit to 1 in the same line.

  3. Ensure that there is only 1 valid data byte and that data byte is 0xFF.

Example of a BTA request

See Also

Structure of a CSV Stimulus File


Loading Stimulus Files and Starting Stimulus Transmission

Once the stimulus CSV files are ready, you can add these files in a run sequence, then load this sequence into the memory of the U4421A module and finally start the stimulus transmission.

To get detailed information on how to create a stimulus file, refer to the topic Creating Stimulus Files.

You use the Exerciser Data tab to create, open, load, and run a stimulus CSV file.

This tab has the following fields.

Field

Description

File Selection - This section contains fields that allow you to create a new CSV file or select existing CSV files for processing into the stimulus data.

New File

Click this button to invoke the CSI/DSI Image Inserter application. You use this application to generate CSV files for the CSI/DSI protocol from the loaded images and specified parameters.

Add to List

Click this button to add an existing CSV file to the list of CSV files displayed in the File Selection section.

Remove

Click this button to remove an added CSV file from the list of CSV files displayed in the File Selection section.

Add to Run Sequence

Click this button to add the selected CSV files from the list to the U4421A stimulus run sequence. Alternatively, you can also double-click a CSV file from the list to add it to the run sequence.

By doing so, the selected CSV files get converted into the binary form that the U4421A module hardware can understand and get added to the list of files in the Run Sequence section.

Run Sequence - This section displays the list of processed CSV files that you added to the list using the Add to Run Sequence button. As the name suggests, the Run Sequence specifies the sequence in which the processed CSV files will be sent as stimulus. You can change the Run Sequence by changing the order of CSV files in this sequence using the Move Up and Move Down buttons displayed in this section. If you do not want to send a CSV file as stimulus, you can remove that CSV file from this Run Sequence using the Remove button displayed in this section.

For each processed CSV file displayed in this section, you can specify the Loop Count to instruct how many times the CSV file has to be repeatedly sent as stimulus in a loop. You can either limit the loop count by a specified number or make it infinite until the Stop button is clicked.

The amount of memory utilized by each of the processed CSV file is also displayed.

Load Sequence

Click this button to load the set of processed CSV files displayed in the Run Sequence section to the U4421A hardware memory for stimulus transmission.

The total amount of U4421A memory used by this load sequence is displayed in the Total Memory Used field in this section.

Run

Use this button to start sending the stimulus in the sequence specified in the Run Sequence section.

Stop

Use this button to stop the stimulus transmission from the U4421A module.

To load the stimulus files and start the stimulus

  1. In the Exerciser Data tab, click the Add to List button to add an existing CSV file to the list of CSV files to be used for stimulus. Repeat the step to add all the needed CSV files.

  2. Select an added CSV file from the list and click the Add to Run Sequence button to add this file to the U4421A stimulus run sequence.

  3. For each CSV file added in the Run Sequence section, specify the Loop Count.

  4. Once all CSV files have been added to the Run Sequence, click Load Sequence to load the CSV files to the U4421A hardware memory for stimulus transmission.

  5. Click Run to start the transmission as per the defined sequence.

The following screen displays the U4421A module in the Running state. A stimulus file master_dsi.csv is being sent repeatedly in a loop to a DUT.

You can also start and stop the stimulus transmission from the Overview window of the Logic and Protocol Analyzer GUI. You can use the Start Exerciser [image] and Stop Exerciser [image] toolbar buttons displayed in the main toolbar of the GUI to do so.

You can save the defined stimulus packet sequence along with the configured stimulus settings in a Logic Analyzer configuration (.ala) file for later usage. To do this, click File > Save, select a location and name for the configuration file, select Standard Configuration (.ala) from the Save as type listbox and then click Save.

Once saved, you can load a previously saved configuration file and start the stimulus as per the saved settings.

Only the paths to the individual CSV files listed in the File Selection field are saved in the Logic Analyzer configuration (.ala) file. The files must be available at the specified locations when the configuration file is loaded in the future.

The CSV File Properties icon to the left of the file name indicates an error locating the file if the file has been moved or removed or if the specified path is no longer valid. The specified can become invalid when a configuration file is transferred to a new Logic Analyzer system and the relative path contained user-login or machine-specific information. In this case, select the erroneous CSV file, remove it from the File Selection list, then navigate to the file’s valid path and add it again to the list using the Add To List button.


Inserting Packets Dynamically in an Ongoing Stimulus Flow

You can use the Packet Insertion tab to insert and send packet(s) dynamically as stimulus to DUT during an ongoing stimulus traffic flow.

When you send a packet as stimulus at runtime, the U4421A module halts the sequence of the main stimulus flow (defined in the Exerciser Data tab), sends that packet and then resumes the main stimulus flow from the point at which it was halted.

You can insert single or multiple packets dynamically. In case of multiple packets, these packets are sent one after the other in a sequence and then the main stimulus flow is resumed.

The dynamic insertion of packet(s) into an ongoing stimulus flow is helpful in situations such as injecting error packets into the stimulus traffic and checking DUT’s responses to such error packets.

The fields in the Dynamic Packet Insertion tab are enabled only when you select either Exerciser only or Exerciser and Analyzer connection mode in the Connection Setup tab.

To insert and send packet(s) dynamically during a stimulus transmission sequence

  1. Create a CSV file with packet(s) that you want to send dynamically. Make sure that the CSV file size does not exceed 32 KB. CSV files can be edited with any common text editor. A spreadsheet editor works well for a CSV file editing.

  2. You can insert packets at Stop states, or at specific points in the main data CSV file where the Insert bit is set. If you want to insert packets dynamically at a specific insertion point in the main stimulus flow, then define such a point by modifying the main data CSV file. To do this, you need to set the Special field of the desired packet to “1” in the main data CSV file. The Insert bit is then set to 1 at this point and this packet becomes the insertion point for the packets to be inserted dynamically.

The following screen displays a main stimulus CSV file in ASCII format with a dynamic packet insertion point defined. Notice that the Special field of one of the packets is set to 1.

You can define multiple insertion points in a main data CSV file. In case of multiple insertion points, the dynamic insertion of packets takes place at the insertion point available in the stimulus flow after you triggered the dynamic packet insertion.

  3. Create a command button for the required dynamic packet insertion and send the packets dynamically using that command button. To do this, perform the following steps.

  1. In the Setup dialog box, click the Packet Insertion tab.

  2. Click New.

The Button Properties Editor dialog box is displayed.

  3. Specify a name, category, and description for the command button. The command button will be displayed with these attributes.

  4. Specify the complete path and name of the CSV file that contains the packet(s) to be inserted dynamically. The file gets associated to the command button.

  5. From the Insert Packet at listbox, select the point at which you want the dynamic packet(s) to be inserted in the ongoing stimulus flow. You can:

  • either insert packets at any stop state by selecting the Any Stop State option.

  • or insert packets at the insertion points that you defined in the main data CSV file by selecting the Only where insert bit is set option. Refer to Step 2 for details on how to mark certain packets to be used as insertion points in the main CSV file.

  6. Click OK.

The command button gets created and displayed in the Packet Insertion tab. The following screen displays three command buttons created under two categories.

  7. Click the [image] button displayed for a command button to dynamically insert the packets that you associated to that command button

You can save the command buttons that you created for dynamic packet insertion along with other settings in a Logic Analyzer configuration (.ala) file.

Only the paths to the individual CSV files listed in the CSV File field of the Button Properties Editor dialog box are saved in the Logic Analyzer configuration (.ala) file. The files must be available at the specified locations when the configuration file is loaded in the future. Fix any CSV file errors before proceeding with the Packet Insertion procedure.


Capturing D-PHY Data

This chapter provides information on how to use the U4421A module as an analyzer to capture the data exchanged between two D-PHY components.


Before you Start

Before you start capturing data, ensure that the following tasks are performed.

  • You have connected the U4421A module to the DUT using the appropriate acquisition probe in the required configurations.

  • You have the licenses required for the analysis function of the U4421A module.

  • You have installed the Agilent Logic and Protocol Analyzer GUI, version 5.50.0000 or higher.

  • You have configured the U4421A module’s connection setup in the Agilent Logic and Protocol Analyzer GUI. Ensure that you select either Analyzer only or Exerciser and Analyzer as the Connection mode in this GUI.


Supported Acquisition Probes

The following two acquisition probes are supported for the U4421A module.

  • E5405A Differential Soft Touch probe - Provides quick connection to many signals in a small footprint without a header designed into the target. An E5405A probe is suitable for use when the DUT has incorporated the footprint for the E5405A probe.

  • E5381A Differential Flying Lead probe - Can probe individual signals from multiple randomly located points on the target system. Useful in situations when there is a space constraint on the DUT and the footprint for the E5405A soft touch probe cannot be incorporated on the DUT.

For detailed information on these probes and how to make connections with the U4421A module and DUT, refer to the U4421A MIPI D-PHY Analyzer and Exerciser Hardware and Probing Guide. The guide is available on www.agilent.com/find/dphy_analyzer and also installed with the Agilent Logic and Protocol Analyzer software.


Configuring Data Capture Timings

Configuring Data Capture Settings

Once the hardware is set up for using the U4421A module to capture D-PHY data, you can configure the data capture settings in the Logic And Protocol Analyzer GUI. In the Setup UI, you use the Analyzer Setup tab to configure the timing timings for the module.

The fields in the Analyzer Setup tab are enabled only when you select either Analyzer only or Exerciser and Analyzer connection mode in the Connection Setup tab.

The Analyzer Setup tab has the following fields that you can modify to configure the capture settings.

Field

Description

Capture Setup

Enable Raw Data Capture

The U4421A module can capture both protocol level and raw signal level data simultaneously. The protocol level data capture is always enabled. You can choose to enable or disable the raw signal level data capture.

You can instruct the U4421A module to capture the raw signal level data by selecting the Enable Raw Data Capture checkbox.

Raw Data Capture Memory Depth

The total memory depth that is licensed and available for the U4421A module is shared between the Exerciser and Analyzer functions of the module. Within the Analyzer function, it is further shared between the Protocol level data acquisition and raw signal level data acquisition (if enabled).

From the Raw Data Capture Memory Depth listbox, select the memory depth that you want to allocate to the acquisition of the raw signal level data. This listbox is disabled if you deselected the Enable Raw Data Capture checkbox.

You can allocate a value ranging from 64 KB to 8 GB as the Raw Data Capture Memory Depth depending on:

  • the total memory available on the installed license of the U4421A module.

  • the connection mode selected for U4421A in the Connection Setup tab.

  • Exerciser Only - No memory is available to the Analyzer function of U4421A. The Raw Data Capture Memory Depth field is disabled in this case.

  • Exerciser plus monitor - The raw data capture is not available in this mode. Therefore, the Raw Data Capture Memory Depth field is disabled in this case.

  • Exerciser and Analyzer - In this mode, the memory is shared between the Exerciser function’s transmit memory depth and Analyzer function’s Protocol data and Raw data capture memory depths. You allocate the memory to the Protocol data and Raw data capture memory buffers. After these allocations, the memory that remains from the total memory is then automatically allocated to the Exerciser function’s transmit memory depth. For the license with 16 GB memory, you can have a value less than or equal to 4 GB to each of these three memory depths.

  • Analyzer only - In this mode, you need to divide the memory between the Protocol data and Raw data capture memory depths. While dividing the memory between these two buffers, ensure that the sum of the two allocations should not exceed the total memory available on the installed license. For the license with 16 GB memory, you can allocate a value less than or equal to 8 GB to each of these two memory depths.

Protocol Data Capture Memory Depth

The total memory depth available on the installed license of the U4421A module is shared between the Exerciser and Analyzer functions of the module. Within the Analyzer function, it is further shared between the Protocol level data acquisition and raw signal level data acquisition (if enabled).

From the Protocol Data Capture Memory Depth listbox, select the memory depth that you want to allocate to the acquisition of the protocol level data.

You can allocate a value ranging from 64 KB to 8 GB as the Protocol Data Capture Memory Depth depending on:

  • the total memory available on the installed license of the U4421A module.

  • the connection mode selected for U4421A in the Connection Setup tab.

  • Exerciser Only - No memory is available to the Analyzer function of U4421A. The Protocol Data Capture Memory Depth field is disabled in this case.

  • Exerciser plus monitor - The raw data capture is not available in this mode. Therefore, the total memory is shared between the Exerciser function’s transmit memory depth and Analyzer function’s protocol data capture memory depth. You allocate the memory to the Protocol data capture memory buffer. After this allocation, the memory that remains from the total memory is then automatically allocated to the Exerciser function’s transmit memory depth. For the license with 16 GB memory, you can allocate a value less than or equal to 8 GB to each of these two functions.

  • Exerciser and Analyzer - In this mode, the memory is shared between the Exerciser function’s transmit memory depth and Analyzer function’s Protocol data and Raw data capture memory depths. You allocate the memory to the Protocol data and Raw data capture memory buffers. After these allocations, the memory that remains from the total memory is then automatically allocated to the Exerciser function’s transmit memory depth. For the license with 16 GB memory, you can have a value less than or equal to 4 GB to each of these three memory depths.

  • Analyzer only - In this mode, you need to divide the memory between the Protocol data and Raw data capture memory depths. While dividing the memory between these two buffers, ensure that the sum of the two allocations should not exceed the total memory available on the installed license. For the license with 16 GB memory, you can allocate a value less than or equal to 8 GB to each of these two memory depths.

Analyzer Input Threshold

Set the threshold used to detect state changes of the LP signals. Ensure that you set the threshold as close as possible to the middle of the LP signal swings, but safely above the maximum signal swing of the HS data. To set the threshold, you can either select predefined options for busses meeting the standard specifications or specify a custom value to set a specific voltage.

  • Standard LP Thresholds - Allows you to select a threshold from the three available options.

  • Dynamic Differential 100 Ohms - The U4421A module supports the MIPI D-PHY standard for accepting the differential inputs (a 100 ohm resistor between the signals).

  • Static Differential 100 Ohms

  • Open circuits - Supports un-terminated single-ended receiver.

  • Custom LP Thresholds - Allows you to specify a value for the input threshold within the range of -1000 to +5000 mV.

Bit Rate

Set the HS bit rate used by your DUT. Ensure that the bit rate that you specify is within the HS bit rate range (80 Mbps - 1500 Mbps) supported by the U4421A module.

You can use the Measure Value button to measure the bit rate, if connected to a running system with proper thresholds set.

Timing Parameters

By default, the U4421A module acquires data with timings that comply with the MIPI D-PHY specifications.

The parameters that control these timings are displayed in the Timing Parameters section. These timing parameters are displayed with their default values (for the selected Bit Rate) auto-calculated according to the MIPI D-PHY specifications.

You may want to adjust these default timings to accommodate a DUT that has non standard timing requirements. In such situations, you can edit the values of timing parameters. Timing adjustments are made with multiples of 5 ns resolution. The value you enter will be rounded down to the value permitted by the resolution.

Clicking the Default button displayed in this section reverts the values of all timing parameters back to the MIPI D-PHY specification default values for the selected bit rate.

Moving the mouse pointer over the values displayed under the column [Spec values] displays a tooltip. This tooltip describes the timing parameter associated with that spec value.

Refer to the topic Using Timing Parameters to Determine the Occurrence of Timing Errors to know how these parameters impact timing error calculations.

In-Circuit Sampling Optimization

This section provides the Run In-circuit Optimization button. You can use this button to initiate the automatic tuning process to tune the U4421A module to the actual signals of the target system. It optimally align the clock in the center of the data eye on each lane. It assumes that at the data source, the skews between clock and data lanes are within specifications.

This is recommended for high-speed (>1Gbps) systems.

Using Timing Parameters to Determine the Occurrence of Timing Errors

The following table describes how you can use the timing parameter values specified in the Analyzer Setup tab to determine when timing errors occur in the acquired data. Based on these values, the U4421A module flags timing errors in the acquired data.

Timing Parameter

How it helps you determine when a timing error occurs

HS-PREP (Max)

When the time specified as HS-PREP (Max) expires, the U4421A module starts looking for a sync pattern. Therefore, make sure that HS-PREP (Max) is more than HS-Settle.

HS-ZERO+HS-PREP (Max)

If the time from LP-00 to sync byte is less than HS-ZERO+HS-PREP (Max), then a data lane SOT error is flagged.

HS-TRAIL (Min)

If the time from the last transition to LP-11 is less than HS-TRAIL (Min), then a data lane EOT error is flagged.

CLK-POST (Min)

If the time from when a data lane transitioning to LP-11 to the time when the clock stops toggling is less than CLK-POST (Min), then a clock lane Data error is flagged.

T-LPX (Min)

If the time from any LP edge to an adjacent LP edge is less than T-LPX (Min), one of the following errors is flagged:

  • Clock SOT error

  • Data TA (Turnaround) error

  • Data ESC (Escape mode) error

  • Data SOT error

CLK-TRAIL (Min)

If the time from the last clock lane transitioning to clock lane LP-11 is less than this value, a clock lane EOT error is flagged,

CLK-PRE (Min)

If the time from when the clock is running to the time when the data lane transitions to LP-01 or LP-10 is less than CLK-PRE (Min), a data lane Data error is flagged.

TA-TIMEOUT

During a BTA, if an LP-10 is not driven by the peripheral within the time specified as TA-TIMEOUT, a TATO error is flagged.

After you have configured the capture settings, save the settings in a Logic Analyzer configuration (.ala) file. To do this, click File > Save, select a location and name for the configuration file, select Standard Configuration (.ala) from the Save as type listbox and then click Save.


Setting up Triggers

You can trigger the U4421A module to start storing the captured data in its memory when the specified trigger condition is met. For instance, you can specify the transmission of a D-PHY packet with the Ecc error in its header as the trigger condition for data storage in memory.

You can set a Simple or an Advanced trigger.

  • Simple trigger - A simple trigger allows you to quickly set up a trigger without getting involved into setting up multi-level sequenced steps for the trigger. In this type of trigger, you can include one or more trigger events whose occurrence causes the module to trigger the storage of the captured data.

  • Advanced trigger - An advanced trigger allows you to set up a complex multi-level sequenced trigger. In an advanced trigger, you can include multiple steps. In each step, you can define one or more trigger events and the action that should be performed with the occurrence of that event.

Based on the type of trigger (Simple or Advanced) that you are setting up, a trigger setup may be comprised of a trigger position, type, mode, store qualification, condition(s), and action. All these components of a trigger are set up using the fields displayed in the Trigger dialog box.

You access the Trigger Dialog box by selecting Setup>Trigger.... from the Agilent Logic and Protocol Analyzer GUI’s menubar.

The following table has descriptions of all the fields available in this dialog box for setting up a simple or an advanced trigger.

Field

Description

Link tabs

The top of the Trigger dialog box allows you to add tabs that let you set up separate triggers for different MIPI D-PHY links. You can add tabs using the [image] icon and then apply these tabs to different links that are set up in the Connection Setup tab of the Setup dialog box.

Applies to

Displays the MIPI D-PHY links that are set up in the Connection Setup tab of the Setup dialog box. Selecting one ore more links from the Applies to drop-down listbox applies the trigger settings in the current tab page to the data captured on the selected links.

Trigger Position

Defines the trigger position within the acquisition memory of the U4421A module. The selected trigger position on the slider sets the pre and post trigger memory ratio. By default, the available acquisition memory is equally divided between the pre and post trigger memory.

Favorite Triggers

Displays a drop-down menu for:

  • opening a previously saved trigger setup.

  • saving the currently configured trigger setup in a Trigger Setup (.trg) file.

  • viewing and accessing a list of recently accessed trigger setup files.

Note: The favorite trigger setups referred in this drop-down menu are different from the favorites list that appear in the left-side events pane. In the left pane, the list of favorites refer to the favorite trigger events that you added, edited, and saved to the favorites list using the Event Editor dialog.

Clear

Clears the current trigger settings that you configured in the current tab and restores the default settings.

For setting up a Simple Trigger - The following fields are applicable for a simple trigger.

Simple Trigger

Select the Simple Trigger radio button. Selecting this radio button displays the fields relevant for setting a simple trigger in the Trigger dialog box. These fields are described below.

List of events

In the left pane of the Trigger dialog box, an expandable list of events is displayed based on the protocol family (CSI-2, DSI, D-PHY) applicable for the U4421A module. The events in this list are organized based on categories such as:

  • Types of D-PHY packet or ordered set - Categorized on the basis of HS Short, HS Long, LP Short, and LP Long packet types.

  • Physical Layer triggers - The transmission of an erroneous packet, for instance, with Crc, Clock, Ecc, or Lane error sets the trigger.

  • Arming - The U4421A module can receive triggers from another module installed in the AXIe chassis or another device with which it is connected via the Trigger in Connector on the AXIe chassis.

You can select one or more of these events to act as trigger condition(s).

Trigger Mode

  • Select the Trigger on Packets or Ordered Sets radio button to ensure that the U4421A module is triggered on the occurrence of the trigger event(s) included in the Select the Trigger(s) to use section.

  • Select the Trigger when Stop button pressed radio button to ensure that the U4421A module is triggered to store the captured data when you click the Stop button to stop the data capture. On selecting this option, the trigger events are not applicable. Therefore, the Select the Trigger(s) to use section is disabled.

Global Filter

This feature is not currently supported.

This listbox lets you define the data that should be stored in the acquisition memory of the U4421A module on the occurrence of the trigger event. Currently, the listbox is disabled and all the acquired data is stored in the acquisition memory when the trigger condition is met.

Select the Trigger(s) to use

  • Trigger on any of these events - You can drag events from the list of events displayed in the left pane and drop these events in this section. The U4421A module is triggered on the occurrence of any of the events included in this section.

  • While ignoring any of these events - You can drag events from the list of events displayed in the left pane and drop these events in this section. The U4421A module is not triggered on the occurrence of any of the events included in this section.

To edit events included in the above-mentioned sections, click the underlined event name. This displays the Event Editor dialog box to let you edit the event properties or add the event to the list of favorite events.

To remove events from the above-mentioned sections, click the "X" displayed to the left of the event name.

For setting up an Advanced Trigger- The following fields are applicable for an advanced trigger.

Advanced Trigger

Select the Advanced Trigger radio button. Selecting this radio button displays the fields relevant for setting an advanced trigger in the Trigger dialog box. These fields are described below.

List of events

In the left pane of the Trigger dialog box, an expandable list of events is displayed based on the protocol family (CSI-2, DSI, D-PHY) applicable for the U4421A module. The events in this list are organized based on categories such as:

  • Type of D-PHY packet or ordered set - Categorized on the basis of HS Short, HS Long, LP Short, and LP Long packet types.

  • Physical Layer triggers - The transmission of an erroneous packet, for instance, with Crc, Clock, Ecc, or Lane error sets the trigger.

  • Timers, counters, and flags - Sets trigger on a timeout or the expiry of a counter. The U4421A module can also receive triggers from another module installed in the AXIe chassis or another device with which it is connected via the Trigger in Connector on the AXIe chassis. The Arm In from event is used in such a situation.

  • Comment - Allows you to add comments to your advance trigger setup.

You can select one or more of these events to act as trigger condition(s).

Global Filter

This feature is not currently supported.

This listbox lets you define the data that should be stored in the acquisition memory of the U4421A module on the occurrence of the trigger event. Currently, the listbox is disabled and all the acquired data is stored in the acquisition memory when the trigger condition is met.

Select the Trigger(s) to use

By default, this section displays a single step with an ‘If - then’ specification for the trigger condition and subsequent action. If required, you can add more steps in this section to set up a complex multi-level sequenced trigger.

This section has the following fields:

  • The Step button allows you to add or delete steps from the sequence.

  • The If/Else if buttons let you insert additional “If” clauses in the same step or delete an additional "if" clause from the step.

  • To add multiple conditions / actions for a step, drag the required event from the list of events in the left pane and drop it to the step box.

  • The event chevron buttons let you insert, delete, or logically group (or negate) events.

  • The action chevron buttons let you insert or delete actions.

To set up a simple trigger

  1. In the Agilent Logic and Protocol Analyzer GUI’s Overview window, click the D-PHY module and select Setup>Trigger.... from the drop-down menu. Alternatively, click the [image] icon displayed for the D-PHY module.

The Trigger dialog box is displayed.

  2. From the Applies to listbox, select the MIPI D-PHY link(s) to which you want to apply the trigger settings.

  3. If required, use the Trigger Position slider to change the default trigger position (50%) for the allocation of pre and post trigger memory.

  4. Select the Simple Trigger radio button. All simple trigger related fields are then displayed.

  5. Select the Trigger Mode. On selecting the Trigger on Packets or Ordered Sets radio button, the Select the Trigger(s) to use section is displayed in which you can add trigger events. For the Trigger when Stop button is pressed option, trigger events are not applicable. Therefore, you cannot add any trigger events on selecting this option.

  6. Drag and drop the desired trigger event(s) from the event list in the left pane to the Trigger on any of these events section on the right.

  7. To change an added trigger event’s properties, click that event’s underlined name in the Trigger on any of these events section.

  8. To delete an added trigger event from the Trigger on any of these events section, click the “X” to the left of the event name.

  9. From the event list in the left pane, drag the required events that you want to exclude and drop these in the While ignoring any of these events section.

  10. Click Apply.

  11. To save the currently configured trigger setup in a Trigger Setup (.trg) file, click the Favorite Triggers button and then select the Save option from the displayed drop-down menu.

  12. Click OK.

To set up an advanced trigger

  1. In the Agilent Logic and Protocol Analyzer GUI’s Overview window, click the D-PHY module and select Setup>Trigger.... from the drop-down menu. Alternatively, click the [image] icon displayed for the D-PHY module.

The Trigger dialog box is displayed.

  2. From the Applies to listbox, select the MIPI D-PHY link(s) to which you want to apply the trigger settings.

  3. If required, use the Trigger Position slider to change the default trigger position (50%) for the allocation of pre and post trigger memory.

  4. Select the Advanced Trigger radio button. All advance trigger related fields are then displayed.

  5. As per your specific requirements:

    1. Edit the default step (Step 1) to select the trigger condition and action in the “If-Then” clause.

    2. Add more “If-Then” clauses to a step by clicking the If/Else If button in the step.

    3. Add more than one And/Or condition to an “If” clause of a step by clicking the [image] button for events. You can also negate a condition by selecting the “Insert Not at beginning of row” option from the [image] drop-down menu.

    4. Add more than one action to “Then” clause of a step by clicking the [image] button for actions.

    5. Add more steps before or after a step by clicking a Step button.

  6. Click Apply.

  7. To save the currently configured trigger setup in a Trigger Setup (.trg) file, click the Favorite Triggers button and then select the Save option from the displayed drop-down menu.

  8. Click OK.

Trigger Examples

The following are some examples of trigger setups for capturing D-PHY data.

Simple trigger examples

The following trigger setup aims at triggering the U4421A module on the transmission of any Sync Event packet except the H Sync End (HS) packet.

The following trigger setup triggers the U4421A module on the transmission of a packet with any of the errors included as trigger events.


Starting and Stopping the Data Capture

Once the capture setup and trigger setup are ready, you can start capturing the D-PHY data.

To start the data capture, choose Run/Stop>Run from the Logic and Protocol Analyzer GUI’s menubar. Alternatively, click the [image] icon from the toolbar.

For more information, see the Running/Stopping Measurements topic in the Logic and Protocol Analyzer Online Help.

On starting data capture, the Status section at the bottom of the Logic and Protocol Analyzer GUI is updated to reflect the current status of the data capture procedure.

The status moves from the Processing, Running, and finally to Filling Memory state.

Capture Status | Description
Processing | The module is processing the data capture settings to initiate data capture.
Running | The U4421A module is now in the Running state to capture D-PHY data.
Filling Memory | The trigger condition is met. The U4421A module is now triggered to start storing the captured data in its memory.

To stop the data capture, click the [image] icon from the toolbar.

If you are using both the exerciser and analyzer functions of the U4421A module, then start the exerciser prior to attempting to capture data with the analyzer. To start the exerciser, you can use the [image] Start Exerciser toolbar button in the Logic and Protocol Analyzer GUI.


Viewing and Analyzing Captured Data

This chapter provides information on how to view and analyze the captured D-PHY data for testing and debugging purposes using various viewers available in the Agilent Logic and Protocol Analyzer GUI.


Overview

After you have captured D-PHY data using the U4421A module, you can view and analyze this data in the Agilent Logic and Protocol Analyzer GUI in the following two modes:

  • Online - In the Online mode, the U4421A hardware is still connected and needed for viewing the captured data.

  • Offline - For the Offline mode, you can save the captured data and configurations in a Logic Analyzer configuration file (.ala extension). You can later load this file in the Logic and Protocol Analyzer GUI to view and analyze data offline (without the U4421A module connected).

You can also export the captured data to CSV format files for offline viewing and analysis in applications other than the Logic and Protocol Analyzer GUI.

For viewing the captured data in online or offline mode, various viewers are available in the Logic and Protocol Analyzer GUI. Each viewer has its own set of features for the presentation of captured data and is useful for specific situations.

Viewer

Usage

Notes

Protocol Viewer

  • To view protocol level packet data. Packet details are organized and viewable in different forms using different views available in Protocol Viewer

  • Also provides the licensed feature - Image Extractor to construct images from the captured data.

An instance of Protocol Viewer is automatically added and available in the Logic and Protocol Analyzer GUI when you create a new session of the U4421A module.

Waveform Viewer

To view both packet as well as raw signal data.

An instance of Waveform Viewer is automatically added and available in the Logic and Protocol Analyzer GUI when you create a new session of the U4421A module.

Listing

To view raw signal level data

If needed, you can add instance(s) of this viewer to the U4421A module by selecting New Window > Listing option in the Overview pane.

In the above screen, a Protocol Viewer and a Waveform Viewer are already added on starting a new session and a Listing viewer has been added manually.

The topics that follow describe how to use each of the available viewers for viewing and analyzing captured data.

The information about viewers in the following topics is specific to viewing and analyzing D-PHY data. To get general information about a viewer, its fields, or how to use it, refer to the topics in Reference > Windows section of the Logic and Protocol Analyzer Online Help.


Viewing D-PHY Packet Data Using the Protocol Viewer Display

The information about the Protocol Viewer in this topic is specific to viewing and analyzing D-PHY packets. To get general information about the Protocol viewer, its fields, or how to use it, refer to the following topics in the Logic and Protocol Analyzer Online Help.

- Reference > Windows > Protocol Viewer Display Window

- Analyzing the Captured Data > Analyzing Packet Data

The Protocol Viewer window provides various ways of viewing the captured D-PHY packet data. You can view summarized as well as detailed packet information at the same time within the upper and lower panes in this window.

The upper pane of the Protocol Viewer displays a summarized list of captured D-PHY packets. The Protocol Viewer window is customized for the protocol family being decoded. For a D-PHY packet, it displays the D-PHY related decoded fields. In the following screen, the captured packet details specific to the DSI protocol are displayed.


Color Coding used in the Protocol Viewer Window

The following color coding is used to display various packet types in the Protocol Viewer window’s upper pane.

Packet Type | Color Coding Used
Short Packet | Blue
Long Packet | Green
LPDT Escape Commands | Yellow
Reserved | Orange
Packets with Errors | Red


Identifying HS and LP Data Transmissions

You can identify if a packet was transmitted in HS or LP operation mode. A packet transmitted in the High Speed mode is displayed with the label (HS) appended in the packet name in the upper pane of Protocol Viewer. The label (LP) is appended to the packet name to indicate Low Power operation mode.

You can also view this information for a packet in the Details tab in the lower pane of the Protocol Viewer. The Details tab shows the State of Line and Lane Mode applicable for the D-PHY packet selected in the upper pane.


Viewing the Lane-wise Transmission of D-PHY Data

The Lanes tab in the lower pane of the Protocol Viewer provides a vertical listing of raw data for packets spread across the logical data lanes on which the data was transmitted. The logical lanes are organized as columns in the Lanes tab. The number of Lanes column displayed depends on the number of D-PHY lanes used in the link for transmission.

When you select a D-PHY packet listed in the upper pane, its raw data spread across the logical lanes used for the transmission is highlighted in the Lanes tab. Similarly, when you select a raw data row in the Lanes data, the packet to which it belongs is highlighted in the upper pane.

The display of raw data for each lane in the Lanes tab does not depend on whether or not you enabled the Raw data capture feature in the Analyzer Setup tab.

The data displayed in the Lanes tab is particularly useful in situations when packet data cannot be interpreted due to errors in transmission.

In the following figure, the data of an H Sync Start (HS) packet spread across the four logical lanes used for its transmission is highlighted. Notice that four columns are displayed to represent the data lanes of a x4 link. The same color coding is used for the packet in the upper pane and its data spread across the lanes in the lower pane.


Viewing the Decoded Payload for a Packet

The Payload tab displays the decoded payload for the packet currently selected in the upper pane of the Protocol Viewer.

The following screen displays the payload of a CSI-2 RGB image packet. The image’s pixel bytes data is shown.

Changing Decode Settings for RAW Image Payload Data

For RAW image formats, the Payload tab also provides the Change Image Decode Settings button. By default, RGB presets are used for decoding the payload of RAW image formats. However, you can use the Change Image Decode Settings button to select different decode settings for the image payload data. Clicking this button displays the Raw Image Decode Settings dialog box.

For RAW formats, a number of preset options such as RGB, YMC, CMY, and Bayer decoding are available in the Raw Image Decode Settings dialog box. Based on the decode settings that you select in this dialog box, the image’s payload data is recalculated in the Payload tab. The changed settings are also applicable while extracting an image in the Image View tab.


Viewing the Captured D-PHY Traffic Statistics

The Traffic Overview tab in the lower pane of the Protocol Viewer provides an overview of the D-PHY traffic listed in the upper pane. It provides a count of various types of captured D-PHY packets categorized on the basis of the type of packet. It also displays the count of D-PHY packet errors.

To view D-PHY traffic statistics

  1. Click the Traffic Overview tab.

  2. In the Data Range group box, specify the range of data (from the upper pane) for which you want to compute and display traffic statistics. You can also select markers set in the upper pane for defining the data range.

  3. Select the Include Errors checkbox if you want a count of errored packets to be included and displayed in the traffic statistics.

  4. Click Compute.

Traffic statistics are displayed for the selected data range. The left pane lists the packet types for the applicable protocol. Selecting a packet type from this list displays the total number of packets in the data range for that packet type.

  5. Use the Navigation section in the Traffic Statistics tab to navigate through the packets of a particular type in the upper pane.

    1. Select a packet type from the right pane of Traffic Statistics.

    2. In the Navigation section text field, specify the packet occurrence to which you want to navigate in the upper pane.

    3. Click Go.

The specified packet occurrence is highlighted in the upper pane.

The last packet type “Errors” listed in the left pane displays the count for the errored packets categorized on the basis of errors types. This error count is displayed only if you selected the Include Errors checkbox before computing traffic statistics.


Extracting Images from the Packet Data

You can use the Image View tab in the lower pane of the Protocol Viewer to display images constructed from the captured packet data. The Image View tab lists all the “Start of Frame” locations for images found in the captured data range specified by you. An image can be constructed from a selected “Start of Frame”.

All data formats in the CSI-2 and DSI specifications are supported for image construction in the Image View tab.

You need the Image Extractor software license to display images constructed from the captured packet data.

To extract an image

  1. Click the Image View tab.

  2. In the Data Range fields, select the range of the captured data from which the Start of Frame locations are to be displayed.

  3. From the Display Time as section, you can choose to display the Start of Frame locations with their absolute time or the time relative to their previous frames. The default selection is Absolute.

  4. Click Find.

All the “Start of Frame” locations from the captured data as per the data range specified by you are listed in the Image View tab.

  5. Select a start of frame from the displayed list and click the Show Image button to get an image constructed from the selected start of frame.

An error message is displayed if you do not have the appropriate software license to use the Image Extractor feature.

If you have the appropriate license, the image is constructed and displayed in the Extracted Image dialog box. The constructed image’s attributes such as width, height, format, and decoding options are also displayed.

A sample image constructed from the start of frame 10 (sample number 2620) is displayed in the following screen.

In the Extracted Image dialog box, you can use the [image] buttons to construct and display an image from the first, next, previous or last Start of Image Frame locations currently listed in the Image View tab.

The Extracted Image dialog box also provides you four background patterns [image] for the displayed image.

Saving the Extracted Image

Once the extracted image is displayed in the Extracted Image dialog box, the following two options are available for saving this image:

  • Save Binary - This button is displayed only if the extracted image is in a RAW format. Using this button, you can save the image’s pixel bytes in a binary (.bin) file. This allows you to save the raw image payload data that was originally captured by the U4421A module. This raw image payload data excludes any modifications that are made as a result of the color information calculation and decoding the image.

  • Save Image - This button is available for all image formats. It allows you to save the decoded image as a .bmp file. For an image with a RAW format, this button allows you to save the modified image that resulted from the color information calculations and decoding.

Changing the Decoding Options for the Extracted Image

By default, an image is decoded and displayed in the Extracted Image dialog box as per the image decoding options set in the Payload tab. If required, you can change the decoding options for the displayed image to redisplay it as per the changed decoding options.

To change the decoding options of an extracted image

  1. Click the Change the decoding options [image] button displayed in the Extracted Image dialog box.

The Raw Image Decode Settings dialog box is displayed.

  2. Change the decoding options as needed. To know more, refer to the topic Changing Decode Settings for RAW Image Payload Data.

Exporting the list of “Start of Frames” locations to a CSV File

You can also export the list of Start of Frames locations to a CSV file by clicking the Export list to CSV button. On clicking this button, a CSV file is generated. The list of “start of frames” displayed for the specified range of captured data is exported to this CSV file. The timestamps of the start of frames list exported to this CSV file are absolute regardless of the time stetting (Absolute or Relative to previous frame) that you have selected in the Image View tab.

The following screen displays a sample CSV file with the exported start of frames list.

If you want to export the protocol data displayed in the upper pane of the Protocol Viewer to a CSV file, you can use the Export to CSV toolbar button displayed at the top of Protocol Viewer.

The output CSV file has data matching the fields and their sequencing currently displayed in the upper pane of the Protocol Viewer.


Viewing D-PHY Packet Errors

Packets with errors are displayed in red in the upper pane of the Protocol Viewer. Moving the mouse pointer to the errored packet displays a tooltip with information about the error found in the packet.

The following screen displays a V Sync Start (HS) packet with a Bad Header ECC error.


Comparing and Debugging D-PHY Packets

You can perform D-PHY packet comparisons using the Compare tab in the lower pane of the Protocol Viewer window to debug D-PHY packets.

If the Compare tab is not visible, you can click the Open New Compare Window [image] toolbar button from the Protocol Viewer toolbar. You can also use this toolbar button to display multiple Compare tab pages for comparing multiple D-PHY packets simultaneously.

By default, the Compare window is displayed as a tab page in the lower pane. However, for ease in comparing packets, you can display this window as a Dockable or Floating window by right-clicking the Compare tab name and selecting Dockable or Floating from the right-click menu.

To compare D-PHY packets

  1. Select the first packet from the list in the upper pane.

The selected packet’s details are displayed in the Details tab.

  2. Click the Compare tab.

  3. Click the Set to Selected Component [image] button displayed in the Compare window. Clicking this button copies the details of the selected packet to the compare buffer in the Compare window.

  4. From the list in the upper pane, select the other packet with which you want to compare the previously selected packet (from step 1).

The details of the second packet are displayed in the Details tab and the differences between the first and second packet are highlighted in the Compare tab.

In the following screen, two Packet Pixel Stream, 24-bit RGB packets have been compared using a docked Compare window. Notice that the differences between the two packets are highlighted in yellow in the Compare window.


Viewing Packet and Raw Signal Data using the Waveform Viewer

The information about the Waveform Viewer in this topic is specific to viewing and analyzing D-PHY data. To get general information about the Waveform Viewer, its display, or how to use it, refer to the following topics in the Logic and Protocol Analyzer Online Help.

- Reference > Windows > Waveform Display Window

- Analyzing the Captured Data > Analyzing Waveform Data

You can view the captured D-PHY data (both packet data as well as raw signal data) as a digital waveform in the Waveform Viewer. The captured bus/signal data is displayed in a time based waveform as transmitted on the link. The Waveform view is useful in situations where you want to get an overview of the D-PHY link transitions.

Components of the Waveform display

A waveform display primarily has the following components.

  • The first row in the waveform area is the captured D-PHY packet name across the timeline.

  • The second row in the waveform area is the timeline for the captured data.

  • The list in the left pane are the probed D-PHY signal names and their individual channel names for which data is displayed in the waveform area.

  • The captured signal data values for the listed D-PHY signals are displayed from the third row onwards in the waveform area.

  • For any D-PHY link, the signals for which data is displayed are:

  • CLK p and n signals

  • LP p and n for each data lane used.

  • HS for each data lane used. The HS signal is further expandable to display the signal data across individual channels.

If needed, you can hide a specific signal’s data from the waveform display by right-clicking on the signal name on the left and selecting Delete Row.

In the following screen, the waveform data is displayed for D-PHY signals of a x1 link.

You can correlate the data displayed in the waveform with the relevant packet(s) in the Protocol Viewer. The following screen displays the correlated packet and its data across lanes for the signal data highlighted in the above screen.

Changing Base Unit of Signal Data Values

By default, the data in the waveform area is displayed in Hexadecimal notation. If required, you can change the base unit for display of the signal data in the waveform area. To do this, right-click the bus/signal names displayed in the left pane, select Base from the right-click menu, and then select the required base unit you want to use for display.

The following screen displays the captured data values in Hex. To change the base unit to Binary, the right-click menu is displayed.

On selecting Binary as the Base unit, the display is changed to binary data values.


Viewing Raw Signal Data in the Listing Window

The information about the Listing window in this topic is specific to viewing and analyzing D-PHY signal data. To get general information about the Listing window, its display, or how to use it, refer to the following topics in the Logic and Protocol Analyzer Online Help.

- Reference > Windows > Listing Display Window

- Analyzing the Captured Data > Analyzing Listing Data

The Listing view is useful in situations where you want to view the acquired raw signal data (without packet recovery attempts during acquisition). The view provides you an actual representation of the physical signal activity on the D-PHY link.

Data in the Listing window is displayed only if you configured the U4421A module to capture the raw signal level data by selecting the Enable Raw Data Capture checkbox. in the Analyzer Setup tab.

Raw data displays all captured data including oversampled LP data and synchronously sampled HS data. HS data is also deserialized and displayed as bytes. This type of data can be useful for understanding re-ordered or inverted lanes, or other physical problems that prevent protocol framing and decode.

Primarily, a Listing view displays:

  • The signals for which the data is applicable as columns.

  • The sample number provided to each of the acquired raw data sample

  • The start time for the transmission of each sample.

The following screen displays the captured raw signal data for a x1 link.


Filtering Packet Data Displayed in Viewers

You can filter the displayed data in viewers to display only those packets that are of significance to you for analysis or debug.

Filtering changes only the display of data in the viewers and not the captured data. Once filtered, you can refilter the data display at any time by applying new filter settings.

You use the Filter/Colorize tool to filter data displayed in viewers. To access this tool, click Tools > New Filter/Colorize from the menubar in the Logic and Protocol Analyzer GUI. On clicking this menu option, the Filter/Colorize dialog box is displayed. You can click the Help button displayed in this dialog box to get more details about the Filter/Colorize tool.

In the following screen, the filtering condition is adjusted to display only V Sync Start (HS) packets.

The following screen displays the filtered D-PHY data on the basis of the type of packet. Only the V Sync Start (HS) packets are displayed after filtering.


Using COM Commands for U4421A Module

This chapter describes how you can configure, control, and use the U4421A module using COM commands.


Overview

Besides using the U4421A’s GUI components, you can also use the COM interface to configure, control, and use U4421A. The COM interface allows you to write programs to automate D-PHY testing using the U4421A module.

This chapter describes the COM commands in the context of the following broad areas of their usage for D-PHY testing.

  • Establish a connection with the U4421A module.

  • Configure stimulus settings for the U4421A module (when used as an exerciser).

  • Start and stop the transmission of stimulus from the U4421A module.

  • Change stimulus settings such as lane skew and signal levels for the U4421A module while the module is sending stimulus.

  • Insert packet(s) dynamically into an ongoing stimulus transmission from the U4421A module.

  • Capture D-PHY data.

The topics that follow describe how to use COM commands to perform the above-mentioned tasks.

Extended help for using COM commands is available in the Logic and Protocol Analyzer online help, including the complete COM Commands Quick Reference as well as a general overview of COM Automation for all Logic and Protocol Analysis systems.

COM Commands Quick Reference

The following table lists the COM commands available for the U4421A module.

Usage Area

Method/Property name

Description

For providing stimulus

LoadExerciserParameters

Loads the stimulus related settings for the U4421A module to the Setup dialog box of the U4421A module in the Logic and Protocol Analyzer GUI.

ApplyToHardware

Applies the stimulus related settings loaded in the Setup dialog box to the U4421A module hardware.

StartExerciser

Starts the transmission of D-PHY stimulus from the U4421A module to a D-PHY DUT.

StopExerciser

Stops the transmission of D-PHY stimulus from the U4421A module to a D-PHY DUT.

ExecuteCommand

Loads the specified stimulus settings to the Setup dialog box of the U4421A module in the Logic and Protocol Analyzer GUI. In addition, the command also immediately applies these settings to the U4421A module hardware even when the module is in the Running state.

The command is useful for changing stimulus settings of the U4421A module at runtime and for inserting packets dynamically.

For capturing D-PHY data

RecallTriggerByFile

Loads a previously saved trigger specification file for setting up the trigger for the U4421A module.

Run

Starts capturing D-PHY data as per the configured data capture settings.

Stop

Stops the U4421A module from capturing D-PHY data.

For obtaining XML format of a command

GetXmlFormat

Returns the XML command format for the given command name.


Before you Start

To use the COM interface, you need to ensure that the following software components of the U4421A module are installed:

  • Agilent Logic and Protocol Analyzer software - You need this software component for capturing as well as generating D-PHY data.

  • Agilent Logic Analyzer COM Server - This is typically installed at:

C:\Program Files\Agilent Technologies\Logic Analyzer\LA COM Automation\agClientSvr.dll

While using this COM Server, ensure that:

  • The COM server connects to a local instance of the Agilent Logic and Protocol Analyzer application. If the Logic and Protocol Analyzer application is not started, the COM server’s Connect command starts it.


Establishing Connection with the U4421A Module

Connection For Sending Stimulus to DUT

To control the transmission flow and alter stimulus settings for the U4421A module using COM, the client application can use the IExerciser interface pointer. This pointer can be obtained from the IModules interface after establishing a connection as shown in the example below.

Once the connection is established, you use the obtained pointer to call the specific stimulus related COM commands.

The following code snippet provides an example of how to establish a connection with the U4421A module for sending stimulus.

// create the Connect object

AgtLA::IConnectPtr pConnect = AgtLA::IConnectPtr(__uuidof(AgtLA::Connect));

...

// Using the Connect object, obtain the IInstrument interface

AgtLA::IInstrumentPtr pInst = pConnect->GetInstrument(hostName);

...

// Using the IInstrument interface, obtain the IModules interface

AgtLA::IModulesPtr modules = pInst->GetModules();

...

// Loop through all the modules in the instrument looking for those which present the IExerciser interface.

for (long i=0; i<modules->GetCount(); i++)

{

// Using the IModules interface, obtain an IModule interface.

AgtLA::IModulePtr module = modules->GetItem(_variant_t(i));

// Check if this module supports the IExerciser interface by

// type-casting the module pointer.

AgtLA::IExerciserPtr exerciser = modules->GetItem(_variant_t(i));

If (exerciser != NULL)

{

// The type-cast worked !

// This module is a U4421A Mipi/DPhy Exerciser/Analyzer

}

else

{

// This module does not support the IExerciser interface

}

}

Connection For Capturing D-PHY Data

To control the D-PHY data capture using COM, the client application can use the ISerialModule interface pointer. This pointer can be obtained from the IModules interface after establishing a connection as shown in the example below.

Once the connection is established, you use the obtained pointer to call the specific capture related COM commands.

The following code snippet provides an example of how to establish a connection with the U4421A module for capturing D-PHY data.

// create the Connect object

AgtLA::IConnectPtr pConnect = AgtLA::IConnectPtr(__uuidof(AgtLA::Connect));

...

// Using the Connect object, obtain the IInstrument interface

AgtLA::IInstrumentPtr pInst = pConnect->GetInstrument(hostName);

...

// Using the IInstrument interface, obtain the IModules interface

AgtLA::IModulesPtr modules = pInst->GetModules();

...

// Loop through all the modules in the instrument looking for those which present the ISerialModule interface.

for (long i=0; i<modules->GetCount(); i++)

{

// Using the IModules interface, obtain an IModule interface.

AgtLA::IModulePtr module = modules->GetItem(_variant_t(i));

// Check if this module supports the ISerialModule interface by

// type-casting the module pointer.

AgtLA::ISerialModulePtr capture = modules->GetItem(_variant_t(i));

If (capture != NULL)

{

// The type-cast worked !

// This module is a U4421A Mipi/DPhy Analyzer

}

else

{

// This module does not support the ISerialModule interface

}

}


Configuring D-PHY Stimulus Settings

Check that you have installed Agilent Logic and Protocol Analyzer software version 5.50.00 or higher to use the COM commands described in this topic.

You use the LoadExerciserParameters and ApplyToHardware commands to configure the stimulus related settings for the U4421A module.


LoadExerciserParameters

Ensure that the U4421A module is in a Stop state before you call LoadExerciserParameters.

Syntax

HRESULT LoadExerciserParameters([in] BSTR bstrCommandXml, [out] BSTR* bstrOutInfo, [out, retval] VARIANT_BOOL* Success);

Usage Example

exerciser->LoadExerciserParameters(bstrCommandXml,bstrOutInfo);

where:

  • exerciser evaluates to an obtained IExerciser interface pointer (see Establishing Connection with the U4421A Module)

  • bstrCommandXml evaluates to the input command string containing the stimulus elements that you want to change. The format of the supported commands is given in the table below.

  • bstrOutInfo evaluates to an output string that may return some useful information. In case of MipiDphyExeTimingParameters input command, it returns final calculated values that are going to be programmed.

Description

Loads the exerciser related settings for the U4421A module as per the values that you specify for the parameters of this command. The specified values are loaded to the Setup dialog box of the U4421A module in the Logic and Protocol Analyzer GUI. After the execution of this command, the set values are displayed in the Setup dialog box.

Parameter

Description

BSTR bstrCommandXml

An XML format input string used for configuring the stimulus settings of the U4421A module.

At a time, the string can contain one of the following XML commands. The outer most element represents the command name.

The XML format for each command is given below.

Note: The elements are displayed with their start and end tags and a default value. To see a list of valid range of values for each of these elements, refer to the Valid values for XML elements of bstrCommandXml String table in this topic.

<MipiDphyExeTimingParameters>

<HS-EXIT-NS>100</HS-EXIT-NS>

<HS-TRAIL-NS>60</HS-TRAIL-NS>

<CLK-PRE-UI>32</CLK-PRE-UI>

<CLK-POST-NS>60</CLK-POST-NS>

<CLK-POST-UI>52</CLK-POST-UI>

<HS-ZERO-UI>88</HS-ZERO-UI>

<HS-ZERO-NS>2</HS-ZERO-NS>

<HS-PREP-UI>4</HS-PREP-UI>

<HS-PREP-NS>40</HS-PREP-NS>

<CLK-PREP-NS>38</CLK-PREP-NS>

<CLK-TRAIL-NS>60</CLK-TRAIL-NS>

<CLK-ZERO-NS>205</CLK-ZERO-NS>

<LPX-NS>50</LPX-NS>

<TA-GET-NS>250</TA-GET-NS>

<TA-GO-NS>200</TA-GO-NS>

<INIT-NS>100000</INIT-NS>

<WAKEUP-NS>1000000</WAKEUP-NS>

</MipiDphyExeTimingParameters>

<MipiDphyExeOutputs>

<SlewRate>SlewRate_Fast</SlewRate>

<TargetVDD>1000</TargetVDD>

<IgnoreTargetVDDSafteyCheck>False</IgnoreTargetVDDSafteyCheck>

<SMAOutputs>SMAOutputs_Off</SMAOutputs>

</MipiDphyExeOutputs>

<MipiDphyExeBitRate>

<InputClockType>Internal</InputClockType>

<InternalClockValue>Internal_750</InternalClockValue>

<ExternalClockValue>0</ExternalClockValue>

</MipiDphyExeBitRate>

<MipiDphyLaneSkew>

<SkewValueLane0>0</SkewValueLane0>

<SkewValueLane1>0</SkewValueLane1>

<SkewValueLane2>0</SkewValueLane2>

<SkewValueLane3>0</SkewValueLane3>

<SkewInsertionPoint>AnyStopState</SkewInsertionPoint>

</MipiDphyLaneSkew>

<MipiDphySignalLevels>

<LPVHigh>1200</LPVHigh>

<LPVLow>0</LPVLow>

<HSVod>200</HSVod>

<HSCommonMode>200</HSCommonMode>

<TargetTerminationType>DynamicDifferential100Ohms</TargetTerminationType>

</MipiDphySignalLevels>

bstrOutInfo

An output string that can return one of the following:

  • the final calculated values for the exerciser related settings of the U4421A module. These values are returned only when the input command is <MipiDphyExeTimingParameters>. These values are also displayed in the relevant tabs of the Setup dialog box of the U4421A module in the Logic and Protocol Analyzer GUI.

  • an empty string or a string containing some error information (in case of an error) for all other input commands.

In a call, you can pass one of the above-mentioned XML commands in the XML input string. Within the passed command, all or some of the above-mentioned tags may be contained.

Whether you specify a selected few or all tags, ensure that the order in which these are specified is the same as the order in which these are listed above.

For tags for which you have not specified any value, the value already set in the GUI is used.

To get a description of what a tag represents, refer to its relevant GUI field description in this guide.

Valid values for XML elements of bstrCommandXml String

XML Element | Valid Values/Range
Note: If you pass an out of range value for an XML element, the lowest or highest value from the data range supported by that element is finally loaded. For example, if the valid data range is 40-85 and you passed 35 as the value, then the finally loaded value for the element will be 40.
<HS-EXIT-NS> | >=50
<HS-TRAIL-NS> | >=45
<CLK-PRE-UI> | 32-88
<CLK-POST-NS> | 0-1000
<CLK-POST-UI> | 0-1000
<HS-ZERO-UI> | 10
<HS-ZERO-NS> | 0-1000
<HS-PREP-UI> | 0-1000
<HS-PREP-NS> | 0-2000
<CLK-PREP-NS> | 10-1000
<CLK-TRAIL-NS> | 55-600
<CLK-ZERO-NS> | 10-1000
<LPX-NS> | 10-1000
<TA-GET-NS> | 10-1000
<TA-GO-NS> | 10-1000
<INIT-NS> | 100-5200000
<WAKEUP-NS> | 100-5200000
<SlewRate> | SlewRate_Fast SlewRate_Medium SlewRate_Slow SlewRate_Slowest
<TargetVDD> | 800-3300
<IgnoreTargetVDDSafteyCheck> | True False
<SMAOutputs> | SMAOutputs_Off SMAOutputs_On
<InputClockType> | Internal External
<InternalClockValue> | Internal_750 Internal_1500
<ExternalClockValue> | 75-1500
<SkewValueLane0> <SkewValueLane1> <SkewValueLane2> <SkewValueLane3> | For Internal Clock Source set at 750 Mbps: -667 to 667 For Internal Clock Source set at 1500 Mbps: -333 to 333 For External Clock Source: Changes as per the input clock frequency
<SkewInsertionPoint> | AnyStopState InsertBitSet
<LPVHigh> | 500-1800
<LPVLow> | -100 to 100
<HSVod> | 60-320
<HSCommonMode> | x-380 (the starting range varies depending on the values specified for LPVLow and HSVod)
<TargetTerminationType> | DynamicDifferential100Ohms StaticDifferential100Ohms OpenCircuitNoTerminations

Return Value

A Boolean indicating whether or not the command was successful.


ApplyToHardware

Syntax

HRESULT ApplyToHardware([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT_BOOL* Success);

Usage Example

exerciser->ApplyToHardware("");

where exerciser evaluates to an obtained IExerciser interface pointer (see Establishing Connection with the U4421A Module)

Description

Applies the stimulus related settings loaded in the Setup dialog box of the Logic and Protocol Analyzer GUI to the U4421A module hardware.

The XML format input string bstrOption is reserved for future use. This input string is not currently used for the U4421A module and should be specified as an empty string.

Return Values

A Boolean indicating whether or not the command was successful.


Starting the Stimulus Transmission

You use the StartExerciser command to start the stimulus transmission from the U4421A module.

StartExerciser

Syntax

HRESULT StartExerciser([in, defaultvalue("")] BSTR bstrOptionsXML, [out, retval] VARIANT_BOOL* Success);

Usage Example

exerciser->StartExerciser("");

where exerciser evaluates to an obtained IExerciser interface pointer (see Establishing Connection with the U4421A Module)

Description

Starts the transmission of the sequence of stimulus currently loaded in the Exerciser Data tab of the Setup dialog box in the Logic and Protocol Analyzer GUI.

You can use a Logic Analyzer configuration file to load a previous saved stimulus data in the Logic and Protocol Analyzer GUI. You can use the Open command of the IInstrument interface to open a configuration file. Refer to the COM Commands help in the Logic and Protocol Analyzer online help to know more about this command.

The XML format input string bstrOptionsXml is reserved for future use to contain any XML elements for stimulus start options. This input string is not currently used for the U4421A module and should be specified as an empty string.

The StartExerciser command starts the transmission as per the stimulus data loaded in the Logic and Protocol Analyzer GUI.

Return Value

A Boolean indicating whether or not the command was successful.


Stopping the Stimulus Transmission

You use the StopExerciser command to stop the stimulus transmission from the U4421A module.

StopExerciser

Syntax

HRESULT StopExerciser([in] BSTR bstrOptionsXml, [out, retval] VARIANT_BOOL* Success);Usage Example

Usage Example

exerciser->StopExerciser("");

where exerciser evaluates to an obtained IExerciser interface pointer (see Establishing Connection with the U4421A Module)

Description

Stops the transmission of stimulus from the U4421A module to DUT.

The XML format input string bstrOptionsXml is reserved for future use to contain any XML elements for stimulus stop options. This input string is not currently used for the U4421A module and should be specified as an empty string.

Return Value

A Boolean indicating whether or not the command was successful.


Changing U4421A Stimulus Related Settings at Runtime

You can use the COM interface to change a few selected stimulus settings of the U4421A module while the module is in the Running state and transmitting stimulus.

You can change the Lane Skew Control settings at runtime using the ExecuteCommand command.

ExecuteCommand

Syntax

HRESULT ExecuteCommand([in] BSTR bstrCommandXml, [out] BSTR* bstrOutInfo, [out, retval] VARIANT_BOOL* Success);

Usage Example

exerciser->ExecuteCommand(bstrCommandXml, bstrOutInfo);

where:

  • exerciser evaluates to an obtained IExerciser interface pointer (see Establishing Connection with the U4421A Module)

  • bstrCommandXml evaluates to an input string with XML format described in the table below.

  • bstrOutInfo evaluates to an output string described in the table below.

Description

Loads the stimulus settings that you specified as parameters of this command to the Setup dialog box of the U4421A module in the Logic and Protocol Analyzer GUI. In addition, the command also immediately applies these settings to the U4421A module hardware. The settings are applied to the module hardware even when the module is in the Running state.

The command is useful for changing stimulus settings of the U4421A module at runtime as well as for inserting packets dynamically into an ongoing transmission sequence.

Parameter

Description

BSTR bstrCommandXml

An XML format input string used for changing the stimulus settings of the U4421A module at runtime. The string can contain the following XML command. The outer most element represents the command name.

The XML format for the command is given below.

Note: The elements are displayed with their start and end tags and a sample value. To see a list of valid range of values for each of these elements, refer to the Valid values for XML elements of bstrCommandXml String table in this topic.

<MipiDphyLaneSkew>

<SkewValueLane0>0</SkewValueLane0>

<SkewValueLane1>0</SkewValueLane1>

<SkewValueLane2>0</SkewValueLane2>

<SkewValueLane3>0</SkewValueLane3>

<SkewInsertionPoint>AnyStopState</SkewInsertionPoint>

</MipiDphyLaneSkew>

bstrOutInfo

An output string returning any useful information on command execution.

Within the passed XML command, all or some of the above-mentioned tags may be included.

Whether you specify a selected few or all tags, ensure that the order in which these are specified is the same as the order in which these are listed above.

For tags for which you have not specified any value, the value already set in the GUI is used.

To get a description of what a tag represents, refer to its relevant GUI field description in this guide.

Valid values for XML elements of bstrCommandXml String

XML Element | Valid Values/Range
<SkewValueLane0> <SkewValueLane1> <SkewValueLane2> <SkewValueLane3> | For Internal Clock Source set at 750 Mbps -667 to 667 For Internal Clock Source set at 1500 Mbps -333 to 333 For External Clock Source Changes as per the input clock frequency
<SkewInsertionPoint> | AnyStopState InsertBitSet

Return Value

A Boolean indicating whether or not the command was successful.


Inserting Packets Dynamically in an Ongoing Stimulus Sequence

You can use the ExecuteCommand command to insert and send packet(s) dynamically as stimulus to DUT during an ongoing stimulus traffic flow.

When you send a packet as stimulus at runtime, the U4421A module halts the sequence of the main stimulus flow, sends that packet and then resumes the main stimulus flow from the point at which it was halted.

You can insert single or multiple packets dynamically. In case of multiple packets, these packets are sent one after the other in a sequence and then the main stimulus flow is resumed.

Before Executing the Command

  • Create a CSV file with packet(s) that you want to send dynamically. Make sure that the CSV file size does not exceed 32 KB otherwise the command returns an error.

  • Define insertion point(s) - You can either insert packets at any stop state or at the insertion points that you defined in the main stimulus CSV file. To define an insertion point in the main data CSV file, you need to set the Special field of the desired packet to “1” in the main data CSV file. The Insert bit is then set to 1 at this point and this packet becomes the insertion point for the packets to be inserted dynamically.

The following screen displays a main stimulus CSV file in ASCII format with a dynamic packet insertion point defined. Notice that the Special field of one of the packets is set to 1.

Based on whether you want to insert packets at “Any Stop State” or at an insertion point with “InsertBitSet”, you specify the value of the <PacketInsertionPoint> tag (see details below).

ExecuteCommand

Syntax

HRESULT ExecuteCommand([in] BSTR bstrCommandXml, [out] BSTR* bstrOutInfo, [out, retval] VARIANT_BOOL* Success);

Usage Example

exerciser->ExecuteCommand(bstrCommandXml, bstrOutInfo);

where:

  • exerciser evaluates to an obtained IExerciser interface pointer (see Establishing Connection with the U4421A Module)

  • bstrCommandXml evaluates to an input string with XML format as described in the table below.

  • bstrOutInfo evaluates to an output string as described in the table below.

Description

Inserts packet(s) dynamically into an ongoing transmission sequence. Packets are added from a CSV format file that you specify as the input parameter.

Parameter

Description

BSTR bstrCommandXml

An XML format input string used for inserting packets into an ongoing stimulus transmission.

The string can contain the following XML command. The outer most element represents the command name.

The XML format for the command is given below.

Note: The elements are displayed with their start and end tags, sample value as well as the other permitted value.

<MipiDphyDnyamicPktInsert>

<CsvPath>D:\\Images\\Packts.csv</CsvPath>

<PacketInsertionPoint>AnyStopState</PacketInsertionPoint> //Other option for this element is InsertBitSet.

<MipiDphyDnyamicPktInsert>

bstrOutInfo

An output string returning any useful information on command execution.

For the above-mentioned XML input string, it is mandatory to specify the <CsvPath> tag value. Also, ensure that the order in which the tags are specified is the same as the order in which these are listed above.

For the tag for which you have not specified any value, the value already set in the GUI is used.

To get a description of what a tag represents, refer to its relevant GUI field description in this guide.

Return Value

  • A Boolean indicating whether or not the command was successful.


Loading Trigger Specifications for Data Capture

You use the RecallTriggerByFile command to load the trigger settings for the U4421A module from a previously saved trigger specification file.

RecallTriggerByFile

Syntax

HRESULT RecallTriggerByFile([in] BSTR TriggerFileName, [out, retval] VARIANT_BOOL* Success);

Usage Example

capture->RecallTriggerByFile(TriggerFileName);

where capture evaluates to an obtained ISerialModule interface pointer (see Establishing Connection with the U4421A Module) and TriggerFileName evaluate to an input string that contains the name and location of the trigger specification file.

Description

Loads a previously saved trigger file to set up the trigger for the U4421A module. The command accepts the name and complete path of the trigger file as the input parameter.

Parameter | Description
TriggerFileName | A string representing the name and location of the XML-format trigger specification file. Example - TriggerFileName = “C:\\Trigger_Specs\\SampleTrigger.trg”

Return Value

A Boolean indicating whether or not the command was successful.


Starting the Data Capture

You use the Run command to start the data capture using the U4421A module. Data is captured as per the currently configured data capture settings in the Setup dialog box of the U4421A module in the Logic and Protocol Analyzer GUI.

Prior to executing this command, you can load a Logic Analyzer configuration file with the required data capture settings that the Run command can use. You can use the Open command of the IInstrument interface to load a configuration file. Refer to the COM Commands help in the Logic and Protocol Analyzer online help to know more about this command.

Run

Syntax

HRESULT Run([in, defaultvalue(0)] VARIANT_BOOL Repetitive);

Usage Example

pInst->Run(FALSE);

where pInst evaluates to an obtained IInstrument interface pointer (see Establishing Connection with the U4421A Module)

Description

Starts running the U4421A module to capture D-PHY data. The Run command takes a Boolean as input parameter. The value “True” indicates that the module will run continuously until the Stop command is called where as the value “False” indicates that the module will run only once.

Return Value

A Boolean indicating whether or not the command was successful.


Stopping the Data Capture

You use the Stop command to stop the data capture using the U4421A module.

Stop

Syntax

HRESULT Stop();

Usage Example

pInst->Stop();

where pInst evaluates to an obtained IInstrument interface pointer (see Establishing Connection with the U4421A Module)

Description

Stops all the currently running data acquisition modules.

Return Value

A Boolean indicating whether or not the command was successful.


Getting XML Format of a COM Command

You can use the GetXmlFormat command to obtain the XML format for the command/tag that you specified as parameter with this command.

GetXmlFormat

Syntax

HRESULT GetXmlFormat([in] BSTR bstrCommandName, [out] BSTR* bstrXmlFormat, [out, retval] VARIANT_BOOL* Success);

Usage Example

GetXmlFormat(bstrCommandName, bstrXmlFormat);

where:

  • bstrCommandName evaluates to an input string described in the table below.

  • bstrXmlFormat evaluates to an output string described in the table below.

Description

Returns the XML format of the command that you specified as parameter of this command.

Parameter

Description

bstrCommandName

An input string representing the top-level tag name of a XML command for which the XML format is required.

For instance, you can pass MipiDphyExeTimingParameters to get the XML format of the MipiDphyExeTimingParameters used in LoadExerciserParameters.

bstrXmlFormat

An output string that returns the XML format of the command that you specified in the input parameter.

Return Value

A Boolean indicating whether or not the command was successful.


Restricted Rights Legend

If software is for use in the performance of a U.S. Government prime contract or subcontract, Software is delivered and licensed as "Commercial computer software" as defined in DFAR 252.227-7014 (June 1995), or as a "commercial item" as defined in FAR 2.101(a) or as "Restricted computer software" as defined in FAR 52.227-19 (June 1987) or any equivalent agency regulation or contract clause. Use, duplication or disclosure of Software is subject to Agilent Technologies' standard commercial license terms, and non-DOD Departments and Agencies of the U.S. Government will receive no greater than Restricted Rights as defined in FAR 52.227-19(c)(1-2) (June 1987). U.S. Government users will receive no greater than Limited Rights as defined in FAR 52.227-14 (June 1987) or DFAR 252.227-7015 (b)(2) (November 1995), as applicable in any technical data.


Safety Notices

[Caution]

A CAUTION notice denotes a hazard. It calls attention to an operating procedure, practice, or the like that, if not correctly performed or adhered to, could result in damage to the product or loss of important data. Do not proceed beyond a CAUTION notice until the indicated conditions are fully understood and met.

[Warning]

A WARNING notice denotes a hazard. It calls attention to an operating procedure, practice, or the like that, if not correctly performed or adhered to, could result in personal injury or death. Do not proceed beyond a WARNING notice until the indicated conditions are fully understood and met.


Technology License

The hardware and/or software described in this document are furnished under a license and may be used or copied only in accordance with the terms of such license.


Trademarks

Microsoft®, MS-DOS®, Windows®, Windows 2000®, and Windows XP® are U.S. registered trademarks of Microsoft Corporation.

Adobe®, Acrobat®, and the Acrobat Logo® are trademarks of Adobe Systems Incorporated.


Warranty

The material contained in this document is provided "as is," and is subject to being changed, without notice, in future editions. Further, to the maximum extent permitted by applicable law, Agilent disclaims all warranties, either express or implied, with regard to this manual and any information contained herein, including but not limited to the implied warranties of merchantability and fitness for a particular purpose. Agilent shall not be liable for errors or for incidental or consequential damages in connection with the furnishing, use, or performance of this document or of any information contained herein. Should Agilent and the user have a separate written agreement with warranty terms covering the material in this document that conflict with these terms, the warranty terms in the separate agreement shall control.