We currently have an application that uses a CY8C5247AXI-051 microcontroller. The client now requires we add a way to upload configuration and firmware update using a USB flash. The current design uses a SD card for such tasks.
What is the easiest way to add USB host support to a PSOC5 design? The device has low volume production so the cost of aditional ICs is not of paramount importance.
There are components already made for this purpose, the Bootloader can be adapted to use USBFS as communication interface.
I didn't try yet, but the datasheet and the configuration dialog of the Bootloader component differ a bit (or Byte). The datasheet tells about I²C and USB beeing supported while the configuration dialog offers the USBFS component as well when it was dropped onto the schematic already.
I think I have not made me clear, or am I completelly off?. USBFS implements device support to the PSOC so a bootloader using USBFS updates firmware when it is pluged to a USB host (like a computer).
What I want is to have the PSOC acting as a USB host so it can read the contents of a usb flash drive.
There could be a couple of approaches. If you have enough flash left with you so that you can write the drivers for mass storage device within PSoC5, maxim's MAX3421E seems to be your best bet. It would need one SPI master and one interrupt that would give you host functionality for PSoC5. Only downside as I already pointed out is that you need to have all the host drivers to communicate with mass storage device within PSoC flash.
On the other hand, if there is not enough memory left within PSoC5, you could go with EZ-Host™ from Cypress. It seems that it has ability to store necessary drivers on external EEPROMs so that you potentially save a lot of memory space within PSoC5.
Irrespective of whatever option you choose, you will need a custom bootloader which can read by itself from the mass storage device and upgrade the flash. But from what I can interpret from your first post, you already have something similar which reads code from SD card and upgrades the flash.
I took a look at the devices and I think using the maxim part software development will take a while. While using the EZ-HOST seems easier but hardware will cost almost double the current alternative, I can't believe it would take so much to just add a feature like this. had the client specified from the beggining that USB host embeded host was required it would have been easier to choose an MCU with USB host built in.
Wait, the PSoC5LP can act as a USB host, provided the device driver can be written? Is there any example of the PSoC5LP acting as a host for a HID device such as a keyboard?
AN58726 describes the PSoC as an advanced HID device. Your earlier comment suggested that the PSoC could be a USB host and talk to USB HID devices. This is normally implemented with a USB 2.0 OTG controller, which the PSoC does not have (it implements a USB 2.0 device, not host). This is the source of my confusion.
Can the PSoC be used with a USB keyboard? i.e. is it possible for me to connect a USB keyboard or mouse to the PSoC? I'm pretty sure that this is not possible.
Hey, I too am looking for a way to connect PSOC 5 with a Flash Drive. Did you find any possible way to make the PSOC 5 act as a USB Host?
This thread is old, but still relevant because even though there are many USB Host controllers that allow connection to a micro-controller, there are VERY few that actually allow a micro-controller to operate in the USB 2.0 realm. Usually it's closer to USB 1.1 with USB full speed. But I'm working with the FT313H chip which supports USB 2.0 high speed and connecting it to a PSoC 5LP (currently through their eval board) and the PSoC 5LPs EMIF is coming in handy here since the FT313H basically has a memory interface. It looks promising, but it also promises to be a little complicated. But it does seem to be one way to teach the PSoC a new trick: USB 2.0 High Speed. It is too bad this chip wasn't around a bit sooner. I'll see how it performs soon, but I finally got things functioning. So it may be an option for those needing USB 2.0 Host capability in a PSoC 5LP or other chip. Warning: Connection count is 19 at a minimum, not counting ground. So if your pin count is at a premium, this chip isn't a good choice.
This is what I had suspected. It's not a bad thing, but I wanted to make sure I wasn't missing out on an opportunity to use USB devices with the PSoC for a particular design.
Thank you for taking the time to research the answer and let us know!