Bulk-Mode Burstsize and dma-buffers in FX3

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

cross mob
Anonymous
Not applicable

 Hello

   

 

   

I´ve experienced problems with burstsize > 8 when setting up a bulk endoint at the fx3.

   

Using code like:

   

 

   

        endPointConfig.enable = 1;

   

        endPointConfig.epType = CY_U3P_USB_EP_BULK;

   

        endPointConfig.burstLen = 16;

   

        endPointConfig.streams = 0;

   

 

   

        /* Configure the Endpoint */

   

        apiRetStatus = CyU3PSetEpConfig(CY_FX_EP_PRODUCER,&endPointConfig);

   

        if (apiRetStatus != CY_U3P_SUCCESS)

   

        {

   

            /* Error Handling */

   

            CyU3PDebugPrint (4, "USB Set Endpoint config failed, Error Code = %d\n",apiRetStatus);

   

        }

   
    Throws an error 64 when calling CyU3PSetEpConfig.   
   
    Using endPointConfig.burstLen = 16 seems to work.   
   
    Is the burstlength in fx3 limited to 8 ?   
   
        
   
    Another question is the relation between dma-buffersize an burstlength.   
   
    It seems to work when i do a cpu to endpoint dma with a buffer-size of 16*1024 to a endpoint with a burstsize of 8.   
   
    Ist that ok ?   
   
    E.g. does that mean there is no fixed relationship between endpoint burstlength and dma-buffersize within the fx3 device ?   
   
        
   
    best regards   
   
        
0 Likes
3 Replies
Anonymous
Not applicable

One update

   

 

   

it looks like i can go up to 

   

endPointConfig.burstLen = 15;

   

whitout getting an error ??

   

 

   

Does that mean burstLen = 15 means a burst of 16 ???

   

 

   

regards

   

usbstream

0 Likes
Anonymous
Not applicable

Yes, like the descriptor value the value is burst length -1 there. 0 is for 1 packet per burst.

0 Likes
Anonymous
Not applicable

Thanks.

   

 

   

That instresting because at least at the  example cyfxbulklpmanual there is a descritor-setting for burst of 0 and a burstlen-setting of the endpoint of 1.  This pushed me the wrong direction....

   

 

   

rgards

   

Uwe

0 Likes