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
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. Return address is invalid ]
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.
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:
formatting link
- flash protocol and utilities, gcc building info
formatting link
- various projects, many including on-board serial bootloader suport using FT232R chips.
formatting link
- my proposal for R8C hardware standards that natively support automated Linux-based programming using FT232R chips as the UART.
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.
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, return address is invalid ]
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.
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. Return address is invalid ]
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.
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.
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
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.