|
From: Ludovic R. <lud...@gm...> - 2013-12-30 12:00:35
|
2013/12/29 Abhishek Madaan <abm...@ya...>: > Hi, Hello, > We are developing a camera to talk with Raspberry Pi. The issue we are > facing is that sometimes we are not able to receive full frame. We are using > the bulk mode transfer. The camera resolution is 640x480 with 2 bits per > pixel. So I am calling the filling the bulk loop with an array of unsigned > short 640x480 with a size of 614400. The problem I am receiving that > sometimes I able to only get 606208 bytes before the bulk transfer times > out. Is the speed of the CPU matters in the transfer? In the firmware level, > we receive a control transfer command before the camera start sending the > data to the host. I submit the bulk transfer before I submit the control > transfer to make sure the host is receiving data before the device can send > the data. At the firmware level, we are using end point 2 with Quad > buffering with packsize = 1024. We are using Cypress GPIF to receive the > frame from the camera. We are Auto In mode with 512 bytes. Here’s my code > snippet. Can anyone explain me what might be different reasons that i am not > able to receive the full frame? Is Raspberry PI CPU is too slow? If yes, but > how it is interfering with IO? Why I receive full frames sometimes and > sometimes not? Is there any way to speed up using the same processor. Any > help on this matter would be really appreciated. Thanks It looks like the Raspberry Pi USB hardware is not reliable in USB 2.0 mode and lose USB packets. See http://www.yoctopuce.com/EN/article/the-quest-for-the-ideal-mini-pc Bye -- Dr. Ludovic Rousseau |