Application debugging USB Bus utilization graph

Similar documents
Sierra SAS/SATA 6G Protocol Test Systems. Complete Protocol Test in a Single Package!

PCI EXPRESS PROTOCOL SOLUTIONS FOR TESTING AND VERIFICATION

Debugging Common USB Issues. Total Phase, Inc.

Data Sheet. Packet-Master USB12 Bus Analyser

Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment

Packet Switch Architectures Part 2

UNIVERSAL SERIAL BUS PROTOCOL SOLUTIONS FOR TESTING AND VERIFICATION

Microprocessors LCD Parallel Port USB Port

Modelling a Video-on-Demand Service over an Interconnected LAN and ATM Networks

Network Simulator Project Guidelines Introduction

Disk for Real-time Data. Presented at the THIC Meeting at the Sony Auditorium, 3300 Zanker Rd, San Jose CA March 4-5, 2003

Investigating the Use of Synchronized Clocks in TCP Congestion Control

AN10035_1 Comparing energy efficiency of USB at full-speed and high-speed rates

Architectural Differences nc. DRAM devices are accessed with a multiplexed address scheme. Each unit of data is accessed by first selecting its row ad

More on IO: The Universal Serial Bus (USB)

Introduction to USB/LPC23xx

PCI EXPRESS PROTOCOL SOLUTIONS FOR TESTING AND VERIFICATION. PETracer Gen2 Summit Analyzer PETracer ML Analyzer PETrainer ML Exerciser

Chapter 4. Routers with Tiny Buffers: Experiments. 4.1 Testbed experiments Setup

Design and Performance Evaluation of a New Spatial Reuse FireWire Protocol. Master s thesis defense by Vijay Chandramohan

High Speed USB Controllers for serial and FIFO applications. Debug Information for FT8U232/245 devices

Multi-Processor / Parallel Processing

Network layer (addendum) Slides adapted from material by Nick McKeown and Kevin Lai

A Simulation: Improving Throughput and Reducing PCI Bus Traffic by. Caching Server Requests using a Network Processor with Memory

EE 122: Router Design

TCP offload engines for high-speed data processing

INTERCONNECTION NETWORKS LECTURE 4

RiceNIC. A Reconfigurable Network Interface for Experimental Research and Education. Jeffrey Shafer Scott Rixner

Eng 3553 Lab #5 TCP Throughput

The protocol can efficiently use interconnect and fabric techno-

Tracing Bluetooth Headsets with the CATC Bluetooth Analysers

Frame Relay and Testing with the PFA-35

With Fixed Point or Floating Point Processors!!

Sierra SAS/SATA 6G/12G Protocol Test Systems. Complete Protocol Test in a Single Package!

Report on Cache-Oblivious Priority Queue and Graph Algorithm Applications[1]

This process is a fundamental step for every USB device, fore without it, the device would never be able to be used by the OS.

This tutorial shows how to use ACE to Identify the true causes of poor response time Document the problems that are found

Arduino Uno R3 INTRODUCTION

Multi-core microcontroller design with Cortex-M processors and CoreSight SoC

USB Complete. The Developer's Guide Fifth Edition. Jan Axelson. Lakeview Research LLC Madison, WI 53704

What is Network Acceleration?

PETracer 5.73 Release Notes

Ellisys USB 2.0 Protocol Analyzer

We are going to see a basic definition of the devices you can find in a corporate wired network, so you can understand basic IT engineering jargon.

PCI Express Protocol Solutions for Testing and Compliance

A closer look at network structure:

9. Wireshark I: Protocol Stack and Ethernet

Hello, and welcome to this presentation of the STM32L4 USB 2.0 Full Speed interface. It covers the features of this interface, which is widely used

NVMe performance optimization and stress testing

Prioritization scheme for QoS in IEEE e WLAN

Wi.232DTS and Mesh Networking for short range applications in the US market

USB 2.0 High-Speed Peripheral Compliance Test Report

Objective To examine the throughput of a TCP connection as the flow control window size is varied.

HST-3000 Class of Service (CoS) Test Suite

Ron Emerick, Oracle Corporation

Operating Omega ATS and Lynx ATS. QUOTE TRANSFER PROTOCOL (QTP) SPECIFICATION v 1.05

ADQ14-FWATD. User Guide. Author(s): SP Devices Document no.: Classification: Public Revision: PA7 Date:

Testing and Debugging

Introduction. Network Architecture Requirements of Data Centers in the Cloud Computing Era

Read section 8 of this document for detailed instructions on how to use this interface spec with LibUSB For OSX

USB 2.0 Hi-speed Peripheral Compliance Test Report

Agilent E2929A/B Opt. 200 PCI-X Performance Optimizer. User s Guide

Fermilab WAN Performance Analysis Methodology. Wenji Wu, Phil DeMar, Matt Crawford ESCC/Internet2 Joint Techs July 23, 2008

ARINC-818 TESTING FOR AVIONICS APPLICATIONS. Ken Bisson Troy Troshynski

Data acquisition from educational plants over USB in GNU/Linux

Bandwidth under control with IDS GigE Vision cameras

Sierra SAS/SATA 6G/12G Protocol Test Systems

Migrating RC3233x Software to the RC32434/5 Device

Objectives: (1) To learn to capture and analyze packets using wireshark. (2) To learn how protocols and layering are represented in packets.

Testing Minimum Inter Frame Gap (IFG)

BASICS OF THE RENESAS SYNERGY PLATFORM

Comparative study of LTE simulations with the ns-3 and the Vienna simulators

A Proposal for a High Speed Multicast Switch Fabric Design

What is PXImc? By Chetan Kapoor, PXI Product Manager National Instruments

Overcoming PCI-Express Physical Layer Challenges

Measuring the Processing Performance of NetSniff

