Read from USB flash drive

Hi, I have a RCM5600W development kit. I am wonder is it possible to use dynamic C’s FAT library to read files from a USB memory stick.

If it is possible, it will be great if you can offer me some hints on how to set up the FAT drivers for it.

The USB port on the RCM5600W development board is a device side port dedicated to programming and debugging. It does not have the ability to be a USB host, which is required to control a USB device. You would need to interface a chip that gave you a USB host port and usually write the code to implement the USB stack. A simpler solution would be to use a Vinculum chip from FTDI to interface the RCM5600W with the thumb drive. It has FAT support built in so you do not need the DC FAT library, but would issue FAT commands to the Vinculum chip directly. You can find more info on this chip at:

http://www.vinculum.com

[QUOTE=bsprouse;3630]The USB port on the RCM5600W development board is a device side port dedicated to programming and debugging. It does not have the ability to be a USB host, which is required to control a USB device. You would need to interface a chip that gave you a USB host port and usually write the code to implement the USB stack. A simpler solution would be to use a Vinculum chip from FTDI to interface the RCM5600W with the thumb drive. It has FAT support built in so you do not need the DC FAT library, but would issue FAT commands to the Vinculum chip directly. You can find more info on this chip at:

http://www.vinculum.com[/quote]

Thank you very much for your prompt reply. I have a few more questions:

  1. The Vinculum VDRIVE chip uses SPI interface, so does that mean I will issue the FAT commands via the DC’s SPI library?

  2. The Vinculum chip or many other ICs in general operates in 5v. However, the Rabbit development board operates in 3.3v. Does that mean I need to build another 5v supply? I am new to power supply design, it would be great if you can point me to some existing 5v power supply products.

Thank you very much

  1. Yes, you would use the SPI library to talk to the Vinculum, if you interfaced through the SPI port. The Vinculum manual describes the command structure. The other option is to interface the Vinculum to the Aux I/O bus on the Rabbit, which is much faster, although more difficult.

  2. If you have the standard dev kit, then you will need to buy a 5v regulated adapter. The deluxe kit comes with this adapter. You can also buy the exact adapter from the deluxe kit separately here:

Minicore 5V Universal Adapter

Now this gives you +5V, but not necessarily easy to get to. If you look at the interface board schematic, you will see that you could tap into the +5V supply at TP42, which is a gold test point pad on the PC board. Soldering a wire to that point would allow you to tap the +5V DC before the 3.3V regulator that the rest of the board uses. Not very clean, but not too difficult.

So why isn’t the 5V routed to the rest of the board? Mainly because we normally try to protect the power ports on our development boards to eliminate the possibility of damaging them by plugging in the wrong adapter. If your workbench is anything like mine, there are a variety of wall adapters, some of which may have the same barrel plug, but not the same voltage, or worse polarity. That is why if you look at the schematic you will see diodes on the incoming power that protect from reverse polarity. However, diodes add voltage drops to the line, so if you tap in after the diodes, you may not get the +5V you want. You could try tapping into TP2 which is after two diodes, but I’m not sure the drop you would face, it could be as much as 1 volt.

BE AWARE THAT BY USING TP42, YOU ARE BYPASSING THE PROTECTION DIODES!

This means that anything powered by the +5V tap could be damaged if you accidentally plugged in a different adapter.