THIS SPEC IS OBSOLETE

Similar documents
HX2VL Development Kit Guide. Doc. # Rev. **

Cypress HX2VL Configuration Utility Blaster User Guide

HX2VL Development Kit Guide. Doc. # Rev. *A

Cypress HX2VL Configuration Utility Blaster User Guide

Use the Status Register when the firmware needs to query the state of internal digital signals.

THIS SPEC IS OBSOLETE

Use the Status Register when the firmware needs to query the state of internal digital signals.

This optional pin is present if the Mode parameter is set to SyncMode or PulseMode. Otherwise, the clock input does not show.

Writing to Internal Flash in PSoC 3 and PSoC 5

Voltage Reference (Vref) Features. General Description. Input/Output Connections. When to Use a Vref Voltage references and supplies

Filter_ADC_VDAC_poll Example Project Features. General Description. Development Kit Configuration

THIS SPEC IS OBSOLETE

GPIF II Designer - Quick Start Guide

CE56273 Associated Part Families: CY8C38xx/CY8C55xx Software: PSoC Creator Related Hardware: CY8CKIT-001 Author: Anu M D

This optional pin is present if the Mode parameter is set to SyncMode or PulseMode. Otherwise, the clock input does not show.

CE PSoC 4: Time-Stamped ADC Data Transfer Using DMA

8 to 1 Analog Multiplexer Datasheet AMux8 V 1.1. Features and Overview

FTG Programming Kit CY3670. Spec. # Rev. *C

Reviving Bit-slice Technology in a Programmable Fashion

CY3660-enCoRe V and encore V LV DVK Kit Guide

Next-Generation Hot-Swap Controllers

4 to 1 Analog Multiplexer Data Sheet

For one or more fully configured, functional example projects that use this user module go to

AN EZ-USB FX3 I 2 C Boot Option. Application Note Abstract. Introduction. FX3 Boot Options

Clock Programming Kit

Preliminary. Gas Sensor Analog Front End Datasheet GasSensorAFE V Features and Overview. This datasheet contains Preliminary information.

CYClockMaker Programming Kit Guide CY3675. Doc. # Rev. **

CYClockMaker Programming Kit Guide CY3675. Doc. # Rev. *C

PSoC 1 I 2 C Bootloader

This Application Note demonstrates an SPI-LIN slave bridge using a PSoC device. Demonstration projects are included.

LPF (Optional) CY8C24x93. Without LPF and ISR to 3* With LPF only** to 3* With ISR only to 3*

CY7C603xx CYWUSB

Programmable Threshold Comparator Data Sheet

AN SIO Tips and Tricks in PSoC 3 / PSoC 5. Application Note Abstract. Introduction

AN1090. NoBL : The Fast SRAM Architecture. Introduction. NoBL SRAM Description. Abstract. NoBL SRAM Operation

Supported Devices: CY8C28x13, CY8C28x33, CY8C28x43, CY8C28x45, CY8C28x52, CY8C21x45, CY8C22x45, CY8C24x93. CY8C24x

Programmer User Guide

FM3 MB9B100A/300A/400A/500A Series Inverter Solution GUI User Guide

Shadow Registers Datasheet ShadowRegs V 1.1. Features and Overview

144-Mbit QDR -II SRAM 2-Word Burst Architecture

The following table lists user modules used in this code example and the hardware resources occupied by each user module.

Comparator (Comp) Features. General Description. When to use a Comparator 1.60

16-Bit Hardware Density Modulated PWM Data Sheet

Libraries Guide. Arithmetic Libraries User Guide. Document #: Rev. *A

Use the IDAC8 when a fixed or programmable current source is required in an application.

PSoC 4 Low Power Comparator (LPComp) Features. General Description. When to Use a LPComp 2.0. Low input offset. User controlled offset calibration

PSoC Programmer 3.12 Release Notes

PSoC Creator Component Datasheet

Programmable Gain Amplifier Datasheet PGA V 3.2. Features and Overview

DMX512 Receiver Datasheet DMX512Rx V 1.0. Features and Overview

Incremental ADC Data Sheet

PSoC Designer Release Notes

12-Mbit (512 K 24) Static RAM

4K x 8 Dual-Port Static RAM and 4K x 8 Dual-Port SRAM with Semaphores

EZ I 2 C Slave. Features. General Description. When to use a EZ I 2 C Slave 1.50

CapSense I 2 C/SPI Timer Flash RAM

