OpenCores
no use no use 1/1 no use no use
Question about Low Speed Issues
by Unknown on Jun 1, 2004
Not available!
Hi,

I have been able to make the USB core work in LS with a few
modifications but I have a recurring problem that when I disconnect and
reconnect the device, it no longer gets enumerated and correctly
recognized by the HOST. I have been able to intercept the data
received and transmitted and what I see is, at one point in the
communication, I often have NO DATA transmitted to the host after a
GET_DESCRIPTOR request.

I am using different memory management than was originally intended,
as I have to use single port RAM, but the thing is, when I use the USB
core in Full Speed, it works just fine and there's no problem
disconnecting/ reconnecting.

It must be some State Machine that is stucked somewhere or my
FIFO's. If someone has any ideas or theories, I would greatly appreciate
the help!

One other thing I would like to be able to correct is the following:
-Be able to use a unique table of descriptors (content of ROM) for both
Low Speed and Full Speed implementation.

Now the differences between the two are the Maximum Packet Size (for
EP0 and the others, EP1 for instance). In LS, I have to use 8 bytes as it
is the maximum specified by the USB1.1 spec, but my FS implementation
requires 64 bytes. But I have seen commercial devices that return
Maximum Packet Size of 8 bytes for EP0 but that are FS devices. I have
correctly implemented the toggle mechanism in usb1_ctrl to send many
packets in order to complete a message but it just doesn't work for the
HOST in FS. It expect that all bytes are transferred in 1 single request
(up to 64 of course but for now, all my packets are shorter than 64
bytes). Again, thanks for any help anyone can provide.

no use no use 1/1 no use no use
© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.