From: Tim R. <ti...@pr...> - 2008-12-17 18:02:54
|
Robas, Teodor wrote: > > I am new to this list and I write this because I have > trouble configuring an USB transceiver - ISP1581. > I am hopping that maybe somebody used this chip > and he can give some advices. Otherwise please > ignore this message. > > I am trying to build an USB based oscilloscope, a > more expressive picture of what I am doing is here: > http://deep-blue.ro/tmp/o2_block_schematic.png > > Also, the schematic for the hardware is here: > http://deep-blue.ro/tmp/main.pdf > > > My problem is with the DMA interface. The DMA > drives the sampling on the DIOR pin. I would > expected this sampling signal to be continuous, > but here is my problem: it only acquires data for > 200 microseconds, then it stops for about 10 > milliseconds. I do not understand what it takes so > long to transmit a single buffer (3KB) to the PC on > a high speed bus. > Well, what does your PC software look like? Remember that USB is entirely a host-demand-driven bus. Your device is never given a chance to transmit unless the host controller asks it to, and the host controller will not ask it to unless some process has queued up an I/O request for it. Further, USB is a scheduled bus: your I/O request must be presented to the host controller while it is scheduling out the next frame. If you miss the frame scheduling time, you miss that frame. What do your descriptors look like? What kind of pipes are you using? > The data speed measured on the PC stays no > matter what I do, just below 300 KB/second. The > data sheet for this chip specifies a maximum > transfer rate of 12Mwords/second at the DMA > interface. > Yes, but that's not the USB interface. Still, you should be able to do better than 300kB/s. -- Tim Roberts, ti...@pr... Providenza & Boekelheide, Inc. |