The color of the Clock component waveform symbol will change based on the clock's domain (as shown in the DWR Clock Editor), as follows:

Digital Logic Gates. Features. General Description. Input/Output Connections. When to Use a Logic Gate. Input 1. Input 2. Inputs 3-8 * 1.

24-Bit Pseudo Random Sequence Generator Data Sheet

THIS SPEC IS OBSOLETE

Use the Status Register when the firmware needs to query the state of internal digital signals.

THIS SPEC IS OBSOLETE

Release Notes SRN065 PSoC Programmer Version Release Date: November 9, 2009

CE58957 demonstrates how to implement the fade and toggle feature to the backlight LEDs of CapSense buttons.

Digital Multiplexer and Demultiplexer. Features. General Description. Input/Output Connections. When to Use a Multiplexer. Multiplexer 1.

This input determines the next value of the output. The output does not change until the next rising edge of the clock.

H O S T. FX2 SX2 Back - to - Back Setup. Project Objective. Overview

EZ-USB FX3 Development Kit Guide

For More Information Please contact your local sales office for additional information about Cypress products and solutions.

PSoC Programmer Release Notes

This optional pin is present if the Mode parameter is set to SyncMode or PulseMode. Otherwise, the clock input does not show.

THIS SPEC IS OBSOLETE

Bootloader project - project with Bootloader and Communication components

Use the Status Register when the firmware needs to query the state of internal digital signals.

Use a DieTemp component when you want to measure the die temperature of a device.

This section describes the various input and output connections for the SysInt Component.

W H I T E P A P E R. Introduction. Devices. Energy Comparison of Cypress F-RAM and EEPROM

CE CY8CKIT-042-BLE F-RAM Data Logger

Setting Oscillation Stabilization Wait Time of the main clock (CLKMO) and sub clock (CLKSO)

W H I T E P A P E R. Timing Uncertainty in High Performance Clock Distribution. Introduction

Cypress BLE-Beacon ios App User Guide

The AMuxSeq is capable of having between 2 and 32 analog inputs. The paired inputs are present when the MuxType parameter is set to "Differential.

Supported devices: CY8C29x66, CY8C27x43, CY8C28xxx, CY8C24x23, CY8C24x33, CY8C21x23, CY8C21x34, CY8C21x45, CY8C22x45, CY8C24x94

PSoC Blocks. CY8C20xx6/6A/6AS/6H/6L, CY8C20xx7/7S, CY7C643xx, CY7C604xx, CYONS2xxx, CYONSxNxxxx, CYRF89x35, CY8C20065, CY8C24x93, CY7C69xxx

Automatic reload of the period to the count register on terminal count

1-Mbit (64K x 16) Static RAM

One 32-bit counter that can be free running or generate periodic interrupts

PSoC Programmer Release Notes

This section describes the various input and output connections for the Voltage Fault Detector.

EZ-PD Analyzer Utility User Guide

EZ-USB NX2LP USB 2.0 NAND Flash Controller

Capable of adjusting detection timings for start bit and data bit

GPIF II Designer 1.0. Doc. No Rev. **

Multifunction Serial Interface (PDL_MFS) Features. General Description. When to Use a PDL_MFS Component. Quick Start 1.0

Supports one or two address decoding with independent memory buffers. Memory buffers provide configurable Read/Write and Read Only regions

4-Mbit (256K x 16) Static RAM

AN PSoC 3 and PSoC 5 SFF-8485 Serial GPIO (SGPIO) Initiator Interface. Application Note Abstract. Introduction

PTG Programming Kit CY3672. Features. Functional Description. CY3672-PRG Kit Contents. Set Up

CY8C29/27/24/23/21xxx, CY8CLED02/04/08/16, CY8CLED0xD, CY8CLED0xG, CY8C28x45, CY8CPLC20, CY8CLED16P01, CY8C28xxx. Main UM

THIS SPEC IS OBSOLETE

Transcription:

THIS SPEC IS OBSOLETE Spec Number: 001-65252 Spec Title: AN1071 Single Versus Multiple Transaction Translator Sunset Owner: RSKV Replaced By: None

