Why can't I get any slave devices to respond to the SL11H's requests (as a host)?

Question: Why can't I get any slave devices to respond to the SL11H's requests (as a host)?

 

Answer:

There are two fundemental reasons why a device wouldn't respond to the SL11H's requests.

1) The SL11H's request wasn't setup properly.You can eliminate this problem by using a bus analyzer and see the request properly being sent on the bus.

2) The devices wasn't  reset properly and hasn't made it to it's default state.  If this is the case it will not respond to any USB traffic.

Trouble Shooting:
First, make sure that the SL11H is setup as a host (bit 7 of register 0FH) and that SOFs or EOPs are properly enabled (with SOF counter low and high registers set for 1ms intervals).

To ensure the request was properly setup, be sure that either full or low speed was selected correctly.  To do this make sure data polarity bit 6 of register 0FH along with USB Speed bit 5 of register 05H are set appropriately.

If the device still isn't responding then Make sure that the SL11H is issuing a proper reset once the device has been plugged in and detected (see section 7.1.7.5 of the USB2.0 spec).  Also be sure to allow adaquet  time between the end of the reset and the first transaction.