I am building an ECP peripheral and am getting very slow data rates due
to the host computer. I think it is not using the DMA correctly. I see
the data rate to be about 1 byte / 5 usec. by using a logic analyzer on
the port.
I am using ECP mode in the ppdev user space driver, but with DMA, then I
would expect to see the data sent very quickly over the port.
How can I confirm that the ppdev is using the DMA?
Or, if that is the data rate, what is the expected data rate if I write
a kernel driver?
Thanks,
Derek
>Since I've been working on a device driver to handle a high speed
>camera that will produce data at very high rates I've been looking
>at issues like this. If you have a peripheral that does follow
>the ECP standards you shouldn't have to loose any data.
>The way to stop data is to negotiate from reverse to forward phase
>(from input to output). When the host sets nReverseRequest (also
>called nInit high, the pheripheral must tri-state its data bus.
>If the peripheral was in the middle of a data transmission it
>must assume the data byte will be discarded by the host and
>it stops all furthter transfers. You can then read whatever
>is left in the fifo. nReverseRequest is bit 2 of the device
>control register.
>If your device doesn't adher to the ECP protocols, well...good luck.
>I hope this helps.
>Richard
-- Derek Bouius | American Biometric Company | Tel:(613)736-5100x281 dbouius@abio.com | 3429 Hawthorne Rd,Ottawa,ON | Fax:(613)736-1742-- To unsubscribe, send mail to: linux-parport-request@torque.net -- -- with the single word "unsubscribe" in the body of the message. --
This archive was generated by hypermail 2b29 : Tue May 09 2000 - 19:02:02 EDT