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: Ash <anangia@m...>
    Date: Thu, 30 Oct 2003 03:17:38 +0100
    Subject: [usb] USB Enumeration Info Help
    Top

    Hi all
    
    I was reading 'USB Complete' (by Jan Axelson - www.lvr.com) today. 
    Chapter 5 is all about enumeration process between windows and the 
    usb device.
    
    I was following step by step of what Rudi has done in his file 
    (usb1_rom1.v). There are couple of things that don't match. These are 
    as follows:
    
    1. DEVICE DESCRIPTOR
    Why has rudi defined the 'device sub class' as 8'h00. According to the 
    book, page 84 says the following :
    "If DeviceClass is 0, the Subclass must be 0. If DeviceClass is between 1 
    and FEh, the Subclass must be a code defined in a USB specification. A 
    value of FFh means that the subclass is specific to the vendor"
    
    So shouldn't the value of this be 8'hff (same as 'device class')? 
    
    2. Configuration Descriptor
    How does rudi come to the value of 0053 for 'total data length'.? I know 
    it's something to do with the 64 that is defined in the 'max packet size' 
    in Device Configurator (64-11 = 53.. Is 11 like overheads?)
    
    3. Interface Descriptor
    * Why has rudi defined the number of endpoints as 8h'05? If we look at 
    usb1_core, there are 7 endpoints defined. So should'nt this be 8h'07?
    
    * Once again (same as point 1), why is the interface sub class 8'h01 
    and not 8'hff. This is from page 88 of the book.
    
    4. EndPoint N Descriptor (where N is from 1 - 5)
    According to the book the maximum packet size is shown as 1. Why is 
    rudi got it as 2 bytes?
    
    Sorry for the questions, but reading the book and comparing th code is 
    actually helping me as I am able to understand what the code is doing 
    step by step. 
    
    Thanks
    Ash :o)
    
    
    
     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.