1/1
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. |
1/1