EmbeddedRelated.com
Forums

Bit-banged USB?!?!

Started by Tim Wescott February 15, 2012
On Feb 16, 12:39=A0pm, John Devereux <j...@devereux.me.uk> wrote:
> Tim Wescott <t...@seemywebsite.com> writes: > > On Wed, 15 Feb 2012 22:18:01 -0600, Les Cargill wrote: > > >> Tim Wescott wrote: > >>> I came across this schematic (well, my son dragged it into my > >>> attention): > >>>http://www.otd.kr/data/file/ > > pj_LIMKB/1964092542_24157b90_Aikon28LIMKB29- > >>> SMD_Schematic.PNG > > >>> This is for a universal keyboard controller. =A0The thing that is rea=
lly
> >>> catching my eye, though, is that the thing appears to be set up to bi=
t-
> >>> bang the USB. > > >>> Has anyone ever heard of doing this? =A0Tried it? =A0Succeeded? =A0US=
B slow
> >>> is 1.5MHz, so there's a remote possibility that one might possibly ha=
ve
> >>> enough time to do something if the processor isn't doing much else (t=
he
> >>> processor in the above schematic is clocking at 12MHz), but I'm prett=
y
> >>> astonished that they're even managing that. > > >> That's from PD0(RXD) and PD2(INT0)? Are those configured then as just > >> PIO (emphasis O)? > > >> Pretty crazy, but keyboard events are relatively infrequent - hundreds > >> per second at most. > > > I have absolutely no clue how it's configured -- the source code isn't > > available. =A0I'm still trying to get past bit-banged USB. > > Not done it myself, but I know that there has been code around for ages > for Atmel. Low speed USB is relatively.... low speed, and AIUI USB was > designed to be relatively simple on the device side. >
Exactly, the Atmel code is called V-USB ( http://www.obdev.at/products/vusb= /index.html ) and there are many projects based on it: http://www.obdev.at/products/vusb/= projects.html ). I have successfully used it for some MIDI-USB devices: http://www.ise.pw.edu.pl/~wzab/MIDI/perkusja/index.html http://www.ise.pw.edu.pl/~wzab/MIDI/pedal/index.html The V-USB is fully open-sourced. -- Wojtek
> -- > > John Devereux