LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Job Opportunity
  •  
    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: bknpk at hotmail.com<bknpk@h...>
    Date: Fri Apr 27 19:47:19 CEST 2007
    Subject: [usb] usb 1.1 core Enumeration Problem
    Top
    Hi
    It might be due to your ROM connection. Did you simulate yor design
    .
    Since you captured the data with a protocol analyzer, you may want to
    "play it back" in simulation. If you are lucky and it fails you'll be
    able to debug the design as a white box (able to see on wave any
    signal) instaed of black box (in the lab).

    I have once created a verilog environement, which does the entire
    process of enumeration in a same a XP master does it. It would be
    intersting to try it again.


    ----- Original Message -----
    From: noisehammer at onlinehome.de<noisehammer@o...>
    To:
    Date: Tue Apr 10 19:46:21 CEST 2007
    Subject: [usb] usb 1.1 core Enumeration Problem

    > hello,
    >
    > im a student at the Fachhochschule Offenburg in Germay and im
    > currently working on my diploma work.
    > we have downloaded the free usb 1.1 IP core (from rudolf usselmann)
    > for our project.
    > im using the CYCLONE II FPGA EP2C8T144 from ALTERA.
    > now im trying to implement the usb module to communicate with the
    > host PC.
    > The current problem is that the Enumeration Process does not work
    > properly. After my Device has recieved the SETUP Paket, it tries to
    > send the first Device Descriptor located in the ROM, but he sends
    > the
    > first byte twice, which results to an incorrect Device Descriptor.
    > So the Host PC terminates the connection and the Enumeration
    > Process
    > fails.
    > It is interesting to see that the Host PC accepts the paket with an
    > ACK, so there cant be any data corruption on the Physical Layer.
    > I have analyzed the communication with an USB protocol analyzer.
    > the ROM content in HEX for the Device Descriptor is:
    > 12, 01, 10, 01, 00, 00, 00, 40, 34, 12, 78, 56, 10, 00, 01, 02, 00,
    > 01
    > the data content of the paket which the Device wants to send is:
    > 12, 12, 01, 10, 01, 00, 00, 00, 40, 34, 12, 78, 56, 10, 00, 01, 02,
    > 00
    > here the byte 12h has been send two times.
    > i think that this is the reason for the enumeration failure.
    > Maybe it could be an incorrect initialisation (reset) or an
    > incorrect
    > ROM or FIFO data transmission ?
    > I would be glad someone can help me trying to find out what the
    > problem is and what to do.
    > ------------
    > my tools:
    > RTL Compilation and Synthesis: Mentor Precision Synthesis;
    > Full Synthesis: Altera Quartus II 6.0
    > implemented RAMS for FIFO and ROM: altera synchronous ram
    > (altsyncram)
    >
    >

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