the speed of PC processing UVC data is too low???

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

cross mob
Anonymous
Not applicable

hello!everybody !

   

 I successfully finished  transfering YUV -format data in UVC BULK mode on cypress FX3,I tested the data transfering speed by printing the DMA buf counts per second ,and it almostly  reach to 200MB/S more.

   

args:

   

 max burst size  = 16

   

DMA BUF size = 16*1024

   

DMA BUF counts = 10

   

however,the frame rate is far away from the theoretical value,I watched the frame rate using debut capture,and framerate is at most up to 10fps when the resolution is 2592x1944, namely,the actual speed at PC is less than 100MB/S.  then I changed the args to test,and when DMA BUF size = 6*1024,the speed is about 100MB/S,and framerate can be up to 10fps when the resolution is 2592x1944.  even when the DMA BUF size = 32*1024, DMA BUF counts = 5 ,framerate is still   10fps when the resolution is 2592x1944.  but  the  data transfering speed can be up to 250MB/S .

   

so I  guess that the speed of PC processing UVC data is too low!   Maybe it's restricted by UVC driver or decoder or something else!

   

at last, I wanna improve the speed by using BULK stream protocol,but it failed ! (it can start the mulitiple DMA channels to transfer datas,but the speed is always about 7MB/S,and the data size every times is always 1024B) I referred the example  cyfxbulkstreams in FX3 SDK, I dont know whether UVC bulk mode can support the stream protocol!  can anyone tell me the answer?

   

thx! and sorry for my mistakes and unclear expressiong!

0 Likes
7 Replies
Anonymous
Not applicable

Hi,

   

From what I'm aware of Bulk streams is still not properly supported by host controllers. Please let me know your setup configuration (esp the host controller and whether it claims complete support for bulk stream)

   

Regards,

   

Anand

0 Likes
Anonymous
Not applicable

Hi! Anand!

   

thx for ur answear!

   

I found that someone at  this community said the usb3.sys of  windows xp maybe not support the bulk streams, and I also identified the example  cyfxbulkstreams  from CYPRESS FX2 SDK can not work normally,I suppose it can not enumerate successfully  because I can not see any device info ,interface,and endpoints in USB controller  center after download. 

   

srry about no understanding what u said about my setup configuration   clearly,  for 4 IN treams, I config the endpoint as  1 bulk IN ep with 4 streams ,and the streams in ep companion descriptor is 2(2^2=4) .  I also config the 4 DMA channels with the same callback function, I just do everything referring the cyfxbulkstreams   example .

   

For host controllor , I m not sure which is the propor one, there are two ,ASMedia XHCI Controller  and Standard Enhanced PCI to USB Host Controller.

0 Likes
Anonymous
Not applicable

The xHCI one would be the one for USB3.0. I'm not too sure if the ASMedia one supports stream. Please create a tech support case (MyAccount -> MyCases) so that our guys can look into this and suggest suitable way of testing Bulk stream.

   

Regards,

   

Anand

0 Likes
Anonymous
Not applicable

hi! Anand!

   

i have created a new mycase!I correct a mistake above,the example that  I try to identify is cyfxbulkstreams  from CYPRESS FX3 SDK. and I found the presentation "programing successful"at the bottom of USB Control Center  after download the image into RAM although it dont present any information about interface and endpoint,so  I suppose that maybe I just need a software in PC to identify it!

   

Regards,

   

Andy

0 Likes
Anonymous
Not applicable

Hi Wqyao,

   

I want to see the same result, but I can't get it. I want to get the UVC firmware(fx3) src pgms.

   

Please, could yos upload the pgms?, thanks.

0 Likes
Anonymous
Not applicable

http://www.cypress.com/?id=4&rID=58178 is what I was talking about when I asked about how you're testing BULK stream.

   

Regards,

   

Anand

0 Likes
Anonymous
Not applicable

hi Anand,

   

the tech support gave me  the answer,its the same as what u said,but it needs to pay for the MCCI stack or somthing,and the host controllor driver based on window 8 can support the bulk streams . Thx for ur help!

   

regards,

   

andy

0 Likes