EmbeddedRelated.com
Forums

SL811HS Host Controller

Started by trungnl July 13, 2005
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
www.EmbeddedRelated.com
trungnl wrote:
> I'm implementing an USB Host using PIC18F452 + SL811HS. The embedded host > can work properly now with USB Mouse, KB and some other low and full speed > 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 get > data back. In a multiple-packet data stage, the host can only receive the > 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 on > www.EmbeddedRelated.com
I do not beleive SL811HS supports high speed devices. Check the data sheet - >http://www.cypress.com/portal/server.pt?space=CommunityPage&control=SetCommunity&CommunityID=209&PageID=259&fid=10&rpn=SL811HS 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
SL811HS supports only low and full speed. It is not designed for high
speed.

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
www.EmbeddedRelated.com
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
www.EmbeddedRelated.com
trungnl wrote:
> 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 a > hub port which is high-speed disallowed, it is required to behave as a > full-speed only device. When a full-/high-speed device is attached to a > USB 2.0 hub which is not high-speed disallowed, it must operate with > high-speed signaling and data rate." > > So is it clearly that 2.0 devices should operate as full-speed devices > when they are attached to a non-high-speed port. Does it mean the SL811HS > can work with 2.0 devices ? > > This message was sent using the comp.arch.embedded web interface on > www.EmbeddedRelated.com
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
"trungnl" <ngolamtrung@yahoo.com> schrieb im Newsbeitrag
news:uuKdnbpAyM57N0jfRVn_vg@giganews.com...
> Thanks for your suggestions. > Anyway, let's consider the case when we use an old PC that has only > full-speed USB port to communicate with a high speed USB device. I have > been using a 2.0 USB Handy drive with such an old PC so I think full speed > host can communicate with high speed devices properly, while the transfer > 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 on > www.EmbeddedRelated.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
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
www.EmbeddedRelated.com
> As an 1000% newbie this looks like a solution for my problem: I would like > to connect a USB GPS reciever to a microcontroller, but was told that > would be impossible as microcontrollers do not have USB host > possibilities.
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.
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.