FX3 multiple descriptors

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
EliW
Level 3
Level 3
25 replies posted 25 sign-ins 10 replies posted

Hi,

I looked at this topic  -https://community.cypress.com/t5/USB-Superspeed-Peripherals/FX3-multiple-descriptors/m-p/81912

and I’m trying to do it also but I’m having trouble with opening the socket,

 

Is there any chance that you have example of multi endpoint? Or can guide me how to open socket for each of the endpoint?

I want to create FX3 with

  • ISOC in and out endpoint
  • Interrupt in and out endpoint
  • Bulk in and out endpoint

Thanks,

EliW.

 

https://community.cypress.com/t5/USB-Superspeed-Peripherals/FX3-multiple-descriptors/m-p/81912

0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.
AliAsgar
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 750 replies posted

Hi EliW,

No, it is not FX3 limitation.
Please find the attached firmware project folder. ISOC IN endpoints gives speed above 100KBps when there are no bulk transfers happening simultaneously.

Best Regards
AliAsgar

View solution in original post

0 Likes
11 Replies
AliAsgar
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 750 replies posted

Hi EliW,

Could you share your firmware project folder as well as the UART Debug prints with us to try to reproduce the issue at our end?

Best Regards,
AliAsgar

0 Likes
lock attach
Attachments are accessible only for community members.
EliW
Level 3
Level 3
25 replies posted 25 sign-ins 10 replies posted

I have upload the project folder, but I don't have UART Debug prints.

0x82 in endpoint working,

but 0x83 in endpoint dont work

Thanks for your help.

0 Likes
AliAsgar
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 750 replies posted

Hi EliW,

From your firmware source code, I noticed that there are 4 endpoints, 
2 Isoc IN and 2 Isoc OUT.

Considering these, there has to 4 channels, 2 MANUAL IN and 2 MANUAL OUT. But in your case you are using only 1 MANUAL IN and 1 MANUAL out channels (channel handle is same for two channels). 

Kindly make distinct four channels for the four endpoints and let us know if you face the issue.

Best Regards,
AliAsgar

0 Likes
EliW
Level 3
Level 3
25 replies posted 25 sign-ins 10 replies posted

Hi,

This is exactly where I'm having a hard time,

i dont know how to create four channels for the four endpoints.

can you halp me please? Thanks

EliW.

0 Likes
AliAsgar
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 750 replies posted

Hi EliW,

We will surely be able to help you.
May I know how is the data being expected to move among these 4 endpoints?
What is the exact application? What is the need for 2 Isoc IN and 2 Isoc OUT endpoints?

Best Regards,
AliAsgar

Best Regards,
AliAsgar

0 Likes
lock attach
Attachments are accessible only for community members.
EliW
Level 3
Level 3
25 replies posted 25 sign-ins 10 replies posted

Hi, 

Im using C++ Streamer App for testing.

What I really need, is the ability to test

  • ISOC in and out endpoint
  • Interrupt in and out endpoint
  • Bulk in and out endpoint

From one FX3 Device, so I need firmware with all the end point configured on it,

With the ability to change Burst size, Pkt Size, Pkt per Burst size (with respect to usb spec/device/host capability).

Do the FX3 have the capability to send and receive data in parallel?

For instance:

 

Connecting ONE FX3 with ISOC,Interrupt,Bulk endpoint to the PC ,

 

Opening C++ Streamer 3 times on the same pc with the FX3,

And trying to traffic to all endpoint simultaneously.

I'm using it to test my host&Hub with Multi Endpoint Traffic.

Can you help me with that kind of version?

(I included the C++ streamer that I'm using)

 

 

Thanks for your help,

EliW.

 

0 Likes
lock attach
Attachments are accessible only for community members.
AliAsgar
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 750 replies posted

Hi EliW,

Please find attached a firmware project where all the three endpoints are included, just as per your application. You can open streamer application three times, and run the transfers from these endpoints paralelly.

Best Regards,
AliAsgar

EliW
Level 3
Level 3
25 replies posted 25 sign-ins 10 replies posted

Hi,

 

First of all thanks for the support!!!

 

I got the firmware that you sent on the FX3, I can see the 6 endpoint(2 from each Type),

I tested theme and they all work, I have a problem only with the ISOC in endpoint, from some reason it only get to 100 KB/s

 

I'm using this DriverVer=11/08/2017,1.2.3.20,

Can you test the ISOC in endpoint on your side to if its reproduce at your end?

 

Again, thanks for the support!

 

EliW.

0 Likes
AliAsgar
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 750 replies posted

Hi EliW,

Yes, even for us the ISOC in endpoint gets to 100KB/s.
The firmware is designed to check the feasibility of simultaneous data transfers on different endpoints of FX3, without much regard to the performance.

Best Regards,
AliAsgar

0 Likes
EliW
Level 3
Level 3
25 replies posted 25 sign-ins 10 replies posted

Hi,

 

Does it FX3 limitation problem? Because I'm testing it in In different situations and one of them is ISOC in only,

I'll be glad if I could reach faster speed then 100KB/s while operating only in ISOC endpoint in.(while the ether endpoint is there)

 

Thanks,

EliW.

0 Likes
lock attach
Attachments are accessible only for community members.
AliAsgar
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 750 replies posted

Hi EliW,

No, it is not FX3 limitation.
Please find the attached firmware project folder. ISOC IN endpoints gives speed above 100KBps when there are no bulk transfers happening simultaneously.

Best Regards
AliAsgar

0 Likes