- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello experts,
I am a USB developer. I am using the Altera Cyclone V. When I start a DMA bulk transfter, sometimes USB stopped to transfter the whole package. I have debugged for a long time. That looks like fifo issue. If fulsh all rx fifo and tx fifo before DMA transfter, it will works. Does anybody know how to config the three registers GRXFSIZ, GNPTXFSIZ and HPTXFSIZ ? And how to config other fifo registers? Thanks, DanielLink Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm not a USB expert but I looked up these registers and this is what I found:
GRXFSIZ (RX FIFO Size Register) --> RX FIFO depth[13:0] GNPTXFSIZ (Non-periodic TX FIFO Size Register) -->TX FIFO Size 0 [29:16] : TX FIFO start address 0 [13:0] *** you should set the TX FIFO start address 0 to be RX FIFO depth *** HPTXFSIZ (Periodic TX FIFO Size Register) --> TX FIFO Size 1 [29:16] : TX FIFO start address 1 [14:0] *** you should set the TX FIFO start address 1 to RX FIFO depth + TX FIFO Size 0 *** So essentially you are setting up the size and start address of three FIFOs inside the internal SRAM in the USB core. At offset 0 in the SRAM is the RX FIFO, followed by the non-periodic tx FIFO, followed by the period TX FIFO. I recommend opening a service request and copying the link to this post into it: http://www.altera.com/mysupport Ask for additional information on the HPS USB core and we should be able to provide you with that information.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page