EEVblog Electronics Community Forum

Electronics => Microcontrollers => Topic started by: Nogginboink on January 04, 2012, 03:39:16 pm

Title: USB host with multiple downstream devices?
Post by: Nogginboink on January 04, 2012, 03:39:16 pm
I'm looking for a microcontroller that can support multiple downstream devices. In particular, I'd need to support plugging both a USB mouse and a USB keyboard into my project. I'd prefer to be able to plug in a HID controller as well. (And heck, if I really want to get crazy maybe even a thumb drive, but that's way down the road.)

I've only ever seen microcontrollers with a single USB host port, so to accomplish this I imagine I'd need a microcontroller, a USB hub chip, and sample code that supports a USB hub.

Can anyone recommend a microcontroller to solve this problem?
Title: Re: USB host with multiple downstream devices?
Post by: NiHaoMike on January 05, 2012, 07:39:06 pm
The mbed definitely supports hubs, but it only does USB 1.1 and is pretty expensive. For $25, you can soon get a Raspberry PI that has USB 2.0 and a 700MHz CPU.
Title: Re: USB host with multiple downstream devices?
Post by: gxti on January 10, 2012, 03:09:18 am
As I understand it a USB host always requires a hub in order to have multiple downstream devices, even if that hub is built into the host chip. For example on my desktop "lsusb" shows two "root hubs", one for the USB 2.0 host and one for the USB 1.1 host (it's kind of old, heh). So while it's possible that some specialized microcontrollers might have a built-in hub or even multiple hosts it would be cheaper and more flexible to just have the one and let the designer choose a downstream part that meets their needs.