SL811HS Host Controller

I'm implementing an USB Host using PIC18F452 + SL811HS. The embedded hos can work properly now with USB Mouse, KB and some other low and full spee devices. The enumeration and data transfer processes are all OK. But the problem occurs when I interface the host with high speed devices The host can send Request Commands to device successfully, but cannot ge data back. In a multiple-packet data stage, the host can only receive th first packet and all the following packet are missed.

Anyone has suggestions ? Thanks in advance !

N.L. Trung This message was sent using the comp.arch.embedded web interface o

formatting link

Reply to
trungnl
Loading thread data ...

I do not beleive SL811HS supports high speed devices. Check the data sheet - >

formatting link

Doesn't the USB spec say that full speed can be used to setup a high speed device and then you must use high speed for data flow?

Glenn

Reply to
Glenn Jones

SL811HS supports only low and full speed. It is not designed for high speed.

Reply to
Adrian

Thanks for your suggestions. Anyway, let's consider the case when we use an old PC that has onl full-speed USB port to communicate with a high speed USB device. I hav been using a 2.0 USB Handy drive with such an old PC so I think full spee host can communicate with high speed devices properly, while the transfe rate is limited to 12 Mbps. So, what should I do to solve the problem ? This message was sent using the comp.arch.embedded web interface o

formatting link

Reply to
trungnl

According to USB 2.0 specs we obtained: "When a full-/high-speed device is attached to a pre-USB 2.0 hub, or to hub port which is high-speed disallowed, it is required to behave as full-speed only device. When a full-/high-speed device is attached to USB 2.0 hub which is not high-speed disallowed, it must operate wit high-speed signaling and data rate."

So is it clearly that 2.0 devices should operate as full-speed device when they are attached to a non-high-speed port. Does it mean the SL811H can work with 2.0 devices ? This message was sent using the comp.arch.embedded web interface o

formatting link

Reply to
trungnl

Hi that spec is talking about connecting to a hub which the SL811HS is not, correct? SL811HS is a USB 1.1 complaint host device.

Did you try to attach the device to a 2.0 hub and the hub to the SL811HS?

Glenn

Reply to
Glenn Jones

"trungnl" schrieb im Newsbeitrag news:uuKdnbpAyM57N0jfRVn snipped-for-privacy@giganews.com...

fix your sw!

all HS devices are connecting at full speed initially, if the host doesnt support HS the device remains in FS mode and works in full speed mode for the rest of the session.

the functionality of an HS device when it is full speed mode may be limited, but it should still at least respond to usb chapter 9 stuff at least.

antti

Reply to
Antti Lukats

As an 1000% newbie this looks like a solution for my problem: I would lik to connect a USB GPS reciever to a microcontroller, but was told tha would be impossible as microcontrollers do not have USB hos possibilities.

Could you advise me on your approach? All help is very much appreciated!

Hans

This message was sent using the comp.arch.embedded web interface o

formatting link

Reply to
middelbh

Can you hack the GPS receiver? It's 99.9% likely that the GPS device has a USB-to-serial bridge inside it. Pull out the bridge, put a MAX232A or similar in its place, and you have a regular RS232 GPS.

Reply to
larwe

Please, also check the errata for SL811HS. It has some known issues which need some workaround. Some hubs are not supported. It is also sensitive to noise and has some problems with PLL. Also, for your problem I would suggest you to use an USB analyzer. It will clearly show you were the problem is.

Reply to
Adrian

I have received the response from Cypress, in which they assert tha SL811HS can communicate with 2.0 devices in full-speed or low-speed mode. But I still have troubles enumerating 2.0 devices with my embedded host. The problem is the host cannot read data from 2.0 devices. I think it ma be because of bad timing. What is the different between 1.1 and 2.0 timing ? This message was sent using the comp.arch.embedded web interface o

formatting link

Reply to
trungnl

No a USB device is running in either highspeed or fullspeed. There is a lot of confusion about usb 1.1 and usb 2.0. Those are spec numbers, not speed references. A low speed mouse can be fully usb 2.0 compliant!

A high speed hub connected to either a full speed hub or full speed root hub will act as a full speed hub. The entire system is designed so that HS devices will fall back to using FS if the port it is connected to did not respond to its "chirp" during reset.

The descriptors can tell the host that this could be a high speed device, if it was connected properly, but it SHOULD run correctly at FS too.

Regards ~Steve

There is no "x" in my email address.

Reply to
Steve Calfee

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.