Reply by wzab March 17, 20122012-03-17
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
Reply by Wim Lewis March 16, 20122012-03-16
Tim Wescott <tim@seemywebsite.com> writes:
>I have absolutely no clue how it's configured -- the source code isn't >available. I'm still trying to get past bit-banged USB.
In addition to OBdev's VUSB, there's an open-source project called USBtiny --- very similar to VUSB: runs on AVRs, bit-bangs low-speed USB. http://dicks.home.xs4all.nl/avr/usbtiny/ "The software is written for an AVR clocked at 12 MHz. At this frequency, each bit on the USB bus takes 8 clock cycles, and with a lot of trickery, it is possible to decode and encode the USB waveforms by software. The USB driver needs approximately 1250 to 1350 bytes of flash space"[....]
Reply by lang...@fonz.dk February 17, 20122012-02-17
On 16 Feb., 04:34, Tim Wescott <t...@seemywebsite.please> 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 really > catching my eye, though, is that the thing appears to be set up to bit- > bang the USB. > > Has anyone ever heard of doing this? =A0Tried it? =A0Succeeded? =A0USB sl=
ow is
> 1.5MHz, so there's a remote possibility that one might possibly have > enough time to do something if the processor isn't doing much else (the > processor in the above schematic is clocking at 12MHz), but I'm pretty > astonished that they're even managing that. > > -- > Tim Wescott > Control system and signal processing consultingwww.wescottdesign.com
there has been slow speed bit banged usb for a long time, think this is one of the more "famous" ones: http://www.obdev.at/products/vusb/index.html it is for AVR and I think it runs at most frequencies from 8MHz up, -Lasse
Reply by Ivan Shmakov February 17, 20122012-02-17
>>>>> Tim Wescott <tim@seemywebsite.please> writes:
> 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. The thing that is > really catching my eye, though, is that the thing appears to be set > up to bit- bang the USB. I'm somewhat surprised by the fact that V-USB [1] wasn't explicitly mentioned in this thread. [1] http://obdev.at/products/vusb/ > Has anyone ever heard of doing this? Tried it? Succeeded? Once, I've built a simplistic USB device based on ATmega8 (or a similar MCU) and V-USB, which was talking USB-MIDI to the host. As V-USB had no USB-MIDI-specific parts back then (and I wonder if they have it nowadays) I had to check the "reference", for which I've used the source code of the Linux kernel. > USB slow is 1.5MHz, so there's a remote possibility that one might > possibly have enough time to do something if the processor isn't > doing much else (the processor in the above schematic is clocking at > 12MHz), but I'm pretty astonished that they're even managing that. -- FSF associate member #7257
Reply by Tilmann Reh February 17, 20122012-02-17
Tim Wescott schrieb:

> 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. The thing that is really > catching my eye, though, is that the thing appears to be set up to bit- > bang the USB. > > Has anyone ever heard of doing this? Tried it? Succeeded? USB slow is > 1.5MHz, so there's a remote possibility that one might possibly have > enough time to do something if the processor isn't doing much else (the > processor in the above schematic is clocking at 12MHz), but I'm pretty > astonished that they're even managing that.
Just one more: <http://www.cesko.host.sk/IgorPlugUSB/IgorPlug-USB%20%28AVR%29_eng.htm> Tilmann
Reply by Tim Wescott February 16, 20122012-02-16
On Thu, 16 Feb 2012 12:43:45 +0000, Simon Clubley wrote:

> On 2012-02-15, Tim Wescott <tim@seemywebsite.com> wrote: >> On Wed, 15 Feb 2012 22:18:01 -0600, Les Cargill wrote: >>> 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. I'm still trying to get past bit-banged USB. >> >> > :-) > > Well you never know what crazy stuff you can justify when you have the > freedom to play with this stuff on your own time (and are funding it out > of your own pocket) instead of having to charge per hour of your time. > :-) > > Never underestimate the ingenuity of a hobbyist looking to save a few > pounds/dollars by building their own device instead of using a > preassembled widget. > > The cost versus time tradeoffs for someone like myself are completely > different from those experienced by a embedded person like yourself who > is doing this for a living. > > BTW, I'm amused that you are astonished by this and it did make me > wonder what other things people building things out of their own pocket > can justify which would astonish a person doing this for a living. :-)
It'd make sense in a system that ships in high volume, too -- if production is going to be 100/year and you save a penny on the BOM, then every year you've made a buck. If production is 10000 a month and you save a penny on the BOM, then every year you've made $1200 -- so the amount of engineering time you should spend to save that penny varies depending on who you're working for, and what they're doing. -- My liberal friends think I'm a conservative kook. My conservative friends think I'm a liberal kook. Why am I not happy that they have found common ground? Tim Wescott, Communications, Control, Circuits & Software http://www.wescottdesign.com
Reply by Tim Wescott February 16, 20122012-02-16
On Thu, 16 Feb 2012 12:42:38 -0600, Les Cargill wrote:

> Tim Wescott wrote: >> 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. The thing that is >>>> really catching my eye, though, is that the thing appears to be set >>>> up to bit- bang the USB. >>>> >>>> Has anyone ever heard of doing this? Tried it? Succeeded? USB slow >>>> is 1.5MHz, so there's a remote possibility that one might possibly >>>> have enough time to do something if the processor isn't doing much >>>> else (the processor in the above schematic is clocking at 12MHz), but >>>> I'm pretty 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. I'm still trying to get past bit-banged USB. >> >> > > I seem to be beyond surprise any more. What's the jitter spec for USB, > anyway?
I don't know. I've pulled out my USB book and I'm reading it. -- My liberal friends think I'm a conservative kook. My conservative friends think I'm a liberal kook. Why am I not happy that they have found common ground? Tim Wescott, Communications, Control, Circuits & Software http://www.wescottdesign.com
Reply by Les Cargill February 16, 20122012-02-16
Tim Wescott wrote:
> 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. The thing that is really >>> catching my eye, though, is that the thing appears to be set up to bit- >>> bang the USB. >>> >>> Has anyone ever heard of doing this? Tried it? Succeeded? USB slow >>> is 1.5MHz, so there's a remote possibility that one might possibly have >>> enough time to do something if the processor isn't doing much else (the >>> processor in the above schematic is clocking at 12MHz), but I'm pretty >>> 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. I'm still trying to get past bit-banged USB. >
Also, wasn't one of the old-school UARTs (the 8530/82530 ) just ... like... a Z80 with special firmware & some peripherals? They'd do T1 rate, if not more... I only used 'em for mid-speed Iloop and RS232/422 before the 68360 & descendents came along... I know the 16550 predecessors were not. -- Les Cargill
Reply by Les Cargill February 16, 20122012-02-16
Tim Wescott wrote:
> 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. The thing that is really >>> catching my eye, though, is that the thing appears to be set up to bit- >>> bang the USB. >>> >>> Has anyone ever heard of doing this? Tried it? Succeeded? USB slow >>> is 1.5MHz, so there's a remote possibility that one might possibly have >>> enough time to do something if the processor isn't doing much else (the >>> processor in the above schematic is clocking at 12MHz), but I'm pretty >>> 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. I'm still trying to get past bit-banged USB. >
I seem to be beyond surprise any more. What's the jitter spec for USB, anyway? -- Les Cargill
Reply by February 16, 20122012-02-16
Tim Wescott <tim@seemywebsite.please> wrote:

> Has anyone ever heard of doing this? Tried it? Succeeded?
The USBtinyISP kit I use for programming AVRs uses bit-banged USB. Haven't had issues with it so far. <http://ladyada.net/make/usbtinyisp/index.html> -a