On Fri, Sep 30, 2011 at 8:22 AM, V G wrote: > On Fri, Sep 30, 2011 at 7:49 AM, M.L. wrote: > >> The crux of the problem is that USB is master/slave and the PIC32 is the >> slave. >> You should look into isochronous transfer if you need guaranteed >> constant bandwidth. >> >> > I believe the problem is the fact that I was trying to get the > microcontroller to do the actual capturing. There's no way it can capture > that fast while also managing the memory, incrementing memory points for = the > buffer, going through for loops, if loops. That ought to slow it down at > least 20-30 times when done in C. > > An interesting and attractive product is this: > http://www.saleae.com/logic/ claiming 24Msps. (Many hardware clones are > available, since it's basically a Cypress 8052 board) > > Internally, the chip is a CY7C68013A-56PVXC8052 type. Looking at the datasheet,= it seems that maximum clock speed is > 48MHz with 4 clocks per instruction - that's 12MIPS maximum. How is it ab= le > to sample at 24Msps? I'd love to know how this one works. Someone has > guessed 96MHz CPU clock =3D 24 MIPS. > > Now reading this thread: > http://www.eevblog.com/forum/index.php?topic=3D2600.0 > > Seems it's USB in DMA mode - that explains a lot. > > Someone has stated: "The hardware just transfers bytes (8-bit =3D 8-chann= el > wide) at the specified rate to the PC. The PC does all work like triggeri= ng > and decoding." > > That's still pretty impressive. But how is it able to sample at 24Msps at > only 12MIPS? I'd imagine at least 96MHz clock is needed for 24MIPS. And e= ven > at 24 MIPS, how is it possible to sample at 24Msps? That's assuming a bes= t > case scenario of one sample per instruction. I can't conceive of a way th= at > that's possible, due to instructions to increment memory pointers, etc. > UNLESS - the USB DMA is reading directly off of one byte of RAM the entir= e > time, so all the CPU is doing is constantly assigning the PORT values to > that single RAM byte. > > That's my best guess. Any other ideas? > > Ok gonna try that now with isosynchronous USB transfer with DMA. Huge pai= n > in the ass to get DMA USB working on the PIC. Severe lack of > documentation/examples. I can't find ANYTHING for this... > Isochronous*. I don't know why I said the other thing... --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .