3 Replies Latest reply on Sep 26, 2018 3:20 AM by abga

    command (vendor)  a bulk transport

    yumingfoy_3247926

      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!

        • 1. Re: command (vendor)  a bulk transport
          abga

          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

          • 2. Re: command (vendor)  a bulk transport
            yumingfoy_3247926

            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

            • 3. Re: command (vendor)  a bulk transport
              abga

              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-using-ez-usb-fx3-usb

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

               

              Thanks & Regards

              Abhinav