Cypress Perform

Home > Design Support > Cypress Developer CommunityTM > Cypress Forums > USB Controllers

Bookmark and Share
Cypress Developer CommunityTM
Forums | Videos | Blogs | Training | Rewards Program | Community Components



FX3 USB2.0 ISOC IN Endpoint behavior with mult settings
Moderator:
RSKV

Post Reply
Follow this topic



FX3 USB2.0 ISOC IN Endpoint behavior with mult settings

shah posted on 28 Sep 2012 4:32 PM PST
Cypress Employee
9 Forum Posts

FX3 Isochronous endpoint over USB2.0 sends out-of-sequence data markers when mult setting is higher than the total amount of data phases in a given micro frame. Three 1K transfers are possible in one isochronous micro frame. To achieve this, FX3 endpoint configuraiton needs to be set such that isomult = 3. In this mode, FX3 expects atleast 2049 bytes ready in a buffer to be sent out over USB. So, FX3 sends data marker DATA2 in the first data phase, data marker DATA1 in the second data phase and data marker DATA0 in the third data phase.

In the condition when there is less than 2049 bytes available, FX3 will only have two data phases. Here, according to the USB 2.0 protocol, the first data phase should have DATA1 as data marker and DATA0 as data marker for the second phase. If FX3 endpoint isomult setting is 3, FX3 sends out DATA2 as data marker for first phase and DATA1 as data marker for second phase. This causes the host to drop all data during this micro frame. Similar issue will also occur when isomult is set to 2 and total data available in buffers to send over USB IN transaction is less than 1025 bytes.

This problem does not exist on USB3.0 as a different mechanism is used to mark data phases.

Workaround:

1. Trivial solution is to always make sure that there are more than 2049 bytes available in the buffer committed to USB when using ISOC endpoints over USB2.0.

2. In case of manual channels, one can check the amount of bytes available in the buffer before committing to USB and change the mult setting accordingly. Remember the mult setting change would reflect in all current and later transactions.







ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". CYPRESS SEMICONDUCTOR AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THESE MATERIALS FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THESE MATERIALS, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY CYPRESS SEMICONDUCTOR. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM CYPRESS SEMICONDUCTOR.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms and Conditions of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms and Conditions of this site. Cypress Semiconductor and its suppliers reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Spec No: None; Sunset Owner: GRAA; Secondary Owner: RAIK; Sunset Date: 01/01/20