Single Versus Multiple Transaction Translator Application Note Abstract AN1071 Associated Project: No Associated Part Family: CY7C65620/30, CY7C65640/40A/40B, CY7C65632/42 Software Version: None Associated Application Notes: None High-speed USB 2.0 hubs have a component to provide communication to full-speed and low-speed devices when the hub is operating at high-speed. This component is called a transaction translator (TT). The USB 2.0 specification allows two different implementations: one TT for all downstream ports (TT/hub) or one TT for each downstream port (TT/port). The TetraHub (CY7C65640/40A/40B), which is a four-port high-speed hub, provides you with the option of using this part in single TT (TT/Hub) or multiple TT (TT/Port) mode. AN1071 presents the differences and advantages of using multiple TT high-speed hubs versus a single TT high-speed hub. Introduction A transaction translator is an important component of a highspeed hub device which, in essence, provides a communication link between the upstream-facing port of the hub and a downstream-facing port when they are operating at different data transfer rates. This is the case when the hub is connected to a high-speed host with full-speed or low-speed device(s) plugged into the ports facing downstream. downstream-facing ports. This causes an incompatibility in the rate of data transfers between the upstream and the downstream ports. A special mechanism (logic) is needed to convert the upstream data transfer speed to the downstream data rate for the device and the host to be in conformity with the data transfer rate. This function is performed by the transaction translator logic in the hub. Figure 1 shows the place of the transaction translator in the hub architecture. Figure 1. Hub Architecture Displaying the Four TTs The USB 2.0 specification allows a hub to be configured to have a single TT for all the downstream ports or one TT for each of the downstream ports. The TetraHub implements both these configurations. To understand the technical trade-offs of these two implementations, a knowledge of the process involved in host-initiated transfers to/from a full- or low-speed device is necessary. This application note provides this information briefly, followed by a discussion on the TT and its functionality in the hub architecture. This is followed by a section discussing how the operating system recognizes the capabilities and limitations of the hub. The application note ends with a discussion and illustration of cases of the hub functioning in multiple TT and single TT modes. Note: In this application note, Tetrahub is used to refer to CY7C65640/40A/40B/42 except where noted. Transaction Translator The transaction translator is the logic component in the hub that is responsible for isolating the high-speed signaling environment from the full- or low-speed signaling environment. This is especially important when the hub is operating at high-speed when connected to a high-speed host with full-speed or low-speed devices connected to the The TT participates in the high-speed split transactions on the high-speed bus through the upstream port and issues full- and low-speed transactions on its downstream facing ports. Details on how the split transactions are handled by the high-speed handler for the upstream port. The full- and lowspeed handlers for the downstream ports are not discussed December 3, 2013 Document No. 001-65252 Rev. *B 1

in this application note. This mechanism is covered in detail in the USB specification 2.0. However, this application note covers the functionality and performance of the hub related to having a single TT versus a multiple TT operating mode with illustrations. Enumeration of the USB 2.0 Hubs When a USB 2.0 hub is connected to a high-speed capable port of the host, the host determines the TT implementation of the hub as a part of the enumeration process of the device. This information is specified in the bdeviceprotocol field of the device descriptor. A hub with a single TT must specify a value of one while a hub with multiple TTs must specify a value of two. Because all USB 2.0 hubs must support the TT/hub implementation, hubs with multiple TTs have a default interface of TT/hub operation and an alternate setting for TT/port operation. The binterfaceprotocol field of the interface descriptor for TT/hub operation must be set to one. The binterfaceprotocol field of the interface descriptor for TT/port operation must be set to two. This is summarized in the following table. Descriptor Field Name Single TT (TT/Hub) bdeviceprotocol 1 2 binterfaceprotocol 1 2 Multiple TT (TT/Port) See section 11.23.1 in the USB 2.0 specification for more information on the hub device descriptor. The host sends a split transaction token specifying the TT through the hub address and port number. If the hub is configured to operate in TT/hub mode, the port number is ignored, and the transaction will be executed on all full- and low-speed enabled ports. When the hub is operating at high-speed and is configured to TT/Hub mode, all of the full-speed devices plugged into the downstream facing port of the hub share the same 12-Mbps pipe. Therefore, when three full-speed USB 1.1 devices are attached to a single-tt hub, each device shares a single 12-Mbps pipe created by the single TT as shown in Figure 2. If the hub is configured to operate in TT/port mode, then the transaction is executed on only the port associated with the TT. Therefore, the TT/port implementation allows multiple transactions to be executed simultaneously, thus improving performance. Each TT is an independent entity. Just as TTs in different hubs may operate in parallel, so may TTs in the same hub. The host may overlap the operation of TTs so that a system may achieve the bandwidth equivalent of having an independent USB 1.1 host controllers in the system. Each TT adds approximately the equivalent of 12 Mbps of USB 1.1 bandwidth. Figure 3 shows the operation of the transaction translators when the hub is configured in multiple TT mode. Figure 2. Bandwidth Shared among the Full-Speed Devices in Single TT Mode of Hub If the hub has the TT/Port implementation and the host has driver support (hub driver) for TT/port operation, then the hub driver may select the hub s alternate setting numbered one, configuring the hub to operate in TT/port mode and enabling all TTs. Otherwise, the hub operates in the default TT/hub mode and only one TT is enabled. When a device is attached to a high-speed hub, the hub s notification pipe returns a value corresponding to the port to which the device is connected. The host resets the port, enabling access to that device. If the device is a full- or lowspeed device, the host must issue all transactions through the TT associated to the device using the split transaction protocol. Transaction Translator Functionality Being a high-speed hub device, the TetraHub uses the split transaction tokens mechanism to support transfers between the high-speed host controller and the full- or low-speed devices connected to the downstream-facing ports. This high-speed split transaction is used to initiate a full- or lowspeed transaction through the hub and some full-/low-speed device endpoint. The high-speed split transaction also allows the completion status of the full- or low-speed transaction to be retrieved from the hub. This approach allows the host controller to start a full- or low-speed transaction through a high-speed transaction and then continue with other high-speed transactions without having to wait for the full-/low-speed transaction to proceed/complete at the slower speed. This entire process is covered in the USB 2.0 specification. Refer to chapter 11 for more details about the state machines and the definitions of split transactions. Figure 3. Designated Pipe for Each Full-Speed Device in Multiple TT Mode of Hub December 3, 2013 Document No. 001-65252 Rev. *B 2

