Hello all, I am doing one project where I want to connect usb pendrive to microcontroller and read data from or write data to usb pendrive using microcontroller
it means I have to configure controller as USB HOST and class should be used is MASS STORAGE Am I right?
I am using controller LPC2378, but when I read user manual, the chapter:13 says it is used as USB device controller
I want to ask whether my understanding is correct? Can I use LPC2378 as USB HOST MASS STORAGE?
If yes then can you guide me how?
If no then can you suggest another controller for this project?
Please, it will be helpful as I am beginner to this.
Thanks and regards
Hi, Thanks for guidance. regards
The datasheet for the processor claims
USB 2.0 full-speed device with on-chip PHY and associated DMA controller (LPC2378 only).
A USB device is not the same as a USB host.
The only time the same USB functionality can be either device or host is if the datasheet claims USB OTG - On The Go. That's a dual-functionality concept where the chip can switch between host or device depending on needs.
So a camera can be a USB device allowing your computer to retrieve the photos. Or it can be a USB host and take control of a printer. Or your mobile phone can be a USB device when you connect it to the PC and uses it as a modem, while also being able to be a host so you can connect a USB thumb drive for backup purposes.
So if you need to interface with a USB thumb drive, then you should select a processor that has a host interface or have OTG functionality.
If you are interested in a pin-compatible chip, you might instead consider the newer LPC17xx family. It claims:
USB 2.0 full-speed controller that can be configured for either device, Host, or OTG operation with an on-chip PHY for device and Host functions and a dedicated DMA controller.
View all questions in Keil forum