USB3.0 bandwidth limitation problem

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

cross mob
rossihwang
Level 3
Level 3
5 questions asked 50 sign-ins 25 replies posted
  • Hardware

    • host: PC, ubuntu 20.04

    • slave: sg130gs(1280*720, YUYV, 30fps) + fpga(spartan 6) + cyusb3014, isochronous mode

  • Problem

    • Can't open the third camera with error(No space left). while currently the bandwidth of one camera is about 8 * 2 * 1024 * (1000000 / 125) / (1024**2) = 125Mbps(bInterval=1, bMaxBurst=7, Mult=1), for two is 250Mbps, much less than 90%(from USB3.0 spec) of the 5000Mbps, why can't it allocate bandwidth for the third camera?

Thanks

0 Likes
1 Solution

Hello,

Thank you for the updates

The problem seems to be same as mentioned in this thread  Solved: ubuntu host + cypress Isochronous mode can't open... - Infineon Developer Community  

Regards,
Rashi

View solution in original post

0 Likes
7 Replies
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello

Please refer to a similar thread  Solved: ubuntu host + cypress Isochronous mode can't open... - Cypress Developer Community . 

Please note that the periodic endpoints (like interrupt/isochronous) can be allocated up to 80% of the total available bandwidth for SuperSpeed

If the host controller cannot allocate the bandwidth , the no space left error is seen.  

Regards,
Rashi
0 Likes

Thanks, Rashi

  • I've read this thread
  • Should be up to 90% for super speed devicerossihwang_0-1634087671132.png

     

    As I computed above, current bandwidth is far from this limitation
  • Do you mean that it may be caused by the limitations of the host controller or driver? 
0 Likes

Hello,

Do you mean that it may be caused by the limitations of the host controller or driver?

>> In the thread we could conclude that the problem was due to the host controller limitations. 

In your application to confirm this, we need to check the behavior when video resolution is reduced or streaming through bulk endpoint is done. Can you please let me know if the issue with three cameras is seen when streaming through bulk endpoint is done?

Also, the endpoint bandwidth of one camera device is 16KB/125 us ~ 131 MBps (mega bytes per second). Is my understanding correct?

5Gbps (640 MBps) is the theoretical bandwidth. Also, the video bandwidth is ~52 MBps (1280*720*2*30) , so you can try reducing the endpoint bandwidth.

Regards,
Rashi
0 Likes

- In bulk mode, three cameras work fine

-  Yes, you're right. In this setting, the bandwidth is around 125MBps. There is still much space for three cameras 3*125 < 625 * 0.9

- I've tried to further reduce bMaxBurst or Mult, but the camera would not work. and the dmesg outputs something like "Dropping ......"

Thanks

0 Likes

Hello,

Please find my comments below:

- In bulk mode, three cameras work fine

>> As  in the bulk mode all the three cameras work fine, it seems that the problem is same as the one in the thread shared earlier.

 Yes, you're right. In this setting, the bandwidth is around 125MBps. There is still much space for three cameras 3*125 < 625 * 0.9

>> Please note that 5Gbps (640 MBps) is the theoretical bandwidth for USB 3.0 and not the practical bandwidth. 

I've tried to further reduce bMaxBurst or Mult, but the camera would not work. and the dmesg outputs something like "Dropping ......"

>> Can you please let me know if there are commit buffer failures in the UART debug prints from FX3?

Regards,
Rashi
0 Likes

Thanks Rashi, currently this is not the obstacle for my application, I just curious about it, you may close this thread.

For your third question, If I reduce the bMaxBurst to 6 and Mult is still 1, the debug output is as below

 

Entering USB Suspend Mode
Leaving Suspend Mode
Application Started
DMA Reset Event: Commit buffer failure
Application Stopped
Application Started
DMA Reset Event: Commit buffer failure
Application Stopped
Application Started
DMA Reset Event: Commit buffer failure
Application Stopped
Application Started
DMA Reset Event: Commit buffer failure
Application Stopped

*** repeat ***

 

0 Likes

Hello,

Thank you for the updates

The problem seems to be same as mentioned in this thread  Solved: ubuntu host + cypress Isochronous mode can't open... - Infineon Developer Community  

Regards,
Rashi
0 Likes