USB Host & Device at same time II

08 Jun 2011

Thank everybody for Your reply on my last topic. http://mbed.org/forum/helloworld/topic/2380/ Now I know I will need an aditional hardware. And I have some ideas:

A) Use mbed as USB device and through SPI, I2C, UART, FIFO? connect USB host board like http://www.ftdichip.com/Support/Documents/DataSheets/Modules/DS_VDIP1.pdf

B) Use mbed as USB host and through SPI, I2C, UART, FIFO? connect cheap arduino pro mini which will be programed to act as USB device.

Because I would like to use horse power of mbed I have aditional questions.

My device will always comunicate with host device over USB cable. Peripheral USB devices connected to my device should have to choose if over USB or bluetooth. As mentoied above my device will be connected to host and peripheral USB devices to my device at the same time.

I want to have control and ability to change of data going from peripheral devices (flash disk, keyboard, or other) through my device to host device (like pc) on the fly by defined parameters in program.

Next I would like to use lcd touch display to conntrol connected peripheral devices and my devices.

I will be happy if anybody can help me answer my questions.

1) Is there any difference in speed, latency, available power and other available options of mbed matching my requirements between mbed as USB device with USB host board via SPI and mbed as USB host connected via SPI to something like arduino mini programed to act as USB device?

I mean if is better/possible/faster to obtain, control and send out data from peripheral devices connected to my device if they go first to mbed acting as USB host (where I will process it/change it by defined parameters) then via SPI to arduino mini like controller acting as USB device and then to USB host. Can be connected display and Bluetooth to mbed?

Or is better/faster/possible to do it by second way and connect peripheral devices to USB host board like vinculuim VIDP01 then send them via SPI to mbed (which is acting as USB device) where I wil process/change them on the fly and send them out to USB host. Can be connected display and Bluetooth to mbed?

2) What "bus" is faster I2C, SPI, UART, FIFO?

3) Is possible that mbed will understand data obtained via SPI or other bus from USB host board like vinculum VDIP01 where will be conected peripheral devices through USB HUB? If isn't hub usable so this variant isn't usable too because i need 4 USB ports.

4) Exists there any better/faster/cheaper variant with mbed to reach my requirements?

I am sorry of my bad english, it's foreign language for me.

Thank You for Your time.