On 18 Jan 2012 at 13:42, Jim Brain wrote:
example, the atmega32u2 is USB device mode capable,
but not host mode.
Host mode capable devices are larger and more expensive.
It seems that it depends on your exact needs. For example, the
ATMega32 can be made to talk to a USB mouse:
http://courses.cit.cornell.edu/ee476/FinalProjects/s2007/blh36_cdl28_d
ct23/blh36_cdl28_dct23/index.html
I suspect that the same is true of a USB keyboard and other simple
HID devices. But those are exceptions and not a general solution.
There are interface chips, such as the FTDI Vinculum and the Maxim
MAX3421, which probably wouldn't break the bank. With that you can
implement a lightweight host on an Arduino:
https://github.com/felis/USB_Host_Shield_2.0
LUFA provides specialized (e.g. HID host, MIDI host) host
capabilities for a limited set of peripherals using the AT90SUB
chips.
http://www.fourwalledcubicle.com/LUFA.php
On the other hand, silicon's getting cheaper, so implementing a host
design using ARM or PIC32 isn't a big deal and both have USB host
capabilities (and vendor-supplied software to go along with it).
But if you're looking for a general host controller with 5V Vcc and a
DIP package, I suspect that you'll be looking a long, long time.
--Chuck