Cypress Perform

Home > Design Support > Cypress Developer CommunityTM > Cypress Forums > USB Controllers > USB 2.0 discussion:Data communication via CY7C68001

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



USB 2.0 discussion:Data communication via CY7C68001
Moderator:
RSKV

Post Reply
Follow this topic



USB 2.0 discussion:Data communication via CY7C68001

wqyhandsome posted on 22 Oct 2009 1:13 AM PST

1 Forum Post
In our application design, we meet some difficulties about the CY7C68001 and hope to get your suggestions.
Our application:
1. Use the USB 2.0 to deal with the CT graphic data communication between the host (PC) and the external master (DSP board: for data computing). We use the control and the bulk way for the communication. And the key issue is about the bulk way when using the CY7C68001.
2. Data stream consideration:
Step (1).get the graphic data (6300*6400, i.e, large number) at one time from the PC host and transmit to DSP board via USB 2.0 interface;
Step (2).the DSP board begins the step of data computing when receive the first lot of 6400 number, at this time it needs the host (PC) to pause the data transferring and wait for the data computing from external master (in DSP board);
Step (3).when the data computing (for the first lot 6400) has been finished and it will transmit the computed data to the PC host and ask the host (PC) to start the graphic data transferring again;
Step (4).the PC host begins the graphic data transferring (the second lot, also 6400); the same process begins (loop: step(2)-->step(3)-->step(2)-->step(3)-->step(2)...)the whole process will be in the end when the PC transfer the whole number.
3. Issues we hope to get suggestions
It locates in the bulk way when the PC host pause the process (transfer the data to the external master, i.e. the DSP board)
My way: every time, I send a token packet (e.g. all number is 4) via EP2, EP4 from the PC host to the external mater and then decide which steps to go: (1) continues to transmit data if receiving the same data as the token packet; (2) PC host pause the transmit when it receive the different data in a packet via the EP6, and the EP8
Also, when the DSP board wants begins the step (data computing), I let it transmit a token packet (e.g. all number is 4) to host via EP6 and the EP8. Sure it get the PC token data (a packet) firstly.
4. My own question:
Yes, the whole process can run smoothly at the beginning and I can get the correct computed data in the PC host while the process suspending. The symptom is: the PC transmits the error data or it suspends the process. I have studied the CY7C68001 data sheet these days. If I know correctly, the PC host will continues to transmit the same data if it cannot finish it successfully in the last time. And I am little confused about my data stream design. The PC can only play the role: (start the data transmit and pause data transferring). In normal situation, how to deal with my application?

P.S. I see the saying in the forum:Suspend condition cannot be sent to a USB device using EZ-USB Control panel/Cyconsole/Control center. It is initiated by the host when it is going into power saving modes or standby. Can I think the data stream is not proper in our application?

Thanks for your time and consideration.
Best Regards



Re: USB 2.0 discussion:Data communication via CY7C68001

aasi posted on 27 Oct 2009 11:49 PM PST
Cypress Employee
1090 Forum Posts
Just the short form of my understanding. You send data to the device, devices processes it and sends it back to host. When you say 6400 bytes, does your DSP have buffer in it because SX2 does not have this big a buffer and so will accept this 6400 with delay after 1024 or 2048 bytes based on the endpoint configuration used unless there is enough buffer in DSP to avoid this situation.
If my understanding is right you want to send 6400 bytes chunks of data with delay between each chunk... you can use the Thread.Sleep mechanism to introduce this delay or use the event of device returning processed data to trigger the next 6400 bytes to get this working na???




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: KXP; Secondary Owner: VWA; Sunset Date: 01/01/20