Cypress Perform

Home > Design Support > Cypress Developer CommunityTM > Cypress Forums > USB Controllers > slave fifo size

Bookmark and Share
Cypress Developer CommunityTM
Forums | Videos | Blogs | Training | Rewards Program | Community Components



slave fifo size
Moderator:
RSKV

Post Reply
Follow this topic



slave fifo size

diagman posted on 20 Sep 2011 6:45 AM PST
Member
2 Forum Posts

Hi Guys,

   what max size of slave fifo can I configure to an endpoint? what event triggers the DMA between slave fifo and endpoint( slave fifo full/empty or endpoint buffer full/empty)? how to abort the dma?

 Thanks




Re: slave fifo size

aasi posted on 22 Sep 2011 01:24 AM PST
Cypress Employee
1073 Forum Posts

The size variable of CyU3PDmaBuffer_t is 16-bit. This would be the restriction of buffer size.

Once a USB packet (entire packet) is received it will be transmitted.

Have you looked at CyU3PDmaChannelAbort??

Regards,

Anand



Re: slave fifo size

Chris R. posted on 22 Sep 2011 02:33 AM PST
Top Contributor
135 Forum Posts

Is the event for transferring data (manual mode) from slave fifo to IN endpoint also triggered in the case of terminating a short packet by asserting PKTEND hardware signal?



Re: slave fifo size

diagman posted on 22 Sep 2011 05:08 AM PST
Member
2 Forum Posts

Anand, Thanks for your reply.

 if the slave fifo size is limit by CyU3PDmaBuffer_t, it means the slave fifo physical size can be configured to 64KBytes. if the slave fifo is empty. the external processor can transfer a block data of 64KBytes without any interrupt, is it true?

thanks!

diagman



Re: slave fifo size

oliverks posted on 23 Sep 2011 02:45 PM PST
Senior Member
12 Forum Posts

If I have an automatic DMA channel set between the GPIF and an IN type endpoint, can I have ZLP (zero length packet) produced, if the end of the GPIF transfer is exactly the same size as the packet length on the endpoint?

 

For example, I have the GPIF acting as consumer.  It gets a 1500 byte transfer before the PKTEND signal is asserted.  Assume the IN endpoint has a 1024 packet size.  I would expect the host to get a 1024 byte packet followed by a 476 byte packet.  Is this correct?

 

Now what happens if I get 1024 transfer on the GPIF before the PKTEND signal is asserted.  Can I get a ZLP sent after the 1024 byte frame goes to the host?  The old FX2 had a mechanism for inserting ZLPs, if the PKTEND was asserted on a boundary of the USB packet size.



Re: slave fifo size

oliverks posted on 23 Sep 2011 04:18 PM PST
Senior Member
12 Forum Posts

I have answered part of the ZLP question I posted above.  The GPIF can generate a ZLP under certain condition.  According to the apnote AN65974, we can generate a ZLP by asserting PKTEND, while not asserting SLWR.

 

This means the external processor needs to be aware of the USB packet size if it is to generate a ZLP.  Is there a way we can generate a ZLP from the ARM processor?



Re: slave fifo size

Chris R. posted on 24 Sep 2011 05:05 AM PST
Top Contributor
135 Forum Posts

If you delay the PKTEND strobe you do not have to look at the packet size. We are using this mechanism at the FPGA to FX2 connection. 4 IFCLK cycles after the last word of the packet we generate the PKTEND strobe and do not transfer further data in this time. In the case there were a multiple of 512 bytes transferred a ZLP is generated. If the size was smaller then a full packet, the packet is commited without ZLP. This works great if the ZLP are allowed in the FX2 firmware. I think it will work on the FX3 in the same manner.






ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". CYPRESS SEMICONDUCTOR AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THESE MATERIALS FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THESE MATERIALS, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY CYPRESS SEMICONDUCTOR. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM CYPRESS SEMICONDUCTOR.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms and Conditions of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms and Conditions of this site. Cypress Semiconductor and its suppliers reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.