Micro with USB Host.

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View

Need to select a small micro with USB host functionality, to add mouse
and keyboard interfaces to a project conceived before USB was
invented.
An I2C or serial interface to the main controller would be enough for
the initial application. Would like to have CAN for future changes,
but not a must.
Quantities are <= 10.  This is a hobby project.

Candidates found so far:
* Maxim MAX3421E  (dedicated peripheral)
* Luminary Micro LM3S5652 family (ARM Cortex-M3)
* NXP LPC1768 family  (ARM Cortex-M3)

I never used any of them, looking for pros/cons from anyone that did.

Thanks,

--
Roberto Waltman

[ Please reply to the group.
We've slightly trimmed the long signature. Click to see the full one.
Re: Micro with USB Host.
Hi Roberto,

Quoted text here. Click to load it

If all you are looking for is keyboard + mouse, why not consider
a PS/2 interface, instead?  ("hobbyist")  Gives you more flexibility
in your range of choices (on the MCU), IMO.

Quoted text here. Click to load it


Re: Micro with USB Host.
Quoted text here. Click to load it

I did consider it. In fact, the first attempt may use just a PS/2
interface, for which I don't need an additional controller.
(The project is an FPGA reincarnation of an old computer, a PS/2 kbd
peripheral would be trivial to implement in the FPGA)
But is only keyboard and mouse for now.  In the future I want to add
mass storage, maybe audio interfaces, etc., and I would prefer to have
a single interface (USB) that can deal with all peripherals.
--
Roberto Waltman

[ Please reply to the group.
We've slightly trimmed the long signature. Click to see the full one.
Re: Micro with USB Host.
Quoted text here. Click to load it

As a hobby project, you do not have a time limit to get this done.

A time time limit would not include any ARM processors.

An 8-bit cpu with the PS/2 keyboard would get it done a lot quicker.

At you own admission, you have not used ARM, so we can safely guess that
you have not bought any ARM compilers or have used GCC for ARM
or have any development tools for ARM.

So, please let us know if you are willing to spend the $$$ for a
commercial development suite for a hobby project.

hamilton

Re: Micro with USB Host.
Quoted text here. Click to load it
[Disagree]

Quoted text here. Click to load it
[Agree]

Quoted text here. Click to load it

What I meant by "never used" is that I did not use those particular
CPU chips/families, and never used one supporting USB in Host mode.
I have worked in several projects using ARM processors, (TI DaVinci,
STR9, STM32) using IAR EWARM and Microsoft Windows CE 5 & 6.
I am currently working in two ARM based projects at work, (IAR, Segger
JTAG), and two more at home (STM32, Samsung, Olimex JTAG), using a few
variants of the GNU toolchain. ( Probably will settle on Yagarto,
which should play nice with my Olimex JTAG adapter. )
The two projects at work actually involve developing an USB based
protocol but, again, not in host mode.

Quoted text here. Click to load it

I already did. My wife will testify  ;)

Going back to the original subject, having been burned a few times (
like many regulars in C.A.E, ) with manufacturers false propaganda on
what their components can do, I was hoping somebody can point me to a
processor and said "I used it in host mode and works as advertised"
After starting this thread I saw the "USB Host Lite with LPC2478"
post. Following that too ...

By the way, the main purpose of this project is for me to learn about
FPGAs.  Bringing back to life an old machine originally implemented
with bit-slice TTLs is just a side effect.
--
Roberto Waltman

[ Please reply to the group,
We've slightly trimmed the long signature. Click to see the full one.
Re: Micro with USB Host.
Am 11.07.2011 06:49, schrieb Roberto Waltman:
Quoted text here. Click to load it
So if you have already worked with STM32, why don't you consider them
for your project?
Regards
   Dirk


Re: Micro with USB Host.
Quoted text here. Click to load it

Oops! I did, only I forgot to include them in my original list.
From memory, there are about 1/2 dozen devices in the new F2 series
that support USB  "on the go", and in LQFP 64 or LQFP 100 packaging.
(Trying to avoid BGAs.)
Since I never used any F2 chip, that still puts them in the "unknown"
category.
The MAX3421E is still the favorite, but  I want to check the PIC
mentioned by Mike Harrison.  DIP packaging is a big plus.

Thanks for all the replies,
--
Roberto Waltman

[ Please reply to the group.
We've slightly trimmed the long signature. Click to see the full one.
Re: Micro with USB Host.
snipped-for-privacy@rwaltman.com says...
Quoted text here. Click to load it

I just started with  STMF2xx series about a month ago.  The transition
from the F1 series was not too painful.  If you use their standard
peripheral library, it's pretty easy to convert many applications.

I must note that I've had problems with the USB example code for
almost every chip I've used, including all the STM chips.  USB has,
so far, been interesting, but not vital to my projects, so there
has been no real incentive to work through the problems.
Quoted text here. Click to load it


Mark Borgerson




Re: Micro with USB Host.
Quoted text here. Click to load it

DIP 28 is only available for the little brother PIC24FJ64GB002, which
is fine for mouse and keyboard.  However, if you want to use MSD,
Wireless or USB God forbidden VGA graphics, you would want to use the
bigger brother PIC24FJ256DA206.  I have been using the 64 pins LQFP
which is also pin compatible with the 80MHz PIC32.  At some point in
time, we would need to use PIC32.

Re: Micro with USB Host.
Am 12.07.2011 16:15, schrieb Roberto Waltman:
Quoted text here. Click to load it
Hi Roberto,
I am working with the F103, and it includes USB "on the go" also. I must
admit, however, that I didn't try it out myself, as my project only
needs USB device capability.
Regards
   Dirk

Re: Micro with USB Host.
Am 13.07.2011 11:22, schrieb Dirk Zabel:
Quoted text here. Click to load it
oops, that was wrong. F103 does not include OTG, F105 and F107 do. Sorry.
-- Drik

Re: Micro with USB Host.
Hi Roberto,

Quoted text here. Click to load it

Understood.  I suspected as much -- hence the proposed solution
*limiting* you to the keyboard+mouse to draw out any "other
intentions" you had  :>


Re: Micro with USB Host.

Quoted text here. Click to load it

Two more to consider...

R8C/34K or R8C/3MK - up to 20 NHz, 40-48 pins, 1.8-5.5 VDC
http://www.renesas.com/products/mpumcu/r8c/r8c3x/r8c3mk/r8c3mk_root.jsp

RX/621 - up to 100 MHz, 64-176 pins, 3.3VDC
http://www.renesas.com/products/mpumcu/rx/rx600/rx621_62n/rx621_62n_root.jsp

Quoted text here. Click to load it

The RX has CAN but the 3MK only has LIN.  Both have i2c, spi, and
multiple UARTs.  The RX/62N adds ethernet.

Quoted text here. Click to load it

The RX might not be available until fall (due to the Japan earthquake).
The 3MK is new so it's still dribbling into the hobby supply channels.

Re: Micro with USB Host.
Quoted text here. Click to load it

Are their any FREE compilers and inexpensive programmers (jtag) for the
R8* family of chips ??

hamilton


Re: Micro with USB Host.


Quoted text here. Click to load it

Yes!  I do all my R8C development on Fedora using GCC and my own
flashing routines - it's a simple serial protocol, so any TTL-level uart
will do (and doubles as a serial console when your app runs :).  Same
for the M16C, M32C, R32C, and RX families.  I've even done a few V850
chips that way, but not all of those support serial bootloading.  I
think newer SH2A support serial bootloaders too, at least, I've seen one
that documented the protocol.

Links:

http://people.redhat.com/~dj/m32c/ - flash protocol and utilities, gcc
building info

http://www.delorie.com/electronics/ - various projects, many including
on-board serial bootloader suport using FT232R chips.

http://www.delorie.com/electronics/gR8C/ - my proposal for R8C hardware
standards that natively support automated Linux-based programming using
FT232R chips as the UART.

Re: Micro with USB Host.

Quoted text here. Click to load it

Thanks for the pointers - ( Will search for host mode reviews. )
--
Roberto Waltman

[ Please reply to the group,
We've slightly trimmed the long signature. Click to see the full one.
Re: Micro with USB Host.
Quoted text here. Click to load it


Used the MAX3421E in target (peripheral) USB mode and it worked well.  That
was with an 8051 talking to it as an SPI slave.



Re: Micro with USB Host.

Quoted text here. Click to load it

Thanks, I am leaning towards this one, via this (used only as a
breakout board):

http://www.circuitsathome.com/products-page/arduino-shields/usb-host-shield-for-arduino-pro-mini /

--
Roberto Waltman

[ Please reply to the group.
We've slightly trimmed the long signature. Click to see the full one.
Re: Micro with USB Host.
  Roberto

 > Need to select a small micro with USB host functionality, to add mouse
 > and keyboard interfaces to a project conceived before USB was
 > invented.
 > An I2C or serial interface to the main controller would be enough for
 > the initial application. Would like to have CAN for future changes,
 > but not a must.
 > Quantities are<= 10.  This is a hobby project.
 >
 > Candidates found so far:
 > * Maxim MAX3421E  (dedicated peripheral)
 > * Luminary Micro LM3S5652 family (ARM Cortex-M3)
 > * NXP LPC1768 family  (ARM Cortex-M3)
 >
 > I never used any of them, looking for pros/cons from anyone that did.

I used the MAX3421E as a USB host for HID and mass storage.  I didn't
have any real issues with it.  For the particular project that I used
it, I also bought in a host stack (LIB3421).  However it would be
straightforward to write "enough" of the host stack to do what you want.
  Of course, it won't ever be that fast but it is perfectly adequate for
HID operations.

     Andrew

Re: Micro with USB Host.

Quoted text here. Click to load it

Microchip PIC24FJ64GB004 (even availabe in DIP!)
Vinculum VNC2L

Bear in mind that many USB mice and keyboards also support PS/2

Site Timeline