Go Down

Topic: Adding OTG and embedded host to 16U firmware (Read 2 times) previous topic - next topic

westfw

Quote
Doesn't this suggest the LUFA library could be used to provide USB host?

Yes, but only if the chip being used has a USB-host capable peripheral.

http://www.fourwalledcubicle.com/files/LUFA/Doc/110528/html/_page__device_support.html

As I understand it, a usb device peripheral will allow the user to set up buffers of data, which it will then transmit in a timely fashion when it receives a poll from the host.  A host has to initiate polls to all the devices (and then "immediately" accept responses, plus handling a lot of possible error conditions, which would require at least a somewhat different engine.

Now, I've never been clear on why something like a USB memory stick needs a fully conformant USB host to talk to it; if that's all you want to do.  It seems to me like faking host messages well enough that the relatively dumb peripheral controllers  would respond shouldn't be THAT hard.  But I haven't heard of anyone doing it, including the (amazing) people who are capable of pre-calculating the USB bitstream so that it can be bit-banged out a generic IO pin.  So I assume that at least it is very, very, hard...

ardnut

Quote
Now, I've never been clear on why something like a USB memory stick needs a fully conformant USB host to talk to it; if that's all you want to do. 


I doubt that Arduino would want to add something officially that was not spec compliant but a minimalistic subset that would allow a relatively slow mass storage device like a flash stick is all I'm interested in.

For my needs if it only refused all but mass storage and only implemented the slower write operations it mean I could make a data logger without adding a sheild and doubling the basic hardware cost.





westfw

Well, SD cards have similar capacity to flash drives, and are much easier to interface.
Assorted serial (spi, iic) EEPROM and data flash chips are still easier to talk to, though much lower in capacity (4 MByte for about $2)

ardnut

#8
Aug 08, 2012, 12:28 pm Last Edit: Aug 08, 2012, 02:55 pm by ardnut Reason: 1
Indeed. USB is probably an unnecessary complication. It just seemed like a good idea at first.

There is a cheap ($9.50+4 ++SDcard) SD shield but I can't find any reports of it actually being used , good or bad :?
http://imall.iteadstudio.com/im120417007.html

I need some external buffering anyway for the ADC so it maybe best to add a memory chip as well though cheap expendable media like flash keys are appealing.

Looks like the easiest thing is to add an SD socket and use SDlib in arduino
http://arduino.cc/en/Reference/Libraries

bperrybap

Not sure what your project is and what components you already have
but there is a nice very compact solution using a Teensy board.
http://www.pjrc.com/store/sd_adaptor.html
You can get the Teensy and the SD adapter for under $25.

--- bill

Go Up