EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

USB Host

Started by Martin January 22, 2005
> A USB Host for one device is not so bad. The difficulty lies in what > you can't see or what is not published. The easiest approach is to > Buy/Rent/Borrow a USB data analyzer and capture the enumeration > sequence for the targeted device. Then use a Host controller like the > Cypress 811HS and a 8051 of your choice to enumberat the device > yourself. After that, it is online and ready for communication. We > have done this with several USB devices.
That's exactly what I was thinking about today while reading through the USB specs! We control what device/s will connect to this box. I reasoned that it couldn't be that hard to figure out how to make the connection happen and then, once the pipes are established, it should be just bunches-o-data moving back and forth (and not that much of it). We basicly need to interface with an instrument that only has USB I/O...very low data volume to. A few measurements per second. A handful of bytes per measurement. Any suitable analyzers you might recommend? I know that this wouln't be real USB "plug in whatever" interface. The point is, it doesn't have to be and it will never be. The worst that can happen is that a newer, better version of the test instrument is released. It shouldn't be a big deal to issue a patch for that. -Martin
> Implementing even a subset > of a USB host's job on an 8051 is definitely not something you want to > do yourself unless you absolutely, positively, > beyond-all-reasonable-doubt have to. Just about *every* other option > will be less painful.
I couldn't agree more. I wish I didn't have to do it. Hence the Mark Twain quote. One of the challenges in Engineering is to make something with what you have, not what you wish you had. Even if it is not ideal. Hell, anyone can do it under ideal conditions! Of course, if impossible you have to know when to call it. In this case, I think that there are a few interesting possibilities of either full or "highly-customized-crippled-but-usable-single-peripheral" implementations with varying degrees of pain. -Martin
Cypress seems to have a couple of good solutions, as well as eval boards 
with 8051-based Host mode firmware examples.

www.cypress.com
CY7C67300
CY3662

-Martin 


Sorry for the multiple posts.

Cypress most definetly has the answer.  Their links are horribly long and 
complex, so I won't post one here.  Just search for CY3662.  Code, 
schematics, PDF's and Powerpoint presentations for embedded host mode using 
an 8051.

Code requirements for stripped-down, dedicated-device support (i.e. You know 
what is likely to attach to your host port): 350 bytes!!!

All of a sudden the nightmare scenarios are gone.  This ain't bad at all.

Thanks for the very useful posts on this topic.

-Martin



The 2024 Embedded Online Conference