3 Replies Latest reply on Apr 30, 2013 6:53 AM by n.v.subbarao

    How to send Zero-Length packet?

    n.v.subbarao

      Hi,

         

      During a isochronous transfers, if there is no data during a USB microframe, how to send a Zero-Length packet?

         

      Thanks,

         

      Subbarao.

        • 1. Re: How to send Zero-Length packet?
          nikhil.naik

           Checkout the function of PKTEND# pin in CYUSB3014 datasheet.

          • 2. Re: How to send Zero-Length packet?
            kumr

             What NIKL said was for a Slave FIFO interface. However, if you have your own interface, you can just do a SetWrapUp() on the DMA channel to force the empty buffer to be committed. This will then send a zero length packet.

            • 3. Re: How to send Zero-Length packet?
              n.v.subbarao

              Hi,

                 

              Thanks for your reply.

                 

              I am not using GPIF interface in my FX3 project. I am using UVC ISOC example available in FX3 SDK examples.

                 

              In the example one transaction (CY_FX_EP_ISO_VIDEO_PKTS_COUNT = 0x01 )per micro frame is enabled, I have modified the example for 2 and 3 transactions per micro frame.

                 

              On host side I am using USBTrace software, to check the data coming from the device.

                 

              When CY_FX_EP_ISO_VIDEO_PKTS_COUNT set to 1, some of the USB packets doesn't have the data, so length of the USB packet is shown as "0" and status shown as SUCCESS (0x00).

                 

              But if CY_FX_EP_ISO_VIDEO_PKTS_COUNT set to either 2 or 3, if a USB packet doesn't have the data, length has shown as "0" and status shown as USBD_STATUS_XACT_ERROR (0xC0000011).

                 

              Here my question is that, why is this error occuring and how to avoid it?

                 

              Thanks

                 

              Subbarao.