Illustrations This section provides clarification of the performance of the hub in TT/Hub versus the TT/Port with some case illustrations. The first two cases show the TetraHub functionality in single TT mode, while the last two involve the TetraHub functionality in multiple TT mode. The sets of examples presented illustrate how the TT/port architecture provides superior performance for full-/low-speed transfers as it enables simultaneous transfers to occur on each downstream port. IN Transfer in TT/Hub Mode In Figure 5, the TT is performing an IN transfer from a fullspeed device plugged into one of the downstream ports to the host. Figure 5. TT/Hub IN Transfer Single TT Mode (TT/Hub) In the single TT mode, all IN/OUT tokens are broadcast over all the enabled ports facing downstream. A single TT is tasked with servicing all the devices connected to the downstream facing ports. This reduces the efficiency when all the four ports are active (a full- or low-speed device connected to each of the downstream facing port). The following examples display how the TT handles an OUT transfer and IN transfer between a host and a full-speed device plugged into the hub. OUT Transfer in TT/Hub Mode Figure 4 displays a hub performing a full-speed OUT transfer from the host to a full-speed device plugged in one of the downstream-facing ports. The TT broadcasts the OUT token followed by the data and awaits a response from one of its downstream ports. Since the OUT transfer was designated for an endpoint on a device that is connected to port 1, the ACK token is returned on that connection while all other connections remain idle. There is no response from the rest of the enabled ports. Figure 4. TT/Hub OUT Transfer The IN token is broadcast on all the downstream ports. Since the IN transfer was designated for a particular endpoint on a device that is connected to port 3, the data is returned on that connection while all other connections remain idle. Note that although not shown, the OUT token for the status stage would be broadcast on all downstream ports, to which only the Port 3 would respond. Multiple TT Mode (TT/Port) In the Multiple TT mode, where each port has a dedicated transaction translator, an IN/OUT token is sent to only one specific port by its dedicated transaction translator. This improves performance as compared to the single TT mode, even when all the four ports are active (a full- or low-speed device connected to each of the downstream facing port). The following examples display how the TT handles an OUT transfer and IN transfer between a host and a full speed device plugged into the hub when the hub is operating in TT/Port mode. December 3, 2013 Document No. 001-65252 Rev. *B 3

