LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Sponsors
  • Mirrors
  • Logos
  • Contact us
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Usb > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: "Marc Reinig" <mreinig@p...>
    Date: Sun, 2 Nov 2003 10:37:14 -0800
    Subject: RE: [usb] Packet transfers w USB2.0 core
    Top

    > As I understand the USB spec, a device indicates
    > packet boundaries on bulk pipes by transferring
    > a last data transaction of less than 64 bytes.
    
    No, bulk endpoints on full-speed devices, the max packet size on the bus can
    be 8, 16, 32, or 64 bytes.  And for USB 2.0 it can be also 512 bytes.  64
    bytes is just one of the choices.
    
    > If the packet is an exact multiple of 64 bytes the
    > last data transaction will have 0 data bytes.
    
    No.  A device responds to IN requests as they are sent by the host.  When
    the end of its data occurs, if there is less than a max packets worth of
    data, it sends a short packet.  If there is exactly a max packets worth
    left, it sends that.
    
    It is application specific whether the host will send another request when
    it has received all of its data.  So, you may or may not get an additional
    request for data.  It is not automatic.  However, if you do get such a
    request, you must respond with a zero length packet.
    
    Marc Reinig
    System Solutions
    
    
    > -----Original Message-----
    > From: owner-usb@o... [mailto:owner-usb@o...]On Behalf
    > Of subha sriraman
    > Subject: [usb] Packet transfers w USB2.0 core
    >
    > I have a few questions regarding usage of the USB2.0
    > core for transferring packets (in Host controlled and
    > DMA modes).
    >
    > As I understand the USB spec, a device indicates
    > packet boundaries on bulk pipes by transferring a last
    > data transaction of less than 64 bytes. If the packet
    > is an exact multiple of 64 bytes the last data
    > transaction will have 0 data bytes. Does the USB core
    > correctly handle this?
    > 1) In Host controlled mode, I assume the packet size
    > is programmed into the buffer size field to send a
    > packet (IN)? In this case does the core automatically
    > generate a 0 byte data transaction at the end if
    > needed?
    > 2) In DMA mode, the model seems to be a continuous
    > flow of data bytes (with flow ctl). How does one
    > indicate packet boundaries?
    > 3) What is the definition of MAX_PL_SIZE? is it
    > typically 64 bytes (1 transaction)? or is it something
    > else?
    >
    > Thanks for your time.
    >
    >
    > __________________________________
    > Do you Yahoo!?
    > Exclusive Video Premiere - Britney Spears
    > http://launch.yahoo.com/promos/britneyspears/
    > 
    
    
    
    
    
    

    ReferenceAuthor
    [usb] Packet transfers w USB2.0 coreSubha sriraman

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.