command (vendor) a bulk transport

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

cross mob
Anonymous
Not applicable

Hello,

I want to use two endpoints now.

One is a custom command (vendor) transfer using the control transport endpoint and the other is a bulk transport endpoint.

How do I set up the configuration descriptor? Please give me some advice.

Thank you!

0 Likes
1 Solution

Hi,

You can refer to the SlaveFifo AN 65974 to see the interfacing between FX3 & FPGA. But to talk to the sensor yo need I2C interface. We have implemented this in AN 75779 (UVC app note). To develop your application you have to integrate I2C part into the AN 65974.

Links for both the app notes are given below for your reference:

http://www.cypress.com/documentation/application-notes/an75779-how-implement-image-sensor-interface-...

http://www.cypress.com/documentation/application-notes/an65974-designing-ez-usb-fx3-slave-fifo-inter...

Thanks & Regards

Abhinav

View solution in original post

0 Likes
3 Replies
abhinavg_21
Moderator
Moderator
Moderator
50 likes received 25 likes received 10 likes received

Hi,

EP0 is configured as control endpoint in USB devices by default. To set Bulk Endpoint in descriptor, you have to set the no of endpoints in interface descriptor and then configure the endpoint descriptor for each endpoint. Please refer to the descriptor file of usb bulk source sink example firmware.

Following is the code snippet for your reference:

/* Endpoint descriptor for producer EP */

    0x07,                           /* Descriptor size */

    CY_U3P_USB_ENDPNT_DESCR,        /* Endpoint descriptor type */

    CY_FX_EP_PRODUCER,              /* Endpoint address and description */

    CY_U3P_USB_EP_BULK,             /* Bulk endpoint type */

    0x00,0x04,                      /* Max packet size = 1024 bytes */

    0x00,                           /* Servicing interval for data transfers : 0 for bulk */

    /* Super speed endpoint companion descriptor for producer EP */

    0x06,                           /* Descriptor size */

    CY_U3P_SS_EP_COMPN_DESCR,       /* SS endpoint companion descriptor type */

    (CY_FX_EP_BURST_LENGTH - 1),    /* Max no. of packets in a burst(0-15) - 0: burst 1 packet at a time */

    0x00,                           /* Max streams for bulk EP = 0 (No streams) */

    0x00,0x00,                      /* Service interval for the EP : 0 for bulk */

Thanks & Regards

Abhinav

0 Likes
Anonymous
Not applicable

Hi!

数字相机结构图.png

The image data goes through FPGA to FX3, then to PC.

The PC sets the image sensor and acquires the sensor properties through FX3.

Such a task, how do I set up FX3 descriptors and write fixed code.

Could you give me some advice!

Thanks & Regards

0 Likes

Hi,

You can refer to the SlaveFifo AN 65974 to see the interfacing between FX3 & FPGA. But to talk to the sensor yo need I2C interface. We have implemented this in AN 75779 (UVC app note). To develop your application you have to integrate I2C part into the AN 65974.

Links for both the app notes are given below for your reference:

http://www.cypress.com/documentation/application-notes/an75779-how-implement-image-sensor-interface-...

http://www.cypress.com/documentation/application-notes/an65974-designing-ez-usb-fx3-slave-fifo-inter...

Thanks & Regards

Abhinav

0 Likes