OUT Transfer in TT/Port Mode In Figure 6, the TTs are all performing OUT transfers simultaneously. Each TT has a unique set of buffers from which the data is sent only to the corresponding port connection. Figure 6. TT/Port OUT Transfer Summary This application note illustrates the advantages of operating a high-speed hub in multiple transaction translator mode versus a single transaction translator mode. The maximum possible bandwidth a hub can provide for classic-speed devices is the number of enabled TTs times 12 Mbps. Therefore, a hub with a single TT can only provide a maximum of 12 Mbps. The illustrations presented in this application note show that a four-port hub with a TT/port implementation can support as much USB 1.1 bandwidth as supported by four separate hubs with single TT implementations. Developers of hubs should consider their application before choosing which TT architecture to use. IN Transfer in TT/Port Mode In the example shown in Figure 7, the TTs are all performing IN transfers simultaneously. Each TT has a unique set of buffers in which one buffer per TT stores the data read in from the corresponding port connection. Each TT is operating independently. Each of these TTs functions in parallel, improving the efficiency and performance. Figure 7. TT/Port IN Transfer When implementing a system, consider the types of devices and the speeds they will run at. If downstream devices are either all high-speed or just a single full-/low-speed device a lower cost single TT hub can be considered. If the application is multiple full-/low-speed devices with a need for bandwidth a multi-tt hub should be used. In the case of consumers connecting full-/low- speed devices with USB 2.0 hubs that use single-tt technology, they are bound to face performance issues when multiple devices are used. Therefore, when designing for the general use only a multi- TT hub implementation will give the throughput benefit that USB 2.0 offers for their classic speed devices. Currently, Cypress offers the TetraHub (CY7C65640A) which can be configured in either single TT mode or the multiple TT mode. Cypress also offers the low power TetraHub (CY7C65642) optimized for low-cost designs. Contact Cypress s technical support (www.cypress.com/support) for more information on this product. December 3, 2013 Document No. 001-65252 Rev. *B 4

Document History Document Title: AN1071 Single Versus Multiple Transaction Translator Document Number: 001-65252 Revision ECN Orig. of Change Submission Date Description of Change ** 3095718 NMMA 11/26/2010 Created spec number and updated template for an old application note that was there on the website. *A 3229000 AASI 04/15/2011 Added information on HX2VL. *B 4209084 RSKV 12/03/2013 Obsolete document. Completing Sunset Review. In March of 2007, Cypress recataloged all of its Application Notes using a new documentation number and revision code. This new documentation number and revision code (001-xxxxx, beginning with rev. **), located in the footer of the document, will be used in all subsequent revisions TetraHub is a trademark of Cypress Semiconductor Corp. All other trademarks or registered trademarks referenced herein are the property of their respective owners. Cypress Semiconductor 198 Champion Court San Jose, CA 95134-1709 Phone: 408-943-2600 Fax: 408-943-4730 http://www.cypress.com/ Cypress Semiconductor Corporation, 2010-2013. The information contained herein is subject to change without notice. Cypress Semiconductor Corporation assumes no responsibility for the use of any circuitry other than circuitry embodied in a Cypress product. Nor does it convey or imply any license under patent or other rights. Cypress products are not warranted nor intended to be used for medical, life support, life saving, critical control or safety applications, unless pursuant to an express written agreement with Cypress. Furthermore, Cypress does not authorize its products for use as critical components in life-support systems where a malfunction or failure may reasonably be expected to result in significant injury to the user. The inclusion of Cypress products in life-support systems application implies that the manufacturer assumes all risk of such use and in doing so indemnifies Cypress against all charges. This Source Code (software and/or firmware) is owned by Cypress Semiconductor Corporation (Cypress) and is protected by and subject to worldwide patent protection (United States and foreign), United States copyright laws and international treaty provisions. Cypress hereby grants to licensee a personal, non-exclusive, non-transferable license to copy, use, modify, create derivative works of, and compile the Cypress Source Code and derivative works for the sole purpose of creating custom software and or firmware in support of licensee product to be used only in conjunction with a Cypress integrated circuit as specified in the applicable agreement. Any reproduction, modification, translation, compilation, or representation of this Source Code except as specified above is prohibited without the express written permission of Cypress. Disclaimer: CYPRESS MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Cypress reserves the right to make changes without further notice to the materials described herein. Cypress does not assume any liability arising out of the application or use of any product or circuit described herein. Cypress does not authorize its products for use as critical components in life-support systems where a malfunction or failure may reasonably be expected to result in significant injury to the user. The inclusion of Cypress product in a life-support systems application implies that the manufacturer assumes all risk of such use and in doing so indemnifies Cypress against all charges. Use may be limited by and subject to the applicable Cypress software license agreement. December 3, 2013 Document No. 001-65252 Rev. *B 5