USB host (was Re: What's the real problem with wireless on the Ben?)

Werner Almesberger werner at almesberger.net
Tue Oct 4 09:49:06 EDT 2011


Rafael Ignacio Zurita wrote:
> Sounds really interesting!.. What about this project?
> http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2007/blh36_cdl28_dct23/blh36_cdl28_dct23/index.html

Ah, very nice find ! This one is even closer to what we need
than V-USB.

> Do you think it is something similar? If I understand well
> it is a software usb host implementation right?

Yup. You probably still would have to write it from scratch
for MIPS and Linux (different assembler, very different timing,
different APIs, etc.), but I should be very useful as a guide.

Given that the Ben's core runs MUCH faster than its peripherals,
it may even be possible to do this entirely in C. E.g., ubb-vga,
which also has tight timings, is also written entirely in C.

> I mean, for example, could we use
> UBB to plug some usb keyboard?

That's what I'd do, yes. UBB, a USB A receptacle, one pull-down
resistor, and a bit of ribbon cable should get you quite far.

I'm not quite sure what needs to be done with the supply
voltage. The correct solution would be to have a boost converter
that converts the 3.3 V from the Ben to the 5 V USB expects.
For this, you would need to make a real PCB.

But maybe we can get away with supplying only 3.3 V. According
to the data sheets, the ATmega32U2 (atusb) would want at least
4.0 V on VBUS. The C8051F326 (idbg) would already be content
with 2.9 V. So it doesn't seem unreasonable to expect that a
number of USB devices work fine with VBUS = 3.3 V.

> No sure if I understand, but if the hardware part is something
> easy to get, at least for testing or starting point then more
> people could like the idea. At least it looks interesting 
> for me, and I could start a 10 years software project to try that :)

Excellent ! ;-) Now, let's see what we can do about that
hardware ...

- Werner




More information about the discussion mailing list


interactive