CMSC 411 Computer Systems Architecture Lecture 13 Instruction Level Parallelism 6 (Limits to ILP & Threading)

Generic Architecture. EECS 122: Introduction to Computer Networks Switch and Router Architectures. Shared Memory (1 st Generation) Today s Lecture

Enemy Territory Traffic Analysis

Introduction to TCP/IP Offload Engine (TOE)

L41: Lab 2 - Kernel implications of IPC

The Controlled Delay (CoDel) AQM Approach to fighting bufferbloat

Computer Organization

Future Gigascale MCSoCs Applications: Computation & Communication Orthogonalization

Agenda. What are we looking at? Introduction. Aim of the project. IP Routing

Appendix B. Standards-Track TCP Evaluation

Hardware Assisted Recursive Packet Classification Module for IPv6 etworks ABSTRACT

Advanced Debugging with the System Profiler. Rennie Allen Cisco Field Application Engineer

A unified multicore programming model

Network Performance Test. Business Security Software. Language: English August Last Revision: 11 th October

Order of Packet Transmission and Dropping

Impact of TCP Window Size on a File Transfer

STUDY, DESIGN AND SIMULATION OF FPGA BASED USB 2.0 DEVICE CONTROLLER

Lecture IV Bézier Curves

Lecture 2 Parallel Programming Platforms

MULTIPLEXER / DEMULTIPLEXER IMPLEMENTATION USING A CCSDS FORMAT

Research. Eurex NTA Timings 06 June Dennis Lohfert.

Prefetch Cache Module

EECS 122: Introduction to Computer Networks Switch and Router Architectures. Today s Lecture

Switched LANs A Set of Local Area Networks Interconnected by Switches

Caches. Hiding Memory Access Times

Transcription:

Enabling Global Connectivity Computer Access Technology Corporation Tel: (408) 727-6600, Fax: (408) 727-6622 www.catc.com Application debugging USB Bus utilization graph Application Note Introduction The bus utilization graph found in the range of CATC USB Analyser applications provides a valuable time-scaled view in addition to the chronological packet and logical transfer views of the primary display window. Some modes of operation of the USB bus and some bus problems can be more readily observed using the bus utilization view. This application note looks at some of the strategies that can be employed using the bus utilization view as a debugging tool. CATC 1 of 8 05/04

Performance Analysis Analysing a recording where throughput is important, will initially start using the timing calculator and may yield a performance figure lower than expected. The first complication when analysing the performance of a transfer is that you may choose to use the performance calculator transfer-to-transfer In this case it shows a full-speed bandwidth of 4.8Mb/s which is considerably lower than the theoretical 12Mb/s. Looking at the bus utilization graph shows that we have included a period of bus idle time since we have asked for the calculation to be made from the start of one transfer to the start of the next. The second transfers initiation is dependant upon the bus scheduling and the application processing time and therefore to measure the throughput of a specific transfer, the calculation should be made from the first to the last packet of the transfer only. CATC 2 of 8 02/04

Making the last packet of the transfer repeating the calculation, yields a figure closer to the 12Mb/s expected, but is still not reaching the expected throughput. CATC 3 of 8 02/04

Doing the same calculation on a single transaction yields a figure at the theoretical throughput. Although, this is more realistic if the inter-transaction gap is included in the case where the host may only be able to schedule one transfer per frame, which gives an average throughput of 10Mb/s. Thus, we see that the transaction is running 2Mb/s less than we would expect. There can be a number of reasons for this and these can be seen readily using the bus utilization view. In this view, we can see that the transfer has a couple of time periods when no activity was performed on the bus. We would expect the host to use every opportunity to transfer the data; therefore periods with 10ms of no activity when most frames exceed 90% utilization CATC 4 of 8 02/04

suggest the host has a problem. The exact nature of the problem could be that a buffer has been emptied and the delay is the wait for more data to be fetched, it could be the host USB stack scheduling has a problem (more likely in this case since the periods are not symmetric). The localisation of the problem is much easier to see in the Bus view since the lack of information is the problem, whereas the main view shows when there IS information. CATC 5 of 8 02/04

Customising Graphs You can customise graphs to display the information in a number of ways. You may either right click an existing graph and select properties to change the style of the graph. Or you can select the new graph option from the graph pull-down. Changing properties allows you to control color and style of the graph. It also allows you to filter parts of the bus traffic allowing you to focus on the traffic of interest to you. A technique, which may be employed to examine the operation of the host scheduling system, is to split the graphs out by address and/or endpoint. The first example here shows an expansion of the Bus usage by device. CATC 6 of 8 02/04

The top graph shows all devices individually color-coded on one graph. Each of the graphs below is a user-defined graph, based on a specific device address. This can give a clear indication of the times when the host schedules communication with each device. Another examination of host scheduling can be seen in this bus utilization graph: In this case the host schedules only one transfer per frame to any device (the short blue lines are the SOF packet the color coding is the same as the main display). This may indicate a low-powered host implementation or it could be the root of a design in-efficiency. A similar trace based on a different host implementation yields a bus utilization graph below. Here, we see multiple transfers to devices within the frame. CATC 7 of 8 02/04

There are 3 starts of frames shown. In the first frame, there is a single transfer to endpoint #1, the second and third frame display multiple bulk transfers to endpoint#2 (although we also note that there is some delay after the SOF before the first transfer) By using the multiple-graph approach the combined graph can be used as a reference for all traffic while the focused graphs allow inspection of detail (and use of a separate scale) for a specific address or endpoint. Summary The bus utilization view is a valuable addition to the Chronological packet view and the Logical Transfer view. The bus utilization graph allows inspection of time related issues in an intuitive analog interface, which compliments the digital precision of the packet display. CATC 8 of 8 02/04