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

Werner Almesberger werner at
Tue Oct 4 14:20:30 EDT 2011

Rafael Ignacio Zurita wrote:
> Thanks a lot if you can guide this idea!.. Let me start studying 
> your ideas and those projects. Naturally, I would prefer to write 
> all the first tests in C.

Perhaps a good start would be to access the 8:10 card port
and output a square wave (just by bit-banging).

The basics for this are in

You should notice a bit of jitter. Next, you can try to control
the timing better using some of the tricks of ubb-vga:

Especially disable_interrupts and disable_lcd. Also the timer
code may be useful, because it will give you a much easier
time reference than instruction timing.

With a little luck, you may be able to do without disabling the
LCD, only a minimum of interrupt disabling, and just synchronize
the bit timing with the timer.

For USB references, this is a good and compact introduction:

At some point in time you'll need the official specification:
(file usb_20.pdf)

Or you could also pick the old revision 1.1, which doesn't
have high-speed:

(The USB 2.0 spec mixes low-speed, full-speed, and high-speed
all over the place. Things are clearly marked, but it's still
inconvenient if you have to skip over all those high-speed

- Werner

More information about the discussion mailing list